R16 NR CDRX

简介: 在NR中降低UE功耗一直比较重要,如38.300 power saving 所述,NR 中UE power saving的机制有很多,包含DRX ,BWP adaption, dormancy BWP, DCP(DCI with CRC scrambled by PS-RNTI),跨时隙调度,放松测量等。dormancy BWP和DCP都集中在dormancy BWP中介绍,这篇CDRX也会提及部分内容;放松测量大概内容主要在38.304及38.133,而这篇主要看下CDRX。

在NR中降低UE功耗一直比较重要,如38.300 power saving 所述,NR 中UE power saving的机制有很多,包含DRX ,BWP adaption, dormancy BWP, DCP(DCI with CRC scrambled by PS-RNTI),跨时隙调度,放松测量等。dormancy BWP和DCP都集中在dormancy BWP中介绍,这篇CDRX也会提及部分内容;放松测量大概内容主要在38.304及38.133,而这篇主要看下CDRX。


R16版本的CDRX相比于R15,增加了DCP WUS的内容,也对CSI/SRS部分进行了增强,更细化了CSI/SRS发送的场景,除此之外,UE还可以通过UEAssistanceInformation向网络report perfer C-DRX cycle length。R17版本的CDRX 增加了NTN,sidelink的内容,也增加了MBS Broadcast/Multicast场景的CDRX。这篇主要看下R16版本的CDRX,算是承上启下吧。


先看38.300中的描述,了解下DRX 的大概过程。

b5b344eb02b748a4834fdceadd90cbec.png

当配置了 DRX 时,UE 不必持续监视 PDCCH。 DRX具有以下特点:

- on-duration:UE 醒来后等待接收 PDCCH 的持续时间。 如果 UE 成功解码 PDCCH,则 UE 保持清醒并启动inactivity timer;

- inactivity-timer:UE等待成功解码PDCCH的持续时间,从PDCCH的最后一次成功解码开始,timer 超时后UE可以返回sleep。 UE 应在一次成功解码 PDCCH 后重新启动非活动定时器,这个PDCCH data必须是第一次传输,重传的情况不会restart inactivity timer.

- retransmission-timer:预计重传之前的持续时间;

- cycle:on duration+inactivity period 如下图;

- active-time:UE监听PDCCH的总时长。 这包括 DRX cycle的 on-duration,在inactivity timer 未超时前 UE执行连续接收的时间以及 UE 在等待重传时机执行连续接收的时间。

70d0b19818854df7bdb2b965c37c8eb3.png670f759cd2ef4f1e8766dfc5f7364283.png

相应地,网络侧可以给UE在active BWP中配置DCP-config用于指示UE是否需要在下一个 long DRX cycle开启drx-onDurationTimer,即可以使得UE保持DRX sleep状态,达到进一步省电的功能,主要通过 ps-RNTI 加扰的DCI 2_6 中的 Wake-up indication实现,具体参见Dormant BWP 中的DCI 2_6的描述。

UE 不会在active-time、measurement gaps、BWP switching期间或者当它监视用于BFR的CFRA preamble 传输的response等情况监听DCP,转而在next on-duration期间监听PDCCH。 如果active BWP 中没有配置 DCP,则 UE 遵循正常的 DRX 操作。配置CA时,仅在PCell上配置DCP。


接下来具体看下DRX 的具体工作原理,主要在38.321 5.7章节。下面是38.321 DRX相关的参数,直接摘抄过来,做记录,后面再具体看每个参数的含义。

drx-onDurationTimer: the duration at the beginning of a DRX cycle;

drx-SlotOffset: the delay before starting the drx-onDurationTimer;

drx-InactivityTimer: the duration after the PDCCH occasion in which a PDCCH indicates a new UL or DL transmission for the MAC entity;

drx-RetransmissionTimerDL (per DL HARQ process except for the broadcast process): the maximum duration until a DL retransmission is received;

drx-RetransmissionTimerUL (per UL HARQ process): the maximum duration until a grant for UL retransmission is received;

drx-LongCycleStartOffset: the Long DRX cycle and drx-StartOffset which defines the subframe where the Long and Short DRX cycle starts;

drx-ShortCycle (optional): the Short DRX cycle;

drx-ShortCycleTimer (optional): the duration the UE shall follow the Short DRX cycle;

