4G/LTE - Wake Up Signal

 

 

 

 

WUS (Wake Up Signal)

 

WUS stands for Wake Up Signal. Wake Up Signal in LTE is a type mechanism designed for Energy Saving mostly in Idle mode. In Idle mode, UE is supposed to wave up periodically based on DRX cycle and the UE specific Paging Occassion (PO) setting, it is necessary to receive Paging message (for any MT traffic). But it would be a waste of energy if UE needs to wake at every PO (Paging Occassion) when there is no paging for the UE. WUS is a mechanism to inform the UE saying "There will be a Paging for you very soon". It implies that UE may not be necessary to wake up for monitoring Paging if there is no WUS detected and save power.

 

NOTE : There is similar technology with the same terminology (i.e, Wake Up Signal) in 5G/NR as well. But the difference is that WUS in NR is related to CDRX (Connected Mode DRX) and mostly for saving energy in connected mode.

 

 

 

Overall Procedure

 

Overall Procedure for the WUS mechanism can be illustrated as below. As you may notice, Network (eNB) informs all the UE about it's capability and configuration for WUS and UE can inform the eNB about its capability of WUS support. If both pary supports WUS feature, gNB may (or may not) activate WUS using a few different RRC messages shown below.

Once WUS is triggered/activated, UE is supposed to monitor WUS to determine whether it has to completely wake up for Paging message or not.

 

 

< 36.304 v17.0.0 : Table 7.4-1: Determination of GAP between end of WUS and associated PO >

NOTE : wakeUpSignalMinGap-eDRX is informed by UE via UE capability Information

NOTE : timeOffset-eDRX-Long, timeOffset-eDRX-Short are configured in SIB2

 

 

 

How to figure out which PO to monitor ?

 

Let's look into the process of monitoring Paging message in WUS a little more detail. The process can be illustrated as below. As noted here, first UE is monitoring WUS periodically and if the signal is detected, UE is supposed to monitor a few PO (Paging Occassion)s after a certain time duration (timeoffset).

 

 

If we take a look at the details of WUS part, it is illustrated and described as below (based on 36.300 - 10.1.4)

    The UE can expect WUS repetitions during "Configured maximum WUS duration" but the actual WUS transmission can be shorter, e.g. for UE in good coverage. The UE does not monitor WUS during the non-zero "Gap".

NOTE : The maximum duration can be maxDurationFactor-r15 x npdcch-NumRepetitionPaging-r13 or

                                                   maxDurationFactor-r15 x mpdcch-NumRepetitionPaging-r13

    where (based on 36.331),

      maxDurationFactor : Maximum WUS duration, expressed as a ratio of Rmax for Type 1-CSS. Value one128th means Rmax * 1/128, value one64th means Rmax * 1/64 and so on.

      Rmax is the value of mpdcch-NumRepetitionPaging (or npdcch-NumRepetitionPaging) for the carrier.

      maxDuration = Max (signalled value * Rmax, 1)

 

 

< 36.300 v17.2 : Figure 10.1.4-1: Illustration of WUS timing >

 

 

< 36.300 v17.2 : Figure 10.1.4-2: Illustration of GWUS timing for NB-IoT UEs >

 

 

< 36.300 v17.2 : Figure 10.1.4-3: Illustration of GWUS timing for BL UEs and UEs in enhanced coverage >

 

 

 

UE Capability

 

Since this is relatively new feature (Release 15/16), it is not assumed that every UE in the market support this feature. So there should be a mechanism by which UE can inform eNB whether it support WUS or not. Followings are Information Elements in UE capability Information message related to WUS.

 

UECapabilityInformation-v1250-IEs ::= SEQUENCE {

   ue-RadioPagingInfo-r12                UE-RadioPagingInfo-r12 OPTIONAL,

   nonCriticalExtension                    SEQUENCE {} OPTIONAL

}

 

UE-RadioPagingInfo-r12 ::= SEQUENCE {

   ue-Category-v1250                    INTEGER (0) OPTIONAL,

   ...,

   [[ ue-CategoryDL-v1310             ENUMERATED {m1} OPTIONAL,

   ce-ModeA-r13                           ENUMERATED {true} OPTIONAL,

   ce-ModeB-r13                           ENUMERATED {true} OPTIONAL

   ]],

   [[ wakeUpSignal-r15                              ENUMERATED {true} OPTIONAL,

   wakeUpSignal-TDD-r15                           ENUMERATED {true} OPTIONAL,

   wakeUpSignalMinGap-eDRX-r15                ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL,

   wakeUpSignalMinGap-eDRX-TDD-r15         ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL

   ]],

   [[ ue-CategoryDL-v1610                        ENUMERATED {m2} OPTIONAL,

   groupWakeUpSignal-r16                         ENUMERATED {true} OPTIONAL,

   groupWakeUpSignalTDD-r16                    ENUMERATED {true} OPTIONAL,

   groupWakeUpSignalAlternation-r16           ENUMERATED {true} OPTIONAL,

   groupWakeUpSignalAlternationTDD-r16     ENUMERATED {true} OPTIONAL

   ]],

   [[

   inactiveStatePO-Determination-r17          ENUMERATED {true} OPTIONAL

   ]]

}

 

 

 

