5GNR中PDCCH的polar编码

5GNR中在DCI比特收集和大小对齐后,进行CRC添加,然后再用RNTI值加扰,接下来就是polar编码。
首先进行交织,按照38212 5.3.1.1中的交织方式对编码输入比特序列进行交织。(所谓交织就是变换序列的位置,比如原来在第一位的比特,交织后变到第6位了)
接下来就是polar编码了,分为以下几步:1.母码长度的确定。2.冻结比特和信息比特的确定。3.u比特序列的求取。4.d=u*GN.
1.母码长度的确定
按照38212 5.3.1中所述,根据速配长度E(由聚合级别AL决定)以及输入比特长度K来确定n,编码输出长度为N=2^n。
2.冻结比特和信息比特的确定
这一步比较麻烦,细细谈。
(这里要说一下速匹方案有三种,一是polar编码输出长度NE且K/E<=7/16,速匹模式为打孔,将前N-E个比特打掉,除此之外,还有一些位需要打掉的,并且这些位在接收端是未知的;三是N>E且K/E>=7/16,速匹模式为缩短,这种模式下,将剪掉最后N-E个比特。)
根据速匹这几种模式,那么冻结比特中应该包含速匹模式为打孔时打掉的位,或者速匹模式为缩短时不传输的最后N-E位,还有编码前比特长度是K,编码后比特长度是N,加上奇偶校验位n_pc,那么N-K-n_pc位应该是编码后多出的冗余位,这些位是为了确保信道可靠而增加的冗余,应该放在可靠度低的子信道上传输。所以冻结比特就是以上这些情况(可无)的比特并集。
(1)我们先根据权重矩阵W(Q_Nmax)以及编码输出长度N,找出索引 5GNR中PDCCH的polar编码_第1张图片
注意上面这个权重矩阵W(Q_Nmax),它的可靠度值是依次递增的,Q_N才是子信道索引,W(Q_Nmax)是对应的子信道的可靠度值。
这里找出的子信道可靠比特Q_N1集合是Q_N 例如N=10,则Q_N0={0,1,2,3,4,7,8,10,11,13}.然后找出对应这些可靠度值的子信道索引即
Q_N1=find(W(Q_Nmax)==Q_N0)
(2)速匹前有一操作即子块交织,得到子块交织后的索引J(n)
if E if K/E<=7/16(说明速匹模式是打孔)
则需打掉J(n)的前N-E个比特,也即选出J(n)的前N-E个比特中的值做冻结比特子信道索引号Q_F,temp
再此基础上还有要打孔的位
if E>=3N/4
在j(n)前ceil(3N/4-E/2)-1个比特中的值除了Q_F,temp之外的子信道序号也选作冻结比特
else E<=3N/4
在j(n)前ceil(9N/16-E/4)-1个比特中的值除了Q_F,temp之外的子信道序号也选作冻结比特
end
else (说明速匹模式是缩短)
则需剪掉J(n)的最后N-E个比特,也即选出J(n)的后N-E个比特中的值做冻结比特子信道索引号
end
end
(3)从可靠比特集合Q_N1中减去冻结比特索引集合,得到Q_I,temp
再从Q_I,temp中只取前N-E-n_pc个索引作为最终的信息比特索引Q_I
(4)从可靠比特集合Q_N1中减去Q_I信息比特索引集合余下的全作为冻结比特,放固定比特0.
3.u比特序列的求取
去找协议吧,按协议的伪代码来写
4.

你可能感兴趣的:(5G,NR,PDCCH)