UEsim NR SA - Carrier Aggregation
The purpose of this tutorial is to show you how to establish NR SA 2CC CA on UEsim. Carrier Aggregation is a mechanism that aggregate the traffic at MAC layer which requires accurate synchronization among all the cell and scheduled by a common MAC scheduler. At high level, it happens in a few steps as follows.
Step 1 : Perform the measurement for all the relavent cells
Step 2 : RRC Connection Reconfiguration to add SCC (Secondary Component Carrier)
Step 3 : MAC CE activating SCCs
In terms of 3GPP, Step 1 is optional but in live network Step 1 is always performed. In Amarisoft Callbox, user case choose whether to perform step 1 or not.
The capability / capacity of Carrier Aggregation of Amarisoft UEsim product series is shown in the table below. Click on the link if you want to get the full datasheet.
|
|||
Carrier Aggregation |
up to 4 carriers in DL and 2 carriers in UL |
up to 4 carriers in DL and 2 carriers in UL |
Table of Contents
- UEsim NR SA - Carrier Aggregation
- Test Setup
- Key Configuration Parameters
- Test 1 : 2CC CA - TDD and TDD - without Measurement
- Test 2 : 2CC CA - TDD and TDD - with Measurement
- Test 3 : 2CC CA - FDD and TDD - without Measurement
- Test 4 : 2CC CA - TDD and FDD - without Measurement
- RRC / NAS Signaling
Test Setup
Test setup for this tutorial is as shown below.
Key Configuration Parameters
Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.
- scell_list
- meas_config_desc : In this link you would get the descriptions for all the items listed below.
- a1_report_type
- a1_rsrp
- a1_hysteresis
- a2_report_type
- a2_rsrp
- a2_hysteresis
- a2_time_to_trigger
- a3_report_type
- a3_offset
- a3_hysteresis
- scell_config : In this link you would get the descriptions for all the items listed below.
- a2_report_type
- a2_rsrp
- a2_hysteresis
- a2_time_to_trigger
- a4_report_type
- a4_hysteresis
- a4_time_to_trigger
- meas_gap_config
- pattern_id
Test 1 : 2CC CA - TDD and TDD - without Measurement
In this test, I will show you how to configure a NR SA carrier aggregation with 2 TDD Cell without RRC Measurement. I didn't enabled measurement just because of the simplicity and you can take this as a base framework (a reference) for configuration of carrier aggregation.
Configuration
An important thing in using UE sim is to do proper matching between UE sim configuration and Call box configuration In this tutorial, I used the ue-nr-2cc-sa-tdd .cfg that is copied and modified from the ue-nr-2cc-sa.cfg and gnb-2cc-sa-tdd.cfg that is copied and modified from gnb-2cc-sa.cfg
Configuration for Callbox
If you use other Network (e.g, other network simulator or real network), you have to make it sure to configure UE sim according to the settings on network side
For the core network side, we don't need any specific configuration for carrier aggregation. So I just used the default core network configuration file (mme-ims.cfg)
First, Duplex configuration is set with NR_TDD. In this test, NR_TDD is set to 1 which indicates TDD and this configuration applies to every cells.
Now configure each of the cell to support secondary cell addition. To do this, specify scell_list parameter in the cell configuration (nr_cell_list). In this test, {cell_id: 2} is configured in scell_list which mean that this cell can add the cell of cell_id 2 as a secondary cell (SCC) in carrier aggregation. Within scell_list configuration, rrc_configuration parameter is not specified which implies that scell is added without any rrc_configuration condition. It mean that SCC will be added without RRC measurement as long as UE support carrier aggregation for the configured frequency band.
Then configure the second cell to support secondary cell addition. To do this, specify scell_list parameter in the cell configuration (nr_cell_list). In this test, {cell_id: 1} is configured in scell_list which mean that this cell can add the cell of cell_id 1 as a secondary cell (SCC) in carrier aggregation. Within scell_list configuration, rrc_configuration parameter is not specified which implies that scell is added without any rrc_configuration condition. It mean that SCC will be added without RRC measurement as long as UE support carrier aggregation for the configured frequency band.
Configuration for UEsim
I used the ue-nr-2cc-sa-tdd .cfg for this test (
Since this test is for carrier aggregation using two cells, set N_CELL to 2 and then configure NR_TDD to match the Callbox configuration. In addition, configure the number of DL antenna(N_ANTENNA_DL), the number of UL antenna(N_ANTENNA_UL) and bandwidth (NR_BANDWIDTH) to be same as Callbox.
Since this is 2CC CA case, two cells are configured in cells parameter and NR_TDD and band / frequency setting is configured to match the callbox configuration.
Perform the Test
First you can check out the configuration of each cell with 'cell phy' and 'cell' command. You cannot figure out whether this is specifically for Carrier aggregation or any other types of multi cell configuration (e.g, handover or selection/reselection), but at least you can confirm on the number of different cells. With BAND values, you can confirm on whether the cell is configured as TDD or FDD. You may refer to this site : https://www.sqimway.com/nr_band.php to check duplex type of each band.
If all of the cell is configured as intended, power on UE on UEsim (If you are using a commercial UE, power on the UE at this point).
With the command 'ue' on UEsim, you can check on the regstration status. Make it sure that EMM_STATE is 'registered' and UE gets at least one IP address (If you are using a commerical mobile phone, you can see 5G icon with signal bar on the top of the display).
On Callbox, check out the trace log with the command 't'. If you see '2' under the column 'C', it indicates two CC carrier aggregation is established (
Check on the output of 'ue' command on mme screen and make it sure that 'REG' is set to 'Y' and at least one IP_ADDR is allocated.
This is not mandatory, but to check if data pipe is setup properly perform IP data flooding using ltesim_server on callbox. This generate UDP throughput packets and send it to UE.
Check out DL throughput with 't' command.
Log Analysis
In this section, you will see how to confirm if UE registration is complete from trace log. You can use the same method to find any issues (e.g, registration failure) for troubleshooting. When UE registration fails, you may use this tutorial to figure out the point of the failure and troubleshoot
NOTE : This section is just to check quickly some important points in the log, but it may be a little bit tricky to do the detailed log analysis (especially for lower layer log analysis). In that case, I strongly recommend you to use WebGUI for the log analysis. You may refer to WebGUI Tutorial
First check basic configurations in SIB1 of cell1. There is nothing specific I want to point out in terms of the contents of this SIB. Just to check if cell 1 SIB1 is transmitted properly which indicates the cell 1 start working.
Likewise check basic configurations in SIB1 of cell2. There is nothing specific I want to point out in terms of the contents of this SIB. Just to check if cell 2 SIB1 is transmitted properly which indicates the cell 2 start working.
Confirm that UE is supporting the band combination of carrier aggregation that is same as the band configuration you set in the configuration file. If you don't find the specific band combination as you set in the configuration file, gNB would not perform SCC addition (carrier aggregation) if all other conditions are met.
In many cases the UE capability information carries a long list of information and too complicated to follow along in plain text. To simplify and clarify the band combination, you can check it out in tabular format using [UE caps] function.
If UE support the band combination as specified in the configuration file, gNB (callbox) send out RRC Connection Reconfiguration for sCell (SCC) addition.
You can check MAC log to confirm on the Scell addition. Check out to see 'Scell AD' print. And check out the MAC packet is sent out through PHY with corresponding PDCCH/PDSCH.
Now confirm that the added Scell is activated by checking out 'enabling scell' log print.
Check out if you see the user traffic for both PCC and SCC(Cell 1 and Cell 2 in this case) at PHY log.
Now check out if you see PUCCH with ack/nack values for the transmitted PDSCH. If you see these, it indicates carrier aggregation is properly established throughout the entire radio stack.
Test 2 : 2CC CA - TDD and TDD - with Measurement
In this test, I will show you how to configure a NR SA carrier aggregation with 2 TDD Cell withRRC Measurement. In terms of the configuration for carrier aggregation, this is same as the previous test. The difference between this test and previous test is what triggers the carrier aggregation.
Configuration
An important thing in using UE sim is to do proper matching between UE sim configuration and Call box configuration In this tutorial, I used the ue-nr-2cc-sa-tdd .cfg that is copied and modified from the ue-nr-2cc-sa.cfg and gnb-2cc-sa-meas-tdd.cfg that is copied and modified from gnb-2cc-sa.cfg
Configuration for Callbox
If you use other Network (e.g, other network simulator or real network), you have to make it sure to configure UE sim according to the settings on network side
For the core network side, we don't need any specific configuration for carrier aggregation. So I just used the default core network configuration file (mme-ims.cfg)
First, Duplex configuration is set with NR_TDD. In this test, NR_TDD is set to 1 which indicates TDD and this configuration applies to every cells.
Now configure each of the cell to support secondary cell addition. To do this, specify scell_list parameter in the cell configuration (nr_cell_list). In this test, {cell_id: 2} is configured in scell_list which mean that this cell can add the cell of cell_id 2 as a secondary cell (SCC) in carrier aggregation. Within scell_list configuration, rrc_configuration parameter is specified as "measurement". It means that SCC will be added based on RRC measurement result.
Then configure each of the cell to support secondary cell addition. To do this, specify scell_list parameter in the cell configuration (nr_cell_list). In this test, {cell_id: 1} is configured in scell_list which mean that this cell can add the cell of cell_id 1 as a secondary cell (SCC) in carrier aggregation. Within scell_list configuration, rrc_configuration parameter is specified as "measurement". It means that SCC will be added based on RRC measurement result.
Since this test requires Measurement report as a precondition to add SCC, we need to configure the details of measurement configuration with the parameter meas_config_desc. The important parmaters you need to configure is the measurement event condition with scell_config. You may use this measurement condition with the event a1,a2,a3,a4 as basic template for any NR SA carrier aggregation. Just tweak rsrp, hysteresis,time_to_trigger values according to your test requirement.
Configuration for UEsim
I used the ue-nr-2cc-sa-tdd .cfg for this test (
Since this test is for carrier aggregation using two cells, set N_CELL to 2 and then configure NR_TDD to match the Callbox configuration. In addition, configure the number of DL antenna(N_ANTENNA_DL), the number of UL antenna(N_ANTENNA_UL) and bandwidth (NR_BANDWIDTH) to be same as Callbox.
Since this is 2CC CA case, two cells are configured in cells parameter and NR_TDD and band / frequency setting is configured to match the callbox configuration.
Perform the Test
First you can check out the configuration of each cell with 'cell phy' and 'cell' command. You cannot figure out whether this is specifically for Carrier aggregation or any other types of multi cell configuration (e.g, handover or selection/reselection), but at least you can confirm on the number of different cells. With BAND values, you can confirm on whether the cell is configured as TDD or FDD. You may refer to this site : https://www.sqimway.com/nr_band.php to check duplex type of each band.
If all of the cell is configured as intended, power on UE on UEsim (If you are using a commercial UE, power on the UE at this point).
With the command 'ue' on UEsim, you can check on the regstration status. Make it sure that EMM_STATE is 'registered' and UE gets at least one IP address (If you are using a commerical mobile phone, you can see 5G icon with signal bar on the top of the display).
On Callbox, check out the trace log with the command 't'. If you see '2' under the column 'C', it indicates two CC carrier aggregation is established (
Check on the output of 'ue' command on mme screen and make it sure that 'REG' is set to 'Y' and at least one IP_ADDR is allocated.
This is not mandatory, but to check if data pipe is setup properly perform IP data flooding using ltesim_server on callbox. This generate UDP throughput packets and send it to UE.
Check out DL throughput with 't' command.
Log Analysis
In this section, you will see how to confirm if UE registration is complete from trace log. You can use the same method to find any issues (e.g, registration failure) for troubleshooting. When UE registration fails, you may use this tutorial to figure out the point of the failure and troubleshoot
NOTE : This section is just to check quickly some important points in the log, but it may be a little bit tricky to do the detailed log analysis (especially for lower layer log analysis). In that case, I strongly recommend you to use WebGUI for the log analysis. You may refer to WebGUI Tutorial
The description on initial check up (i.e, SIB1 , UE capability information etc) is not shown here because it is same as in Test 1 Log Analysis.
Since this test is configured to trigger SCC addition based on measurement report, you should check if the RRC Reconfiguration for measurement configuration is sent out with the proper configuration as you intended.
.Confirm that Callbox (gNB) get the measurement report from UE with proper measurement result.
If UE support the band combination as specified in the configuration file and the expected measurement report is received by gNB, gNB (callbox) send out RRC Connection Reconfiguration for sCell (SCC) addition.
Test 3 : 2CC CA - FDD and TDD - without Measurement
In this test, I will show you how to configure a NR SA carrier aggregation with 1 TDD Cell and 1 FDD cell without RRC Measurement. In this test, a FDD cell will be used as PCC (Primary Component Carrier) and a TDD cell will be used as SCC(Secondary Component Carrier).
I didn't enabled the RRC measurement for simplicity, but still the configuration would be a little bit more complicated comparing to Test 1 (TDD + TDD case) because different duplex method should be configured for each cell.
- Most of UE support only subcarrier spacing 15 Khz only in FDD and support 30 Khz only in TDD.
- Most of UE does not support carrier aggregation between different subcarrier spacing.
Configuration
An important thing in using UE sim is to do proper matching between UE sim configuration and Call box configuration In this tutorial, I used the ue-nr-2cc-sa-FDD-TDD.cfg that is copied and modified from the ue-nr-2cc-sa.cfg and gnb-2cc-sa-FDD-TDD.cfg that is copied and modified from gnb-2cc-sa.cfg
Configuration for Callbox
If you use other Network (e.g, other network simulator or real network), you have to make it sure to configure UE sim according to the settings on network side
On Callbox (gNB), I used gnb-2cc-sa-FDD-TDD.cfg that is copied and modified from gnb-2cc-sa.cfg
For the core network side, we don't need any specific configuration for carrier aggregation. So I just used the default core network configuration file (mme-ims.cfg)
gnb-2cc-sa-FDD-TDD.cfg is configured as follows.
First, Duplex configuration is set with NR_TDD. In this test, I created two parameters NR_TDD_CC1 and NR_TDD_CC2 to configure duplex configuration differently for each of the cell. For this test, NR_TDD_CC1 is set to 0 indicating that the first cell will be a FDD cell and NR_TDD_CC1 is set to 1 indicating that the second cell will be a TDD
Now configure each of the cell to support secondary cell(SCC) addition. To do this, specify scell_list parameter in the cell configuration (nr_cell_list). In this test, {cell_id: 2} is configured in scell_list which mean that this cell can add the cell of cell_id 2 as a secondary cell (SCC) in carrier aggregation. Within scell_list configuration, rrc_configuration parameter is not specified which implies that scell is added without any rrc_configuration condition. It mean that SCC will be added without RRC measurement as long as UE support carrier aggregation for the configured frequency band.
Another thing to note is that bandwidth, n_antenna_dl, n_antenna_ul is configured within each cell configuration in nr_cell_list instead of nr_cell_default. This is to allow to set bandwidth and antenna configuration differently for each cell.
now configure prach configuration as per your requirement. In the case of carrier aggregation using the same duplex scheme(i.e, TDD-TDD or FDD-FDD case), prach configuration is set in nr_cell_default but in case of this test (i.e, using different deplex scheme for each cell), I moved the prach configuration to the cell configuration in nr_cell_list because we may need to apply different prach configuration for each cells.
I moved tdd_ul_dl_config to cell configuration of nr_cell_list from nr_cell_default in order to allow each of the cells to apply different configurations from each other.
I also moved ssb_pos_bitmap to cell configuration of nr_cell_list from nr_cell_default in order to allow each of the cells to apply different configurations from each other.
Then configure the second cell to support secondary cell(SCC) addition. To do this, specify scell_list parameter in the cell configuration (nr_cell_list). In this test, {cell_id: 1} is configured in scell_list which mean that this cell can add the cell of cell_id 1 as a secondary cell (SCC) in carrier aggregation. Within scell_list configuration, rrc_configuration parameter is not specified which implies that scell is added without any rrc_configuration condition. It mean that SCC will be added without RRC measurement as long as UE support carrier aggregation for the configured frequency band.
Another thing to note is that bandwidth, n_antenna_dl, n_antenna_ul is configured within each cell configuration in nr_cell_list instead of nr_cell_default. This is to allow to set bandwidth and antenna configuration differently for each cell.
Like the first cell case, now configure prach configuration as per your requirement. In the case of carrier aggregation using the same duplex scheme(i.e, TDD-TDD or FDD-FDD case), prach configuration is set in nr_cell_default but in case of this test (i.e, using different deplex scheme for each cell), I moved the prach configuration to the cell configuration in nr_cell_list because we may need to apply different prach configuration for each cells.
I moved tdd_ul_dl_config to cell configuration of nr_cell_list from nr_cell_default in order to allow each of the cells to apply different configurations from each other.
I also moved ssb_pos_bitmap to cell configuration of nr_cell_list from nr_cell_default in order to allow each of the cells to apply different configurations from each other.
Configuration for UEsim
On UEsim, I used the ue-nr-2cc-sa-FDD-TDD.cfg that is copied and modified from the ue-nr-2cc-sa.cfg (
ue-nr-2cc-sa-FDD-TDD.cfg is configured as follows.
Since this test is for carrier aggregation using two cells, set N_CELL to 2 and then configure NR_TDD of each cell(NR_TDD_CC1 and NR_TDD_CC2) to match the Callbox configuration. In addition, configure the number of DL antenna(N_ANTENNA_DL), the number of UL antenna(N_ANTENNA_UL) and bandwidth (NR_BANDWIDTH_CC1 and NR_BANDWIDTH_CC2) to be same as Callbox.
Since this is 2CC CA case, two cells are configured in cells parameter and NR_TDD and band / frequency setting is configured to match the callbox configuration. In this case, duplex type and cell bandwidth for the first cell and the second cell is configured differently.
Perform the Test
First you can check out the configuration of each cell with 'cell phy' and 'cell' command. You cannot figure out whether this is specifically for Carrier aggregation or any other types of multi cell configuration (e.g, handover or selection/reselection), but at least you can confirm on the number of different cells. With BAND values, you can confirm on whether the cell is configured as TDD or FDD. You may refer to this site : https://www.sqimway.com/nr_band.php to check duplex type of each band.
If all of the cell is configured as intended, power on UE on UEsim (If you are using a commercial UE, power on the UE at this point).
With the command 'ue' on UEsim, you can check on the regstration status. Make it sure that EMM_STATE is 'registered' and UE gets at least one IP address (If you are using a commerical mobile phone, you can see 5G icon with signal bar on the top of the display).
On Callbox, check out the trace log with the command 't'. If you see '2' under the column 'C', it indicates two CC carrier aggregation is established (
Check on the output of 'ue' command on mme screen and make it sure that 'REG' is set to 'Y' and at least one IP_ADDR is allocated.
This is not mandatory, but to check if data pipe is setup properly perform IP data flooding using ltesim_server on callbox. This generate UDP throughput packets and send it to UE.
Check out DL throughput with 't' command.
Log Analysis
In this section, you will see how to confirm if UE registration is complete from trace log. You can use the same method to find any issues (e.g, registration failure) for troubleshooting. When UE registration fails, you may use this tutorial to figure out the point of the failure and troubleshoot
NOTE : This section is just to check quickly some important points in the log, but it may be a little bit tricky to do the detailed log analysis (especially for lower layer log analysis). In that case, I strongly recommend you to use WebGUI for the log analysis. You may refer to WebGUI Tutorial
First check basic configurations in SIB1 of cell1. There is nothing specific I want to point out in terms of the contents of this SIB. Just to check if cell 1 SIB1 is transmitted properly which indicates the cell 1 start working.
Likewise check basic configurations in SIB1 of cell2. There is nothing specific I want to point out in terms of the contents of this SIB. Just to check if cell 2 SIB1 is transmitted properly which indicates the cell 2 start working.
Confirm that UE is supporting the band combination of carrier aggregation that is same as the band configuration you set in the configuration file. If you don't find the specific band combination as you set in the configuration file, gNB would not perform SCC addition (carrier aggregation) if all other conditions are met.
In many cases the UE capability information carries a long list of information and too complicated to follow along in plain text. To simplify and clarify the band combination, you can check it out in tabular format using [UE caps] function.
If UE support the band combination as specified in the configuration file, gNB (callbox) send out RRC Connection Reconfiguration for sCell (SCC) addition.
You can check MAC log to confirm on the Scell addition. Check out to see 'Scell AD' print. And check out the MAC packet is sent out through PHY with corresponding PDCCH/PDSCH.
Now confirm that the added Scell is activated by checking out 'enabling scell' log print.
Check out if you see the user traffic for both PCC and SCC(Cell 1 and Cell 2 in this case) at PHY log.
You can check out the phy layer traffic for both cells more easily using RB map plot.
Test 4 : 2CC CA - TDD and FDD - without Measurement
In this test, I will show you how to configure a NR SA carrier aggregation with 1 TDD Cell and 1 FDD cell without RRC Measurement. In this test, a TDD cell will be used as PCC (Primary Component Carrier) and a FDD cell will be used as SCC(Secondary Component Carrier).
I didn't enabled the RRC measurement for simplicity, but still the configuration would be a little bit more complicated comparing to Test 1 (TDD + TDD case) because different duplex method should be configured for each cell.
- Most of UE support only subcarrier spacing 15 Khz only in FDD and support 30 Khz only in TDD.
- Most of UE does not support carrier aggregation between different subcarrier spacing.
Configuration
An important thing in using UE sim is to do proper matching between UE sim configuration and Call box configuration In this tutorial, I used the ue-nr-2cc-sa-TDD-FDD.cfg that is copied and modified from the ue-nr-2cc-sa.cfg and gnb-2cc-sa-TDD-FDD.cfg that is copied and modified from gnb-2cc-sa.cfg
Configuration for Callbox
If you use other Network (e.g, other network simulator or real network), you have to make it sure to configure UE sim according to the settings on network side
On Callbox (gNB), I used gnb-2cc-sa-TDD-FDD.cfg that is copied and modified from gnb-2cc-sa.cfg
For the core network side, we don't need any specific configuration for carrier aggregation. So I just used the default core network configuration file (mme-ims.cfg)
gnb-2cc-sa-TDD-FDD.cfg is configured as follows.
First, Duplex configuration is set with NR_TDD. In this test, I created two parameters NR_TDD_CC1 and NR_TDD_CC2 to configure duplex configuration differently for each of the cell. For this test, NR_TDD_CC1 is set to 1 indicating that the first cell will be a TDD cell and NR_TDD_CC1 is set to 0 indicating that the second cell will be a FDD
Now configure each of the cell to support secondary cell addition. To do this, specify scell_list parameter in the cell configuration (nr_cell_list). In this test, {cell_id: 2} is configured in scell_list which mean that this cell can add the cell of cell_id 2 as a secondary cell (SCC) in carrier aggregation. Within scell_list configuration, rrc_configuration parameter is not specified which implies that scell is added without any rrc_configuration condition. It mean that SCC will be added without RRC measurement as long as UE support carrier aggregation for the configured frequency band.
Another thing to note is that bandwidth, n_antenna_dl, n_antenna_ul is configured within each cell configuration in nr_cell_list instead of nr_cell_default. This is to allow to set bandwidth and antenna configuration differently for each cell.
now configure prach configuration as per your requirement. In the case of carrier aggregation using the same duplex scheme(i.e, TDD-TDD or FDD-FDD case), prach configuration is set in nr_cell_default but in case of this test (i.e, using different deplex scheme for each cell), I moved the prach configuration to the cell configuration in nr_cell_list because we may need to apply different prach configuration for each cells.
I moved tdd_ul_dl_config to cell configuration of nr_cell_list from nr_cell_default in order to allow each of the cells to apply different configurations from each other.
I also moved ssb_pos_bitmap to cell configuration of nr_cell_list from nr_cell_default in order to allow each of the cells to apply different configurations from each other.
Then configure the second cell to support secondary cell addition. To do this, specify scell_list parameter in the cell configuration (nr_cell_list). In this test, {cell_id: 1} is configured in scell_list which mean that this cell can add the cell of cell_id 1 as a secondary cell (SCC) in carrier aggregation. Within scell_list configuration, rrc_configuration parameter is not specified which implies that scell is added without any rrc_configuration condition. It mean that SCC will be added without RRC measurement as long as UE support carrier aggregation for the configured frequency band.
Another thing to note is that bandwidth, n_antenna_dl, n_antenna_ul is configured within each cell configuration in nr_cell_list instead of nr_cell_default. This is to allow to set bandwidth and antenna configuration differently for each cell.
Like the first cell case, now configure prach configuration as per your requirement. In the case of carrier aggregation using the same duplex scheme(i.e, TDD-TDD or FDD-FDD case), prach configuration is set in nr_cell_default but in case of this test (i.e, using different deplex scheme for each cell), I moved the prach configuration to the cell configuration in nr_cell_list because we may need to apply different prach configuration for each cells.
I moved tdd_ul_dl_config to cell configuration of nr_cell_list from nr_cell_default in order to allow each of the cells to apply different configurations from each other.
I also moved ssb_pos_bitmap to cell configuration of nr_cell_list from nr_cell_default in order to allow each of the cells to apply different configurations from each other.
Configuration for UEsim
On UEsim, I used the ue-nr-2cc-sa-TDD-FDD.cfg that is copied and modified from the ue-nr-2cc-sa.cfg (
ue-nr-2cc-sa-TDD-FDD.cfg is configured as follows.
Since this test is for carrier aggregation using two cells, set N_CELL to 2 and then configure NR_TDD of each cell(NR_TDD_CC1 and NR_TDD_CC2) to match the Callbox configuration. In addition, configure the number of DL antenna(N_ANTENNA_DL), the number of UL antenna(N_ANTENNA_UL) and bandwidth (NR_BANDWIDTH_CC1 and NR_BANDWIDTH_CC2) to be same as Callbox.
Since this is 2CC CA case, two cells are configured in cells parameter and NR_TDD and band / frequency setting is configured to match the callbox configuration. In this case, duplex type and cell bandwidth for the first cell and the second cell is configured differently.
Perform the Test
First you can check out the configuration of each cell with 'cell phy' and 'cell' command. You cannot figure out whether this is specifically for Carrier aggregation or any other types of multi cell configuration (e.g, handover or selection/reselection), but at least you can confirm on the number of different cells. With BAND values, you can confirm on whether the cell is configured as TDD or FDD. You may refer to this site : https://www.sqimway.com/nr_band.php to check duplex type of each band.
If all of the cell is configured as intended, power on UE on UEsim (If you are using a commercial UE, power on the UE at this point).
With the command 'ue' on UEsim, you can check on the regstration status. Make it sure that EMM_STATE is 'registered' and UE gets at least one IP address (If you are using a commerical mobile phone, you can see 5G icon with signal bar on the top of the display).
On Callbox, check out the trace log with the command 't'. If you see '2' under the column 'C', it indicates two CC carrier aggregation is established (
Check on the output of 'ue' command on mme screen and make it sure that 'REG' is set to 'Y' and at least one IP_ADDR is allocated.
This is not mandatory, but to check if data pipe is setup properly perform IP data flooding using ltesim_server on callbox. This generate UDP throughput packets and send it to UE.
Check out DL throughput with 't' command.
Log Analysis
In this section, you will see how to confirm if UE registration is complete from trace log. You can use the same method to find any issues (e.g, registration failure) for troubleshooting. When UE registration fails, you may use this tutorial to figure out the point of the failure and troubleshoot
NOTE : This section is just to check quickly some important points in the log, but it may be a little bit tricky to do the detailed log analysis (especially for lower layer log analysis). In that case, I strongly recommend you to use WebGUI for the log analysis. You may refer to WebGUI Tutorial
First check basic configurations in SIB1 of cell1. There is nothing specific I want to point out in terms of the contents of this SIB. Just to check if cell 1 SIB1 is transmitted properly which indicates the cell 1 start working.
Likewise check basic configurations in SIB1 of cell2. There is nothing specific I want to point out in terms of the contents of this SIB. Just to check if cell 2 SIB1 is transmitted properly which indicates the cell 2 start working.
Confirm that UE is supporting the band combination of carrier aggregation that is same as the band configuration you set in the configuration file. If you don't find the specific band combination as you set in the configuration file, gNB would not perform SCC addition (carrier aggregation) if all other conditions are met.
In many cases the UE capability information carries a long list of information and too complicated to follow along in plain text. To simplify and clarify the band combination, you can check it out in tabular format using [UE caps] function.
If UE support the band combination as specified in the configuration file, gNB (callbox) send out RRC Connection Reconfiguration for sCell (SCC) addition.
You can check MAC log to confirm on the Scell addition. Check out to see 'Scell AD' print. And check out the MAC packet is sent out through PHY with corresponding PDCCH/PDSCH.
Now confirm that the added Scell is activated by checking out 'enabling scell' log print.
Check out if you see the user traffic for both PCC and SCC(Cell 1 and Cell 2 in this case) at PHY log.
You can check out the phy layer traffic for both cells more easily using RB map plot.
RRC / NAS Signaling
RrcReconfiguration (SA)
: This is the RrcSetup message sent by gNB to add NR SCC. (
{
message c1: rrcReconfiguration: {
rrc-TransactionIdentifier 0,
criticalExtensions rrcReconfiguration: {
nonCriticalExtension {
masterCellGroup {
cellGroupId 0,
mac-CellGroupConfig {
phr-Config setup: {
...
},
skipUplinkTxDynamic FALSE
},
spCellConfig {
spCellConfigDedicated {
initialDownlinkBWP {
pdsch-Config setup: {
...
}
}
},
uplinkConfig {
initialUplinkBWP {
pucch-Config setup: {
...
},
pusch-Config setup: {
...
}
}
},
csi-MeasConfig setup: {
csi-ReportConfigToAddModList {
...
}
},
tag-Id 0
}
},
sCellToAddModList {
{
sCellIndex 1,
sCellConfigCommon {
physCellId 501,
downlinkConfigCommon {
frequencyInfoDL {
absoluteFrequencySSB 627264,
frequencyBandList {
78
},
absoluteFrequencyPointA 626688,
scs-SpecificCarrierList {
{
offsetToCarrier 0,
subcarrierSpacing kHz30,
carrierBandwidth 51
}
}
},
initialDownlinkBWP {
genericParameters {
locationAndBandwidth 13750,
subcarrierSpacing kHz30
},
pdcch-ConfigCommon setup: {
...
},
pdsch-ConfigCommon setup: {
...
}
}
},
ssb-PositionsInBurst mediumBitmap: '80'H,
ssb-periodicityServingCell ms20,
dmrs-TypeA-Position pos2,
ssbSubcarrierSpacing kHz30,
tdd-UL-DL-ConfigurationCommon {
...
}
},
ss-PBCH-BlockPower -28
},
sCellConfigDedicated {
initialDownlinkBWP {
pdcch-Config setup: {
...
},
pdsch-Config setup: {
...
},
firstActiveDownlinkBWP-Id 0,
pdcch-ServingCellConfig setup: {
},
pdsch-ServingCellConfig setup: {
nrofHARQ-ProcessesForPDSCH n16
},
csi-MeasConfig setup: {
...
}
}
}
},
dedicatedNAS-MessageList {
'...'
}
}
}
}
}