NR PDCCH Order
This tutorial shows how to trigger a PDCCH Order based RACH procedure from the callbox. In live network and UE, PDCCH Order transmission would happen when a UE reaches ul_max_consecutive_retx or dl_max_consecutive_retx, but it would not be easy to create such a situation in lab settings. So in this tutorial, I will use RemoteAPI to trigger PDCCH order. The main purpose of this tutorial is to show how to configure PDCCH Order related parameters in configuration file and check if UE properly responds to the PDCCH order.
The critical component for the implementation of PDCCH Order in gNB is to transmit a specific DCI 1_0 with RACH configuration as shown below. UE should initiate RACH procedure when it recieves this DCI.
< DCI format 1_0 with CRC scrambled by C-RNTI for PDCCH Order>
Field (Item) |
Bits |
Reference |
Identifier for DCI formats |
1 |
Always set to 1, meaning this is for DL |
Frequency domain resource assignment |
Variable |
All Ones |
Random Access Preamble index |
6 |
6 bits according to ra-PreambleIndex |
UL/SUL indicator |
1 |
|
SS/PBCH index |
6 |
|
PRACH Mask index |
4 |
|
Reserved bits |
12 or 10 |
|
Table of Contents
- NR PDCCH Order
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
Key Configuration Parameters
Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.
- pdcch_order_prach : In this link, you will get the descriptions for all the items listed below.
- preamble_type
- sul_ind
- ssb_index
- prach_mask_index
Test 1 : Contention Based PDCCH Order
In this test, I will show you on how to configure and verify Contention based PDCCH Order.
Configuration
I used gnb-sa-pdcch-order-cb.cfg which is copied and modified from the default eNB configuration (gnb-sa.cfg).
I used the default configuration mme-ims.cfg .
In gnb-sa-pdcch-order-cb.cfg, parameters are set as follows. PDCCH order is configured by the parameter pdcch_order_prach. The parameter preamble_type specifies whether the PDCCH Order type is contention based or contention free. In this test, preamble_type is set to "cb_random" which indicates "contention based"
Perform the Test
Start trace logging on Callbox, Power on UE and let it complete the attach.
Send the RemoteAPI command as below. (
You would get the PRACH triggered by PDCCH order as shown below.
Log Analysis
NOTE : Since my commercial UE does not support PDCCH Order properly, I used Amarisoft UE sim to collect the log.
You would see that 4 step RACH (contention based RACH) is performed.
Test 2 : Contention Free PDCCH Order
In this test, I will show you on how to configure and verify Contention free PDCCH Order.
Configuration
I used gnb-sa-pdcch-order-cf.cfg which is copied and modified from the default eNB configuration (gnb-sa.cfg).
I used the default configuration mme-ims.cfg .
In gnb-sa-pdcch-order-cf.cfg, parameters are set as follows. PDCCH order is configured by the parameter pdcch_order_prach. The parameter preamble_type specifies whether the PDCCH Order type is contention based or contention free. In this test, preamble_type is set to "cf_random" which indicates "contention free"
Perform the Test
Start trace logging on Callbox, Power on UE and let it complete the attach.
Send the RemoteAPI command as below. (
You would get the PRACH triggered by PDCCH order as shown below.
Log Analysis
NOTE : Since my commercial UE does not support PDCCH Order properly, I used Amarisoft UE sim to collect the log.
Before you send RemoteAPI command, I would recommend to check the default EPS bearer ID you want to link the dedicated bearer you will create.
You would see that 2 step RACH (contention free RACH) is performed. You would also notice this is contention free by the log print 'Contention free preamble..'