drx-HARQ-RTT-TimerDL (per DL HARQ process except for the broadcast process): the minimum duration before a DL assignment for HARQ retransmission is expected by the MAC entity;

drx-HARQ-RTT-TimerUL (per UL HARQ process): the minimum duration before a UL HARQ retransmission grant is expected by the MAC entity;

ps-Wakeup (optional): the configuration to start associated drx-onDurationTimer in case DCP is monitored but not detected;

ps-TransmitOtherPeriodicCSI (optional): the configuration to report periodic CSI that is not L1-RSRP on PUCCH during the time duration indicated by drx-onDurationTimer in case DCP is configured but associated drx-onDurationTimer is not started;

ps-TransmitPeriodicL1-RSRP (optional): the configuration to transmit periodic CSI that is L1-RSRP on PUCCH during the time duration indicated by drx-onDurationTimer in case DCP is configured but associated drx-onDurationTimer is not started.


DRX参数配置结构


R16版本可以对serving cells 分别配置在两个DRX group中。主要是为了节能及更好的管理,因而提出将FR1和FR2 分别配置在不同的DRX group,每个DRX group采用各自的drx参数,具体引入原因可以看R2-2004855,38.321中对于两个DRX group的描述,也就下面这一段,毕竟仅仅是某些参数要独立配置,重要的还是DRX工作机制。

732cfbe81e784bafb2950c7ee67acd87.png

serving cell的MAC entity 可能会由 RRC 配置在两个 DRX group中,每个DRX group具有单独的 DRX 参数。 当RRC没有配置secondary DRX group时,即只有一个DRX group,那所有的Serving Cell都属于这个DRX group。 当配置了两个 DRX group时,每个serving cell会被唯一地分配给两个组中的任何一个。 每个DRX group单独配置的DRX参数对应的是drx-ondurationTimer和drx-inactivityTimer。共同的参数是drx-SlotOffset, drx-RetransmissionTimerDL, drx-RetransmissionTimerUL, drx-LongCycleStartOffset, drx-ShortCycle (optional), drx-ShortCycleTimer (optional), drx-HARQ-RTT-TimerDL, and drx-HARQ-RTT-TimerUL。


DRX RRC层参数结构罗列在下面。502a39def2374131aff879991f17de52.png989927ac666f47578f66be922eca9231.png

接下来按照38.321的内容,分别看下各个timer是如何工作的。


drx-onDurationTimer

5fc265c973c84a78a71c4db38e3b21b7.png

DRX cycle开始对应的是一段on Duration ,在on duration期间UE是要监听PDCCH的,即处于Active time。on duration的时间由drx-onDurationTimer控制,时间单位是1/32ms,即subMiliSeconds。


DRX inactivity Timerafc4176ba0594cdd84eb1520c64a61df.png

779d0da8cd1444ada85797c080b51528.png


当UE收到一个PDCCH新传调度时,后续可能还有需要发送和接收的UL/DL data,UE需要启动DRX Inactivity定时器来等待一段时间,等待后续可能还有的DL/UL调度。

drx inactivity timer在PDCCH新传调度结束后的第一个symbol启动;drx-inactivitytimer与DRX的其他timer独立运行,没有关联。

c8345a435714456d8746a1dbb2296e91.png


HARQ-RTT-Timer


对于同一个HARQ进程,当一次上行调度或下行调度,到下一次调度,需要一定的处理时间,这个时长就是HARQ RTT(Round Trip Timer)时间;

在NR 中上下行HARQ都是异步HARQ,即HARQ RTT时长不是固定的。

640dde8427e94782bd2e69cf2e6ca7b1.png

drx-HARQ-RTT-TimerDL和drx-HARQ-RTT-TimerUL的单位是BWP的symbol个数,最长56个symbol即4个slots。

因此也将上述两个Timer描述为DL/UL调度重传的最短时长。

如果不开启DRX,就不会配置这两个timer,因为UE总在监听PDCCH;如果开启DRX 才会配置这两个 timer,对于同一个HARQ progress,在Timer运行期间,不会有相同HARQ 的PDCCH 调度。

407d717be4974632aced2724bd78d88c.png


DRX RetransmissionTimer

54a0ad107cc0431b87810197b1d99b74.png

drx-RetransmissionTimerDL/UL 的单位是slot数,sl0对应 0个slots,sl1对应 1 slot....


