本发明涉及通信信道编码领域,更具体地,涉及一种polar码构造方法及装置。
背景技术:
自香农于1948年发表的论文《通信的数学理论》里证明了能达到香农限的好码的存在以来,信道编码领域一直在不懈努力,以找到这样一种好码的构造方法。arikan在2007年首次提出一种能达到二进制离散无记忆信道(b-dmcs)的信道容量的编码方法-polar码,该种编码方式拥有较低的编译码复杂度,被确定为5g通信控制信道下的短码编码方式。
判别一种编码方式的性能的主要指标是其纠错性能。arikan最初提出以二阶核矩阵来构造生成矩阵,在这种构造方法下,当错误指数β<1/2,码长n→∞,码率r<i(w)时,polar码的误帧概率上限为
目前,有学者基于此提出了一种行替换方法来增加polar码的最小汉明距离,改善polar码的性能。该方法是将polar码信息位生成子矩阵中行重最小的行gni和冻结位生成子矩阵gnf中行重最大的行相互交换,并且gni中行重最小的行对应的信息位和gnf中行重最大的行对应s的冻结位也互换位置。该种方法适用的前提条件是码率r=1/2。
然而,在实际通信过程中,码率不一定为1/2。此时gni中行重最小的行数目和gnf中行重最大的行数目不相等,出现了不对称情况,因此不能用完全替换的方法来增加polar码的汉明距离,因而在不对称情况,polar码的纠错能力较低,需要一种提高不对称情况polar码纠错能力的方法。
技术实现要素:
本发明提供一种克服上述问题或者至少部分地解决上述问题的polar码构造方法及装置。
根据本发明的一个方面,提供一种polar码构造方法,包括:
s1,在对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行全部进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位全部进行相互交换;
s2,在不对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行部分进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位部分进行相互交换。
具体的,所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf通过以下步骤生成:
对于码长为n的polar码,计算信道的巴氏参数
对于任意给定的码率r,获取巴氏参数较小的k位作为信息位ui,其他的n-k位作为冻结位uf,其中k=n×r;
基于所述信息位的索引生成所述信息位生成子矩阵gni,基于所述冻结位的索引生成所述冻结位生成子矩阵gnf。
具体的,所述对称情况下的码率r=1/2,所述非对称情况下的码率r≠1/2。
进一步,所述s2进一步包括:
获取所述gni中行重最小的行中对应的巴氏参数值较大的m行及其对应的m个信息位;
获取所述gnf中行重最大的行中对应的巴氏参数值较小的m行及其对应的m个冻结位;
将所述gni中的所述m行和所述gnf中的所述m行进行相互交换,且将所述m个信息位和所述m个冻结位进行相互交换;
其中,m为交换行数,m为自然数且m≤3。
具体的,根据下式确定所述交换行数m:
若max{a,b}≤3,则m=min{a,b}行;
若min{a,b}≤3,max{a,b}>3,则交换m=min{a,b}行;
若min{a,b}≥3,则m=3;
其中,a为gni中行重最小的行向量数目,b为gnf中行重最大的行向量数目。
具体的,通过下式计算所述巴氏参数:
其中,z()为巴氏参数,i=1,2,…n,n为polar码的码长,
进一步,所述基于所述信息位的索引生成所述信息位生成子矩阵gni,基于所述冻结位的索引生成所述冻结位生成子矩阵gnf的步骤之后,进行相互交换之前还包括:
分别对所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf中的行重进行排序,且分别对所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf中每一行对应的索引进行重新排序。
进一步,所述对于码长为n的polar码,计算信道的巴氏参数的步骤之后还包括:
基于所述巴氏参数对所述polar码的信息位索引和冻结位索引进行排序。
根据本发明的另一个方面,还提供一种polar码构造装置,包括对称交换模块和非对称交换模块;
所述对称交换模块,用于在对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行全部进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位全部进行相互交换;
所述非对称交换模块,用于在不对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行部分进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位部分进行相互交换。
本发明提出一种polar码构造方法及装置,在已有polar码构造方法基础上进行改进,充分考虑信息比特的巴氏参数以及码字的重量分布对polar码纠错性能的影响,在不对称情况下,通过部分行向量交换,改变gni中最小行重的行数目,使得gni中具有最小行重的行尽量少,进而改变码字的重量谱分布,从而改善码的性能。同时使该种构造方法在任意码率下都适用,弥补现有构造方法的不足。
附图说明
图1为本发明实施例一种polar码构造方法流程图;
图2为本发明实施例r=1/2时改进前后polar码性能对比示意图;
图3为本发明实施例r=2/3时改进前后polar码性能对比示意图;
图4为本发明实施例r=3/4时改进前后polar码性能对比示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
当polar码的码率为1/2时,gni中行重最小的行数目和gnf中行重最大的行数目不相等的,是一种对称情况。在实际通信过程中,polar码的码率不一定为1/2。当polar码的码率不为1/2时,gni中行重最小的行数目和gnf中行重最大的行数目不相等,出现了不对称情况。
码率分别为1/2和2/3时,部分码长的polar码的信息位生成子矩阵gni和冻结位生成子矩阵gnf的行重以及该行重出现的频率分别如表1和表2所示。
表1r=1/2时,生成子矩阵和行重及行重出现的频率
表2r=2/3时,生成子矩阵和行重及行重出现的频率
由表1可知,给定码长n,r=1/2时,gni和gnf对应行重出现的频率呈对称分布,然而当r≠1/2时,gni和gnf对应的每个行重出现的频率呈不对称分布。例如当n=512,r=1/2时,gni行重为wt=8,16,32,64,,其对应的重量分布为d(wt)=2,36,90,82,36,9,1;gnf行重为wt=1,2,4,8,16,32,64,其对应的重量分布为d(wt)=1,9,36,82,90,36,2,行重最小和行重最大的行数目都为2。又如n=512,r=2/3,gni中行重最小(重量为8)的行有13行,gnf中行重最大(重量为32)的行为5行,此时出现了不对称情况。因此不能用完全替换的方法来增加poalr码的汉明距离。
因此本发明基于polar码生成子矩阵的行重和巴氏参数,提出一种改进的polar码构造方法,该构造方法在任何码率下均适用,且能显著提高polar码的纠错能力。
如图1所示,一种polar码构造方法,包括:
s1,在对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行全部进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位全部进行相互交换;
s2,在不对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行部分进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位部分进行相互交换。
具体的,所述对称情况下的码率r=1/2,所述非对称情况下的码率r≠1/2。
本发明实施例中所涉及的标号s1和s2,仅具有对处理步骤进行标识的作用,并不限定各编号的步骤之间的先后顺序关系。
本发明实施例中,在已有polar码构造方法基础上,在对称情况下,由于gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行具有相同的数目,因而可以全部进行交换,一一交换。而在不对称情况下由于gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行的数目不相同,因而无法进行一一交换。
本发明实施例在不对称情况下,充分考虑信息比特的巴氏参数以及码字的重量分布对polar码纠错性能的影响,选择部分行向量进行交换,同时交换对应的信息位和冻结位,改变gni中最小行重的行数目,使得gni中具有最小行重的行尽量少,进而改变码字的重量谱分布,从而改善码的性能。同时使该种构造方法在任意码率下都适用,弥补现有构造方法的不足。
在一个可选的实施例中,所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf通过以下步骤生成:
对于码长为n的polar码,计算信道的巴氏参数
对于任意给定的码率r,获取巴氏参数较小的k位作为信息位ui,其他的n-k位作为冻结位uf,其中k=n×r;
基于所述信息位的索引生成所述信息位生成子矩阵gni,基于所述冻结位的索引生成所述冻结位生成子矩阵gnf。
本发明实施例所述对于码长为n的polar码,计算信道的巴氏参数的步骤之后还包括基于所述巴氏参数对所述polar码的信息位索引和冻结位索引进行排序。
在一个可选的实施例中,通过下式计算所述巴氏参数:
其中,z()为巴氏参数,i=1,2,…n,n为polar码的码长,
本发明实施例所述基于所述信息位的索引生成所述信息位生成子矩阵gni,基于所述冻结位的索引生成所述冻结位生成子矩阵gnf的一个具体示例如下:
当polar码长为n=8、码率r=1/2时,经计算巴氏参数值
将巴氏参数从小到大排序后,得到:
挑选巴氏参数小的索引位为信息位,巴氏参数大的索引位为冻结位,则得到的信息位为4,6,7,8;冻结位索引为1,2,3,5。
n=8时的生成矩阵:
因此冻结位对应的生成子矩阵为:
信息位对应的的生成子矩阵为:
在一个可选的实施例中,所述s2,在不对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行部分进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位部分进行相互交换,进一步包括:
获取所述gni中行重最小的行中对应的巴氏参数值较大的m行及其对应的m个信息位;
获取所述gnf中行重最大的行中对应的巴氏参数值较小的m行及其对应的m个冻结位;
将所述gni中的所述m行和所述gnf中的所述m行进行相互交换,且将所述m个信息位和所述m个冻结位进行相互交换;
其中,m为交换行数,m为自然数且m≤3。
具体的,根据下式确定所述交换行数m:
若max{a,b}≤3,则m=min{a,b}行;
若min{a,b}≤3,max{a,b}>3,则交换m=min{a,b}行;
若min{a,b}≥3,则m=3;
其中,a为gni中行重最小的行向量数目,b为gnf中行重最大的行向量数目。
本发明实施例中,在不对称的情况下,记gni中最小行重的行向量数目和gnf中最大行重的行向量数目分别记为a,b,a≤b。此时可将gni中最小行重的行和gnf中最大行重的行进行部分交换,其相应的部分信息位和冻结位也互换位置。根据信道极化理论,信息位比冻结位有更高的信道容量,因此交换后的信息位比原始的信息位的信道容量低,这会导致交换后信道容量降低。此时需要考虑待交换的信息位和冻结位的巴氏参数值,从gni最小行重的行中挑出对应巴氏参数值较大的m行,从gnf中最大行重的行中挑出对应巴氏参数值较小的m行进行交换,并且使交换的行数m≤3。
在一个可选的实施例中,所述基于所述信息位的索引生成所述信息位生成子矩阵gni,基于所述冻结位的索引生成所述冻结位生成子矩阵gnf的步骤之后,进行相互交换之前还包括:
分别对所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf中的行重进行排序,且分别对所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf中每一行对应的索引进行重新排序。
在本发明的一个具体实施例及应用中,所述polar码构造方法包括如下步骤:
(1)计算信道的巴氏参数
其中,
(2)对于任意给定的码率r,信息位的个数为k=n×r,挑选出巴氏参数较小的k位作为信息位ui,剩下的n-k位作为冻结位uf;
(3)计算信息位和冻结位索引分别对应的生成子矩阵gni和生成子矩阵gnf的每一行行重;
(4)对gni和gnf中的行重分别进行排序,并且gni和gnf中每一行对应的索引也重新排序;
(5)当码率r=1/2时,gni和gnf行重以及行重出现的频率呈现对称分布,此时将gni中行重最小的行和gnf中行重最大的行全部交换,其对应的信息位和冻结位也互换位置。
(6)当r≠1/2时,出现不对称情况。此时确定需要交换的行数。记交换的行数为m。
若max{a,b}≤3,则m=min{a,b}行;
若min{a,b}≤3,max{a,b}>3,则交换m=min{a,b}行;
若min{a,b}≥3,则m=3;
(7)从gni行重最小的行中挑出其对应巴氏参数最大的m行,从gnf行重最大的行中挑出其对应巴氏参数最小的m行,再将这m行相互交换。同时,对应的m个信息位和m个冻结位相互交换位置。
通过以上步骤构造了polar码后,可以按照编码公式
对本发明实施例所述一种polar码构造方法进行仿真实验的效果图如图2、图3和图4所示。所述仿真实验是在高斯信道下对原始polar码和通过本发明实施例所述方法改进的polar码性能进行对比。polar码码长分别为256、512,采用sc译码算法进行译码,并且当误帧数达到50帧停止仿真。
码率r=1/2时,polar码改进前后性能对比如图2所示。无论码长为256还是512,由于码率为1/2时,出现了对称分布的情况,此时将gni中行重最小的行及其所对应的信息位和gnf中行重最大的行及其对应的冻结位全部进行交换,polar码的最小汉明距离dmin由8变为16,因此polar码的性能得到提高。
码率r=2/3时,polar码改进前后性能对比如图3所示,码率r=3/4时,polar码改进前后性能对比如图4所示时。码率r=2/3和3/4时,出现不对称情况,与原始的polar码相比,改进的polar码性能得到提高。例如当误帧率为10-3,r=2/3时,码长为256的改进后的polar码和原始polar码相比有近0.7db的增益,码长为512的改进后的polar码和原始polar码相比有近0.2db的增益。并且当eb/n0增大时,polar性能改善更加明显。在这种非对称情况下,虽然将gni中行重最小的行及其对应的信息位和gnf中行重最大的行及其对应的冻结位进行了部分交换,但交换之后改变了polar码码字的重量分布,同时考虑了待交换的信息位和冻结位的巴氏参数对码的性能的影响,保证交换后的信息位的信道容量尽可能大,因此polar码的性能得到提高。
本发明还提供一种polar码构造装置,包括对称交换模块和非对称交换模块;
所述对称交换模块,用于在对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行全部进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位全部进行相互交换;
所述非对称交换模块,用于在不对称情况下,将polar码信息位生成子矩阵gni中行重最小的行和冻结位生成子矩阵gnf中行重最大的行部分进行相互交换,且将gni中行重最小的行对应的信息位和gnf中行重最大的行对应的冻结位部分进行相互交换。
具体的,所述对称情况下的码率r=1/2,所述非对称情况下的码率r≠1/2。
本发明实施例所述polar码构造装置用于实现本发明实施例所述polar码构造方法,二者具有相同的有益效果和具体实施例,再此不再赘述。
所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf具体包括:
对于码长为n的polar码,计算信道的巴氏参数
对于任意给定的码率r,获取巴氏参数较小的k位作为信息位ui,其他的n-k位作为冻结位uf,其中k=n×r;
基于所述信息位的索引生成所述信息位生成子矩阵gni,基于所述冻结位的索引生成所述冻结位生成子矩阵gnf。
进一步,分别对所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf中的行重进行排序,且分别对所述信息位生成子矩阵gni和所述冻结位生成子矩阵gnf中每一行对应的索引进行重新排序。
所述对于码长为n的polar码,计算信道的巴氏参数的步骤之后还包括:基于所述巴氏参数对所述polar码进行排序。
本发明实施例通过下式计算所述巴氏参数:
其中,z()为巴氏参数,i=1,2,…n,n为polar码的码长,
所述非对称交换模块进一步包括:
获取所述gni中行重最小的行中对应的巴氏参数值较大的m行及其对应的m个信息位;
获取所述gnf中行重最大的行中对应的巴氏参数值较小的m行及其对应的m个冻结位;
将所述gni中的所述m行和所述gnf中的所述m行进行相互交换,且将所述m个信息位和所述m个冻结位进行相互交换;
其中,m为交换行数,m为自然数且m≤3。
其中,根据下式确定所述交换行数m:
若max{a,b}≤3,则m=min{a,b}行;
若min{a,b}≤3,max{a,b}>3,则交换m=min{a,b}行;
若min{a,b}≥3,则m=3;
其中,a为gni中行重最小的行向量数目,b为gnf中行重最大的行向量数目。
综上所述,本发明实施例在polar不对称情况下,通过选择gni和gnf部分行向量进行交换,同时交换对应的信息位和冻结位,改变gni中最小行重的行数目,使得gni中具有最小行重的行尽量少,进而改变码字的重量谱分布,从而改善码的性能。本发明实施例所述polar码构造方法可以在任意码率下适用,并且polar码性能显著提高,具有良好的有益效果。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。