1.一种码长自由的极化码编码方法,其特征在于,包括如下步骤:S1)预设码长N,对码长N进行二进制转换,求得各子码码长;
S2)利用巴氏参数计算子码信道容量;
S3)根据极化效果优先算法,得到联合编码方案;
S4)计算联合编码后的各子信道容量,选择信息位;
S5)进行联合编码,在编码时先分别对子码分别进行编码,然后对多个子码进行联合编码。
2.根据权利要求1所述的码长自由的极化码编码方法,其特征在于,步骤S1中预设码长N,对码长N进行二进制转换,求得各子码码长的具体步骤如下:预设码长N,对码长N进行二进制转换,即Nb=dec2bin(N),预设的码长N进行二进制转化后,具有如下形式:
0 1 i
N=Nb(0)*2+Nb(1)*2+…Nb(i)*2 (2)其中,所有值为1的位置权重Nb(i)*2i即为各个子码的码长;即Nb(i)=1,则所对应的子码码长为Ni=2i,若Nb(i)=0,则对应子码码长为0,即不存在该子码。
3.根据权利要求2所述的码长自由的极化码编码方法,其特征在于,步骤S2利用巴氏参数计算子码信道容量的具体步骤如下:根据码长N和码率R确定信息位的数量K,K=N×R;
并利用巴氏参数计算出子码信道的信道容量I(W);I(W)的计算公式为:式中,上标为信道编号,下标为迭代次数所对应的码长;初始值选取时,对于BEC信道有对于BSC信道有 对于对称信道有 ε为BEC信道的擦出系数,p为BSC信道的信道转移概率;迭代次数为
4.根据权利要求3所述的码长自由的极化码编码方法,其特征在于,步骤S3根据极化效果优先算法,得到联合编码方案的步骤具体如下:在所有子码的子信道中选择K个容量较大的信道,取这K个子信道容量的平均值作为阈值sum;设最大子码外的其他子码中子信道容量大于sum的信道数量为num;
将最大子码的信道按照容量从大到小的顺序排序,同时将其他子码的所有信道作为一组,按照容量从大到小的顺序排序,从两者中各选出前num个较大的信道,按照顺序相互极化,即最大子码中容量第i大的信道与其他子码中容量第i大的信道相互极化,直到i=num;
将其他中剩余的信道从小到大排序,最大子码中剩余的信道从大到小排序,按照逆序相互极化,即最大子码剩余信道中容量第j大的信道与其他子码剩余信道中容量第j小的信道相互极化,直到其他子码中所有信道完成极化。
得到最终的联合编码的方案。
5.根据权利要求4所述的码长自由的极化码编码方法,其特征在于,步骤S4计算联合编码后的各子信道容量,选择信息位的具体步骤如下:利用公式(3)迭代一次,计算联合编码后的各子信道容量,选择信道容量值I(W)较大的K个子信道作为信息位,传递信息比特。
6.根据权利要求5所述的码长自由的极化码编码方法,其特征在于,步骤S5进行联合编码,在编码时先分别对子码分别进行编码,然后对多个子码进行联合编码的具体步骤如下:按照S3所确定的编码方案和S4所得到编码信息位,先分别对各个子码分别进行编码,然后对子码进行联合编码,完成编码过程,其编码过程可如公式(1)所示;
其中, 为编码后的比特序列, 为原始比特序列,GN为生成矩阵,且GN由各子码G矩阵、零矩阵和编码方案矩阵构成;
联合编码矩阵Gus与联合编码方案对应,具体如下:按照联合编码方案,如果子码i的第j个子信道与最大子码的第k个子信道相互极化,则联合编码矩阵Gus的第i*Ni+j列与最大子码生成矩阵的第k列相同;从子码一的第一信道开始,遍历所有非最大子码的信道,即可获得联合编码矩阵Gus;
子码生成矩阵GNi按从小到大的顺序排列于Gus的对角线上,右下角为最大子码生成矩阵Gmax;由于联合编码时,其他子码的信道都与与最大子码信道相互极化,所以Gus的列数等于其他子码矩阵列数之和,行数等于最大子码矩阵行数,位于最大子码生成矩阵Gmax的左侧,其他位置为0矩阵;具体形式如下:子码生成矩阵 为Kronecker算子, 表示n次
Kronecker幂,即n个F矩阵连续做克罗内克积。