LTE - CDRX
The purpose of this tutorial is to show you how to configure CDRX. CDRX is one of the mechanisms that are designed to save energy consumpion on UE side. The general logic is to allow UE to go to sleep when there is no data to be received and transmit for a certain time duration. While UE is in sleep (i.e, turning off large portions of PHY process), it can save the energy consumption.
Then what if there is some data to be received short after it gets into the sleep ? CDRX is bascially operate in cylic mode repeating sleep and wake-up. If there is any data to be received by UE while it is in sleep mode, eNB will schedule it in next wake-up cycle. If there is continuous data to be received during the wake-up time, UE would not get into the sleep mode until all the continuous data are received.
This is just to show how to configure CDRX parameters, but it is almost impossible to verify that it is really working as expected. The verification of CDRX should be done on UE side. A few typical ways to verify the CDRX operation on UE side are as follows.
- Check UE log especially on Clocks and PHY processing : When UE gets into sleep mode, a lot of clocks (usually PHY processing related clocks) stops and PHY/MAC processing gets minimized.
- Measure the current consumption : The surest way is to measure the current consumption on UE with high sample rate test equipment. If UE really gets into DRX sleep mode, you may get the current consumption profile something like this.
Image Source : Sharetechnote
Table of Contents
- LTE - CDRX
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.
- drx_config: In this link, you would get the descriptions for all the items listed below
- on_duration_timer
- drx_inactivity_timer
- drx_retransmission_timer
- drx_ul_retransmission_timer
- long_drx_cycle
- short_drx_cycle
- drx_short_cycle_timer
Test 1 : CDRX - Long/Short Cycle
This Test is to show how to configure CDRX with both Long and Short DRX cycle in LTE.
Configuration
In this tutorial, I used enb-cdrx.cfg which is copied and modified from enb.default.cfg.
For mme, I used mme-ims.cfg without any change.
Following is the configuration in enb-cdrx.cfg
You can use any LTE configuration in terms of duplex mode and channel bandwidth etc. In this test, I used the detault LTE configuration which is FDD (TDD = 0) and channel bandwidth 5Mhz (N_RB_DL = 25)
In order to enable cdrx, you need to configure drx_config parameter with all the necessary details in mac_config. The details commonly used for drx_config are on_duration_timer, drx_inactivity_timer, drx_retransmission_timer, long_drx_cycle, short_drx_cycle and drx_short_cycle_timer.
This configuration is not mandatory, but I extended the timer (inactivity_timer) so that eNB does not release the RRC before starting test.
Perform the Test
Check the physical configuration of the cell by cell phy command and see if it is configured as intended.
Power on UE and make it sure cell attach completes. For the cdrx configuration being applied, you need to check in the log.
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
Before you try the test, I strongly suggest you to check on UE capability for your UE and confirm that it support CDRX Cylce. You can check about the CDRX capability in featureGroupIndicator(FGI) IE of UE capability information.
In RRC connection setup, you see CDRX is not configured yet as you see drx-Config release in mac-MainConfig IE. Amarisoft callbox would not configure CDRX before it confirms about UE capability about CDRX via UE capability information.
If UE notifies that it supports CDRX and eNB configuration has cdrx configuration in it, eNB enables CDRX via RRC Connection Reconfiguration as you see drx-Config of mac-MainConfig IE.