4G/LTE - DRX

 

 

 

 

eDRX (Extended/Enhanced DRX)

 

I assume that you already know what DRX (Discontinuous Reception) mean. You can think of DRX as a kind of 'Sleeping Mode'. 'Sleeping' on reciever side means 'You cannot Receive any data during the period'. This is why the sleeping mode is called 'Discontinuous Reception'.

There are largely two types of DRX in LTE. One is Idle mode DRX. This idle mode DRX is more commonly known as Paging Cycle which is explained in detail in Paging page. The other type is called C-DRX (Connected Mode DRX) which is described in C-DRX page.

eDRX is a mechanism that can extend the cycle (sleeping duration) of these two DRX (Idle mode DRX and C-DRX). The concept of eDRX can be illustrated as shown below.

Why do we want to extend this cycle (sleeping time) ? The answer is simple. To save energy (battery consumption). So eDRX would be mostly used in the application of IoT(Internet of Things) operating in energy saving mode.

 

 

 

We need a new clock ! - hyperSFN

 

The basic concept of eDRX would sound simple. Just extension of sleeping duration. So can it be implemented by adding a couple of large values Paging Cycle and DRX Cycle in RRC message ? As I always say, nothing in enginerring goes as easy as it sound. To perform DRX operation properly, both UE and eNB require a very accurate timer(clock) and the clock should be synchronized on both side. As you know, SFN (System Frame Number) and Subframe is the timer being used in current LTE for most of the synchronized operation. The maximum duration of SFN is 1024 radio frame meaning 10240 radio frame (around 10). However, eDRX cycle is designed to be much longer than this reaching several hours in case of Idle mode drx. So we got to need another kind of timer (clock) that can measure much longer time duration. This new timer is called hyperSFN.

The hyperSFN is running on top of SFN. When SFN hits the max (1023) and rollover to the beginning the hyperSFN gets incremented by 1. It means 1 hyperSFN corresponds to 1024 SFN (almost 3 hours).

As you may know, UE and eNB synchronize the SFN number by MIB (the first IE of MIB is SFN number). Then, how they synchronize on hyperSFN. They use SIB1 for this purpose. As you see in the following section, SIB1 would carry a special IE called hyperSFN to carry the current hyperSFN number.

 

 

RRC Messages for eDRX Operation

 

As you may guess, a couple of new IE (Information Elements) should be added to a couple of RRC messages that are related to DRX operation. These RRC messages are SystemInformationBlockType1 and Paging, RRC Connection Setup/Reconfiguration as shown below.

 

+-c1 ::= CHOICE [systemInformationBlockType1]

  +-systemInformationBlockType1 ::= SEQUENCE [001]

    +-cellAccessRelatedInfo ::= SEQUENCE [0]

    +-cellSelectionInfo ::= SEQUENCE [0]

    +-p-Max ::= INTEGER OPTIONAL:Omit

    +-freqBandIndicator ::= INTEGER (1..maxFBI[64]) [1]

    +-schedulingInfoList ::= SEQUENCE OF SIZE(1..maxSI-Message[32]) [1]

    +-tdd-Config ::= SEQUENCE OPTIONAL:Omit

    +-si-WindowLength ::= ENUMERATED [ms1]

    +-systemInfoValueTag ::= INTEGER (0..31) [0]

    +-nonCriticalExtension ::= SEQUENCE [11] OPTIONAL:Exist

      +-lateNonCriticalExtension ::= OCTET STRING CONSTRAINTED [0000000100000000] OPTIONAL:Exist

      | +-SystemInformationBlockType1-v8h0-IEs ::= SEQUENCE [00]

      +-nonCriticalExtension ::= SEQUENCE [001] OPTIONAL:Exist

        +-ims-EmergencySupport-r9 ::= ENUMERATED OPTIONAL:Omit

        +-cellSelectionInfo-v920 ::= SEQUENCE OPTIONAL:Omit

        +-nonCriticalExtension ::= SEQUENCE [001] OPTIONAL:Exist

          +-tdd-Config-v1130 ::= SEQUENCE OPTIONAL:Omit

          +-cellSelectionInfo-v1130 ::= SEQUENCE OPTIONAL:Omit

          +-nonCriticalExtension ::= SEQUENCE [001] OPTIONAL:Exist

            +-cellAccessRelatedInfo-v1250 ::= SEQUENCE [0]

            | +-category0Allowed-r12 ::= ENUMERATED OPTIONAL:Omit

            +-cellSelectionInfo-v1250 ::= SEQUENCE OPTIONAL:Omit

            +-freqBandIndicatorPriority-r12 ::= ENUMERATED OPTIONAL:Omit

            +-nonCriticalExtension ::= SEQUENCE [110] OPTIONAL:Exist

              +-hyperSFN ::= BIT STRING SIZE(10) [0000000000] OPTIONAL:Exist

              +-eDRXAllowed ::= ENUMERATED [true] OPTIONAL:Exist

              +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