更具体的 在DRX group处于Active Time期间时,

DL:62ced389d08e4ff38ac4d1537fce81ed.png

在UE收到DL data后,要针对对应的HARQ process开启drx-HARQ-RTT-TimerDL,具体的开启时间对应HARQ ACK/NACK发送后的第一个symbol,同时停止对应HARQ process 的drx-RetransmissionTimerDL。


值得注意的时上面的内容有一个non-numerical k1 的说法,这个场景对应的NR-U,具体讨论可以查看R2-1909808和R2-1912101,大概意思是当DCI PDSH-to-HARQ_feedback timing对应的是一个non-numerical k1(即没有指定HARQ ACK/NACK 所用的K1),那UE要在当前bundle内最后一个pdsch结束后的第一个符号启动drx-RetransmissionTimerDL,等待下一个DCI 带下来正确的k1,再进行HARQ ACK/NACK的动作。


当drx-HARQ-RTT-TimerDL超时后,对于同一个HARQ process,如果UE解码PDSCH失败时,UE必须要监听PDCCH来获取DL 重传data,这时UE启动drx-RetransmissionTimerDL来等待下行的重传data; 如果UE解码PDSCH成功,不需要启动drx-RetransmissionTimerDL。


UL:

4b23e9216ffb474c91e6074a50b4204b.png

在UE收到UL grant时,要针对对应的HARQ process开启drx-HARQ-RTT-TimerUL,具体的开启时间对应当然bundle内的第一个PUSCH发送后的第一个symbol,同时在相应 PUSCH 传输的第一次传输时就要停止对应HARQ process 的drx-RetransmissionTimerUL。


当drx-HARQ-RTT-TimerUL超时后,对于同一个HARQ进程,UE发送PUSCH后,UE不知道基站是否解码成功,必须要监听PDCCH来获取可能的UL 重传data,所以这时UE要开启drx-RetransmissionTimerUL。

针对上述过程的图示如下:

fd470dde1bc649448596ea533d6b1a69.png

查看协议可以看到DL SPS 和configured UL grant的描述并没有上面动态调度的那句"if a DRX group is in Active Time",也就是说DL SPS 和configured UL grant不受DRX active 和sleep机制的影响,按照各自的配置进行UL/DL操作,其他内容基本一样,具体如下:


DL SPS

4104dc7eb378437b8230c5e77559e17a.png

在UE收到DL data后,要针对对应的HARQ process开启drx-HARQ-RTT-TimerDL,具体的开启时间对应HARQ ACK/NACK发送后的第一个symbol,同时停止对应HARQ process 的drx-RetransmissionTimerDL。


configured UL grant:a9e5f532109846cfbf9560e212c6eb51.png

在UE收到UL grant时,要针对对应的HARQ process开启drx-HARQ-RTT-TimerUL,具体的开启时间对应当前bundle内第一个PUSCH发送后的第一个symbol,同时在相应 PUSCH 传输的第一次传输时就要停止对应HARQ process 的drx-RetransmissionTimerUL。


DRX cycle 1d40bbc79ce540009e8f6dd16487e24f.png

网络侧可以给UE配置drx long cycle或者short cycle,其中short cycle是可以不配置的。

drx-ShortCycle 单位是ms;drx-ShortCycleTimer 对应的是drx-ShortCycle的倍数,drx-ShortCycleTimer 对应的时间就是short cycle的确切时间。

对于long cycle,通过drx-LongCycleStartOffset ms160 : 5 的方式配置,对应drx-LongCycle=160ms drx-StartOffset=5ms。如果有配置drx-ShortCycle时,drx-LongCycle应该是drx-ShortCycle的倍数。

引入short cycle 主要原因是long cycle虽然有利于UE节能,但是可能会影响UE data 的收发。

两种drx cycle的工作流程如下:

8c03f7ef5ab14fc990b81ab8f84cc8a6.png

DRX group 的 drx-InactivityTimer 超时后,如果UE有收到Short DRX cycle的配置,就在drx-InactivityTimer超时后的第一个symbol start/restart drx-ShortCycleTimer,开始short DRX cycle;只有long DRX cycle的配置就直接开始long cycle。

drx-ShortCycleTimer 超时后,下面就要进入long DRX cycle。