RRC Parameters

 

Followings are RRC parameters getting involved in WUS operation (SIB2, RRCEarlyDataComplete and RRC Connection Release).

 

SystemInformationBlockType2 ::= SEQUENCE {

    ac-BarringInfo SEQUENCE {

        ac-BarringForEmergency                 BOOLEAN,

        ac-BarringForMO-Signalling             AC-BarringConfig OPTIONAL, -- Need OP

        ac-BarringForMO-Data                   AC-BarringConfig OPTIONAL -- Need OP

    } OPTIONAL, -- Need OP

    radioResourceConfigCommon               RadioResourceConfigCommonSIB,

    ue-TimersAndConstants                     UE-TimersAndConstants,

    freqInfo SEQUENCE {

        ul-CarrierFreq ARFCN-ValueEUTRA           OPTIONAL, -- Need OP

        ul-Bandwidth ENUMERATED                   {n6, n15, n25, n50, n75, n100} OPTIONAL, -- Need OP

        additionalSpectrumEmission                   AdditionalSpectrumEmission

    },

    ...

}

 

RadioResourceConfigCommonSIB ::= SEQUENCE {

   rach-ConfigCommon                                          RACH-ConfigCommon,

   bcch-Config                                                    BCCH-Config,

   pcch-Config                                                    PCCH-Config,

   prach-Config                                                   PRACH-ConfigSIB,

   pdsch-ConfigCommon                                        PDSCH-ConfigCommon,

   pusch-ConfigCommon                                        PUSCH-ConfigCommon,

   pucch-ConfigCommon                                        PUCCH-ConfigCommon,

   soundingRS-UL-ConfigCommon                            SoundingRS-UL-ConfigCommon,

   uplinkPowerControlCommon                                 UplinkPowerControlCommon,

   ul-CyclicPrefixLength                                         UL-CyclicPrefixLength,

   ...,

   [[ uplinkPowerControlCommon-v1020                    UplinkPowerControlCommon-v1020 OPTIONAL -- Need OR

   ]],

   [[ rach-ConfigCommon-v1250                             RACH-ConfigCommon-v1250 OPTIONAL -- Need OR

   ]],

   [[ pusch-ConfigCommon-v1270                           PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR

   ]],

   [[ bcch-Config-v1310                                       BCCH-Config-v1310 OPTIONAL, -- Need OR

   pcch-Config-v1310                                          PCCH-Config-v1310 OPTIONAL, -- Need OR

   freqHoppingParameters-r13                                FreqHoppingParameters-r13 OPTIONAL, -- Need OR

   pdsch-ConfigCommon-v1310                              PDSCH-ConfigCommon-v1310 OPTIONAL, -- Need OR

   pusch-ConfigCommon-v1310                              PUSCH-ConfigCommon-v1310 OPTIONAL, -- Need OR

   prach-ConfigCommon-v1310                              PRACH-ConfigSIB-v1310 OPTIONAL, -- Need OR

   pucch-ConfigCommon-v1310                              PUCCH-ConfigCommon-v1310 OPTIONAL -- Need OR

   ]],

   [[ highSpeedConfig-r14                                     HighSpeedConfig-r14 OPTIONAL, -- Need OR

   prach-Config-v1430                                         PRACH-Config-v1430 OPTIONAL, -- Need OR

   pucch-ConfigCommon-v1430                             PUCCH-ConfigCommon-v1430 OPTIONAL -- Need OR

   ]],

   [[ prach-Config-v1530                                     PRACH-ConfigSIB-v1530 OPTIONAL, -- Cond EDT

   ce-RSS-Config-r15                                          RSS-Config-r15 OPTIONAL, -- Need OR

   wus-Config-r15                                               WUS-Config-r15 OPTIONAL, -- Need OR

   highSpeedConfig-v1530                                     HighSpeedConfig-v1530 OPTIONAL -- Need OR

   ]],

   [[ uplinkPowerControlCommon-v1540                   UplinkPowerControlCommon-v1530 OPTIONAL -- Need OR

   ]],

   [[ wus-Config-v1560                                        WUS-Config-v1560 OPTIONAL -- Need OR

   ]],

   [[

   wus-Config-v1610                                            WUS-Config-v1610 OPTIONAL, -- Need OR

   highSpeedConfig-v1610                                     HighSpeedConfig-v1610 OPTIONAL, -- Need OR

   crs-ChEstMPDCCH-ConfigCommon-r16                  CRS-ChEstMPDCCH-ConfigCommon-r16 OPTIONAL, -- Need OR

   gwus-Config-r16                                              GWUS-Config-r16 OPTIONAL, -- Need OR

   uplinkPowerControlCommon-v1610                       UplinkPowerControlCommon-v1610 OPTIONAL, -- Need OR

   rss-MeasConfig-r16                                          ENUMERATED {enabled} OPTIONAL, -- Need OR

   rss-MeasNonNCL-r16                                        ENUMERATED {enabled} OPTIONAL, -- Need OR

   puncturedSubcarriersDL-r16                               BIT STRING (SIZE (2)) OPTIONAL, -- Need OR

   highSpeedInterRAT-NR-r16                                BOOLEAN OPTIONAL -- Need OR

   ]],

   [[

   pcch-Config-v1700                                          PCCH-Config-v1700 OPTIONAL, -- Need OR

   ntn-ConfigCommon-r17    SEQUENCE {

         ta-Report-r17 ENUMERATED {enabled} OPTIONAL, -- Need

   OR

   t318-r17 ENUMERATED {

      ms0, ms50, ms100, ms200,

      ms500, ms1000, ms2000, ms4000},

   prach-TxDuration-r17                                       PRACH-TxDuration-r17 OPTIONAL, -- Need OR

   pucch-TxDuration-r17                                      PUCCH-TxDuration-r17 OPTIONAL, -- Need OR

   pusch-TxDuration-r17                                      PUSCH-TxDuration-r17 OPTIONAL -- Need OR

   } OPTIONAL -- Need OR

   ]]

}

 

