Sei sulla pagina 1di 12

How LTE Stuff Works?

Sunday, June 29, 2014


Connected Mode DRX
In LTE, without Discontinuous Reception (DRX), the UE has to be awake all the time in
order to decode downlink data, as the data in the downlink may arrive at any time.
This means that UE has to be monitoring PDCCH in every subframe in order to check if
there is downlink data available. This consumes a lot of the user equipment’s power

DRX in LTE is introduced to improve UE battery lifetime. In DRX, UE discontinuously


receives PDCCH. This post discusses LTE Connected mode DRX.

The eNodeB configures DRX with a set of DRX parameters. These DRX parameters are
selected based on the application type such that power and resource savings are
maximized.

When DRX is enabled, there may be an extended delay in receiving data as, the UE
may be in DRX Sleep state at the time of data arrival at the eNodeB, and the eNodeB
would have to wait until the UE becomes ON. So the DRX parameters have to be
carefully selected such that the packet delay is minimized and power saving is
maximized.

During DRX mode, the UE powers down most of its circuitry when there are no packets
to be received. During this time UE listens to the downlink (DL) occasionally which is
called DRX Active state whereas the time during which UE doesn’t listen PDCCH is
called DRX Sleep state

DRX is also beneficial to the eNodeB. Without DRX, the UE would be transmitting
periodic CSI or SRS very frequently (based on the configuration). With DRX, during OFF
periods, the UE is not allowed to transmit Periodic CSI or SRS, so the eNodeB can
assign these resources to the other UEs to maximize resource utilization.

DRX Configuration

The eNodeB configures the following RRC parameters for DRX. Entire DRX
configuration is sent under drx-config structure underMAC-MainConfig. Each DRX
parameter and its’ purpose is explained below

In RRC specification, almost all the DRX timer values are specified in terms
of psfs. psf is a PDCCH subframe in which UE listens for PDCCH. In FDD every
subframe is a DL/UL subframe so every subframe can be a psf whereas in TDD, only DL
subframes are considered to be psfs.
 drx-Inactivity-Timer specifies the number of consecutive PDCCH-subframe(s)
for which the UE should be Active after successfully decoding a PDCCH indicating a
new transmission (UL or DL) . This timer is restarted upon receiving PDCCH for a new
transmission (UL or DL). Upon the expiry of this timer the UE should go to DRX mode.
 shortDRX-Cycle is the first type of DRX cycle (if configured) that needs to be
followed when UE enters DRX mode. This IE indicates the length of the short cycle in
subframes which include ON time followed by a possible OFF (inactivity) time.
 drxShortCycleTimer expressed as multiples of shortDRX-Cycle. The timer value
can vary from 1 to 16 (short DRX cycles). This timer indicates the number of initial
DRX cycles to follow the short DRX cycle before entering the long DRX cycle
 longDRX-CycleStartOffset defines long DRX cycle length as well as the DRX
offset. DRX offset is used to calculate the starting subframe number for DRX cycle.
 onDurationTimer specifies the number of consecutive PDCCH-subframe(s) at
the beginning of each DRX Cycle (DRX ON). i.e., is the number of subframes over
which the UE shall read PDCCH during every DRX cycle before entering the power
saving mode (DRX OFF)
 HARQ RTT Timer specifies the minimum amount of subframe(s) duration from
the time new transmission is received and before the UE can expect a retransmission
of the same packet. This timer is fixed and not configured by RRC. For FDD the HARQ
RTT Timer is set to 8 subframes. For TDD the HARQ RTT Timer is set to k +
4 subframes, where k is the interval between the downlink transmission and the
transmission of associated HARQ feedback
 drx-RetransmissionTimer indicates the maximum number of subframes for
which UE should be monitoring PDCCH when a retransmission from the eNodeB is
expected by the UE.

Same onDurationTimer value is applied for both long and short DRX cycles

If shortDRX-Cycle is configured, the value of longDRX-Cycle shall be a multiple of


the shortDRX-Cycle value

UE indicates the support of Short DRX cycle in featureGroupIndicators bit- 4

UE indicates the support of Long DRX cycle and DRX command MAC control element
(together) in featureGroupIndicators bit – 5

DRX Command MAC Control Element


We have seen that a number of timers which controls the UE’s DRX state (ON/OFF). In
addition to these timers the eNodeB’s MAC can also control UE’s DRX behavior by
transmitting a command called DRX Command as a MAC Control Element.