除了上述方式还能通过MAC CE控制DRX cycle的开启:d66e0822e3b04fe08cb83f7ad4faccd8.png

UE收到DRX Command MAC CE,如果UE有收到Short DRX cycle的配置,就在接收完DRX Command MAC CE后的第一个symbol start/restart drx-ShortCycleTimer,开始short DRX cycle;只有long DRX cycle的配置就直接开始long cycle。


另外在short cycle期间UE收到long DRX Command MAC CE,就要stop drx-ShortCycleTimer,直接进入long DRX cycle。

在收到long DRX Command MAC CE或DRX Command MAC CE时,UE要停止drx-onDurationTimer和drx-InactiveTimer,因为之后就要直接进入short cycle或long cycle了。

51ccf0f5a5fa4aada9076cfac3fd3dae.png

long DRX Command MAC CE和 DRX Command MAC CE分别通过MAC subheader LCID 59和60进行区分。


DRX 参数 slotOffset

5f03022ab85f46c28f6472305e7d4ede.png

DRX slot offset单位是ms,通过drx slotoffset可以配置On duration开始时间。

86550cb4dcc04389b1037b52695b4c1d.png

通过上述公式分别确定short/long Drx cycle要开始的subframe number,再经过drx-slotoffset后才start drx-onDurationTimer。

b4f9afe527194641b31eb8198db76d8d.png

结合上面的内容,配置short cycle时的一种DRX图示如下。

f771a52af4c24a719c1303f224698ed9.png

short cycle根据公式计算确定好subframe就好;long cycle的开启还涉及DCP及其他相关内容。


WUS(wake up signal)2e730174b01e469b89fc3171880f70ef.png

DCP 主要对long DRX cycle起作用,所以对于long DRX cycle,还要考虑DCP 的配置。

UE没有收到DCP的配置,则按照正常的规则开始long DRX cycle。

UE有收到DCP的配置时要分情况考虑long DRX cycle的启动:

(1)UE在Outside DRX ActiveTime 期间收到DCI 2_6,其中Wake-up indication =1 代表在下一个 long DRX cycle开启drx-onDurationTimer;Wake-up indication =0 代表在下一个 long DRX cycle不开启drx-onDurationTimer,即保持DRX sleep状态,达到进一步省电的功能。

(2)DCP-Config-r16的ps-WakeUp,在配置时只能是true,否则可以缺省;ps-WakeUp=true时,代表UE在DRX outside active time没有检测到DCI 2_6时,UE要在下一个long DRX cycle时开启drx-OnDurationTimer,即醒过来;没有配置ps-WakeUp时,UE也没有坚持到DCI 2_6,则UE可以继续处于sleep状态这就是所谓的WUS,详细流程详见 dormancy BWP 中的DCP-config部分的描述。

(3)UE要在下一个DCP occasion开始的前4ms结合grants/assignments/DRX Command MAC CE/Long DRX Command MAC CE/SR 发送等情况 评估当前DRX cycle 是否会在Active Time,评估完在Active Time就按照long drx cycle的规则开启drx-onDurationTimer,不用在下一个DCP occasion监听DCI 2_6;

(4)在测量间隙期间或者UE正在SpCell的recoverySearchSpaceId指示的搜索空间上监听PDCCH data时 ,也按照long drx cycle的规则开启drx-onDurationTimer。


针对上面的(3)举例说明下

3fdb787ede0e481aaf5a546711540759.png

如上图示,假如在上图的DCP occasion前4ms评估完,由于congfiured grant UL传输或者DL SPS传输或者SR的配置等等,DCP occasion那段时间UE要进入Active Time,那就按照对应的规则开启drx-onDurationTimer。


那这里就引出一个容易被忽视的点,就是DRX Active Time不是由drx-onDurationTimer单独控制的,在上图中灰色的sleep状态,如果有其他相关Timer在运行,也会使得UE进入Active Time。接下来就看下DRX active Time的描述。


DRX active Time

配置DRX后,UE在Active Time要监听PDCCH 信道,其他时间为sleep时间。

bcde84ef4d91419ba8c754eb874ea3b4.png

当配置DRX时, DRX group中的serving cells的Active Time包含的时间如下:

-正在运行的DRX group配置的drx-onDurationTimer或drx-InactivityTimer;

