Amarisoft

NR SA Band Change

The purpose of this tutorial is to show you how to change carrier band/frequency in NR SA. It is simple in terms of setting parameters in terms of syntax, but it would be tricky to figure out proper band/frequency that is applicable to your DUT. It is assumed that you don't have any previous experience with Amari callbox.

In most cases, Amarisoft can support the most of the band defined in 3GPP but there would be some restrictions to support some of FR2 frequency as listed below.

Changing Band and Bandwidth change in NR is not as simple/straightforward as in LTE since it requires to change several different information elements in RRC message and figuring out those value is not so simple. But this process is simplified greatly in Amaricall box since RRC configuration is automatically set by Callbox. What you have to do is to set a few key configuration parameters set to be valid as per 3GPP specification.

Table of Contents

Introduction

5G New Radio Standalone (NR SA) represents a transformative step in mobile communications, enabling devices to operate independently of legacy LTE networks by leveraging a dedicated 5G core. Within this context, the ability to modify carrier bands and frequencies is crucial for testing, optimization, and deployment of 5G solutions. Carrier band and frequency selection in NR SA is inherently complex due to the diversity of spectrum allocations, intricate RRC (Radio Resource Control) signaling, and strict adherence to 3GPP specifications. Amarisoft's Amari Callbox offers a powerful and flexible platform for emulating 5G networks and devices, simplifying otherwise challenging configuration tasks through automated RRC and NAS (Non-Access Stratum) handling. With support for a wide range of frequency bands—including comprehensive FR1 (Sub-6 GHz) coverage and selected FR2 (mmWave) bands—Amari Callbox streamlines 5G experimentation. However, users must still ensure compatibility between device-under-test (DUT), supported bands, and the callbox configuration. Understanding the underlying architecture, supported spectrum, and configuration principles is essential for effective use of the Amari Callbox in NR SA scenarios. This tutorial provides a structured approach for modifying carrier band and frequency settings, offering both foundational knowledge and practical guidance for users new to the platform.

Summary of the Tutorial

This tutorial covers test procedures for configuring and verifying the SSB (Synchronization Signal Block) position in NR SA (Standalone) mode for band N41 with 20 MHz bandwidth, using Amarisoft gNB software. Two main tests are described: automatic and manual SSB position configuration. The summary below details the setup, key checks, configuration steps, execution, and analysis methodologies for both tests, as well as notes on common errors.

This summary provides a high-level description of the test procedures, step-by-step configuration, execution, observation, and troubleshooting approaches for verifying both automatic and manual SSB position settings in SA NR band N41 scenarios using Amarisoft systems.

Test Setup

Test setup for this tutorial is as shown below.

TestSetup Callbox UE 1sdr 01

Check before Trying

1. Check following 3GPP tables and make it sure that the band/bandwidth you are trying to test is valid in terms of 3GPP

2. Check UE capability Information and make it sure that your DUT support the band and bandwidth you want to try

Key Configuration Parameters

Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.

Test 1 : NR/SA-N41-20Mhz, Automatic SSB Position

In this test, I will show you how SSB Position is determined and configured by default (i.e, set automatically by Amarisoft gNB software).  If user does not specify SSB position in the configuration file, Amarisoft gNB automatically determine the SSB position. Usually it puts the SSB near to lower end of channel frequency spectrum to let the coreset 0 positioned at the lowest possible frequency of the channel. The exact default position the SSB varies depending on the band, frequency and bandwidth you set in the configuration file.

Configuration

I used the configuration file gnb-sa-n41-20M.cfg which is copied from gnb-sa.cfg and modified.

NR SA Band Change Test1 Configuration 01

Configuration in gnb-sa-n41-20M.cfg is as shown below.

In this configuration, NR_TDD is set to 1 to enable NR TDD operation, and NR_BANDWIDTH is set to 20 to configure a 20 MHz NR channel. In the nr_cell_list block, band is set to 41, dl_nr_arfcn is set to 504030, corresponding to 2520.150 MHz, and subcarrier_spacing is set to 30 kHz. The gscn parameter is intentionally omitted, allowing the Amarisoft gNB to calculate a valid GSCN and automatically place the SSB according to the configured band, ARFCN, bandwidth, and subcarrier spacing. For this configuration, the automatically selected GSCN is 6000.