PCCH-Config ::= SEQUENCE {

   defaultPagingCycle                      ENUMERATED {rf32, rf64, rf128, rf256},

   nB                                            ENUMERATED {

                                                                fourT, twoT, oneT, halfT, quarterT, oneEighthT,

                                                                oneSixteenthT, oneThirtySecondT}

}

 

PCCH-Config-v1310 ::= SEQUENCE {

   paging-narrowBands-r13                            INTEGER (1..maxAvailNarrowBands-r13),

   mpdcch-NumRepetition-Paging-r13              ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, r256},

   nB-v1310                                               ENUMERATED {one64thT, one128thT, one256thT}

   OPTIONAL -- Need OR

}

 

PCCH-Config-v1700 ::= SEQUENCE {

   ranPagingInIdlePO-r17                               ENUMERATED {true}

}

 

 

WUS-Config-r15 ::= SEQUENCE {

   maxDurationFactor-r15                                ENUMERATED {one32th, one16th, one8th, one4th},

   numPOs-r15                                              ENUMERATED {n1, n2, n4, spare1} DEFAULT n1,

   freqLocation-r15                                        ENUMERATED {n0, n2, n4, spare1},

   timeOffsetDRX-r15                                     ENUMERATED {ms40, ms80, ms160, ms240},

   timeOffset-eDRX-Short-r15                         ENUMERATED {ms40, ms80, ms160, ms240},

   timeOffset-eDRX-Long-r15                          ENUMERATED {ms1000, ms2000} OPTIONAL -- Need OP

}

 

WUS-Config-v1560 ::= SEQUENCE {

   powerBoost-r15                                         ENUMERATED {dB0, dB1dot8, dB3, dB4dot8}

}

 

WUS-Config-v1610 ::= SEQUENCE {

   numDRX-CyclesRelaxed-r16                          ENUMERATED {n1, n2, n4, n8}

}

 

GWUS-Config-r16 ::= SEQUENCE {

   groupAlternation-r16                                  ENUMERATED {true} OPTIONAL, -- Need OR

   commonSequence-r16                               ENUMERATED {g0, g126} OPTIONAL, -- Need OR

   timeParameters-r16                                  GWUS-TimeParameters-r16 OPTIONAL, -- Cond NoWUSr15

   resourceConfigDRX-r16                              GWUS-ResourceConfig-r16,

   resourceConfig-eDRX-Short-r16                   GWUS-ResourceConfig-r16 OPTIONAL, -- Need OP

   resourceConfig-eDRX-Long-r16                    GWUS-ResourceConfig-r16 OPTIONAL, -- Cond TimeOffset

   probThreshList-r16                                    GWUS-ProbThreshList-r16 OPTIONAL, -- Cond ProbabilityBased

   groupNarrowBandList-r16                            GWUS-GroupNarrowBandList-r16 OPTIONAL -- Need OR

}

 