- drx-RetransmissionTimerDL 或 drx-RetransmissionTimerUL 正在 DRX group中的任何服务小区上运行;

- ra-ContentionResolutionTimer或 msgB-ResponseWindow正在运行;

- 在 PUCCH 上发送的SR并处于pending状态等待的时长由SR配置决定;

- 随机接入成功后 UE等待C-RNTI加扰的PDCCH新传的时间

即上面的情况都会使得UE进入Active 状态。


DRX相关的各个timer是相互独立工作,控制UE DRX 状态的变化,下面是DRX 有关Timer的汇总。

8f64ee98eb164034a554cc4cd33e2de9.png

针对这部分举个例子。

a9fbba1c03b84bed973c20e2da1a02cf.png

(1)UE只配置了drx long cycle,在 drx-onDurationTimer运行期间处于DRX Acitive Time,需要正常监听PDCCH;

(2)UE收到UL PDCCH 新传data时,开启drx-InactivityTimer,该timer运行期间一直处于Active Time,超时后进入sleep状态;

(3)UE在drx-InactivityTimer运行期间根据PDCCH的指示,发送了PUSCH 之后,开启drx-HARQ-RTT-TimerUL;

(4)drx-HARQ-RTT-TimerUL超时后,UE开启drx-RetransmissionTimerUL,该timer运行期间,UE处于Active Time

(5)橘色框部分,drx-RetransmissionTimerUL 超时后,UE重新进入sleep状态

(6)紫色框部分,drx-RetransmissionTimerUL运行期间,UE收到网络侧的PDCCH UL重选指示,停止drx-RetransmissionTimerUL;待PUSCH法出去后,再次开启drx-HARQ-RTT-TimerUL......


DRX 对CSI/SRS的影响


在NR 中,处于RRC connected mode的UE,一般会配置SRS和CSI相关的参数,当DRX 打开后,要考虑UE sleep 状态和CSI上报及SRS 发送之间的关系。

de60263ef3284120bffd51abab25ffcb.png

假如SRS/CSI report 发送的symbol是n,UE有配置DCP-config,如果symbol n处于drx-onDurationTimer运行期间且相关的drx-onDurationTimer还没有开始:UE要在symbol n提前4ms结合grants/assignments/DRX Command MAC CE/Long DRX Command MAC CE/SR 发送等情况 评估symbol n 时 的MAC entity 是否还会在Active Time,假如评估完MAC entity不在Active Time,即在sleep状态,那UE就不能发送periodic SRS和semi-persistent SRS ,也不能通过PUSCH 发送semi-persistent CSI;另外如果ps-TransmitPeriodicL1-RSRP不等于true UE也不能在PUCCH上 report L1-RSRP相关的periodic CSI;如果ps-TransmitOtherPeriodicCSI不等于true,UE不能在PUCCH 上发送非L1-RSRP相关的periodic CSI。

ps-TransmitOtherPeriodicCSI和ps-TransmitPeriodicL1-RSRP的配置路径如下。3ea78db0171d419ba525698fdebeb490.png3290c30fc90c474bac93af3c97a11f52.png

除了上面提到的情况外,UE在symbol n提前4ms结合grants/assignments/DRX Command MAC CE/Long DRX Command MAC CE/SR 发送等情况 评估symbol n 时 的MAC entity 是在sleep状态,那UE就不能发送periodic SRS和semi-persistent SRS ,也不能通过PUSCH 发送semi-persistent CSI 同时也不可以通过PUCCH report CSI;当RRC层有配置csi-Mask且DRX和CSI也有同时配置,UE如果在CSI发送symbol n提前4ms预估是否为on Duration状态,如果不是On duration就不发送PUCCH 上的CSI report,言外之意是配置csi-Mask 时,UE可以发送PUSCH上的半持续CSI report。

csi-Mask的配置路径如下。fa6ac4c12a6d4373b7ce1aad3afd5cf6.png


UEAssistanceInformation


R16 UE还可以通过UEAssistanceInformation向网络report perfer C-DRX cycle length,上报的drx-preference参数包含preferred drx-InactivityTimer/drx-longcycle/drx-shortcycle/drx-shortCycleTimer,结构如下。b9e917914aa745eda43ed6b5d3eac880.png