NR SA Band Change Test1 Configuration 02

Perform the Test

Start the LTE service and use the cell phy command in the enb console to verify the active NR cell configuration. The output confirms that cell 0x001 is operating in NR band n41 with a 20 MHz bandwidth, DL NR-ARFCN 504030, 30 kHz subcarrier spacing, and 256-QAM support. Because the gscn parameter was not explicitly configured, the gNB automatically selected the SSB position, shown in the SSB ARFCN field as 503790 with 30 kHz SCS. The cell main command additionally confirms the configured band, dl_nr_arfcn, PCI, PRACH sequence, and PLMN values.

NR SA Band Change Test1 RunTest 01

Power on the UE and allow it to complete the NR SA attachment procedure. The gNB startup log confirms operation on band n41 with both dl_freq and ul_freq set to 2520.150 MHz, using a 23.040 MHz sampling rate, two downlink antennas, and one uplink antenna. After starting the trace with the t command, the console shows successful PRACH reception with SNR 11.4 dB, followed by UE activity for UE ID 1 with C-RNTI 4601. The displayed downlink and uplink statistics, including CQI, MCS, transmitted and received transport blocks, bitrate, PHR, path loss, and timing advance, confirm that the UE has successfully attached and exchanged user-plane traffic with the cell.

NR SA Band Change Test1 RunTest 02

Log Analysis

Sample Log

In this section, I would not go through the full log. I would show you just the parts that are related to the test in this tutorial.

If you open /tmp/gnb0.log file (WebGUI does not show this information), you will see the following information at the beginning. Blue and red lined part is automatically configured by AmariCall box. Red lined part is MIB configuration and it is very tricky to set proper values for these parameters manually and error prone, but these are configured automatically in Amari Callbox. (NOTE : The exact print out at this part may vary depending on the release of the callbox software (it may print out more information in the later release), but overall contents and concept would be same)

NR SA Band Change Test1 Log 01

In the WebGUI log, select a SIB1 message and inspect the servingCellConfigCommon information. The frequencyInfoDL IE confirms the downlink configuration, including freqBandIndicatorNR set to 41, subcarrierSpacing set to kHz30, and carrierBandwidth set to 51 resource blocks, corresponding to the configured 20 MHz channel. The initialDownlinkBWP IE also shows subcarrierSpacing set to kHz30 and locationAndBandwidth set to 13750. These RRC information elements are generated automatically by the Amarisoft gNB from the band, dl_nr_arfcn, NR_BANDWIDTH, and subcarrier_spacing values in the configuration file.

NR SA Band Change Test1 Log 02

In the WebGUI log, inspect the uplinkConfigCommon section of the SIB1 message. The frequencyInfoUL IE shows the uplink carrier configuration with subcarrierSpacing set to kHz30 and carrierBandwidth set to 51 resource blocks, corresponding to the configured 20 MHz channel. The initialUplinkBWP IE also shows locationAndBandwidth set to 13750 and subcarrierSpacing set to kHz30. These uplink RRC information elements are automatically generated by the Amarisoft gNB from the configured band, dl_nr_arfcn, NR_BANDWIDTH, and subcarrier_spacing parameters.

NR SA Band Change Test1 Log 03

Test 2 : NR/SA-N41-20Mhz, Manual configuration of SSB Position

In this test, I will show you how you can set the position of SSB on your own instead of letting gNB specify the position automatically. Usually this kind of manual configuration is not recommended since it is not an easy task to determined the position without making any mistake since the allowable SSB position varies depending on various factors like channel bandwidth, subcarrier spacing, CORESET0 position etc.

Determine Band / ARFCN

Use a GSCN calculator to select an SSB raster position that is valid for the intended NR band and subcarrier spacing. In this example, the carrier frequency 2520.15 MHz is checked for band n41. The calculator shows that this frequency corresponds to GSCN 6300 and NR-ARFCN 504030. For band n41, the result is valid with either 15 kHz SCS using cell search pattern A or 30 kHz SCS using cell search pattern C. Since this tutorial uses 30 kHz subcarrier spacing, GSCN 6300 is selected for the manual SSB configuration.

