Amarisoft

LTE - Carrier Aggregation

 

The purpose of this tutorial is to show you how to perform LTE Carrier Aggregation. 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.

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.

Regarding the total number of CC (PCC + SCCs) and the number of Layers for each cell, the capacity varies with the product type. Refer to the following table summarized from the datasheet (Click on the link to check out the full datasheet)

Product

Callbox mini

Callbox Classic

Callbox Advanced

Callbox Ultimate

Callbox Extreme

Max Number of LTE Cell

1

3

4

8

12

Max Number of NR Cell

1

3

4

8

12

Max Total Number of Cell

1

3

4

8

12

Σ(Bi*Li)

40

120

800

1600

2400

Bi : Bandwidth of Cell [i],  Li : Number of Layers of Cell[i]

 

Table of Contents

 

Test Setup

Test setup for this tutorial is as shown below. In this setup, it shows 4 SDR cards are connected with Antenna but not all the test in this tuturial requires the 4 sdr cards. You only have to connect antenna to the number of sdr cards that you need for each test.

TestSetup Callbox UE 4sdr 01

 

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 : 2CC CA - Inter band without Measurement

This test is to show how to configure a carrier aggregation between two LTE cells with different frequencies. In this test, carrier aggregation will be forced without any measurement report from UE.

This test configures 2 cells as follows.

It performs following procedure

 

Configuration

In this test, I used enb-2cc.cfg without modification.

LTE CA Test 1 Config 01

I used the mme-ims.cfg config as it is.

LTE CA Test 1 Config 02

The configuration in enb-2cc.cfg  is as shown below.  

The first thing to notice is that the number of cells (N_CELL) is set to greater than 1 since this is a type of multi cell scenario. In this test, I set N_CELL to 2.

LTE CA Test 1 Config 03

In carrier aggregation, you need to add the parameter scell_list and put the cell information for SCC(Secondary Component Cell) in the configuration. In case of using the first cell as PCC(Primary component cell), put the second cell in scell_list as SCC.

LTE CA Test 1 Config 04

In case of using the second LTE cell as PCC(Primary component cell), put the first LTE cell in scell_list as SCC.

LTE CA Test 1 Config 05

This configuration is not mandatory, but I extended the timer so that eNB does not release the RRC before adding the SCC.

LTE CA Test 1 Config 06

 

Perform the Test

Check out the result of "cell phy" command and make it sure that the number of cells and other cell parameters (e.g, BAND, BW, ARFCN etc) are configured as expected.

LTE CA Test 1 Run 01

NOTE : you may not always see the print for CC=1 because the print shown here is a sampled / averaged.  You may take it as success as long as you see the print for CC = 2.

LTE CA Test 1 Run 02

Run lteSim_server at the directory /root/mme and generate IP traffic as shown below (If you are not familiar with ltesim_server, check out this tutorial)

LTE CA Test 1 Run 03

Make it sure that all the cells configured Carrier Aggregation are connected. You can confirm on this by checking the number in the column 'C'. In this example, it is 2 which mean that 2 carriers are connected.

LTE CA Test 1 Run 04

 

Log Analysis

Sample Log

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

Before you try any carrier aggregation test, I strongly suggest you to check on UE capability for your UE and confirm that it support the band combination that you want to try.

LTE CA Test 1 Log 01

This is not mandatory in terms of operation, but it would be good to check on pucch-ConfigDedicated IE in RRC connection Reconfiguration and see if the pucch for the carrier aggregation is properly configured.

LTE CA Test 1 Log 03

Check out if the SCC(Secondary Component Carrier) is sCellToAddModList in RRC Connection Reconfiguration. This IE triggers the establishment of carrier aggregation.

LTE CA Test 1 Log 04

If the SCC addition is properly done in RRC layer, eNB will activate the SCC cell in MAC layer and print out 'enabling scell #' in the log.

LTE CA Test 1 Log 05

You see two separate DCIs are transmitted for each cells at the same subframe. This indicates that each cells in the aggregation is scheduled by itself separately (i.e, cross-scheduling OFF)

LTE CA Test 1 Log 06

Check PDSCHs and corresponding UCI with HARQ responses. You see each cell transmit PDSCH and single PUCCH to PCC (Primary Component Carrier) acknowledges the PDSCH reception on both cells.

LTE CA Test 1 Log 07

You can confirm the operation of the carrier aggregation easily by checking out Resource Block Allocation plot.

LTE CA Test 1 Log 08

 

 

Test 2 : 2CC CA - with Measurement

This test is to show how to configure a carrier aggregation between two LTE cells. In this test, carrier aggregation will be triggered only when the measurement report from UE is recieved.

