UE上报ACK/NACK的算法理解(对应PDSCH)当需要传送ACK/NACK和SR时,若SR为negative,则使用ACK/NACK对应的PUCCH资源;若SR为positive时,则使用SR对应的PUCCH资源,且使用format1b格式,因为SR使用的PUCCH资源是固定的,由参数NPUCCH(1)指定。PDSCH的ACK/NACK消息可承载在PUCCH或PUSCH上,TDD有bundling和multiplexing两种反馈模式,configuration5仅支持bundling,因为configuration5只有一个下行subframe。对于configuration1来说,上行subframe7对应下行subframe0和1,上行subframe8对应下行subframe4,因此每个上下行subframe都对应好了。以configuration1为例,对于上行subframe7来说,在subframe1中的DCI0中检测出的VDAIUL表示,在subframe0和subframe1中用于PDSCH传输的subframe的个数。VDAIUL:congfiguration1~6,在该上行subframe对应的所有下行subframe中,发送PDSCH信道和发送带有DLSPSrelease指示的PDCCH信道的总和(VDAIUL的统计周期为subframen-k,其中k∈K)。该值在调度该上行subframe的DCI0中指示(因为k'都小于k,即subframen-k都在发送DCI0的subframe的前面,故VDAIUL是对前面满足要求的subframe中发送PDSCH信道和发送带有DLSPSrelease指示的PDCCH信道和的汇总。例如,configuration1:假设subframe的n为7,k'=6,k=7,6,即在subframe1中包含有DCI0,其中有VDAIUL,且统计的是subframe0和1中的发送PDSCH信道和发送带有DLSPSrelease指示的PDCCH信道和)。在一个统计周期内,最多只会出现一次DCI0;VDAIDL:congfiguration1~6,在该上行subframe对应的所有下行subframe中,表示发送带有调度PDSCH的PDCCH信道和发送带有DLSPSrelease指示的PDCCH信道的个数的累计和。该值在调度该上行subframe对应的某个PDSCH的DCI1/1A/1B/1D/2/2A/2B中指示(km也是最小值,对configuration1来说,假设subframe的n为7,km=6,即在subframe1中包含有DCI1/1A/1B/1D/2/2A/2B,其中有VDAIDL,k=7,6,即统计的是subframe0和1中用于发送带有调度PDSCH的PDCCH和发送带有DLSPSrelease指示的PDCCH的个数的累计和)。在每个调度PDSCH信道的PDCCH中都有VDAIDL字段,该字段每个subframe都会更新,个人理解VDAIDL的统计周期为subframen-k,其中k∈K,更新方法为:对于某个configuration来说,统计周期是固定的,例如configuration2,统计周期为下行subframe4、5、6、8,对应后一帧的上行subframe2,或上一帧的subframe9、本帧的subframe0、1、3,对应本帧的上行subframe7。因此每到subframe4或subframe9时,VDAIDL重新从0开始累计,每个subframe都会更新,UE只用本统计周期中的最后一个subframe中带有的VDAIDL;UDAI:在该上行subframe对应的所有下行subframe中,用于发送调度PDSCH的PDCCH和发送SPSrelease指示的PDCCH的个数的总和;NSPS:取值0或1,表示发送没有用PDCCH调度的PDSCH的数量。SPS对应的PDSCH在一个统计周期内最多只会出现一个。因为SPS的周期应该在20ms以上。Nbundled:用于UCI在PUSCH上传输时,加扰序列的选择。VDAIUL和VDAIDL是eNodeB指示的在统计周期为subframen-k(其中k∈K)内的值,而UDAI和NSPS是UE在统计周期为subframen-k(其中k∈K)内自己统计的值。UDAI+NSPS为什么DLSPSreleaseindicating就一定是ACK响应?为了释放DLSPS,eNodeB在PDCCH上发送SPSrelease,如果UE正确收到该消息,必须反馈ACK(UE要么正确收到回ACK,要么不能正确解调,什么也不响应);但即使UE回ACK,eNodeB也有可能收到NACK,则SPSrelease过程重新开始。对于TM3、4、8,且使用了bundling模式,即使UE仅使用了一个codeword,UE也要生成两bit的ACK/NACK,codeword1始终为NACK。OACK(ACK/NACK的比特数)VDAIUL包含了统计周期内所有的PDSCH信道数以及带有DLSPSrelease指示的PDCCH信道数的和,而VDAIDL仅表示带有调度PDSCH的PDCCH信道数以及带有DLSPSrelease指示的PDCCH信道数的和,因此VDAIUL≥VDAIDLkm(km,m个k值中最小值)。若NSPS0,则VDAIUL=VDAIDLkm+1;若NSPS=0,则VDAIUL=VDAIDLkm。在每个subframe内,对两个codeword的ACK/NACK或DLSPSrelease指示的PDCCH信道的ACK进行逻辑与合并。若NSPS0,则对SPS的PDSCH信道的ACK/NACK响应映射到oACKOACK-1。每个subframe内,对PDSCH信道中的两个codeword的ACK/NACK或DLSPSrelease指示的PDCCH信道的ACK进行逻辑与合并。目前先理解:1)在同一个subframe中,要么传输SPSPDSCH,要么传输非SPSPDSCH,两者不可同时传输;2)若一个subframe中存在DLSPSrelease指示的PDCCH,则不会再存在调度PDSCH的DCI。为了释放DLSPS,eNodeB在PDCCH上发送SPSrelease,如果UE正确收到该消息,必须反馈ACK(UE要么正确收到回ACK,要么不能正确解调,什么也不响应);但即使UE回ACK,eNodeB也有可能收到NACK,则SPSrelease过程重新开始。