一种极化码与重复码级联的纠错编码方法与流程

文档序号:12277820阅读:626来源:国知局
一种极化码与重复码级联的纠错编码方法与流程

本发明属于纠错编码技术领域,更具体地,涉及一种极化码与重复码级联的纠错编码方法。



背景技术:

极化编码作为一种新型的接近香农限的编码方案,其编译码算法的复杂度较低,有利于工程实现;仿真结果表明极化码SCL(Successive Cancellation List,连续消除列表)译码算法在较低复杂度O(L·Nlog(N))(L为路径数量,N为码长)下,纠错能力可以达到最大似然译码器的纠错能力。但是对于采用SCL译码算法的中短码长非级联极化码,其纠错性能仍然与香农极限存在较大差距,并且这个差距无法单独从增大路径数量进行弥补。

传统的极化码级联方法中,级联LDPC(Low Density Parity Check,低密度奇偶校验)码由于得到的级联码的特性不适合SCL译码算法,相对于采用SCL译码算法的极化码而言,其纠错性能无明显提升;级联CRC(Cyclical Redundancy Check,循环冗余校验)码需要额外的CRC校验电路,会带来一定的硬件开销;因此,这些传统方案均在某种程度上限制了极化码的工程应用。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种极化码与重复码级联的纠错编码方法,其目的在于提升极化码在SCL译码算法下的纠错性能。

为实现上述目的,按照本发明的一个方面,提供了一种极化码与重复码级联的纠错编码方法,包括如下步骤:

(1)外编码器编码:将信息比特序列在外编码器进行重复码编码获得外码码字;

其中,重复码编码时,重复比特的取值仅与该重复比特对应的重复码中的信息比特取值有关,而与其它的比特无关;

(2)外码码字映射:将外码码字的第一个比特至最后一个比特依次映射到极化码的第一个至最后一个非固定比特,获得非固定比特序列;

(3)内编码器编码:对步骤(2)获得的非固定比特序列进行极化码编码,获得级联码码字。

优选地,上述极化码与重复码级联的纠错编码方法,其步骤(1)的重复码编码中,被重复比特可被重复一次或多次;其中,被重复比特是指参与重复编码的信息比特。

优选地,上述极化码与重复码级联的纠错编码方法,在步骤(2)的外码码字映射过程中,被重复比特所映射的非固定比特信道的信道容量,低于未被重复的比特所映射的非固定比特信道的信道容量。

优选地,上述极化码与重复码级联的纠错编码方法,在步骤(2)的外码码字映射过程中,所述外码码字的重复比特所映射的非固定比特的序号大于所述重复比特对应的被重复比特所映射的非固定比特的序号;重复比特所映射的非固定比特序号与被重复比特所映射的非固定比特序号相邻或者不相邻。

优选地,上述极化码与重复码级联的纠错编码方法,步骤(2)获得的非固定比特序列中,外码码字的重复比特均匀分布或近似均匀分布。

优选地,上述极化码与重复码级联的纠错编码方法,通过将非固定比特序列按序号顺序划分为S个段,将所述外码码字的重复比特映射到每段内信道容量最低的Ki个非固定比特信道上,每段内分配的重复比特数相等或近似相等,使得外码码字的重复比特在非固定比特中均匀分布或近似均匀分布;其中,i=1,2,...,S。

优选地,上述极化码与重复码级联的纠错编码方法,外码码字为反相重复码;当被重复比特为1,所述反相重复码的重复比特为0;当被重复比特为0,所述反向重复码的重复比特为1;当被重复比特的重复次数为K时,重复码编码所获得的K个重复比特中反相重复比特的数量为0~K;其中,K为正整数。

优选地,上述极化码与重复码级联的纠错编码方法,将外码码字尾部部分比特作为校验比特;每个校验比特和该校验比特之前的多个信息比特形成偶校验或奇校验关系。