This test configures 2 cells as follows.

It performs following procedure

 

Configuration

In this test I used the enb-2cc-meas.cfg which is copied and modified from enb-2cc.cfg

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

LTE CA Test 2 Config 01

LTE CA Test 2 Config 02

Followings are the configurations in enb-2cc-meas.cfg

The first thing to notice is that the number of cells (N_CELL) is set to greater than 1 since this is a type of multi cell scenario. In this test, I set N_CELL to 2.

LTE CA Test 2 Config 03

In carrier aggregation, you need to add the parameter scell_list and put the cell information for SCC(Secondary Component Cell) in the configuration. In case of using the first cell as PCC(Primary component cell), put the second cell in scell_list as SCC. In this test, there is additional setting called rrc_configuration: "measurement". It means that the carrier aggregation will be triggered only when the expected measurement report is recieved.

LTE CA Test 2 Config 04

In case of using the second LTE cell as PCC(Primary component cell), put the first LTE cell in scell_list as SCC. In this test, there is additional setting called rrc_configuration: "measurement". It means that the carrier aggregation will be triggered only when the expected measurement report is recieved.

LTE CA Test 2 Config 05

Since this is measurement based test, you need to configure meas_config_desc as required for the test. Pay special attention to scell_config settings since this is the fundamental requirement to trigger Carrier Aggregation.

LTE CA Test 2 Config 06

This is not mandatory change, but I extended this timer so that eNB does not release RRC too soon before adding SCC.

LTE CA Test 2 Config 07

 

Perform the Test

Check out the result of "cell phy" command and make it sure that the number of cells and other cell parameters (e.g, BAND, BW, ARFCN etc) are configured as expected.

LTE CA Test 2 Run 01

NOTE : you may not always see the print for CC=1 because the print shown here is a sampled / averaged.  You may take it as success as long as you see the print for CC = 2.

LTE CA Test 2 Run 02

Run lteSim_server at the directory /root/mme and generate IP traffic as shown below (If you are not familiar with ltesim_server, check out this tutorial)

LTE CA Test 2 Run 03

Make it sure that all the cells configured Carrier Aggregation are connected. You can confirm on this by checking the number in the column 'C'. In this example, it is 2 which mean that 2 carriers are connected.

LTE CA Test 2 Run 04

 

Log Analysis

Sample Log

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

This test is for Carrier Aggregation based on Measurement. So check out eNB configure Measurement Report condition(measConfig) in RRC connection reconfiguration.

LTE CA Test 2 Log 01

UE send measurement report. this is the trigger to add SCC. If eNB does not receive this message, SCC will not be added. Make it sure that the measurementReport carries the measurement of target cell with measResultNeighCells IE.

LTE CA Test 2 Log 02

Once the expected measurement report is recieved, eNB send RRC connection reconfiguration to add SCC. Check out sCellToAddModList IE and make it sure sCellIndex is configured as intended.

LTE CA Test 2 Log 03

 

 

Test 3 : 2CC CA - DL+UL without Measurement

This test is to show how to configure the carrier aggregation with 2CC (Component Carriers) for both Uplink and Downlink. In this test, the carrier aggregation will be forced without measurement from UE.

This test configures 3 cells as follows.

It performs following procedure

 

Configuration

In this test, I used enb-2cc-ul.cfg which is copied and modified from enb-2cc.cfg.

LTE CA Test 3 Config 01

I used the mme-ims.cfg config as it is.

LTE CA Test 1 Config 02

In UEsim, I am using ue-2cc-ul.cfg which is copied from ue-2cc.cfg (NOTE : If you are using the commercial UE, Skip the UEsim configuration shown here).

LTE CA Test 3 Config 03

The configuration in enb-2cc-ul.cfg  is as shown below.  

The first thing to notice is that the number of cells (N_CELL) is set to greater than 1 since this is a type of multi cell scenario. In this test, I set N_CELL to 2.

LTE CA Test 3 Config 04

In carrier aggregation, you need to add the parameter scell_list and put the cell information for SCC(Secondary Component Cell) in the configuration. In case of using the first cell as PCC(Primary component cell), put the second cell in scell_list as SCC. In this test, a specific additional parameter ul_allowed is added. This indicates that not only DL but also UL Carrier Aggregation will be triggered as long as UE notifies that it support UL carrier aggregation in UE capability Information message.

LTE CA Test 3 Config 05

In case of using the second cell as PCC(Primary component cell), put the first cell in scell_list as SCC (NOTE : If you want to specify a specific SCC UL frequency not automatically deribable from 3GPP, you can hardcode the UL frequency with ul_earfcn. If you omit the ul_earfcn, it will be derived from 3GPP rule)

