Вы находитесь на странице: 1из 13

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 equipments 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 doesnt 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 under MAC-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
theshortDRX-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 UEs DRX state (ON/OFF). In
addition to these timers the eNodeBs MAC can also control UEs DRX behavior by
transmitting a command called DRX Command as a MAC Control Element.

When the eNodeB doesnt 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 UEs ON period. For example, if DRX
Command MAC CE is received when either onDurationTimer or drx-InactivityTimer 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 ofdrx-InactivityTimer) or DRX Command MAC CE is received,
- if the Short DRX cycle is configured, then the UE should start or
restartdrxShortCycleTimer 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 drxInactivityTimer 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 eNodeBs 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/drxRetransmissionTimers 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 IE CQI-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
32

Offset

onDurationTimer
0

Short DRX-cycle
2

UL-DL Config
Find DRX Occasions

Is Short DRX?

Is TDD?
0

Long DRX Occasions


On duration start : SFN = 0, Subframe = 0
On duration stop : SFN = 0, Subframe = 1
On duration start : SFN = 32, Subframe = 0

On duration stop : SFN = 32, Subframe = 1


On duration start : SFN = 64, Subframe = 0
On duration stop : SFN = 64, Subframe = 1
On duration start : SFN = 96, Subframe = 0
On duration stop : SFN = 96, Subframe = 1
On duration start : SFN = 128, Subframe = 0
On duration stop : SFN = 128, Subframe = 1
On duration start : SFN = 160, Subframe = 0
On duration stop : SFN = 160, Subframe = 1
On duration start : SFN = 192, Subframe = 0
On duration stop : SFN = 192, Subframe = 1
On duration start : SFN = 224, Subframe = 0
On duration stop : SFN = 224, Subframe = 1
On duration start : SFN = 256, Subframe = 0
On duration stop : SFN = 256, Subframe = 1
On duration start : SFN = 288, Subframe = 0
On duration stop : SFN = 288, Subframe = 1
On duration start : SFN = 320, Subframe = 0
On duration stop : SFN = 320, Subframe = 1
On duration start : SFN = 352, Subframe = 0
On duration stop : SFN = 352, Subframe = 1
On duration start : SFN = 384, Subframe = 0
On duration stop : SFN = 384, Subframe = 1
On duration start : SFN = 416, Subframe = 0
On duration stop : SFN = 416, Subframe = 1

On duration start : SFN = 448, Subframe = 0


On duration stop : SFN = 448, Subframe = 1
On duration start : SFN = 480, Subframe = 0
On duration stop : SFN = 480, Subframe = 1
On duration start : SFN = 512, Subframe = 0
On duration stop : SFN = 512, Subframe = 1
On duration start : SFN = 544, Subframe = 0
On duration stop : SFN = 544, Subframe = 1
On duration start : SFN = 576, Subframe = 0
On duration stop : SFN = 576, Subframe = 1
On duration start : SFN = 608, Subframe = 0
On duration stop : SFN = 608, Subframe = 1
On duration start : SFN = 640, Subframe = 0
On duration stop : SFN = 640, Subframe = 1
On duration start : SFN = 672, Subframe = 0
On duration stop : SFN = 672, Subframe = 1
On duration start : SFN = 704, Subframe = 0
On duration stop : SFN = 704, Subframe = 1
On duration start : SFN = 736, Subframe = 0
On duration stop : SFN = 736, Subframe = 1
On duration start : SFN = 768, Subframe = 0
On duration stop : SFN = 768, Subframe = 1
On duration start : SFN = 800, Subframe = 0
On duration stop : SFN = 800, Subframe = 1
On duration start : SFN = 832, Subframe = 0
On duration stop : SFN = 832, Subframe = 1

On duration start : SFN = 864, Subframe = 0


On duration stop : SFN = 864, Subframe = 1
On duration start : SFN = 896, Subframe = 0
On duration stop : SFN = 896, Subframe = 1
On duration start : SFN = 928, Subframe = 0
On duration stop : SFN = 928, Subframe = 1
On duration start : SFN = 960, Subframe = 0
On duration stop : SFN = 960, Subframe = 1
On duration start : SFN = 992, Subframe = 0
On duration stop : SFN = 992, Subframe = 1

Short DRX Occasions

Reactions:
Posted by Kumar Swamy Pasupuleti at 7:32 AM
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: DRX, LTE System Information, MAC Procedures

13 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?
Reply
2.
Luv SinghAugust 5, 2014 at 6:00 PM
And i must say , it is really very very good written & explained. Great
Reply
3.
Luv SinghAugust 5, 2014 at 6:11 PM
Hi Kumar , why have you not considered drxShortCycleTimer for Example ??
Reply
4.
Luv siNgHSeptember 10, 2014 at 12:59 PM
Hi Kumar , can OnDurationTimer value be equal to ShortDrxCycle value ?
Reply
5.
sakshi chourasiaSeptember 23, 2014 at 11:58 AM

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
6.
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
7.
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
On

duration
duration

start
stop

:
:

SFN
SFN

=
=

0,
0,

Subframe
Subframe

=
=

0
9

On
On

duration
duration

start
stop

:
:

SFN
SFN

=
=

2,
2,

Subframe
Subframe

=
=

0
9

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


Thanks
CC

in

Reply
Replies

1.
Kumar Swamy PasupuletiFebruary 16, 2015 at 1:39 PM

advance

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
LongDRXCycle
OnDurationTimer
DRXInactivityTimer
DRXRetransmissionTimer
DRXStartOffset
Abbreviation:
With
At
At
From
At

the

config

at
676.8,
677.3,

=
=
=

above,

UE

2
20
8
4
4
0

=
=

x.y

676.0:
UE
676.9:
OnDuration
677.0 to 677.9: UE
678.0:
UE

Suppose,
At

=
=

SysFrame.SubFrame
here

is

scenario:

starts
expected
is expected
starts

OnDuration
to
stop
to be off
OnDuration

detects
a
PDCCH
DRXInactivityTimer

(new
tx).
expiries.

is
radio

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
CC

in

advance

Reply
8.
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

Links to this post


Create a Link

Newer PostOlder PostHome


Subscribe to: Post Comments (Atom)

About Me

Kumar Swamy Pasupuleti


View my complete profile

Total Pageviews

666,017
Labels

BSR (1)

Buffer Status Reporting (1)


Bundling (1)
Carrier Aggregation (5)
CQI (2)
CS fallback (2)
DCI Formats (3)
DRX (2)
EMM (28)
EPC (51)
ESM (17)
LTE Calculators (10)
LTE Security (7)
LTE System Information (9)
MAC PDU (2)
MAC Procedures (6)
measurement gap (1)
NAS (45)
Periodic CSI (2)
PHY (7)
PHY Procedures (9)
Resource Allocation (6)
RNTI (2)
RRC (29)

RRC Messages (29)


Scheduling Request (3)
Semi-Persistent Scheduling (3)
sps (3)
SR (3)
SRS (2)
Timing Advance (2)
TTI Bundling (1)

UE Identities (4)

Follow by Email
Submit

Blog Archive

2015 (1)

2014 (22)

November (3)

October (6)

July (8)

June (5)

Connected Mode DRX

Buffer Status Reporting Procedure

Scheduling Request Procedure

RNTIs in LTE

TTI Bundling

2013 (1)

2012 (22)

2011 (58)

Followers

Powered by Blogger.

Вам также может понравиться