When the eNodeB doesn’t have any (more) data to be sent to the UE, it can transmit
DRX Command MAC CE to the UE. Upon reception of DRX Command MAC CE, the UE
enters short DRX cycle if configured, otherwise, the UE enters long DRX cycle.

In reality, DRX Command MAC CE shortens UE’s ON period. For example, if DRX
Command MAC CE is received when either onDurationTimer or drx-Inactivity-
Timer running, the UE stops the timer and enters into DRX cycle (Short/Long)

The DRX Command MAC control element is identified by a MAC PDU subheader with
LCID as 11110. It has a fixed size of zero bits.

DRX Active Time

Active Time is the time during which the UE is considered to be monitoring PDCCH.
The Active Time includes the time while:

onDurationTimer is running;

drx-InactivityTimer is running;

drx-RetransmissionTimer is running:

As an example, let us say that the UE has received new data in subframe #n on
PDSCH. The UE starts HARQ RTT Timer in the same subframe #n. Upon the expiry of
HARQ RTT timer, if the data for the corresponding HARQ process was not successfully
decoded (CRC error) then the UE starts drx-RetransmissionTimer for the
corresponding HARQ process. The UE needs to be monitoring PDCCH while this timer is
running as the retransmission can be expected by the UE during this time.

mac-ContentionResolutionTimer is running:

The UE shall start mac-ContentionResolutionTimer from the next subframe after


transmitting Msg3. Since the UE is waiting for the contention resolution which is via
PDCCH reception on C-RNTI (in connected mode), the UE needs to be monitoring
PDCCH. So the time duration in which mac-ContentionResolutionTimer is running is
also considered as Active Time

Scheduling Request has been sent on PUCCH and is pending:


The UE has to be in active state from the next subframe after transmitting SR over
the air on PUCCH. After transmitting SR, the UE should be DRX active in order to
receive grant from the eNodeB

An uplink grant for a pending HARQ retransmission can occur and there is data in the
corresponding HARQ buffer:

Let us say that the DCI0 for initial transmission is received at subframe #n, the UE
shall become active at subframes n+8, n+16, n+24...n+(maxHARQTx-1)*8 for a possible
retransmission

A PDCCH indicating a new transmission addressed to the C-RNTI of the UE has not
been received after successful reception of a RAR for the preamble not selected by
the UE

In the non-contention based RA, after receiving RAR, the UE should be in active state
until PDCCH indicating new transmission addressed to C-RNTI of the UE is received

DRX Operation

When there is no data activity for drx-InactivityTimer amount of time (i.e., upon
expiry of drx-InactivityTimer) or DRX Command MAC CE is received,

- if the Short DRX cycle is configured, then the UE should start or


restart drxShortCycleTimer and start using Short DRX Cycle. Else if Short DRX cycle is
not confired, the UE should use the Long DRX cycle

If drxShortCycleTimer expires, i.e., maximum number of short cycles are already


used, then the UE should enter the Long DRX cycle

If a DRX Command MAC control element is received, the UE should stop


onDurationTimer and drx-InactivityTimer

During the active time, the UE shall monitor the PDCCH; if the PDCCH indicates a new
transmission (DL or UL) in subframe #n, then the UE should start/restart drx-
InactivityTimer in subframe #n+1

The UE should start onDurationTimer in a subframe which satisfies the following


equation (based on whether short DRX cycle is configured or not):

If the Short DRX Cycle is used,

[(SFN * 10) + subframe number] modulo (shortDRX-Cycle) = (drxStartOffset) modulo


(shortDRX-Cycle)
else if the Long DRX Cycle is used

[(SFN * 10) + subframe number] modulo (longDRX-Cycle ) = drxStartOffset

When downlink assignment has been configured (DL SPS), and if the configured
assignment recurs in subframe that does not fall in Active time, the UE need not
decode PDSCH. It is the eNodeB’s responsibility to make sure that the configured
assignment falls inonDurationTimer

During RAR-window, if a subframe falls in non-Active time, then the UE monitors


PDCCH only for RA-RNTI

Regardless of whether the UE is monitoring PDCCH or not, the UE receives and


transmits HARQ feedback when such is expected.

When more than one serving cell is configured (CA), the same active time applies to
all activated serving cell(s). For FDD, The UE maintains a set of 8 HARQ-RTT/drx-
RetransmissionTimers for each serving cell. The UE monitors PDCCH on all serving
cells, even if the active time corresponds to only one serving cell

