Amarisoft

NR SA - Cell Reselection

 

The purpose of this tutorial is to show you how to configure the test setup for Cell Reselection in NR. Cell Reselection is the process where UE changes its serving cell in (during) the idle mode. UE perform Cell Reselection when a various conditions from the current cell and the target cell(neigbhour cell) meet the specific cell reselection criteria (mostly specified by SIB).

NOTE : Even though the high level reselection criteria is specified by gNB/eNB, it is basically UE side decision whether it perform the reselection or not. So if the cell reselection does happen as expected, you need to look into UE side process (e.g, UE side log) and check why it does not initiate the reselection.

NOTE : Since Cell Reselection is the process happening in UE during the idle mode, there is not much way to investigate with gNB/eNB log for troubleshooting. So if you want to do any troubleshooting with this process, you need to get access to the detailed (usually lower layer and rrc process log) on UE side.

NOTE : In this tutorial, I will focus mainly on analyzing UEsim log whenever it is available. Main reason is to show what kind of UE log would be needed to investigate/troubleshoot the detailed cell reselection process. Amarisoft UEsim support detailed logging not only for measurement for cell selection/reselection but also for checking/detecting the criteria of the cell selection/reselection. If you are using commercial UE, you should be prepared to get similar level of logs from your own DUT.

 

Table of Contents

 

 

Test Setup

 

Test setup for this tutorial is as shown below.

[Setup A]

If you are using a commercial UE (or anything that is nto Amarisoft UEsim), you may use this setup

TestSetup Callbox UE 1sdr 01

[Setup B]

If you are using Amarisoft UEsim, you may use this setup. This is the test configuration that I used most of the case. For the accuracy of the measurement, I would suggest to connect them with cable whenever possible.

 

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-Intra Frequency

This is to show how to configure the test setup for NR-SA intra frequency cell reselection and perform the test. In this test, I will use Amarisoft UEsim as a DUT, but with the same gNB configuration you can use your own UE as DUT.

 

Configuration

I used the configuration file gnb-sa-reselection-intra.cfg which is copied from gnb-sa-ho.cfg and modified. For intra cellular cell reselection, we would configure SIB3. Ideally we would need two different sib3 for each of the cells, but in this test I would use single sib3 file and use it for both cell. With this sibs, the reselection should work from the first cell to second cell.

NOTE : If you want to do bi-directional cell reselection (ping pong reselection), you would need to prepare two sib3_nr asn for each cell.

NR SA BW Change Test1 Configuration 01

On UEsim, I used ue-nr-sa-reselection-intra.cfg which is copied and modified from ue-nr-2cc-sa.cfg

Configured in gnb-sa-reselection-intra.cfg is as shown below. In this configuration, I configured the cell to be a FDD cell (NR_TDD 0) but it doesn't matter much, you can use whatever you want.

The important part is is to properly configure ncell_list(neighbour cell list) and plmn_list properly. As you see here, cell_id 2 is configured in ncell_list of the cell_id 1 and cell_id 1 is configured in ncell_list of the cell_id 2.

NOTE : In this configuration, I put plmn_list into nr_cell_list block instead of nr_cell_default block. This is to configure the contents of plmn_list differently for each of the cell. In this case, I want to assign different tac (tracking area code) for different cells. Strictly speaking this is not mandatory condition for cell reselection but I wanted to set different tac for each cell to let UE trigger some signaling process (Tracking Area Update in this example) after reselection. Otherwise, UE would perform Cell Reselection but you may not notice it unless you look deep inside of the UE log and find out cell reselection related logging.

NR SA BW Change Test1 Configuration 02

Another important thing is to configure SIB transmission related to intra frequency cell reselection. There are two SIBs related to this process SIB2 and SIB3. I configured the transmission of two external SIB asn files (sib2_nr.asn and sib3_nr.asn) which comes with the installation.

NOTE : strictly speaking, the contents of the SIB3 should be different for each cell, but in this tutorial both cell will transmit the SIB3 with the same contents because it is specified in nr_cell_default block. You would need to set sib_sched_list in nr_cell_list block if you want to configure the contents differently for each cell

This is the contents of SIB3 (sib3_nr.asn). Assuming that the first cell (PCI 500) is the serving cell, I set physCellId 501 (PCI 501) as the neigbhour cell.

Configured in ue-nr-sa-reselection-intra.cfg is as shown below. UEsim side configuration is very simple. I just set the TDD 0 to set it for FDD which is supposed to match with gNB configuration. And set band, dl_nr_arfcn and ssb_nr_arfcn according to gNB configuration. Everything else I just leave it as in default. All the necessary configuration will be automatically configured by RRC message that gNB send out.

 

Perform the Test

You may need to pay a little bit closer attention to test execution process because you need to make it sure that you properly configured gNB to trigger cell reselection on UE side.