LTE CA Test 3 Config 06

This configuration is not mandatory, but I extended the timer so that eNB does not release the RRC before adding the SCC.

LTE CA Test 1 Config 06

 

Followings are the configuration on UEsim which is configured in ue-2cc-ul.cfg .(NOTE : If you are using the commercial UE, Skip the UEsim configuration shown here).

First, set the number of cell (N_CELL) to be same as callbox. In this case, N_CELL is set to 2.

LTE CA Test 3 Config 07

Cell parameters on UEsim does not need any specific configuration excep bandwidth and frequency, all other details are automatically configured based on RRC messages sent by eNB.

LTE CA Test 3 Config 08

Specify as_release and ue_category as required by the test.

LTE CA Test 3 Config 09

 

Perform the Test

Check out the result of "cell phy" command and make it sure that the number of cells and other cell parameters (e.g, BAND, BW, ARFCN etc) are configured as expected.

LTE CA Test 3 Run 01

Power on UE on UEsim (UE simulator)

LTE CA Test 3 Run 02

Make it sure that all the cells configured Carrier Aggregation are connected. You can confirm on this by checking the number in the column 'C'. In this example, it is 2 which mean that 2 carriers are connected.

LTE CA Test 3 Run 03

 

Log Analysis

Sample Log

In any type of Carrier Aggregation test, the first thing you need to check is whether the DUT(UE) support the band combination that is required for the test.

Network send ueCapabilityInquiry message for the list of the bands that you specified in the configuration file.

LTE CA Test 3 Log 01

Check out UE capability Information message from UE and see if the intended band combination is supported.

LTE CA Test 3 Log 02

It is cumbersome to check out all those band combination in RRC message. WebGUI provides functionality to display those band combination in tabular format as shown below.

LTE CA Test 3 Log 03

Then check out sCellToAddModList in RRC Connection Reconfiguration for SCC Addition.  In case of this test, it is important to configure not only for the addition of DL carrier but also for the addition of UL carrier. You can confirm on this with ul-Configuration IE in sCellToAddModList.

LTE CA Test 3 Log 04

Now check out the antenna configuration(Transmission Mode) and power control for Uplink in ul-Configuration IE.

LTE CA Test 3 Log 06

You can confirm on the operation of all the carrier aggregation with Resource Block Allocation plot as shown below. Here you clearly see the aggregation of the traffics on both DL and UL.

LTE CA Test 3 Log 05

 

 

Test 4 : 2CC CA/FDD + NR NSA/FDD

This test is to show how to InterRAT carrier aggregation between LTE and NR. Carrier aggregation will be established between two cells and NR cell will be added as NSA SCG cell.

This test configures 3 cells as follows.

It performs following procedure

 

Configuration

In this test, I used gnb-nsa-2LTE-1NR.cfg which is copied and modified from gnb-nsa.cfg.

LTE CA Test 4 Config 01

I used the mme-ims.cfg config as it is.

LTE CA Test 1 Config 02

The configuration in gnb-nsa-2LTE-1NR.cfg  is as shown below.  

At first, both NR related and LTE related constants are specified. In this test, both NR and LTE is set to FDD and the bandwidth of the both LTE and NR are set to 20 Mhz.

LTE CA Test 4 Config 04

Make it sure that you have configured enough number of sdr card for this test. In this test, NR uses 4x4 MIMO and LTE use 2x2 MIMO. So you would need at least 6 sdr cards (in case of SDR 50) enabled.

LTE CA Test 4 Config 05

LTE CA Test 4 Config 06

In carrier aggregation, you need to add the parameter scell_list and put the cell information for SCC(Secondary Component Cell) in the configuration. In case of using the first cell as PCC(Primary component cell), put the second cell in scell_list as SCC. In this test, we want to establish carrier aggreation between inter RAT cells (i.e, between LTE and NR). For this, another parameter en_dc_scg_cell_list is configured.

LTE CA Test 4 Config 07

In case of using the second cell as PCC(Primary component cell), put the first cell in scell_list as SCC. In this test, we want to establish carrier aggreation between inter RAT cells (i.e, between LTE and NR). For this, another parameter en_dc_scg_cell_list is configured.

LTE CA Test 4 Config 08

Now comes with NR configuration. In this test, NR will be used only as SCC (Secondary Component Carrier) in CA. So just basic setup will be configured without any secondary cell information.

LTE CA Test 4 Config 09

Since this test will be done based on measurement report, you need to configure meas_config_desc.