Periodic CSI on PUCCH and SRS in DRX mode

When not in Active time, the UE shall not transmit periodic SRS (type-0 triggered SRS)

A release-8 UE shall not transmit periodic CSI on PUCCH when not in Active time.

In release-9, CQI-mask IE is introduced which limits CQI/PMI/PTI/RI reports to the on


duration period of the DRX cycle. If the IECQI-mask is not setup by RRC,
CQI/PMI/RI/PTI on PUCCH shall not be reported when not in Active time; else UE
should send CQI/PMI/RI/PTI on PUCCH only if onDurationTimer is running

When more than one serving cell is configured (CA), one value of cqi-Mask applies for
all serving cells (the associated functionality is common i.e. not performed
independently for each cell)

Reference: 3GPP TS 36.321, 36.213, 36.331

Long DRX-cycle Offset onDurationTimer Short DRX-cycle


10 0 1
Long DRX Occasions
Long DRX Occasions will be displayed here

Short DRX Occasions


Short DRX Occasions will be displayed here

Kumar Swamy Pasupuleti at 7:32 AM


Share

29 comments:

1.

Luv SinghAugust 5, 2014 at 5:55 PM

Hi Kumar , If shortDRX-Cycle is configured, the value of longDRX-Cycle shall be


a multiple of the shortDRX-Cycle value , could you please explain this ?? Why it
has to be multiple of that?
Reply
Replies

1.

Kumar Swamy PasupuletiAugust 7, 2014 at 8:15 AM


One reason could be based on the above shortDRXcycle equation:
if the above condition is not satisfied, the OFF duration of the short
cycle might overlap in the Onduration of LongCycle.

2.

Luv SinghAugust 7, 2014 at 11:55 AM

Yeah , that even i thought . But these two cycles are independent ,
right ? And what happens when Drx-inactivity Timer overlap either
On Duration or Off duration ,or both??
3.

AnonymousJanuary 4, 2015 at 3:08 PM


Yes I wounder this too. First ShortDRXcycle starts, and after this
starts LongDRXcycle. They do not run simultainiously?

Also another question; is there any limitation to which of these


parameters that cannot be changed in practice? Do you have any
good reference to readn about practical implementration in an easy
way?
Hello KSP,

Nice article. I have a question. Why DRX parameters are send by ENB to MME
via Attach Request message ? I mean to say what does MME do with this DRX
parameters.

Thanks,
Reply

2.

Kumar Swamy PasupuletiOctober 15, 2014 at 7:44 PM


Hi Sakshi,

The DRX parameter that you are referring to is Idle mode DRX parameter which
is UE specific...

The UE specific DRX parameter may be included in the DRX Parameter IE in the
TRACKING AREA UPDATE REQUEST or ATTACH REQUEST message. The
network shall replace any stored UE specific DRX parameter with the received
parameter and use it for the downlink transfer of signalling and user data
Reply
3.

AnonymousFebruary 12, 2015 at 11:44 AM

Hello Kumar,

Thank you for writing this blog.

When LongDrxCycle=20 & OnDurationTimer=8 on TDD-Config2, the DRX


behavior is shown as:

On duration start : SFN = 0, Subframe = 0


On duration stop : SFN = 0, Subframe = 9

On duration start : SFN = 2, Subframe = 0


On duration stop : SFN = 2, Subframe = 9

Does it mean that UE listens to PDCCH from subframe 0 to 9 inclusively?


Thanks in advance
CC
Reply
Replies

1.

Kumar Swamy PasupuletiFebruary 16, 2015 at 1:39 PM


Yes your understanding is correct. Since OnDurationTimer = 8, the
UE monitors PDCCH for 8 PDCCH subframes.
2.

AnonymousFebruary 23, 2015 at 11:42 AM

Hello Kumar,

Thanks so much for your reply. Would you mind answering my


question in the following scenario with drx-InactivityTimer &
LongDRXCycle?

Configuration:
TDD ULDLConfig = 2
LongDRXCycle = 20
OnDurationTimer = 8
DRXInactivityTimer = 4
DRXRetransmissionTimer = 4
DRXStartOffset = 0

Abbreviation: x.y = SysFrame.SubFrame

With the config above, here is a scenario:

At 676.0: UE starts OnDuration


At 676.9: OnDuration is expected to stop
From 677.0 to 677.9: UE radio is expected to be off
At 678.0: UE starts OnDuration

