原创 Mr.Kang 和老康一起学5G 2022-09-18 08:00 发表于陕西
收录于合集
#5G554个
#R166个
#WUS1个
#DRX3个
本文根据https://www.sharetechnote.com/html/5G/5G_WUS.html翻译整理
唤醒信号WUS(Wake Up Signal)是3GPP在R16中为5G(NR)引入的一种省电机制。试图通过让终端(UE)继续休眠(即不唤醒)来节省电力,用于在DRX OnDuration期间:
WUS工作机制3GPP在TS38.213 - 10.3中进行了定义:PDCCH监视指示和SCell的休眠/非休眠行为中进行了定义。整个过程可用下图表示:

UE能力要求WUS是R16版的功能,很多R15设备不支持;在应用中gNB应检查UE是否具有此能力。终端(UE)应将其对WUS的支持告知gNB,相关参数如下:
MAC-ParametersFRX-Diff-r16 ::= SEQUENCE {
directMCG-SCellActivation-r16 ENUMERATED {supported} OPTIONAL,
directMCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL,
directSCG-SCellActivation-r16 ENUMERATED {supported} OPTIONAL,
directSCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL,
-- R1 19-1: DRX Adaptation
drx-Adaptation-r16 SEQUENCE {
non-SharedSpectrumChAccess-r16 MinTimeGap-r16 OPTIONAL,
sharedSpectrumChAccess-r16 MinTimeGap-r16 OPTIONAL
} OPTIONAL, ...}
MinTimeGap-r16 ::= SEQUENCE {
scs-15kHz-r16 ENUMERATED {sl1, sl3} OPTIONAL,
scs-30kHz-r16 ENUMERATED {sl1, sl6} OPTIONAL,
scs-60kHz-r16 ENUMERATED {sl1, sl12} OPTIONAL,
scs-120kHz-r16 ENUMERATED {sl2, sl24} OPTIONAL}
38.213 - Table 10.3-1 Minimum time gap value X >

DRX配置(R16)指示UE是否支持以下DRX配置:
配置ps-Offset用于检测DCI format2_6与ps-RNTI加扰CRC并在Long DRX的drx-onDurationTimer开始之前报告MinTimeGap;
通过检测DCI format 2_6指示UE是否为下一个Long DRX周期启动drx-onDurationTimer;
在Active Time之外的所有监控场合都没有检测到DCI format 2_6时配置的UE唤醒与否;
DCI format 2_6影响除L1-RSRP(ps-TransmitOtherPeriodicCSI)之外,配置定期CSI报告drxonDurationTimer不会在下一个Long DRX周期开始;
配置周期性L1-RSRP报告(ps-TransmitPeriodicL1-RSRP)当受DCI format 2_6影响时drx-onDurationTimer在下一个Long DRX周期内不启动;
能力信令包括在最后一个 DCI format 2_6监视时机的时隙结束与UE将针对每个SCS启动Long DRX的drx-onDurationTimer的时隙开始之间的最小时间间隙。sl1表示1个slot,sl2表示2个slot,,,分别报告许可和未许可频段支持此功能。当该字段被报告时,还至少应上报shared Spectrum Ch Access-r16或non-SharedSpectrumChAccess-r16。
DCI 2_6用于通知一个或多个UE在DRX活动时间之外的省电信息。这是由PS-RNTI加扰DCI format2_6的结构如下:Block1, Block2,…, Block N,每个Block结构如下:
DCI 2_6整体结构如下图:
RRC参数与WUS直接或间接相关RRC参数如下,其中DPC-Config-r16(标记为红色)是最关键的参数。
DRX-Config ::= SEQUENCE {
drx-onDurationTimer CHOICE {
subMilliSeconds INTEGER (1..31),
milliSeconds ENUMERATED {
ms1, ms2,...... ms1600, spare8, ...... spare1 } },
drx-InactivityTimer ENUMERATED {
ms0, ms1, ...... ms2560, spare9,......spare1},
drx-HARQ-RTT-TimerDL INTEGER (0..56),
drx-HARQ-RTT-TimerUL INTEGER (0..56),
drx-RetransmissionTimerDL ENUMERATED {
sl0, sl1, sl2, ......, sl320, spare15, spare14,...... spare2, spare1},
drx-RetransmissionTimerUL ENUMERATED {
sl0, ...... sl128, sl160, sl320, spare15, ...... spare1 },
drx-LongCycleStartOffset CHOICE {
ms10 INTEGER(0..9), ....... ms10240 INTEGER(0..10239) },
shortDRX SEQUENCE {
drx-ShortCycle ENUMERATED {
ms2, ms3, ........ ms640, spare9,...... spare1 },
drx-ShortCycleTimer INTEGER (1..16)
} OPTIONAL, -- Need R
drx-SlotOffset INTEGER (0..31)}
DRX-Preference-r16 ::= SEQUENCE {
preferredDRX-InactivityTimer-r16 ENUMERATED {
ms0, ms1, ....... ms2560, spare9, ...... spare1} OPTIONAL,
preferredDRX-LongCycle-r16 ENUMERATED {
ms10, ms20, ....... ms10240, spare12, s....... spare2, spare1 } OPTIONAL,
preferredDRX-ShortCycle-r16 ENUMERATED {
ms2, m....... ms640, spare9...... spare1 } OPTIONAL,
preferredDRX-ShortCycleTimer-r16 INTEGER (1..16) OPTIONAL}
PhysicalCellGroupConfig ::= SEQUENCE { ..
dcp-Config-r16 SetupRelease { DCP-Config-r16 } OPTIONAL, -- Need M ...}
DCP-Config-r16 ::= SEQUENCE { // DCP stands for DCI with CRC scrambled by PS-RNTI
ps-RNTI-r16 RNTI-Value,
ps-Offset-r16 INTEGER (1..120),
sizeDCI-2-6-r16 INTEGER (1..maxDCI-2-6-Size-r16),
ps-PositionDCI-2-6-r16 INTEGER (0..maxDCI-2-6-Size-1-r16),
ps-WakeUp-r16 ENUMERATED {true} OPTIONAL, -- Need S
ps-TransmitPeriodicL1-RSRP-r16 ENUMERATED {true} OPTIONAL, -- Need S
ps-TransmitOtherPeriodicCSI-r16 ENUMERATED {true} OPTIONAL -- Need S}
ServingCellConfig ::= SEQUENCE {
dormantBWP-Config-r16 SetupRelease { DormantBWP-Config-r16 }}
DormantBWP-Config-r16::= SEQUENCE {
dormantBWP-Id-r16 BWP-Id OPTIONAL, -- Need M
withinActiveTimeConfig-r16 SetupRelease { WithinActiveTimeConfig-r16 } OPTIONAL,-- Need M
outsideActiveTimeConfig-r16 SetupRelease { OutsideActiveTimeConfig-r16 } OPTIONAL-- Need M}
WithinActiveTimeConfig-r16 ::= SEQUENCE {
firstWithinActiveTimeBWP-Id-r16 BWP-Id OPTIONAL, -- Need M
dormancyGroupWithinActiveTime-r16 DormancyGroupID-r16 OPTIONAL -- Need R}
OutsideActiveTimeConfig-r16 ::= SEQUENCE {
firstOutsideActiveTimeBWP-Id-r16 BWP-Id OPTIONAL, -- Need M
dormancyGroupOutsideActiveTime-r16 DormancyGroupID-r16 OPTIONAL -- Need R}
DormancyGroupID-r16 ::= INTEGER (0..4)