Applicable Versions
NetSim Standard 
NetSim Pro 


In LTE Networks, Discontinuous Reception (DRX) is used to reduce the power consumption of the user equipment. In this article, we explain a simple method for power saving in UEs for up-link data transmission.


Discontinuous reception (DRX)

When a UE transmits data, it transfers the data via resource blocks and the maximum number of resource blocks available depends on Frequency Bandwidth the device is using. In case of NetSim, a maximum of 110 resource blocks are available in a millisecond in 20 MHz bandwidth. 

As the device sends resource blocks in up-link/down-link it will consume energy from battery per an equation that could be


Energy(joules) = C * Voltage * Tx-Current * time


Where,

C is the fraction of time when the device is sending resource blocks

Time 1 ms

Current corresponds to mapping with MCS index which device is using, 


In the remaining fraction of time when the device is not sending any data, it is consuming energy per


Energy= (1 - C)*Voltage*Idle-Current*time 


Where,

Current is idle current whose value is fixed.


The current consumed by the device with respect to MCS index can be modeled to be exponential in nature which means Current is proportional to (MCS Index)^n

 

This correlation between current and MCS index is used to save power. Now upon decreasing MCS value we know that the number of bits in a resource block will decrease. Now assuming that the constraint is maintaining the same bit count, the device would increase the number of resource blocks allocated. In other words,


NewRB Count * New Modulation Order = Old RB Count * Old Modulation Order


Hence if 


(New resource block count) * (New current) < (Old resource block count)* (Old current)


our bit count is maintained and energy consumed decreases. 


Implementation of DRx in NetSim

In this example, we use the principle defined above. Initially, we store resource blocks used and energy remaining for each UE in a file. We then decrease MCS and calculate new resource bock count. If for calculated resource block count bit count is same and energy consumed in a time interval decreases we use new MCS Index and resource block count. 

The steps involved may vary between different versions of NetSim. Choose the appropriate section of this article, as per the version of NetSim.


Applicable Releases
v9v10v11.0


Steps to modify source codes to perform LTE simulations with DRx enabled and DRx disabled:

1. Go to “<NetSim_Install_Directory>/src/Simulation” and copy the folders lib, Include, LTE along with the NetSim.sln file which can be used to open the source codes. 

2. Create a new folder named LTE_DRX in your preferred system location and paste the copied folders and files.

3. Download the attached LTE related files containing source codes modified for DRX implementation and replace them instead of the existing files in the LTE folder of LTE_DRX directory which you have created.

4. Open NetSim source code in Visual Studio 2015 by double-clicking on the NetSim.sln file present in LTE_DRX folder which you have created.

5. Go to LTE project through the solution explorer and open the file LTE.h. Set the value of the variable DRx_enable to 0 to run simulations in DRx Disabled mode

6. Right click on LTE module in the solution explorer and select rebuild.

7. Upon successful build, you will get a new libLTE.dll file in the “<NetSim_Install_Directory>/src/Simulation/DLL” folder.

8. Copy this newly built libLTE.dll file and replace it in the bin folder of NetSim after you rename the original libLTE.dll file which is already existing there(as a backup).


Applicable Releases
v11.1v12


Steps to modify source codes to perform LTE simulations with DRx enabled and DRx disabled:

1.  Download the attached LTE related files containing source codes modified for DRX implementation.

2. In NetSim Home Screen go to Open Simulation-> Workspace Options and click on the Open Code button to load NetSim  protocol C source codes in Visual Studio.

3. In the Visual Studio Solution explorer, right click on the LTE project and select Open Folder in File Explorer and replace the downloaded files there instead of the existing files.

4. Now expand the LTE project in the solution explorer and open the file LTE.h. Set the value of the variable DRx_enable to 0 to run simulations in DRx Disabled mode

5. Right click on LTE module in the solution explorer and select rebuild.

6. Upon successful build, NetSim will automatically link the modified code with simulations performed.



Simulation and Results:


1. Open NetSim GUI and create a network scenario in LTE/LTE-A Networks, configure traffic and run the simulation. At the end of the simulation NetSim will create a LTE_DRxDisable csv log file for each ENB in the network, which will contain the energy consumed by each UE connected to it at different points of simulation time.

2. Go to LTE.h file in Visual Studio and set the DRx_enable variable to 1 to run simulations in DRx Enabled mode. run the simulation. At the end of the simulation NetSim will create a LTE_DRxEnable csv log file for each ENB in the network, which will contain the energy consumed by each UE connected to it at different points of simulation time.

11. Run the simulations for same scenario with different generation rates above and keep the record of energy remaining and throughput corresponding to each generation rate.This again can be derived from .csv file generated as the result of simulation.
12. Plot the graphs of Energy remaining with respect to different generation rates for both cases when DRx is enabled and when DRx is disabled and see the difference in energy. Also, plot the graph of throughput versus different generation rates to see the effect of DRx on throughput. Following are two sample plots related to energy consumption and application throughput.



  • From the above plots, we can see that Energy remaining in UE's will be more when DRx is enabled in comparison to when DRX is disabled. 
  • As generation rate increases the gap between Remaining energy when DRX is enabled to remaining energy when DRX is disabled decreases. This is because higher generation rates will require higher resource block allocations per millisecond. Since maximum resource block allocate-able is 110, on decreasing modulation the number of resource blocks allocated remain the same, and hence leads to the same bit count. Hence difference in energy decreases. This can be observed easily for higher simulation time.
  • In the other plot we will find out that throughput values will remain the same irrespective of DRx state. This is because of our constraint that the bit count should remain the same regardless of whether DRx is enabled or disabled


This is just a simple example of DRX can be implemented, and users can suitably modify the algorithms/logic per their requirement.