有朋友对如何通过HARQ判断是否是新传还是重传有疑问,这里就简单整理下相关内容。
先看下DL 新传和重传是如何判定的。
HARQ process根据DCI 中的New data indicator(NDI) field指示来判定接收的TB块是新传还是重传block:
1 相同HARQ id ,相比于前一个TB,新的TB NDI 反转
2 broadcast 过程,RRC 根据SI 调度indicated 这是第一次接收的 TB
3 之前没有这个TB 的NDI,是第一次收到这个TB 的传输
则认为这是个新传 ,否则认为是重传。
比如上图HARQ ID 15 前后两个TB 其中的NDI 从0变成了1,发生toggle,代表新的TB是新传;NDI没有toggle就是重传。
UL HARQ process也有类似的描述:
UL HARQ也有TB 新传和重传的描述,对于HARQ buffer非空且C-RNTI调度的场景,也是通过NDI是否toggle进行判断。
单纯看NDI toggle,在前后同样的HARQ process上NDI有toggle (由1翻转为0,或由0翻转为1), 代表网络端有收到PUSCH data即ACK,就是新传,否则就是重传。
这份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传输。