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).
Table of Contents
- NR SA - Cell Reselection
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
[Setup A]
If you are using a commercial UE (or anything that is nto Amarisoft UEsim), you may use this setup
[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.
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.
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.
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.
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. (
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).
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
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(
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)
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.