任意码长的Polar码编码方法与流程

文档序号:18247133发布日期:2019-07-24 09:26阅读:3046来源:国知局
任意码长的Polar码编码方法与流程

本发明具体涉及一种任意码长的Polar码编码方法。



背景技术:

Polar码,即Polar Codes,极化码,是2009年由土耳其教授E.Arikan提出的一种新型信道编码方案,该方法基于信道极化理论,是第一种能够通过严格的数学方法证明达到香农极限的编码方式。在进行极化编码之前对N=2n个独立的二进制输入信道W(或者对于一个信道在不同时隙内反复使用N次)依据如图1所示的极化单元进行极化,在经过信道合并(Channel Combination)和信道分裂(Channel Splitting)操作之后得到N个相互关联的极化信道,并且在信道极化之后,所有分裂子信道的信道容量都会发生变化,一部分增大趋近于1,我们称之为无噪声信道。另一部分趋近于0,我们称之为纯噪声信道。信道极化过程如图2所示。码长N为1024的信道极化后的信道容量分布也在图3中给出。

传统极化码由Kronecker幂构造,这种构造方式只能构造码长为2n(n=1,2,...)的Polar码,尽管其他码长的Polar码可以通过利用BCH等其他极化核来进行构造,但是码长仍然受限于核长的幂次,且这种构造方式的译码结构较为复杂。这大大影响了Polar码在数字通信领域的应用灵活性。而目前的部分通过删除部分码字比特的方式来实现任意码长的构造方法虽然实现了任意码长的构造,但是其译码误码率却大幅增高,严重损失了通信系统的性能。



技术实现要素:

本发明的目的在于提供一种使用方便且不需要进行码字删除的任意码长的Polar码编码方法。

本发明提供的这种任意码长的Polar码编码方法,包括如下步骤:

S1.根据编码需求,确定编码参数;

S2.首先对所有用于传输信息的子信道进行标记,然后对特定信噪比下的若干个子信道的信道容量进行排序,并将排序后的信道索引序列进行存储;

S3.设定极化核,并根据设定的极化核及编码参数计算中间矩阵和需要删除的行数;

S4.根据步骤S3得到的中间矩阵和需要删除的行数,计算得到初始约化矩阵;

S5.对步骤S4得到的初始约化矩阵进行判定和修正,从而得到新的极化矩阵;

S6.根据步骤S5得到的新的极化矩阵,构造信息序列并进行极化编码,从而得到最终的编码。

步骤S1所述的确定编码参数,具体包括信息位长度K、预编码长度N和编码长度M;预编码长度为通过传统极化编码所需要的固定编码长度;K<M<N,且N=2n,为向上取整函数。

步骤S2所述的对所有用于传输信息的子信道进行标记,对特定信噪比下的若干个子信道的信道容量进行排序,并将排序后的信道索引序列进行存储,具体为将所用于传输信息的预子信道标记为W1,W2,...,WN,采用巴氏参数法对特定信噪比下N个子信道的信道容量进行排序,并将排序后的信道索引序列存为信道容量矩阵p=[Wi Wj Wm … Wz]。

步骤S3所述的设定极化核,并根据设定的极化核计算中间矩阵和需要删除的行数,具体为采用如下步骤计算中间矩阵和需要删除的行数:

A.设定极化核对F进行n次Kronecker幂计算从而得到极化矩阵

B.将极化矩阵G进行反序重排得到中间矩阵

C.计算约化矩阵需要删除的行数t=N-M。

步骤S4所述的根据步骤S3得到的中间矩阵和需要删除的行数,计算得到初始约化矩阵,具体为采用如下步骤计算得到初始约化矩阵:

a.对于中间矩阵GN,计算列权重为1的列数m和需要约化的行列数t,并对m和t进行比较:

若m>t,则根据信道容量矩阵p中信道容量大小,在列权重为1的m列中,选取t列,对其中元素1所在的行列进行删除;选取和删除的标准为:依据矩阵p中信道容量大小顺序,删除信道容量小的索引号所对应的列;

若m=t,则删除列权重为1的m列中,元素1所在的行列;

若m<t,,则列权重为1的m列中,删除元素1所在的行列,并再一次进行极化矩阵列权重的计算,删除剩下的权重为1的列,并保证总删除的列数为t;删除的标准为:信道容量小的优先删除;

b.得到初始约化矩阵GM'。

步骤S5所述的对步骤S4得到的初始约化矩阵进行判定和修正,从而得到新的极化矩阵,具体为采用如下规则进行判定和修正:

判断初始约化矩阵GM'的最后一列的最后一个元素是否为1:

若是,则认定步骤S4得到的初始约化矩阵为新的极化矩阵GM;

若不是,则选择初始约化矩阵GM'中,列元素最后一个为1且权值最小的列,将该列与最后一列交换列位置,从而生成新的极化矩阵GM。

步骤S6所述的根据步骤S5得到的新的极化矩阵,构造信息序列并进行极化编码,从而得到最终的编码,具体为采用如下步骤构造信息序列和进行极化编码:

1)在信道容量矩阵p中删除t列的列索引,得到矩阵p';

2)在矩阵p'中选取信道容量最大的K个作为信息位;

3)构造信息序列

4)进行极化编码编码长度为M;GM为步骤S5得到的新的极化矩阵。

本发明提供的这种任意码长的Polar码编码方法,不需要进行码字删除操作,从极化矩阵的约化来进行编码,使得Polar码的编码器输出的编码序列可以是任意码长,提高了Polar码在5G应用中应用灵活性;并且,本发明结合PCC-0信道挑选算法,在编码器和译码器都已知的位置矩阵p中较差信道所映射的列进行约化操作,尽量避免了信息位的漏失,保证了信息的有效传送同时本发明在译码端对于未知比特的似然信息已知,避免了传统删除码字方法利用先验信息来估计未知比特似然信息的问题,从而降低了译码误码率,提升了通信系统的性能,具有更高的数字通信系统应用性。