如果UE具备上报perference DRX 参数的能力且网络侧有配置要求UE上报时,UE就可以将preference DRX 参数通过UEAssistanceInformation上报给网络侧。17f08e06629041b48b0e9f33ffa353c5.png

更具体的,网络会通过RRCReconfiguration配置otherConfig,其中包含drx-PreferenceConfig setup命令,UE就可以通过UEAssistanceInformation将preference DRX参数上报给网络侧,其中会配置drx-PreferenceProhibitTimer,T346a=drx-PreferenceProhibitTimer,结构图如上。

在UE通过UEAssistanceInformation上报preference DRX参数后就要针对cell group开启T346a,在T346a没有运行的时候,才能再次通过UEAssistanceInformation上报preference DRX参数。

3168c7c82c6e47b0872467e73b466d6e.png

UE收到上述命令后,如果有preference DRX 参数且之前没有发送过UEAssistanceInformation带drx-Preference或者之前发送过,但是当前的prefer value与之前上报的不一样且T346a没有在运行,那UE针对cell group 开启T346a 并发送对应的UEAssistanceInformation。3e87b80ce74041c7b448d420db04a5bb.png

具体UEAssistanceInformation包含drx-Preference消息的生成原则就是UE自行决定上报的DRX参数,如上图4个prefer 参数都是可许的,UE有就上报,没有就不用包含该参数。


最后相关的capability IE罗列如下。

81c8428ed88c4181a8340f3082f21b0b.png

相关文章
|
存储 5G Windows
5G NR Paging 寻呼
寻呼消息由PCCH逻辑信道承载,PCCH逻辑信道的数据块又是由PCH传输信道来承载,而PCH传输信道的数据块又是由PDSCH物理信道来承载的。
1266 0
5G NR Paging 寻呼
|
2月前
|
Perl
awk '{print $12}' | awk -F "ms" '{sum+=$1}END{printf "avg: %f, total: %d\n", sum/NR, NR}' 啥意思
awk '{print $12}' | awk -F "ms" '{sum+=$1}END{printf "avg: %f, total: %d\n", sum/NR, NR}' 啥意思
29 3
|
3月前
|
5G UED
5G NR中的寻呼过程
【8月更文挑战第31天】
79 0
|
调度 索引
NR PUCCH(一) PUCCH format 0/1
NR中PUCCH物理信道用来发送上行控制信息Uplink Control Information(UCI),当然UCI也可以在PUSCH上发送。UCI 内容包括:CSI,HARQ ACK/NACK ,SR 及上述三者的组合信息。
|
前端开发 调度 文件存储
NR paging
IMS 是基于PS domain的网络。LTE时代,IMS建网初期,UE虽然注册IMS,但是网络仍然会下发CS domain paging,进而引起CSFB的问题。当时不少有客户提case,询问这个问题是否正常。其实这个问题只是建网初期,网络端架构不成熟引起的现象,谈不上不正常,能不漏掉paging的手机 ,都是好手机。
|
调度 C++
NR HARQ (四)dynamic codebook
上篇提到type-1 HARQ-ACK codebook,即semi-static codebook,UE要为每个PDSCH候选位置生成反馈,也会包含实际没有下行传输的PDSCH,再加上配置CBG的场景,HARQ-ACK 码本中包含的无用信息会更多,开销确实很大。因而,Type-2 HARQ-ACK 码本即dynamic 码本就出现了,目前看实网中一般都用的dynamic 码本,还没有见过semi-static 码本,长话短说,下面就看下相关内容。
|
计算机视觉 索引
NR PRACH(一)Preamble的确定
因为具有良好的自相关性和互相关性,恒幅低峰均比等特性,使用Zaddof-Chu序列作为PRACH 信道的上行同步序列
|
编解码 算法 调度
NR CSI(三) CQI
这篇主要看下CQI的相关内容,CQI在spec上描述的内容比较少,主要是和调制方式和码率相关,所以这篇的内容也比较简短。先看下CSI Report Quantity 上报测量量。
|
算法 BI 5G
NR CSI(四) PMI
如38.214 5.1.1.1中所述,NR PDSCH 38214只有一种传输模式Transmission scheme 1,gNB将data(di)和DMRS一同预编码,之后通过无线信道,发送给UE,如下图。DMRS是用于信道估计,服务于UE信道解调的。
|
Perl
awk NR、F的用法
awk NR、F的用法
130 0