eDRXAllowed : Indicates if idle mode extended DRX is allowed in the cell. The UE shall not operate in idle mode extended DRX unless eDRXAllowed is set to TRUE.

 

 

+-c1 ::= CHOICE [paging]

  +-paging ::= SEQUENCE [0101]

    +-pagingRecordList ::= SEQUENCE OF OPTIONAL:Omit

    +-systemInfoModification ::= ENUMERATED [true] OPTIONAL:Exist

    +-etws-Indication ::= ENUMERATED OPTIONAL:Omit

    +-nonCriticalExtension ::= SEQUENCE [11] OPTIONAL:Exist

      +-lateNonCriticalExtension ::= OCTET STRING SIZE(ALIGNED) OPTIONAL:Exist

      +-nonCriticalExtension ::= SEQUENCE [01] OPTIONAL:Exist

        +-cmas-Indication-r9 ::= ENUMERATED OPTIONAL:Omit

        +-nonCriticalExtension ::= SEQUENCE [11] OPTIONAL:Exist

          +-eab-ParamModification-r11 ::= ENUMERATED [true] OPTIONAL:Exist

          +-nonCriticalExtension ::= SEQUENCE [010] OPTIONAL:Exist

            +-redistributionIndication-r13 ::= ENUMERATED OPTIONAL:Omit

            +-systemInfoModification-eDRX-r13 ::= ENUMERATED [true] OPTIONAL:Exist

            +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

systemInfoModification-eDRX : If present: indication of a BCCH modification other than SIB10, SIB11, SIB12 and SIB14 for UEs in extended DRX. This indication applies only to UEs having eDRX cycle longer than the BCCH modification period.

 

 

