首页 > 编程学习 > NR PUCCH(四) UL data operation

NR PUCCH(四) UL data operation

发布时间:2022/10/1 0:05:43

UE 在connected mode 需要实时和网络进行上下行通信,在UE有UL data要发送但是没有UL grant时,就需要向网络端发送SR请求资源,网络收到SR就会在激活的BWP上发送 UL DCI给UE,UE 根据UL DCI 信息 获得UL grant ,然后在PUSCH对应的资源上就可以发送UL data给网络,最后网络端通过HARQ 过程指示是否有收到对应的data。这是UL data 的基本流程,下面通过实际log分别看下UL data operation的各个过程。

UL data operation流程图如下。6bee234d56fe4f528d7648dff4ae5aac.png

 

上图主要分为四个步骤:

SR: 向网络端发出请求, 要网络端提供上行资源。

UL grant: 网络端收到SR后提供给UE的上行资源, 包含RB, MCS, TBS, … 涉及时频域资源的分配。

PUSCH data: UE在PUSCH由UL grant指定的资源发出UL data。

PDCCH NDI: 网络端通过PDCCH的New Data Indicator (NDI)告诉UE,有无收到PUSCH data, 如果有正确收到, 则会翻转NDI的值, 0或1

UL/DL data operation中经常提及的几个参数代表的含义总结如下

K0:在PDCCH上收到DL DCI后需要去PDSCH 上接收DL data,K0代表DL grant与DL transmission 时间偏移,即DL DCI 的时隙和调度PDSCH 时隙的偏移间隔,需要结合DCI field Time domain resource assignment的value作为索引在PDSCH-TimeResourceAllocationList中找映射值,初始接入时要根据默认的PDSCH 时域资源分配表确定(参见NR PDSCH(一) 时域资源)。

K1:从PDSCH 上收到DL data后,UE 需要在PUCCH 上发送HARQ ACK/NACK消息给网络端,K1代表PDSCH 接收的slot n与 PUCCH 进行HARQ-ACK的 时隙偏移,根据DCI PDSCH-to-HARQ_feedback timing indicator field与RRC 层参数dl-DataToUL-ACK/dl-DataToUL-ACK-r16/dl-DataToUL-ACKForDCIFormat1_2确定(参见NR PUCCH(三) PUCCH resource 的配置与调用)。   

K2:从PDCCH 上收到UL grant,需要去PUSCH 上发送UL data。K2代表UL grant与UL transmission 时间偏移,即UL DCI 的时隙和调度PUSCH 时隙的偏移间隔 (后面PUSCH再具体说),需要结合DCI 中的Time domain resource assignment field 及RRC 层配置pusch-TimeDomainAllocationList确定,初始接入时和PDSCH一样有规定默认配置 。

Scheduling Request 会在RRC连接态,UE没有上行资源时,通过PUCCH resource发送。

根据RRC OTA中配置的SR资源 schedulingRequestID 0,可以确定mapping到PUCCH resource 是 pucch-ResourceId 16;PUCCH resource对应 PUCCH format 1 ,通过startingSymbolIndex 0 及nrofSymbols 14,可以确定PUCCH format 1占用14个符号也就是占满一个时隙,有enable时隙内跳频,StartingPRB 272, secondHopPRB 5是跳频相关的参数。

8b0ca9ee1b8b4a31a9d3c12c64d98074.png

 

PUCCH format 1一个时隙内对应时频域示图如下:03ae5f757532498897a70b7f6d8ac244.png

 

SR发送周期及偏移periodicityAndOffset sl40 : 38 ,即每40个时隙 传一次,要在第39个时隙传输SR(index 0~39)。

从log中看到UE 在frame 573 slot 18 用PUCCH format 1 发送了SR,根据38.213 9.2.4中确定SR发送时机的公式,可知frame 573 slot 18满足公式,确实是可以发送SR(SCS=30khz N_frame_slot =20),计算过程如下。PUCCH power control暂时先忽略,后面具体讲述时再举例。a7c22b43e2f64f8a91effa06a2eb1667.png

SR发送时机内容参见NR PUCCH(一)

UE 在frame 574 slot 5收到了UL grant  DCI 0_1,带有MCS RB等信息,UE通过DCI  Time domain resource assignment field结合pusch-TimeDomainAllocationList,确定K2,Q log中需要根据Symbol Alloc Index确定 Time domain resource assignment ,Symbol Alloc Index=Time domain resource assignment=0 。9239d3c9599147e4a0bddbe36cca483d.png

有时候pusch-ConfigCommon和pusch-Config 都会包含 pusch-TimeDomainAllocationList,这时候要根据38.214 Table 6.1.2.1.1-1确定要用哪个pusch-TimeDomainAllocationList;目前所看的log对应的就是最后一项,所以要以pusch-Config 中的pusch-TimeDomainAllocationList为准。90db8572a345480aa1eca30f9d6ad22b.png

 pusch-Config 中的pusch-TimeDomainAllocationList如下

 

 

ea41dd1ba6c94e4fb440fdec4631a4f6.png根据Time domain resource assignment 确定mappingType为 type B, K2 =3 即UE需要在frame 574  slot 8对应的资源上发送PUSCH data。startSymbolAndLength =27 对应S=0  L=14,如下log中 在frame 574  slot 8 对应的资源上发送了PUSCH data,其中Start symbol=0,symbol number =14 正好对应S=0  L=14。

4456e50ef17e407e8639d61c4fcce763.png 再看下频域分配,BWP ind为Bandwidth part indicator field 取值为1,代表用的是RRC配置的BWP-id=2 的BWP,RA type =1.UL RB分配 start RB 为144,RB number为4。

 

 

fd390ab8170b4ed18697090526126799.png最后一步,PUSCH data发送出去了,如何确定网络端是否有收到呢?我们知道UE 收到DL data 后可以在PUCCH 上发送HARQ-ACK.NACK通知网络端,而UL data发送给网络端后,主要是通过网络再次下发 UL DCI 的HARQ process number和New data indicator (NDI) field 来确定网络端是否有收到UE 的UL data。

 

在同样的HARQ process上NDI有toggle (由1翻转为0,或由0翻转为1), 代表网络端有收到PUSCH data 即ACK。

New data transmission: 相同HARQ ID 及NDI toggled;

Data retransmission: 相同HARQ ID 及NDI没有toggled。

这份log中 在frame 574 slot 5上收到HARQ id 0 的DCI 0_1 NDI=0 RV= 0,之后在frame 574 slot 15上收到了HARQ id 0 DCI 0_1 NDI =0,RV=2;最后在frame 575 slot 5上收到HARQ id 0 的DCI 0_1 , RV= 0,NDI=1 ,NDI 翻转 说明 网络端有收到对应的data,即最后这次进行的是new data传输。

 

c449eabcffc14753ae4f87c9a2c18d44.png上面的log对应的R15版本的内容,其他未提及的内容后面会在PUSCH/HARQ/CSI等部分再说。微信同步更新欢迎关注同名“modem协议笔记”

 

 

 

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号