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 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 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 in onDurationTimer
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 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