DL HARQ & UCI in PUCCH — R16

我们知道NR有两级重传机制HARQ和ARQ。HARQ是MAC层的重传机制,简单说就是UE收到PDSCH之后,给网络侧回复一个HARQ-ACK或者HARQ-NACK,告知PDSCH是否成功接收。而ARQ是RLC层的重传机制,可以保证一个AM PDU正确无误传输到接收侧。
HARQ使用的是停等协议来发送数据,并且多个线程并行传输,简单理解就是比如在线程1上,网络侧发PDSCH,然后停下来等UE回复是否成功收到,然后继续发下一个PDSCH,而类似线程1这样的线程有很多在并行传输,线程2、线程3… 这里的线程就是HARQ ID。在调度PDSCH的DCI内,会携带HARQ相关的一些信息,比如HARQ ID、NDI等。UE通过HARQ反馈信息来告知网络侧是否成功接收,这个反馈信息可以承载在PUCCH内。PUCCH内传输的内容叫做UCI,UCI不只有HARQ feedback这一种信息。
上行控制信息(UCI)的类型即为其包含的内容,有HARQ-ACK,SR,LRR和CSI这四种。相比R15,多了一个LRR(link recovery request),简单理解就是UE在监测到无线链路发生了问题时,可以通过LRR来进行链路恢复,这里暂时不对LRR做详细介绍。而对于HARQ-ACK UCI,R16并无太大变化。
UE可以在一个slot内的不同symbol上传输至多2个PUCCH,当在一个slot内传输2个PUCCH时,且参数ackNackFeedbackMode = separate未提供,则至少其中1个PUCCH必须是format 0或format 2;如果提供了参数ackNackFeedbackMode = separate,则UE可以在一个slot内的不同symbol上传输至多2个包含HARQ-ACK信息的PUCCH。这个参数也是R16新添加的,用于指示一个slot内的2个(如果是2个的话)ACK/NACK反馈是采用联合指示还是分开指示。
在进行HARQ-ACK反馈的时候,如果UCI的bit数大于等于360的话,则对应的CRC bit数为11,否则CRC的bit数根据38212中的公式确定。
下面具体介绍一下HARQ-ACK反馈的UCI,以及PUCCH的一些内容,其余UCI type(SR/LRR/CSI)相关的内容以及和HARQ-ACK反馈无关的PUCCH的内容这里暂时不做具体介绍。

1 PUCCH Resource

UE在收到PDSCH后想要在PUCCH内承载HARQ-ACK UCI,首先得有PUCCH资源可供使用。PUCCH资源有两种配置方式,一种是小区级别的配置,另一种是UE dedicated的配置。

1.1 小区级别配置

小区级别的配置承载在SIB1内,在这个小区内完成驻留的UE都可以使用,一般用于UE完成RRC连接建立之前。通过参数pucch-ResourceCommon指示一个index,这个index指向下表的对应行,该行内的参数用于指示可供使用的PUCCH resourc set,包括PUCCH format、在slot内的起始symbol和所占symbol数量、PRB offset,和初始循环移位索引(该参数用于序列生成,从而达到多用户复用的目的)。还可以看到此时的format只有0和1,因为此时RRC连接还没有建立,UE需要反馈的内容很少,用format 0和1就足够满足需求了。
在这里插入图片描述
在这里插入图片描述
当UE此时要在PUCCH内传输HARQ-ACK UCI时,调度对应PDSCH的DCI内会指示PRI(PUCCH Resource Indicator),然后计算r
在这里插入图片描述
其中NCCE是对应CORESET内的CCE数量,nCCE是PDCCH的第一个CCE的index,因为此时没有完成建立,所以一般是CORESET#0,△PRI是DCI内的PUCCH resource indicator。
对于具体的PUCCH所在的PRB index的确定,分为跳频和不跳频两种情况,参数useInterlacePUCCH-PUSCH指示是否跳频,可以分别描述如下:
在这里插入图片描述

1.2 UE级别配置

