解调PUSCH上复用的控制信息,包括ACK,CSI part1和CSI part2。
不同类型的UCI译码流程是相同的。
本小节节的译码相当于[2]中6.3.2节的逆过程,具体如下图:

不同控制信息比特数目,可能会导致比特级处理流程中部分模块的处理有所不同,所以上图中有些模块需要针对不同的控制信息比特数目采用不同的算法。本节后续将说明下信道译码的算法,其他模块根据协议定义实现即可。
UCI的译码有两大类,小块译码和Polar码译码。
根据[2]中表5.3.3.1-1 1比特控制信息的编码规则如下:

其中c0为控制信息比特,x和y为协议定义的标志比特,对应到加扰后,x固定为比特1,y等于其前一个比特。所以解扰后比特c0和y应的软信息表示的比特信息应该是一致的,译码时可进行合并,提高译码性能。
根据[1]中6.3.1.1节,PUSCH的加扰需要对x,y比特进行特殊处理,而2.8节并未区分,所以当UCI比特等于2比特时,需要重新解扰,假设需要译码的UCI比特为d,对应的扰码为s,则重新解扰方式如下:
1. 去除2.8节影响,d=d*(1-2s);
2. 根据加扰规则,更新

3. 利用更新后的s重新解扰d,llr=d*(1-2s)。
完成解扰后,继续进行1比特UCI的译码,假设比特c0和y对应的软信息分别为LLR1和LLR2,则LLR=LLR1+LLR2,译码结果

根据表5.3.3.2-1 2比特的控制信息编码规则如下:


假设c0,c1,c2分别对应LLR1,LLR2和LLR3,根据c2的定义,对应每种c0,c1,计算llr

上表中计算得到的最大LLR值对应的c0,c1就是目标译码结果。
当控制信息比特数为3~11时,采用RM译码,RM译码算法与PUCCH一样,详见3.4.6~3.4.7节。
当控制信息比特数大于12时,采用Polar码译码,Polar码译码算法与PUCCH一样,详见3.4.6~3.4.7节。
网友评论