优选地,上述极化码与重复码级联的纠错编码方法,还包括步骤(4),采用修正的SCL译码算法进行译码;具体为:对于原始信息比特,根据SCL译码算法进行比特判决;对于重复比特,根据被重复比特的判决结果直接进行判决。

优选地,上述极化码与重复码级联的纠错编码方法,其步骤(4)的译码步骤具体包括如下步骤:

(4.1)判断i是否小于等于N;若是,进入步骤(4.2),若否,则进入步骤(4.7);其中,N是指极化码码长,i是指当前译码第i个比特的索引序号,其初始值为1,取值从1到N的正整数;

(4.2)判断ui是否为固定比特,若是,进入步骤(4.3);若否,则进入步骤(4.4);其中,ui是指极化码输入端输入序列的第i个比特;

(4.3)将当前每条路径上ui的判决值设置为已知的固定比特的取值,令i=i+1;返回步骤(4.1);

(4.4)判断ui是否为重复比特,若是,进入步骤(4.5);若否,则进入步骤(4.6);

(4.5)将当前每条路径上重复比特ui的判决值设置为该路径上与ui对应的被重复比特的判决值,具体地:并令i=i+1,返回步骤(4.1);

其中,Tj是指外码码字中第j个重复码的所有比特位置序号集合;是指经过外码码字映射后,第j个重复码中的所有比特在极化码编码比特序列中的序号集合;中最小的元素对应第j个重复码中的被重复比特,对应第j个重复码中的重复比特;

(4.6)统计当前路径数量L′,通过将当前每条路径在ui处取值0或1获得2L′条备选路径;判断是否满足2L′≤L,若是,则保留2L′条路径;若否,则保留L条度量值最大的路径;并令i=i+1,返回步骤(4.1);

其中,2L′条路径的度量值分别为该路径在ui处取值0或1的概率:或L为SCL译码算法的最大路径数量;

(4.7)从L条路径中输出路径度量值最大的一条路径上对应的判决序列获得译码结果。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)本发明提供的极化码与重复码级联的纠错编码方法,具有显著提升极化码纠错性能的效果;

现有技术中,采用SCL译码算法的中短码长非级联的极化码,其纠错性能趋近于最大似然译码器译码性能,纠错能力有限,即使增大SCL译码算法路径数量,误帧率性能不会明显改善;而且增大路径数量会线性增大算法存储复杂度和译码复杂度,不利于工程实现;在相同路径数量的SCL译码算下,本发明提供的级联方案与非级联的极化码相比,由于通过级联重复码在原始信息比特序列中插入重复比特,这些均匀或近似均匀分布的重复比特在SCL译码过程中可以及时有效的纠正译码错误,提高译码列表中正确路径的存活概率,因此具有显著提升纠错性能的效果;其纠错性能可以明显突破最大似然译码器以及CRC-aided SCL(循环冗余校验辅助的连续消除列表)译码算法的纠错性能;

(2)本发明提供的极化码与重复码级联的纠错编码方法,不会增大译码复杂度以及存储复杂度;

由于采用修正的SCL译码算法,相对于原始SCL译码算法而言,其主要区别在于:算法译码重复比特时,直接根据被重复比特的判决结果直接进行判决;相比采用传统的SCL译码算法,本发明的这种修正的译码方法仅需将重复比特判决为被重复比特的取值,其运算复杂度与传统SCL算法对固定比特判决为0类似,无运算复杂度提升;

相对于CRC-aided SCL译码算法,修正的算法不需额外的CRC校验运算,运算复杂度低于CRC-aided SCL译码算法;

(3)本发明提供的极化码与重复码级联的纠错编码方法,其外码采用重复码编码,相对于其它级联的外码方案,采用本发明方法可以使外编码器的硬件电路设计极为简单,有利于工程实现。

附图说明

图1为对码长为4的极化码采用现有SCL译码算法译码的示意图;