The tool at the following site would help : https://www.sqimway.com/nr_raster.php . In this tutorial, I decided to try with n41 and picked a frequency as follows.

NR SA BandChange Test 1 Arfcn 01

Use an NR-ARFCN calculator to verify that the selected frequency or NR-ARFCN is valid for the intended operating band. In this example, NR-ARFCN 504030 corresponds to 2520.15 MHz and is valid for band n41 in both the downlink and uplink because n41 uses TDD operation. The result also shows that the same frequency can fall within other overlapping bands, but the configured band must match the intended deployment and satisfy that bands raster and step-size requirements. For this tutorial, band n41 with NR-ARFCN 504030 is selected as the valid carrier configuration.

Following site would help you with this : https://www.sqimway.com/nr_band.php

NR SA BandChange Test 1 Arfcn 02

Configuration

I used the configuration file gnb-sa-n41-20M-gscn.cfg which is copied from gnb-sa.cfg and modified.

NR SA Band Change Test2 Configuration 01

In the nr_cell_list block, keep the Test 1 carrier configuration with band set to 41, dl_nr_arfcn set to 504030, subcarrier_spacing set to 30 kHz, and NR_BANDWIDTH set to 20 MHz. Add the gscn parameter and set it to 6303 to manually move the SSB position from the automatically selected GSCN 6000 used in Test 1. The configured gscn value must be valid for the selected band, carrier frequency, channel bandwidth, SSB subcarrier spacing, and CORESET0 configuration; otherwise, the UE may not detect or access the cell.

NR SA Band Change Test2 Configuration 02

Perform the Test

Start the LTE service and run the cell phy command in the enb console to verify the active NR cell configuration. The output confirms operation on band n41 with a 20 MHz bandwidth, DL and UL NR-ARFCN 504030, and 30 kHz subcarrier spacing. The manually configured SSB position is displayed in the SSB ARFCN field as 504270 with 30 kHz SCS. Note that the console reports the SSB position as an NR-ARFCN rather than as the configured GSCN value, so an NR raster calculator can be used to convert the displayed value to its corresponding frequency or GSCN. If you want to convert this to Mhz or to GSCN, you can convert in https://www.sqimway.com/nr_band.php and https://www.sqimway.com/nr_raster.php

NR SA Band Change Test2 RunTest 01

Power on the UE and allow it to complete the NR SA attachment procedure. The gNB startup log confirms operation on band n41 with dl_freq and ul_freq set to 2520.150 MHz, using a 23.040 MHz sampling rate, two downlink antennas, and one uplink antenna. After starting the trace with the t command, the gNB receives PRACH with an SNR of 13.2 dB and assigns C-RNTI 4601 to UE ID 1. The subsequent downlink and uplink statistics show successful transport-block transmission and reception, confirming that the UE can detect the manually positioned SSB, access the cell, and complete the attachment successfully.

NR SA Band Change Test2 RunTest 02

Log Analysis

Sample Log

In this section, I would not go through the full log. I would show you just the parts that are related to the test in this tutorial.

If you open /tmp/gnb0.log file (WebGUI does not show this information), you will see the following information at the beginning. Blue and red lined part is automatically configured by AmariCall box. Red lined part is MIB configuration and it is very tricky to set proper values for these parameters manually and error prone, but these are configured automatically in Amari Callbox.  (NOTE : The exact print out at this part may vary depending on the release of the callbox software (it may print out more information in the later release), but overall contents and concept would be same)

The exported log confirms the active NR cell configuration with dl_nr_arfcn and ul_nr_arfcn set to 504030, 51 downlink and uplink resource blocks, 30 kHz subcarrier spacing indicated by dl_mu=1 and ul_mu=1, and the manually configured SSB position shown as ssb_arfcn=504270. The same log also shows ssb_prb=18, indicating the SSB location relative to the carrier resource grid, and coreset0_prb=24:48 with coreset0_nsymb=2 and coreset0_idx=12 for the automatically derived CORESET0 configuration.

NR SA Band Change Test2 Log 01