GWUS-TimeParameters-r16 ::= SEQUENCE {

   maxDurationFactor-r16                              ENUMERATED {one32th, one16th, one8th, one4th},

   numPOs-r16                                            ENUMERATED {n1, n2, n4, spare1} DEFAULT n1,

   timeOffsetDRX-r16                                    ENUMERATED {ms40, ms80, ms160, ms240},

   timeOffset-eDRX-Short-r16                        ENUMERATED {ms40, ms80, ms160, ms240},

   timeOffset-eDRX-Long-r16                         ENUMERATED {ms1000, ms2000} OPTIONAL, -- Need OP

   numDRX-CyclesRelaxed-r16                        ENUMERATED {n1, n2, n4, n8} OPTIONAL, -- Need OR

   powerBoost-r16                                       ENUMERATED {dB0, dB1dot8, dB3, dB4dot8} OPTIONAL, -- Need OR

   ...

}

 

GWUS-ResourceConfig-r16 ::= SEQUENCE {

   resourceMappingPattern-r16 CHOICE {

      resourceLocationWithWUS                     ENUMERATED {primary, secondary, primary3FDM},

      resourceLocationWithoutWUS                 ENUMERATED {n0, n2}

   },

   numGroupsList-r16                                  GWUS-NumGroupsList-r16 OPTIONAL, -- Need OP

   groupsForServiceList-r16                         GWUS-GroupsForServiceList-r16 OPTIONAL -- Cond ProbabilityBased

}

 

GWUS-GroupsForServiceList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-r16))

                                                                       OF INTEGER (1..maxGWUS-Groups-1-r16)

GWUS-GroupNarrowBandList-r16 ::= SEQUENCE (SIZE (1..maxAvailNarrowBands-r13)) OF BOOLEAN

GWUS-NumGroupsList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-Resources-r16)) OF GWUS-NumGroups-r16

GWUS-ProbThreshList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-r16)) OF GWUSPagingProbThresh-r16

GWUS-NumGroups-r16 ::= ENUMERATED {n1, n2, n4, n8}

GWUS-PagingProbThresh-r16 ::= ENUMERATED {p20, p30, p40, p50, p60, p70, p80, p90}

 

RRCEarlyDataComplete-NB-r15 ::= SEQUENCE {

   criticalExtensions CHOICE {

      rrcEarlyDataComplete-r15              RRCEarlyDataComplete-NB-r15-IEs,

      criticalExtensionsFuture              SEQUENCE {}

   }

}

 

RRCEarlyDataComplete-NB-r15-IEs ::= SEQUENCE {

   dedicatedInfoNAS-r15                     DedicatedInfoNAS OPTIONAL, -- Need ON

   extendedWaitTime-r15                     INTEGER (1..1800) OPTIONAL, -- Need ON

   redirectedCarrierInfo-r15                RedirectedCarrierInfo-NB-r13 OPTIONAL, -- Need ON

   redirectedCarrierInfoExt-r15             RedirectedCarrierInfo-NB-v1430 OPTIONAL, -- Cond Redirection

   nonCriticalExtension                     RRCEarlyDataComplete-NB-v1590-IEs OPTIONAL

}

 

RRCEarlyDataComplete-NB-v1590-IEs ::= SEQUENCE {

   lateNonCriticalExtension                 OCTET STRING OPTIONAL,

   nonCriticalExtension                     RRCEarlyDataComplete-NB-v1700-IEs OPTIONAL

}

 

RRCEarlyDataComplete-NB-v1700-IEs ::= SEQUENCE {

   cbp-Index-r17                            INTEGER (1..2) OPTIONAL, -- Need OR

   nonCriticalExtension                     SEQUENCE {} OPTIONAL

}

 

RRCConnectionRelease-v15b0-IEs ::= SEQUENCE {

   noLastCellUpdate-r15                 ENUMERATED {true} OPTIONAL, -- Need OP

   nonCriticalExtension                   RRCConnectionRelease-v1610-IEs OPTIONAL

}

 

 