图2为本发明提供的极化码与重复码级联的纠错编码方法的编译码流程图;

图3为码长为4的极化码与重复码级联的纠错编码方法的译码示意图;

图4为本发明实施例提供的极化码与重复码级联的纠错编码方法的外码码字编码示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

对于码长为N,发送信息比特数量为M的极化码,极化编码是通过一个极化电路将N个独立同分布的信道极化为N个比特信道,在这N个比特信道中,信道容量最大的M个比特信道上发送极化码信息比特,该比特信道称为非固定比特信道,非固定比特信道上发送的比特为非固定比特;其它(N-M)个比特信道称为固定比特信道,固定比特信道上发送的比特为固定比特。

极化码极化电路输入端输入序列比特u1到uN依次在第1个到第N个比特信道上发送,极化码非固定比特信道序号集合为固定比特信道序号为Ac,集合A中的元素满足当1≤i<j≤M时,ai<aj

非固定比特序列为极化码固定比特在收发两端已知,对于对称信道,固定比特序列设置为全0序列;当已知M个信息比特时,可确定非固定比特序列uA,从而确定极化电路输入端输入序列极化码编码为GN为极化码生成矩阵。

极化码SCL译码算法译码时从比特u1到uN依次进行判决,得到输入序列的译码结果;SCL算法译码过程中最多可保留L条译码路径,在译码ui时,每条路径上已经译码出的序列唯一表征该路径;图1所示为对码长为4的极化码采用SCL译码算法示意图,其中u2为固定比特,(u1,u3,u4)为非固定比特,路径数量L=2,译码时,每条路径在固定比特u2处判决为0,其它非固定比特则根据路径度量值进行判决;具体过程如下:

Step1、判断i是否小于等于N;若是,进入Step2;若否,则进入Step5;其中,i的初始值为1;

Step2、判断ui是否为固定比特,若是,进入Step3;若否,则进入Step4;

Step3、将当前每条路径上ui的判决值设置为0,令i=i+1,返回Step1;

Step4、统计当前路径数量L′,当前每条路径在ui处可取值0或1,从而得到2L′条备选路径;若2L′≤L,保留2L′条路径;若2L′>L,保留L条度量值最大的路径,令i=i+1;返回Step1;

2L′条路径的度量值分别为该路径在ui处取值0或1的概率:或L为SCL译码器的最大路径数量;

Step5、从L条路径中输出路径度量值最大的一条路径上对应的判决序列判决序列中的非固定比特序列即为极化码信息比特序列译码结果。

本发明提供的一种极化码和重复码级联的纠错编码方法,其流程如图2所示,具体包括如下步骤:

步骤1:外编码器编码;

对于码长为N,信息比特数量为M,被重复比特数量为K1(K1<M),重复比特的数量为K2(K2≥K1)的级联系统,则外编码器输入端信息序列的长度为M,输出的外码码字长度为M+K2

外编码器编码得到的码字为包含M个信息比特和K2个重复比特;确定外编码器等价于确定外码码字中的K1个被重复比特位置序号,以及与每一个被重复比特对应的重复比特的序号,将第j(1≤j≤K1)个被重复比特的序号和与其对应的重复比特的序号记为集合Tj(1≤j≤K1),易知每一个集合Tj表征外码码字中的一个|Tj|重复码;|Tj|表示集合Tj元素的个数,|Tj|=2表示Tj表征一个二重复码;集合Tj中最小的元素表示被重复比特的序号,其它元素表示该重复码中重复比特的序号;

以外码码字中每一个重复码为二重复码为例说明集合Tj(1≤j≤K1)的构造,也即K1=K2;需要强调的是,此处的集合Tj(1≤j≤K1)的构造具体方式仅作为本发明的解释,并不限制本发明。

(1.1)分段并确定每段重复比特和被重复比特数量:

首先将外码码字按照比特序号顺序划分为S段,将K1个重复比特平均分配到第2至第S段中,其中第s(2≤s≤S-1)段分配的重复比特数为(表示x对取下整数),第s(s=S)段分配的重复比特数为(从而保证每段重复比特数为整数,并且总的重复比特数为K1);

第s(2≤s≤S)段的重复比特校验第s-1段的被重复比特,第s′(1≤s′≤S-2)段的被重复比特数量为第s′(s′=S-1)段的被重复比特数量为

(1.2)根据每段中的重复比特数量和被重复比特数量确定每段中的重复比特和被重复比特位置序号;

根据外码码字映射,已知外码码字每一个比特映射到的非固定比特信道的信道容量;下文提到的“信道容量高(低)的比特”是指“外码码字映射后,具有高(低)信道容量的非固定比特信道传输的外码码字比特”;

重复比特选取方式具体为:将第s(2≤s≤S-1)段中信道容量最低的个比特选择为重复比特;将第s(s=S)段中信道容量最低的个比特选择为重复比特;

对于被重复比特选取方式为:去除第s′(1≤s′≤S-2)段内已经被选择的重复比特,在剩余比特中,信道容量最低的个比特作为该段内的被重复比特;去除第s′(s′=S-1)段内已经选择的重复比特,在剩余比特中,信道容量最低的个比特作为该段内的被重复比特;

(1.3)依次配对第s(2≤s≤S)段内的重复比特与第s-1段的被重复比特;配对方法具体为:第s(2≤s≤S)段内信道容量最低的重复比特与第s-1段的信道容量最低的被重复比特进行配对,将对应的重复比特序号与被重复比特序号构成集合Tj;第s(2≤s≤S)段内信道容量第二低的重复比特与第s-1段的信道容量第二低的被重复比特进行配对,以此类推,完成K1个被重复比特的配对,得到K1个二重复码集合Tj(1≤j≤K1);

(1.4)根据集合Tj(1≤j≤K1)进行外码编码,外码码字中重复比特的位置{Tj\min{Tj}}(1≤j≤K1)处的编码取值等于对应的min{Tj}(1≤j≤K1)处的被重复比特的取值,也即根据信息比特和Tj(1≤j≤K1)确定K1个重复比特的取值即可确定外码码字

步骤2:外码码字映射;

外码码字映射是将外码码字中的各个比特通过该映射关系作为极化码编码输入的比特;极化码的非固定比特信道序号集合为固定比特信道序号集合为Ac,极化码极化电路输入端输入序列为极化码的非固定比特序列为固定比特取值为全0;

外码码字映射到非固定比特序列uA的方式为:外码码字的第一个比特x1至最后一个比特依次映射到非固定比特序列的第一个比特至最后一个比特也即满足或者

映射后,非固定比特信道上发送为外码中的第j(1≤j≤K1)个被重复比特;非固定比特信道上发送为外码与第j(1≤j≤K1)个被重复比特对应的重复比特。

步骤3:内编码器编码;

通过步骤2得到内码极化码非固定比特序列极化码固定比特序列为全0,从而可知极化码极化电路输入端输入序列根据极化码编码公式,获得级联系统编码的码字为其中GN为极化码生成矩阵。

步骤4:接收端译码;

采用修正的SCL译码算法进行译码;主要修正的是:译码重复比特时,根据被重复比特的判决结果直接进行判决,而不是根据原始SCL译码算法中的概率进行判决。

译码步骤具体如下:

(4.1)判断i是否小于等于N;若是,进入(4.2);若否,则进入(4.7);

(4.2)判断ui是否为固定比特;若是,进入(4.3);若否,则进入(4.4);

(4.3)将当前每条路径上ui的判决值设为已知的固定比特取值,并令i=i+1,返回步骤(4.1);实施例中,上述已知的固定比特序列为全0序列;由此,将当前每条路径上ui的判决值设置为0;