In the WebGUI SIB1 message, the frequencyInfoDL IE shows freqBandIndicatorNR set to 41 and offsetToPointA set to 36. Compared with Test 1, offsetToPointA changes because the manually selected SSB position changes the relationship between the SSB, Point A, and the common resource grid. The remaining carrier configuration still shows subcarrierSpacing set to kHz30 and carrierBandwidth set to 51 resource blocks. These RRC values are automatically calculated by the Amarisoft gNB from the configured band, dl_nr_arfcn, bandwidth, subcarrier spacing, and gscn parameters.

NR SA Band Change Test2 Log 02

RRC / NAS Signaling

SIB1 (SA)

: This is the SIB1 message sent by gNB  to configure NR SA. (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

 

{

  message c1: systemInformationBlockType1: {

    ...

    servingCellConfigCommon {

      downlinkConfigCommon {

        frequencyInfoDL {

          frequencyBandList {

            {

              freqBandIndicatorNR 78

            }

          },

        ...

        },

        initialDownlinkBWP {

          genericParameters {

            locationAndBandwidth 13750,

            subcarrierSpacing kHz30

          },

          

      },

      uplinkConfigCommon {

        frequencyInfoUL {

          scs-SpecificCarrierList {

            {

              offsetToCarrier 0,

              subcarrierSpacing kHz30,

              carrierBandwidth 51

            }

          },

          p-Max 10

        },

        initialUplinkBWP {

          genericParameters {

            locationAndBandwidth 13750,

            subcarrierSpacing kHz30

          },

          

}

rrcConnectionReconfiguration for NR Addition (NSA)

: This is the RRC message sent by eNB (LTE) to add NR. (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

 message c1: rrcConnectionReconfiguration: {

    rrc-TransactionIdentifier 0,

    criticalExtensions c1: rrcConnectionReconfiguration-r8: {

    ....

      nonCriticalExtension {

        nonCriticalExtension {

          nonCriticalExtension {

            nonCriticalExtension {

              nonCriticalExtension {

                nonCriticalExtension {

                  nonCriticalExtension {

                    nonCriticalExtension {

                      nr-Config-r15 setup: {

                        endc-ReleaseAndAdd-r15 FALSE,

                        nr-SecondaryCellGroupConfig-r15 {

                          rrc-TransactionIdentifier 0,

                          criticalExtensions rrcReconfiguration: {

                            secondaryCellGroup {

                              ...

                              spCellConfig {

                                servCellIndex 1,

                                reconfigurationWithSync {

                                  spCellConfigCommon {

                                    physCellId 500,

                                    downlinkConfigCommon {

                                      frequencyInfoDL {

                                        absoluteFrequencySSB 632256,

                                        frequencyBandList {

                                          78

                                        },

                                        absoluteFrequencyPointA 632016,

                                        scs-SpecificCarrierList {

                                          {

                                            offsetToCarrier 0,

                                            subcarrierSpacing kHz30,

                                            carrierBandwidth 51

                                          }

                                        }

                                      },

                                      initialDownlinkBWP {

                                        genericParameters {

                                          locationAndBandwidth 13750,

                                          subcarrierSpacing kHz30

                                        },

                                    ...

                                    },

                                    uplinkConfigCommon {

                                      frequencyInfoUL {

                                        scs-SpecificCarrierList {

                                          {

                                            offsetToCarrier 0,

                                            subcarrierSpacing kHz30,

                                            carrierBandwidth 51

                                          }

                                        }

                                      },

                                      initialUplinkBWP {

                                        genericParameters {

                                          locationAndBandwidth 13750,

                                          subcarrierSpacing kHz30

                                        },

 

Frequent Errors

Followings are some of the frequent errors (common errors) you may encounter when you try to set your own band, frequency (arfcn) and bandwidth

the DL frequency must be a multiple of XXX kHz

You would get this error when you set arfcn which is not divisible by the raster frequency specified for each band in 3GPP as shown below.

NR SA Band Change CommonError Raster 01

cell bandwidth does not fit in band definition

You would get this error when you set arfcn too low or too high so that the configured bandwidth gets out of lower or upper boundary of the band as illustrated below.

NR SA Band Change CommonError OutOfBand 01