当完成RRC连接建立之后,网络就可以为UE配置单独的PUCCH资源。这种UE dedicated的资源通过PUCCH-Config内的PUCCH-ResourceSet IE配置。
在这里插入图片描述
一个PUCCH-ResourceSet内可以包含多个PUCCH-Resource,对应的参数会指示这个resource的起始PRB、是否跳频、PUCCH format等。我们可以看到UE dedicated的PUCCH资源可以支持更多的format和更多的物理层资源可供使用。
除了资源以外,其他的一些相关参数也都在PUCCH-Config和BWP-UplinkDedicated内,如参数useInterlacePUCCH-PUSCH,其或配置在所有的UL BWP中或者任何UL BWP都不配置;还比如参数initialCyclicShift,nrofSymbols,startingSymbolIndex等,从名字中也不难看出其指示的含义;当配置了format 1时,还会指示参数timeDomainOCC,OCC即orthogonal cover code;当配置了format 2和3的时候,还会有参数nrofPRBs,和可能有的occ-Length以及occ-Index;当配置了format 4时,其一定含有参数occ-Length和occ-Index。这里不详细列举所有的参数,上面也只对resource相关的参数进行了简单的概括,还有很多序列生成等相关的参数,感兴趣的可以参考38211和38331。
如果高层侧配置了多个resource set可供使用时,当UE进行UCI HARQ-ACK反馈的时候,会根据包含的信息bit O_“UCI” 的多少来决定使用哪个resource set:

  • pucch-ResourceSetId = 0,当O_“UCI” ≤2且其中1或2 bit为HARQ-ACK信息,剩下的为SR时;
  • pucch-ResourceSetId = 1,当〖2<O〗_“UCI” ≤N_2 (N_2 = maxPayloadSize);
  • pucch-ResourceSetId = 2,当〖N_2<O〗_“UCI” ≤N_3 (N_3 = maxPayloadSize或1706;
  • pucch-ResourceSetId = 3,当〖N_3<O〗_“UCI” ≤1706.

上面每种情况下的maxPayloadSize是对于当前resource set而言,即resource set 1的maxPayloadSize和resource set 2的maxPayloadSize大小是不同的(前提是resource set 1和2都配置了且都提供了参数maxPayloadSize)。
一种特殊的情形在于,当HARQ-ACK用于反馈SPS PDSCH 的接收时,UE使用PUCCH-AN-List中sps-PUCCH-AN-ResourceID所指示的PUCCH资源进行HARQ-ACK反馈。

2 PUCCH Formats

NR R16 PUCCH支持5种不同的格式,适用于不同的情形,比如信号的覆盖,UCI type的组合等。按照时域上所占用的符号数量可以分为短格式和长格式两种,如38211中表格所示。短格式占用1-2个符号,可以承载1-2bit信息,长格式占用4-14个符号,可承载大于2bit的信息。NR引入短格式PUCCH的目的是可以缩短HARQ-ACK反馈的时延,长格式仍然是考虑到持续时间长可以保证覆盖。在考虑使用哪种格式的PUCCH时,UE会考虑PUCCH所占符号长度和UCI的bit数。
在这里插入图片描述
另外对于符号数和bit数相同的format 3和4,当PUCCH resource不包含orthogonal cover code,或在BWP-UplinkDedicated中提供了参数useInterlacePUCCH-PUSCH时,用format 3;当PUCCH resource包含orthogonal cover code且BWP-UplinkDedicated中参数useInterlacePUCCH-PUSCH未提供时,使用format 4。对于R15而言,format 3和format 4的区别只在于是否包含了OCC(orthogonal cover code)。

3 UE procedure for reporting HARQ-ACK

过程并不复杂,注意以下几点就行。
如果未配置参数ackNackFeedbackMode = separate,UE在同一个slot内最多传输1个包含HARQ-ACK的PUCCH。
UE在反馈HARQ-ACK的时候,需要在接收到的PDSCH和反馈ACK的PUCCH之间有一个delay,这个delay为k个slot,这段时间用于UE来生成这个UCI。delay在接收DCI format 1_0调度的PDSCH时,由DCI中的PDSCH-to-HARQ_feedback timing indicator来指示,取值在范围{1, 2, 3, 4, 5, 6, 7, 8}内;对于DCI format 1_1和DCI format 1_2,还有额外的参数dl-DataToUL-ACK, dl-DataToUL-ACK-r16, dl-DataToUL-ACKForDCIFormat1_2(当配置了dl-DataToUL-ACK-r16则忽略dl-DataToUL-ACK)提供一个list,再根据PDSCH-to-HARQ_feedback timing indicator按照下表规则进行指示,即此时DCI中的这个域指示的是使用list中的第几个值,而不是直接指示delay的值。
在这里插入图片描述
另外,在TDD情况下,PUCCH的传输自然也受上下行配置的限制。
对于使用哪个PUCCH resource,在确定了PUCCH resource set之后,由DCI中的PUCCH resource indicator指示使用resource set中的第几个resource,如果DCI中未指示PUCCH resource indicator,则默认使用第一个。在这里插入图片描述

当PUCCH resource set中resource的数量大于8个时,UE根据下式确定resource index。在这里插入图片描述
如果为配置参数SPS-PUCCH-AN-List 且UE需要传输无对应PDCCH的PDSCH的HARQ-ACK,则PUCCH resource由参数n1PUCCH-AN指示。
有时HARQ-ACK和其他UCI type会复用在同一个PUCCH内传输,此时会为UE配置参数simultaneousHARQ-ACK-CSI;否则UE会丢掉CSI,在PUCCH内只传输HARQ-ACK。此时只适用于PUCCH format 2、3和4,因为根据前面的描述,我们知道PUCCH format 0和1的bit数太少了。另外在PUCCH format 0和1的SR和HARQ-ACK复用的情况下,UE选择只传输HARQ-ACK。
如果只提供了一个PUCCH resource set用于传输HARQ-ACK,则UE不希望配置simultaneousHARQ-ACK-CSI。
对于PUCCH format 1, 3, 4, 当配置了参数nrofSlots时,UE会在连续的若干个slot里重复同一个UCI,且UE不希望参数nrofSlots和subslotLengthForPUCCH同时配置。参数interslotFrequencyHopping会指示UE是否在这连续的多个slot内进行时隙间的PUCCH跳频。如配置了跳频,则偶数slot内的起始PRB为startingPRB,奇数slot内的起始PRB为secondHopPRB。
上面提到很多HARQ相关的参数,有的在信令中,有的在DCI中,这里将DCI中的HARQ相关的参数列举如下(以DCI format 1_1为例)。

  • HARQ process number – 4 bits,HARQ进程号,即HARQ ID;
  • PUCCH resource indicator – 3 bits,指示用于HARQ-ACK的PUCCH resource;
  • PDSCH-to-HARQ_feedback timing indicator – 0, 1, 2, or 3 bits,指示上述delay的大小;
  • One-shot HARQ-ACK request – 0 or 1 bit,指示UE将全部的HARQ进行的feedback都上报;
  • New data indicator – 1 bit,指示其为新传还是重传,用一个HARQ ID,NDI翻转表示新传;
  • Redundancy version – 2 bit,指示冗余版本,即该次为第几次重传。

总结

HARQ-ACK码本生成这里不做讨论,上面的具体细节也暂时隐藏起来,一些特殊的情况也不做讨论,我们可以将DL HARQ用几句话简单总结一下就是:UE收到DCI调度的PDSCH之后,为了让网络侧知道是否接收成功,需要给网络侧一个HARQ反馈,这个反馈可以放在PUCCH内传输。HARQ相关的一些信息携带在调度PDSCH的DCI内,网络侧在拿到反馈之后,通过DCI当中的信息告知UE所传输PDSCH的HARQ ID、新传还是重传、第几次重传等信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我就是你们要打的张小贱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值