(4.4)判断ui是否为重复比特;若是,进入(4.5);若否,则进入(4.6);

(4.5)当前每条路径上重复比特ui的判决值直接设置为该路径上与ui对应的被重复比特的判决值:令i=i+1;返回(4.1);

其中,Tj表示外码码字中第j个重复码的所有比特位置序号集合,表示经过外码码字映射后,第j个重复码中的所有比特在极化码编码比特序列中的序号集合,中最小的元素对应第j个重复码中的被重复比特,对应第j个重复码中的重复比特;

(4.6)统计当前路径数量L′,当前每条路径在ui处可取值0或1,从而得到2L′条备选路径,2L′条路径的度量值分别为该路径在ui处取值0或1的概率:或若2L′≤L(L为SCL译码算法的最大路径数量),保留2L′条路径;若2L′>L,保留L条度量值最大的路径;i=i+1;返回(4.1);

(4.7)从L条路径中输出路径度量值最大的一条路径上对应的判决序列即为译码结果;

在译码结果中,即为外码码字译码结果;令集合即为发送的信息比特译码结果。

图3所示为对码长为4的级联码、二重复码集合采用本发明提供的修正SCL(路径数量L=2)进行译码的示意图;两条路径在译码u3比特时,因为u3为信息比特u1的重复比特,因此u3的判决值直接根据被重复比特判决结果得到,而不根据SCL译码算法的路径度量值进行判决。

下面结合实施例来说明本发明方法,具体如下:

实施例中,级联码码长为N=16,信息比特数量为M=8,被重复比特数量为K1=4,重复比特数量为K2=4;外码码字中一共有4个二重复码(Tj(1≤j≤4),每个Tj集合的元素个数为2);内码极化码非固定比特信道的数量为12,在一定信噪比下进行极化码构造,分别得到非固定比特信道的序号集合和固定比特信道序号的集合Ac.接收端译码器采用修正的SCL译码算法,路径数量设置为L;实施例的极化码与重复码级联的纠错编码方法,具体如下:

步骤1:外编码器编码;

信息比特数量为8,信息比特序列为外码码字中重复比特的数量为4,则外码码长为12,外码码字为如图4所示,4个二重复码集合分别为:T1={1,5},T2={2,8},T3={6,9},T4={7,11};外编码器编码时,8个信息比特位于外码码字的比特序号如下:

也即根据集合T1={1,5},外码码字比特x5=x1=m1;根据T2、T3和T4依次确定x8=x2=m2、x9=x6=m5和x11=x7=m6的取值,从而确定外码码字完成外编码器编码。

步骤2:外码码字映射;

外编码器得到的码字为极化码非固定比特信道集合为将码字的第1个至12个比特依次映射到极化码第1个至12个非固定比特,则极化码非固定比特序列为

映射后,非固定比特信道上发送为外码中的第j个被重复比特;非固定比特信道上发送为外码与第j个被重复比特对应的重复比特;

对于步骤1中得到的4个集合Tj(1≤j≤4),非固定比特信道上发送为外码中4个被重复比特;非固定比特信道上发送为外码中4个重复比特。

步骤3:内编码器编码;

通过步骤2得到内码极化码非固定比特序列极化码固定比特序列为全0,从而可知极化码极化电路输入端输入序列根据极化码编码公式获得级联系统编码的码字为其中GN为极化码生成矩阵。

步骤4:级联系统的译码;

实施例中,级联系统的译码采用本发明的修正的SCL译码方法;对于第一个二重复码集合T1={1,5},当L条路径译码到比特时,对于比特的判决则根据第一个二重复码中已判决的被重复比特得到,也即,

而对于除重复比特之外的比特判决,则根据SCL译码算法的译码原理进行判决;按照这种修正的SCL译码算法,获得码的译码结果在译码结果中,为外码码字译码结果,令集合I={1,2,3,4,6,7,10,12},则即为发送的信息比特译码结果。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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