First it is alway good idea to check cell phy and cell configuration and make it sure that all the cells are configured as intended. One thing I want to highlight here is that cell 1 and cell 2 has different TAC to trigger some signaling (Tracking Area Upate in this case) after the cell reselection.

NR SA BW Change Test1 RunTest 01

First, I descreased the power of cell 2 lower. This is to make it sure that the UE camp onto cell 1 on power-on. (NOTE : I used the command cell_gain instead of tx_gain to change the cell power. This is because I want to change the cell power without chaning cell reference power in SIB). After the command, you see the dl_gain is changed to -40 (dB) for cell 2.

NOTE How much power you should decrease the cell 2 would vary depending on your test setup. In this case, I tried to decrease the cell 2 power in a little large amount but not too large to make the cell undetectable.

Now on UEsim side, it would be good idea to try 'cells' command and make it sure that both of the cells are detected (If you see PCI printed, it mean at least PSS/SSS of the cell is detected and basic PHY sync is established).

NOTE If you are using regular UE as a DUT, you just skip this part and power UE.

Power on UE and let it complete the attach. Note that UE is connected to Cell 1 (The first cell in this test)

Once UE is in Idle mode, change the cell power to trigger cell reselection. You may increase the power of the second cell and decrease the power of the first cell.

If the reselection is performed on UE side, UE would go through registration process for tracking area code update and you will see the connected cell id is changed to 2.

 

Log Analysis

For cell reselection process, you wouldn't see anything much from gNB log since basically the cell selection is UE side process. So if cell reselection is not done, in most case you need to look into UE side log for troubleshoot. Even when there is issues with gNB (e.g, cell power is not properly configured to trigger the cell reselection, it is hard to find this from gNB log), you would need to check the measured cell power on UE side log.

 

UEsim

Sample(gNB)

First check if TAC(Tracking Are Code) is configured in SIB1 of the first cell as intended.

Then make it sure the TAC of the second cell (target cell in this test) is set differently from the first cell.

Now check if intra frequency cell reselection criteria for the first cell is configured as intended.

Now make it sure that the neighbour cell of the first cell is configured as intended(NOTE : If you want to change any of the parameters here, you need to change the contents of sib2_nr.asn file which are specified in the enb configuration file).

After power_on on UE sim, you would see the logs as follows.

The first step is the result of PLMN selection. It shows that UE selected PLMN 001-01 which is as intended.

Then UE performs measurement for all the cells it can detect (both the serving cell and neighbour cells) and prints the result as shown here. As you may notice, Amarisoft UEsim prints out not oly rsrp, rsrq but also other parameters like q_rxlev_min, q_qual_min, Srxleve, Squal so that you can easily check if the selection / reselection criteria is met. I think this is a cool feature of Amarisoft UEsim.

Here you see both cells (Cell #0, Cell #1) meets the criterial of the cell selection, but the rsrp of the first cell (Cell #0) is higher than the second cell, so UE would select to the first cell (Cell #0)

NOTE : If you are using regular phone as a DUT, you also need similar level of information from UE log for troubleshooting.

You see that UE is attaching to Cell #0 (the first cell).

Once UEsim completes the attach process and gets into connected state, UEsim performs connected mode cell measurement and prints the result. This is not important for this tutorial, but it will be important for handover scenario.

Some time after the initial attach, UE gets into idle mode if there is no traffic from higher layer. Once UE gets into Idle state, UEsim performs "Cell Reselection measurement" and prints the result.

In this specific measurement, PCI 500 cell (the first cell, current serving cell) still has higher RSRP so reselection does not work.

After every measurement, UEsim prints the status of reselection. Since the reselection has not been done, the reselection info shows the PCI of the first cell (PCI 500 in this case).

At this point, I changed the cell power of the two cell in such a way that the power of the second cell (PCI 501) gets higher than the first cell (PCI 500).

Now Cell Reselection Measurement result shows that the RSRP of PCI 501 cell is higher than the RSRP of PCI 500 Cell. This meets the reselection crigeria and triggers Cell Reselection on UEsim.

Now the Reselection Info prints the changed PCI which indicates the cell (Serving Cell) changed.

Once reselection is complete, UEsim prints 'Cell Reselection : arfcn xxxxx and pci xxx'.

Now UEsim start decoding SIBs for the reselected cell (Cell #1 in this case).

After decoding SIBs, UEsim notice TAC(tracking area code) is different from the previous cell and triggers registration process for TAC update.

After the tracking area update, UEsim gets into idle mode again and start performing Cell Reselection Measurement.

From this point, the same process as explained above repeats

 

gNB

For the gNB log, I would not put any description since in terms of signaling message it is same as UEsim log. Just as a reference, I put the log only here.

Sample(gNB)