NR SA Bandwidth Change
The purpose of this tutorial is to show you how to change CBW(Channel Bandwidth, System BW) in Amari Callbox. The changing configuration in configuration file is very simple, but figuring out the proper bandwidth that can be applicable for the DUT can be tricky. It is assumed that you don't have any previous experience with Amari callbox.
Up to 100 Mhz per component carrier, Amarisoft support any bandwidth specified in 3gpp for both FR1 and FR2 as of now.
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
- NR SA Bandwidth Change
Test Setup
Test setup for this tutorial is as shown below.
- SIM Card used in this tutorial is the one delivered with the system as it is.
- If you want to change the configuration, The tutorial Configuration Guide would help
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
- 38.101-1 Table 5.2-1, Table 5.3.5-1
- 38.104 - Table 5.4.3.3-1
2. Check UE capability Information and make it sure that your DUT support the band and bandwidth you want to try
NOTE : you may confirm on this with your internal UE specification or UE capability Information message.
NOTE : Be aware that sometimes some DUT claim that it support a certain feature in UE Capability Information message but it fail to support in reality. Take this into account especially when you are testing a DUT at development phase
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-N78-SCS30Khz-40Mhz
This is to show how to modify the default configuration tile from 20Mhz channel bandwidth to 40Mhz.
Feasibility Check
Check if the bandwidth you want to try is allowed in terms of 3GPP spec as shown below
Check if the bandwidth you want to try is allowed in terms of UE capability. The UE that I am using support scs30 only and support 20,40,50,60,80,100 Mhz
Configuration
I used the configuration file gnb-sa-n78-40Mhz.cfg which is copied from gnb-sa.cfg and modified.
Configured in gnb-sa-n78-40Mhz.cfg is as shown below. In this configuration, I changed the channel bandwidth using NR_BANDWIDTH and keep band, dl_nr_arfcn, subcarrier spacing as it is with the default configuration (gnb-sa.cfg)
Perform the Test
Run LTE service and check cell configuration in (enb) screen as shown below. Confirm that the Bandwidth are configured as you intended. You can check the channel bandwidth with BW value in cell phy output. Note that SSB ARFCN would automatically change according to BW change.
Power on UE and let it complete the attach
Log Analysis
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. (
- ssb_arfcn indicates the center frequency in arfcn. 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
- ssb_prb indicates the position of ssb in PRB
- k_ssb indicates the k_ssb position (i.e, offset in subcarrier unit from the lowest PRB of ssb_prb)
- coreset0_prb indicates the position of CORESET0 in PRB unit
In the WebGUI log, you can easily check the bandwidth related configurations as shown below. The downlink band, bandwidth, subcarrier spacing can be confirmed from frequencyInfoDL and initialDownlinkBWP IE. These IEs are automatically set by gNB software based on the configuration file.
The uplink band, bandwidth, subcarrier spacing can be confirmed from frequencyInfoUL and initialUplinkBWP IE. These IEs are automatically set by gNB software based on the configuration file.
RRC / NAS Signaling
SIB1 (SA)
: This is the SIB1 message sent by gNB to configure NR SA. (
{
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. (
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
},
Tips
Changing BW to 5 Mhz
In many cases, BW change would work just by changing Bandwidth parameters and selecting TDD/FDD according to 3GPP table and UE capability. But you may need extra cautions when you try to change BW to 5Mhz since it support only 15Khz not only for SSB but also other physical channels. Also there is another restriction on Amari callbox limiting ra_window_size to 10ms max. You may refer to this example configuration that I verified working with Amari Callbox and Amari UEsim : gnb-sa-5Mhz.cfg and ue-nr-sa-5Mhz.cfg .
Setting different BW to each cell
In most of the default configuration samples provided by the installation package, bandwidth parameter is set in cell_default : { } or in nr_cell_default: {} meaning that the same bandwidth is used for all cells. But there would be some cases where you want to configure different bandwidth for each cell. In this case, you can change the configuration as follows.
- Step 1 : comment out bandwidth parameter in cell_default : { } or in nr_cell_default: {}
- Step 2 : add bandwidth parameter in each cell configured by cell_list: [ ] or nr_cell_list: [ ]
Follwing is an example ;
Step 1 :
nr_cell_default: { #if NR_TDD == 1 subcarrier_spacing: 30, /* kHz */ #else subcarrier_spacing: 15, /* kHz */ #endif n_antenna_dl: N_ANTENNA_DL, n_antenna_ul: N_ANTENNA_UL, |
Step 2 :
nr_cell_list: [ { rf_port: 0, cell_id: 0x01, n_id_cell: 500, ncell_list : [ {cell_id: 2}, ],
#if NR_TDD == 1 band: 78, dl_nr_arfcn: 632628, #else band: 7, dl_nr_arfcn: 526000, #endif }, { rf_port: 1, cell_id: 0x02, n_id_cell: 501, ncell_list : [ {cell_id: 1}, ],
#if NR_TDD == 1 band: 41, dl_nr_arfcn: 510006, #else band: 7, dl_nr_arfcn: 532000, #endif }, ], /* nr_cell_list */ |
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.
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.
Could not find a SSB frequency compatible with the channel bandwidth and the CoReSet 0 parameters
This error occurs mostly when you configured the coreset 0 to be wider than the channel bandwidth you configured or a part of Coreset 0 gets out of the channel band. Check out this tutorial for further details.