+-c1 ::= CHOICE [rrcConnectionReconfiguration]

  +-rrcConnectionReconfiguration ::= SEQUENCE

    +-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]

    +-criticalExtensions ::= CHOICE [c1]

      +-c1 ::= CHOICE [rrcConnectionReconfiguration-r8]

        +-rrcConnectionReconfiguration-r8 ::= SEQUENCE [000100]

          +-measConfig ::= SEQUENCE OPTIONAL:Omit

          +-mobilityControlInfo ::= SEQUENCE OPTIONAL:Omit

          +-dedicatedInfoNASList ::= SEQUENCE OF OPTIONAL:Omit

          +-radioResourceConfigDedicated ::= SEQUENCE [000100] OPTIONAL:Exist

          | +-srb-ToAddModList ::= SEQUENCE OF OPTIONAL:Omit

          | +-drb-ToAddModList ::= SEQUENCE OF OPTIONAL:Omit

          | +-drb-ToReleaseList ::= SEQUENCE OF OPTIONAL:Omit

          | +-mac-MainConfig ::= CHOICE [explicitValue] OPTIONAL:Exist

          | | +-explicitValue ::= SEQUENCE [010]

          | |   +-ul-SCH-Config ::= SEQUENCE OPTIONAL:Omit

          | |   +-drx-Config ::= CHOICE [setup] OPTIONAL:Exist

          | |   | +-setup ::= SEQUENCE [0]

          | |   |   +-onDurationTimer ::= ENUMERATED [psf1]

          | |   |   +-drx-InactivityTimer ::= ENUMERATED [psf1]

          | |   |   +-drx-RetransmissionTimer ::= ENUMERATED [psf1]

          | |   |   +-longDRX-CycleStartOffset ::= CHOICE [sf2560]

          | |   |   | +-sf2560 ::= INTEGER (0..2559) [0]

          | |   |   +-shortDRX ::= SEQUENCE OPTIONAL:Omit

          | |   +-timeAlignmentTimerDedicated ::= ENUMERATED [sf500]

          | |   +-phr-Config ::= CHOICE OPTIONAL:Omit

          | |   +-EXTENSION ::= SEQUENCE [00101]

          | |     +-VERSION-BRACKETS1 ::= SEQUENCE OPTIONAL:Omit

          | |     +-VERSION-BRACKETS2 ::= SEQUENCE OPTIONAL:Omit

          | |     +-VERSION-BRACKETS3 ::= SEQUENCE [001] OPTIONAL:Exist

          | |     | +-stag-ToReleaseList-r11 ::= SEQUENCE OF OPTIONAL:Omit

          | |     | +-stag-ToAddModList-r11 ::= SEQUENCE OF OPTIONAL:Omit

          | |     | +-drx-Config-v1130 ::= SEQUENCE [111] OPTIONAL:Exist

          | |     |   +-drx-RetransmissionTimer-v1130 ::= ENUMERATED [psf0-v1130] OPTIONAL:Exist

          | |     |   +-longDRX-CycleStartOffset-v1130 ::= CHOICE [sf60-v1130] OPTIONAL:Exist

          | |     |   | +-sf60-v1130 ::= INTEGER (0..59) [0]

          | |     |   +-shortDRX-Cycle-v1130 ::= ENUMERATED [sf4-v1130] OPTIONAL:Exist

          | |     +-VERSION-BRACKETS4 ::= SEQUENCE OPTIONAL:Omit

          | |     +-VERSION-BRACKETS5 ::= SEQUENCE [01] OPTIONAL:Exist

          | |       +-extendedPHR2-r13 ::= ENUMERATED OPTIONAL:Omit

          | |       +-eDRX-Config-CycleStartOffset-r13 ::= CHOICE [setup] OPTIONAL:Exist

          | |         +-setup ::= CHOICE [sf10240]

          | |           +-sf10240 ::= INTEGER (0..3) [3]

          | +-sps-Config ::= SEQUENCE OPTIONAL:Omit

          | +-physicalConfigDedicated ::= SEQUENCE OPTIONAL:Omit

          | +-EXTENSION ::= SEQUENCE [00000]

          |   +-VERSION-BRACKETS1 ::= SEQUENCE OPTIONAL:Omit

          |   +-VERSION-BRACKETS2 ::= SEQUENCE OPTIONAL:Omit

          |   +-VERSION-BRACKETS3 ::= SEQUENCE OPTIONAL:Omit

          |   +-VERSION-BRACKETS4 ::= SEQUENCE OPTIONAL:Omit

          |   +-VERSION-BRACKETS5 ::= SEQUENCE OPTIONAL:Omit

          +-securityConfigHO ::= SEQUENCE OPTIONAL:Omit

          +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

eDRX-Config-CycleStartOffset : Indicates longDRX-Cycle and drxStartOffset in TS 36.321. The value of longDRX-Cycle is in number of subframes.

The value of drxStartOffset, in number of subframes, is indicated by the value of eDRX-Config-CycleStartOffset multiplied by 2560 plus the offset value configured in longDRX-CycleStartOffset. E-UTRAN only configures value setup when the value in longDRX-CycleStartOffset is sf2560.