NR SA Power Control
This tutorial is about how to configure UL power control parameter and verify whether the power control works. The type of power control being configured in this tutorial is for closed loop power control. The way this power control works with Amarisoft gNB is as follows.
Step 1 : Configures snr target for pucch using the parameter dpc_snr_target in pucch: { } object
Step 2 : Configures snr target for pusch using the parameter dpc_snr_target in pusch: { } object
Step 3 : While UE is in Connected Mode, gNB measure snr for PUCCH and PUSCH. If the measured value is lower than dpc_snr_target for each channel. It sends TPC UP in DCI 1_x (for PUCCH) or DCI 0_x (for PUSCH).
Table of Contents
- NR SA Power Control
Test Setup
Test setup for this tutorial is as shown below. This is just for low layer testing, you may not need any complicated IP layer setup.
- 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.
- pucch
- pusch
Configuration
I have used gnb-sa-powercontrol-cl.cfg which is copied and modified from gnb-sa.cfg.
I am using the default mme (mme-ims.cfg), ims config as shown below.
Following is the configuration in gnb-sa-powercontrol-cl.cfg. dpc_snr_target is the important parameter for UL power control. This parameter is configured separately for PUCCH and PUSCH so that we can set the criteria independently for PUSCH and PUCCH.
If PUCCH SNR estimated by gNB is lower than dpc_snr_target value, gNB send TPC UP via DCI and if the SNR is greater than the value, gNB send TPC down via DCI.
If PUSCH SNR estimated by gNB is lower than dpc_snr_target value, gNB send TPC UP via DCI and if the SNR is greater than the value, gNB send TPC down via DCI.
Perform the Test
Check the cell configuration and see if it is configured as intended.
Power on UE and get it attached.
Confirm that the attach is complete and UE get the IP address.
Try continuous ping from callbox to UE. Power Control is for Uplink channel power. So we need UE to generate UL channel traffic continuously. Ping would be the simplest way to do it.
Tweak rx_gain until it hits snr threshold that you specified in the configuration. Usually the snr would goes under the threshold temperarily and recover quickly as power control works.
Log Analysis
Check UL power profile and see if there is any points where the power control threshold are met. Hit [Analysis] button and then select [SNR] tab and pick the UE ID that you want to check.
Check TPC plot and see if how much and where TPC comments were sent. For this plot, you need to select a specific UE in 'UE ID' pannel. 'Global' would not produce any plot.
Filter the channels that help you check out TPC operation. I selected BCCH,CCCH,DCCH to display RRC message and selected PDCCH to check TPC value contained in DCI.
See if the tpc_comman field in DCI carries the proper values as you intended. tpc_command=2 indicates "increase the power", 1 indicates "stay same" and 0 indicates 'decrease the power'.