LTE CA Test 4 Config 10

LTE CA Test 4 Config 11

 

Perform the Test

Check out the result of "cell phy" command and make it sure that the number of cells and other cell parameters (e.g, BAND, BW, ARFCN etc) are configured as expected.

LTE CA Test 4 Run 01

LTE CA Test 4 Run 02

Make it sure that all the cells configured Carrier Aggregation are connected. You can confirm on this by checking the number in the column 'C'. In this example, you see two values 2 and 1 are alternating. The value 2 indicates LTE carrier aggregation is established and the value with Cell ID 3 indicates NR cell connected in NSA mode.

LTE CA Test 4 Run 03

 

Log Analysis

Sample Log

Check out UE capability Information and see if the UE supports the band combination that matches the carrier aggregation you want to establish.

LTE CA Test 4 Log 01

Since this test is for measurement based carrier aggregation, make it sure that eNB send RRC connection reconfiguration with measurement configuration for all the component carriers. Check out the details in measConfig IE in the rrcConnectionReconfiguration message.

LTE CA Test 4 Log 02

Then check out if reportConfigToAddMod list and measIdToAddModList configures the proper event and measurement configuration.

LTE CA Test 4 Log 03

eNB establish carrier aggregation between two LTE cells by adding the target LTE cell to sCellToAddModList in RRC Connection Reconfiguration message.

LTE CA Test 4 Log 04

Then wait for measurement report for NR cell. Confirm this with measuResultNeighCells in the Measurement Report message from UE.

LTE CA Test 4 Log 05

If the measurement report is received as intended, eNB add NR cell in NSA mode with nr-SecondaryCellGroupConfig IE in RRC Connection Reconfiguration.

LTE CA Test 4 Log 06

 

 

RRC / NAS Signaling

 

RrcConnectionReconfiguration

: This is the RrcConnectionReconfigurationmessage sent by eNB  to configure Carrier Aggregation. (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: {

      dedicatedInfoNASList {

        '...'H

      },

      radioResourceConfigDedicated {

        srb-ToAddModList {

          ...

        },

        physicalConfigDedicated {

          ...

        },

        drb-ToAddModList-r15 {

          ...

        }

      },

      nonCriticalExtension {

        nonCriticalExtension {

          nonCriticalExtension {

            sCellToAddModList-r10 {

              {

                sCellIndex-r10 1,

                cellIdentification-r10 {

                  physCellId-r10 2,

                  dl-CarrierFreq-r10 1575

                },

                radioResourceConfigCommonSCell-r10 {

                  nonUL-Configuration-r10 {

                    dl-Bandwidth-r10 n25,

                    antennaInfoCommon-r10 {

                      antennaPortsCount an1

                    },

                    phich-Config-r10 {

                      phich-Duration normal,

                      phich-Resource one

                    },

                    pdsch-ConfigCommon-r10 {

                      referenceSignalPower -18,

                      p-b 0

                    }

                  }

                },

                radioResourceConfigDedicatedSCell-r10 {

                  physicalConfigDedicatedSCell-r10 {

                    nonUL-Configuration-r10 {

                      antennaInfo-r10 {

                        transmissionMode-r10 tm1,

                        ue-TransmitAntennaSelection release: NULL

                      },

                      crossCarrierSchedulingConfig-r10 {

                        schedulingCellInfo-r10 own-r10: {

                          cif-Presence-r10 FALSE

                        }

                      },

                      pdsch-ConfigDedicated-r10 {

                        p-a dB0

                      }

                    },

                    ul-Configuration-r10 {

                      cqi-ReportConfigSCell-r10 {

                        cqi-ReportModeAperiodic-r10 rm20,

                        nomPDSCH-RS-EPRE-Offset-r10 0,

                        cqi-ReportPeriodicSCell-r10 release: NULL

                      }

                    },

                    cqi-ReportConfigSCell-v1250 {

                      altCQI-Table-r12 allSubframes

                    }

                  }

                }

              }

            },

            ...

            }

          }

        }

      }

    }

  }

}

 

 

 

 

FAQ

 

[Q1] Why I see less PDSCH scheduling on SCC ?

[A1] there are various factors affecting the scheduling on SCC. Some of the typical factors are as follows.

I would not comment anything about "Available Downlink Data" here. I am assuming in this comment that DL data is available high enough to utilize the full SCC resources or force_dl_schedule is enabled.

Bascally when the eNB is expecting PUCCH format other than format 3, it does not schedule PDSCH on SCC. So what you can do to work around the underscheduling issue on SCC would be one of the followings :

Followings are the list of configuration parameters that are related to this issue.