RadioResourceConfigCommonSIB-NB-r13 ::= SEQUENCE {

   rach-ConfigCommon-r13                         RACH-ConfigCommon-NB-r13,

   bcch-Config-r13                                   BCCH-Config-NB-r13,

   pcch-Config-r13                                   PCCH-Config-NB-r13,

   nprach-Config-r13                                 NPRACH-ConfigSIB-NB-r13,

   npdsch-ConfigCommon-r13                     NPDSCH-ConfigCommon-NB-r13,

   npusch-ConfigCommon-r13                     NPUSCH-ConfigCommon-NB-r13,

   dl-Gap-r13 DL-GapConfig-NB-r13             OPTIONAL, -- Need OP

   uplinkPowerControlCommon-r13               UplinkPowerControlCommon-NB-r13,

   ...,

   [[ nprach-Config-v1330                         NPRACH-ConfigSIB-NB-v1330 OPTIONAL -- Need OR

   ]],

   [[ nprach-Config-v1450                         NPRACH-ConfigSIB-NB-v1450 OPTIONAL -- Cond

       EnhPowerControl

   ]],

   [[ nprach-Config-v1530                         NPRACH-ConfigSIB-NB-v1530 OPTIONAL, -- Need OR

      dl-Gap-v1530                                   DL-GapConfig-NB-v1530 OPTIONAL, -- Cond TDD

      wus-Config-r15                                 WUS-Config-NB-r15 OPTIONAL -- Need OR

   ]],

   [[ nprach-Config-v1550                         NPRACH-ConfigSIB-NB-v1550 OPTIONAL -- Cond TDD1

   ]],

   [[

      gwus-Config-r16                               GWUS-Config-NB-r16 OPTIONAL, -- Need OR

      nrs-NonAnchorConfig-r16                    ENUMERATED {true} OPTIONAL, -- Need OR

      ue-SpecificDRX-CycleMin-r16               ENUMERATED {rf32, rf64, rf128, rf256, rf512,

                                                                                rf1024} OPTIONAL -- Need OR

   ]],

   [[ ntn-ConfigCommon-r17 SEQUENCE {

      ta-Report-r17                                  ENUMERATED {enabled} OPTIONAL, -- Need OR

      t318-r17                                         ENUMERATED {

                                                                             ms0, ms200, ms500, ms1000, ms2000, ms4000, ms8000},

      nprach-TxDurationFmt01-r17              NPRACH-TxDurationFmt01-NB-r17 OPTIONAL, -- Need OR

      nprach-TxDurationFmt2-r17                NPRACH-TxDurationFmt2-NB-r17 OPTIONAL, -- Need OR

      npusch-TxDuration-r17                      NPUSCH-TxDuration-NB-r17 OPTIONAL -- Need OR

   } OPTIONAL -- Need OR

   ]]

}

 

BCCH-Config-NB-r13 ::= SEQUENCE {

   modificationPeriodCoeff-r13                   ENUMERATED {n16, n32, n64, n128}

}

 

PCCH-Config-NB-r13 ::= SEQUENCE {

   defaultPagingCycle-r13                         ENUMERATED {rf128, rf256, rf512, rf1024},

   nB-r13                                               ENUMERATED {

                                                                        fourT, twoT, oneT, halfT, quarterT, one8thT,

                                                                        one16thT, one32ndT, one64thT,

                                                                        one128thT, one256thT, one512thT, one1024thT,

                                                                        spare3, spare2, spare1},

   npdcch-NumRepetitionPaging-r13            ENUMERATED {

                                                                         r1, r2, r4, r8, r16, r32, r64, r128,

                                                                         r256, r512, r1024, r2048,

                                                                         spare4, spare3, spare2, spare1}

}

 

 

WUS-Config-NB-r15 ::= SEQUENCE {

   maxDurationFactor-r15                             WUS-MaxDurationFactor-NB-r15,

   numPOs-r15                                            ENUMERATED {n1, n2, n4} DEFAULT n1,

   numDRX-CyclesRelaxed-r15                        ENUMERATED {n1, n2, n4, n8},

   timeOffsetDRX-r15                                    ENUMERATED {ms40, ms80, ms160, ms240},

   timeOffset-eDRX-Short-r15                        ENUMERATED {ms40, ms80, ms160, ms240},

   timeOffset-eDRX-Long-r15                         ENUMERATED {ms1000, ms2000} OPTIONAL, -- Need OP

   ...

}

 

WUS-ConfigPerCarrier-NB-r15 ::= SEQUENCE {

   maxDurationFactor-r15                                 WUS-MaxDurationFactor-NB-r15

}

 

WUS-MaxDurationFactor-NB-r15 ::= ENUMERATED {one128th, one64th, one32th, one16th,

                                                                    oneEighth, oneQuarter, oneHalf}

 

 

 

Reference :