附图说明

图1为现有技术的极化码的基本极化单元示意图。

图2为现有技术的信道极化现象的极化过程示意图。

图3为现有技术的依据信道极化理论当码长N为1024的信道容量分布图。

图4为本发明方法的方法流程示意图。

图5为本发明方法的约化矩阵约化列(N=8,M=5)的示意图。

具体实施方式

如图4所示为本发明方法的方法流程示意图:本发明提供的这种任意码长的Polar码编码方法,包括如下步骤:

S1.根据编码需求,确定编码参数;具体包括信息位长度K、预编码长度N和编码长度M;预编码长度为通过传统极化编码所需要的固定编码长度;K<M<N,且N=2n,为向上取整函数;

S2.首先对所有用于传输信息的子信道进行标记,然后对特定信噪比下的若干个子信道的信道容量进行排序,并将排序后的信道索引序列进行存储。具体为将所用于传输信息的预子信道标记为W1,W2,...,WN,采用巴氏参数法对特定信噪比下N个子信道的信道容量进行排序,并将排序后的信道索引序列存为信道容量矩阵p=[Wi Wj Wm … Wz];

S3.设定极化核,并根据设定的极化核及编码参数计算中间矩阵和需要删除的行数;具体为采用如下步骤计算中间矩阵和需要删除的行数:

A.设定极化核对F进行n次Kronecker幂计算从而得到极化矩阵

B.将极化矩阵G进行反序重排得到中间矩阵

C.计算约化矩阵需要删除的行数t=N-M;

S4.根据步骤S3得到的中间矩阵和需要删除的行数,计算得到初始约化矩阵;具体为采用如下步骤计算得到初始约化矩阵:

a.对于中间矩阵GN,计算列权重为1的列数m和需要约化的行列数t,并对m和t进行比较:

若m>t,则根据信道容量矩阵p中信道容量大小,在列权重为1的m列中,选取t列,对其中元素1所在的行列进行删除;选取和删除的标准为:依据矩阵p中信道容量大小顺序,删除信道容量小的索引号所对应的列;

若m=t,则删除列权重为1的m列中,元素1所在的行列;

若m<t,,则列权重为1的m列中,删除元素1所在的行列,并再一次进行极化矩阵列权重的计算,删除剩下的权重为1的列,并保证总删除的列数为t;删除的标准为:信道容量小的优先删除;

b.得到初始约化矩阵GM′;

S5.对步骤S4得到的初始约化矩阵进行判定和修正,从而得到新的极化矩阵;具体为采用如下规则进行判定和修正:

判断初始约化矩阵GM'的最后一列的最后一个元素是否为1:

若是,则认定步骤S4得到的初始约化矩阵为新的极化矩阵GM;

若不是,则选择初始约化矩阵GM'中,列元素最后一个为1且权值最小的列,将该列与最后一列交换列位置,从而生成新的极化矩阵GM;

S6.根据步骤S5得到的新的极化矩阵,构造信息序列并进行极化编码,从而得到最终的编码;具体为采用如下步骤构造信息序列和进行极化编码:

1)在信道容量矩阵p中删除t列的列索引,得到矩阵p';

2)在矩阵p'中选取信道容量最大的K个作为信息位;

3)构造信息序列

4)进行极化编码编码长度为M;GM为步骤S5得到的新的极化矩阵。

以下,结合一个具体实施例,对本发明方法进行进一步说明:

在构造极化码时,若码长不为2的幂次,则将极化矩阵按照列权重排比以及结合信道容量索引排序对极化矩阵进行约化,使生成矩阵在较小性能损失的情况下被约化为大小为码长的方阵,从而进行极化编码,实现任意码长Polar编码。

确定编码参数,其中主要包括信息位长度K=4,预编码长度N=8,以及编码长度M=5,它们之间满足数学关系:K<M<N,且N=2n,为向上取整函数;本步骤为将信息位4序列编码为所需长度的二进制编码序列;

将所用于传输信息的预子信道标记为W1,W2,W3,W4,W5,W6,W7,W8,并采用PCC-0(巴氏参数法)对特定信噪比下8个子信道的信道容量进行排序,并将排序后的信道索引序列标记为矩阵p=[W3 W1 W5 W4 W8 W2 W6 W7];

设定极化核对F进行n次Kronecker幂计算得到G:

对极化矩阵G进行反序重排得到G8:

计算t=N-M=3;

经过计算,最后一列的权重为1标注为①,在构造码长M=7的Polar码时这是需要删除的第一个索引指标,删除这列中元素1所在的行和列得到M=7的生成矩阵,删除之后经过计算,此时7×7矩阵中列权重为1的有三列,分别是第4、6、7列,此时我们对比信道容量矩阵p发现信道容量之间的关系是第7列>第6列>第4列,因此当我们构造码长M=6的Polar码时删除第4列中元素1对应的行和列,标注为②,构造码长M=5时删除第6列中元素1对应的行和列,标注为③;

在删除之后得到的初始约化矩阵为G5'的最后一列的最后一个元素并不是1,因此,如图5所示,选择矩阵G5'列元素最后一位为1,且权值最小的列(第二列),与最后一列交换列位置得到极化矩阵即为任意码长Polar码的生成矩阵GM;

在除删除t=3列的列索引之外的矩阵p中选取信道容量最大的K=4个进行信息位的存放。因此在图5中在信道索引为3、1、5、4放置信息位,其余M-K=1个位置为冻结位,构造信息序列进行极化编码编码长度为任意码长M;本次具体实施方式中的M=5。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1