Suppose, at 676.8, UE detects a PDCCH (new tx).


At 677.3, DRXInactivityTimer expiries.

This DRXInactivityTimer expiry instance falls into 677.0-677.9, does


UE go radio off for 6 subframes & wakes up at 678.0 according to
the DRX config?

Hopfully the description above is clear enough to state my


confusion. Otherwise, pls kindly let me rewrite my question.

Thanks in advance
CC
3.

katerina nikolMarch 28, 2016 at 3:41 PM

hello!
I have the same question..Did you find the answer??
Thank you in advance,
katerina
Reply
4.

AnonymousJuly 23, 2015 at 2:52 PM

Hi, I am new to LTE and just stumbled upon your blog, while looking for DRX
operation in LTE. I have a query.. Is it possible for UE to send SR when DRX is
on and none of the active timer (i.e. onDurationTimer or drx-InactivityTimer or
drx-RetransmissionTimer or mac-ContentionResolutionTimer) is running; which
means UE is actually not listening to any PDCCH?

Reply
Replies

1.

dheeraj dubeyMay 4, 2016 at 8:10 PM

yes,
When a DRX cycle is configured, the Active Time includes the time
while: (Ref: 3GPP TS 36.321)
- a Scheduling Request is sent on PUCCH and is pending.

2.

Kumar Swamy PasupuletiJune 20, 2016 at 8:41 AM


Yes, the UE can send SR when not in Active time. Just remember
the fact that DRX is meant for Reception but not for transmission.
The UE could transmit even when in DRX-sleep...
Reply

5.

katerina nikolMarch 25, 2016 at 12:20 AM

This comment has been removed by the author.


Reply

6.

katerina nikolMarch 25, 2016 at 12:24 AM

Hello!! The period before the satisfaction of the equation to start the DRX-Cycle
(after inactivity timer expiry or the reception of MAC control element) is ON or
OFF ??? I think is OFF but i'm not sure.

I would appreciated it if you could answer!!!


Thank you in advance,
katerina
Reply

7.

Prabeen MohammedMay 19, 2016 at 8:34 AM

Hello Kumar,

Thanks for your blog.

Could you please answer the below query I have:


1. What is the impact of DRX on counter based DL latency
2. What would happen to latency if i change the LongDRXCycle from 80ms to
320ms without ShortDRXCycle
3. What would happen to latency if i increase the Ondurationtimer
Reply
8.

AnonymousAugust 31, 2016 at 9:32 AM

Hello Kumar Sir,

I have observed through Ping Test that when cDRX is ON. UE takes additional
time to generate Scheduling Request on MAC layer compared to cDRX OFF. It
can affect overall Ping RTT by ~20-30ms.

But I am not sure why Ping packet generated at Application layer gets delayed to
reach MAC layer within UE incase of cDRX ON.
Reply
Replies

1.

Kumar Swamy PasupuletiAugust 31, 2016 at 9:39 AM


Hi,

There shouldn't be any difference as far as the UL packet is


concerned. It could be that the when the DL packet arrives at the
eNB, the UE might be in sleep state, and the eNB sends the packet
as soon as the active period starts.

Try to reduce DRX cycle length to minimum or increase ON duration


timer to the max. extent and see if it supports the theory above.
2.

AnonymousAugust 31, 2016 at 3:34 PM

Hi Sir,

Since DRX Inactivity Timer is already 100ms that means once UL


Grant is allocated for UL Ping Request UE would not start short
DRX cycle until next 100TTI and this is enough for Packet to go
Server and come back to eNB.

Since in my case, enb->sgw->server->sgw->enb this whole RTT is


less than 20ms.

I observe that main delay is between once packet is generated on


Application layer and packet scheduled on PUSCH.

3.

Kumar Swamy PasupuletiAugust 31, 2016 at 3:39 PM


It appears to me that it is a bug on the UE's application side. Don't
understand what it could be as I don't have any idea about your
application implementation.
Reply

9.

lokesh sharmaOctober 23, 2016 at 3:58 AM

This comment has been removed by the author.


Reply

10.

Kumar Swamy PasupuletiOctober 24, 2016 at 9:01 AM


Hi,
Thanks. If your question is about the UE connected to two serving cells (Carrier
Aggregation) case, then the same DRX configuration applies to both of the cells.
Reply
Replies

1.

Potrebbero piacerti anche