Main Points before Dig Deeper:
1) DRX is the feature which is to enhanace battery life to UE.
2) Below are the parameters/configuration details that plays rols in DRX handling (from 36.331 spec)
onDurationTimer
InactivityTimer
reTransmissionTimer
longDRXCycleOffset (LongDrxCycleTimer and DRXOffset)
shortDRXCycle
drxShortCycleTimer
----------------------------------------------------------------------------------------------------------------
Important points to note on above:
a) onDurationTimer should be >= shortDRX/longDRXCycleTimer
b) onDurationTimer duration is part of ShortDRX/longDRXCycleTimer
c) If Both Short and LongDrxCycle timer values are configured then, longDRXCycle should be multiple of shortDRXCycleTimer.
d) if shortDRXCycle and longDRXCycle are configured then shortDRXCycle takes first then it moves to longDRXCycle
e) the drxOffset helps UE to know when UE should start onDurationTimer after inActivieTimer gets expired. Formulae available in 36.321 (Pasting below from same)
i) If the Short DRX Cycle is used
(SFN * 10) + subframe number] modulo (shortDRX-Cycle) =(drxStartOffset) modulo (shortDRX-Cycle)
OR
ii) if the Long DRX Cycle is used and
[(SFN * 10) + subframe number] modulo (longDRX-Cycle) = drxStartOffset:
THEN
start onDurationTimer.
f) When UE has multi-RAB and each RAB is configured with different DRX configurations, then UE should consider the minimum of the DRX configurations.
----------------------------------------------------------------------------------------------------------------
Order or usage at UE during DRX:
inActivity
-> ShortDRXCycles's onDurationTimer
-> Rest of Short DRXCycleTimer
-> numberof Times ShortDRXCycle gets executed which is equal to drxShortCycleTimer
-> After completion of shortDRXCycle, move to longDRXCycle (Here also onDurationTimer first
and rest of the longDRXCycle - onDurationTimer
-> Fromt this point onwards only longDRXCycle is active
----------------------------------------------------------------------------------------------------------------
Exmaple:
Below are the sample configured Values:
onDurationTimer = sf200
drx_InactivityTimer = sf80
drx_reTransmissionTimer = sf2
longDrxCycleOffset = sf1280=5
ShortDrxCycle = sf640
drxShortCycleTimer = 1
and let us suppose we received DL SCH data in below SFN/SFs
SFN/SF = 370 – 8 ---> DL-SCH received for UE attached
To
SFN/SF = 704 – 6 ---> Next DL-SCH received for the same attached UE
And Below is the way of understanding:
370-8
Inactivity Timer 80 ms = SFN+8 i.e
And from the formula Short DRX Cycle is used and [(SFN * 10) + subframe number] modulo (shortDRX-Cycle) = (drxStartOffset) modulo (shortDRX-Cycle);
384-5 OnDuration Timer Can start
+ShortDRXCycle (sf640) (Being drxShortCycleTimer =1 only once ShortDRXCycle executed)
384+64 – 5 = 448-5
+LongDRXCycle (sf1280)
448+128 - 5 = 576 – 5
+LongDRXCycle(sf1280)
576+128 – 5 = 704 – 5
And we can receive downlink packet from 704-6 as observed .
----------------------------------------------------------------------------------------------------------------
Reg. DRXReTXTimer: This is like even there is no DL/UL data but retransmissions are happening because of HARQ NACKs. So, untill retransmissions are getting over DRX will not get activitate because of retransmissions even there is no NEW DL/UL Data.
----------------------------------------------------------------------------------------------------------------
Attaching the Image: (Thanks to the blogs and authors helping me to understand the same)
Good. The example helps a lot. Thanks for sharing.
ReplyDeleteGood and nice example
ReplyDeleteHi venkat,
ReplyDeleteCould you please explain the same from , when eNB mac gets Drx configuration.?
This comment has been removed by the author.
ReplyDelete