一种针对Turbo乘积码的修正的软入软出译码方法与流程

文档序号:11146822阅读:753来源:国知局
一种针对Turbo乘积码的修正的软入软出译码方法与制造工艺

本发明涉及通信技术领域,特别是涉及一种针对Turbo乘积码的修正的软入软出译码方法。



背景技术:

目前,从香农信息论发展至今,纠错码已经经历了近60年的发展,各种新的编码方式不断涌现,包括各种代数码和卷积码,但性能与香农提出的最佳限相差甚远,因此寻找编码效率高、译码错误率低、编码增益大、算法简单的好码是编码理论的中心任务。1993年提出的Turbo卷积码(TCC),是一种非常实用的纠错码,性能非常接近于香农限,为信道编码领域带来了一场革命,Turbo卷积码的发现引发了对迭代译码算法研究的热潮。Turbo乘积码(TPC)是在Turbo卷积码的基础上发展起来的,实验证明,以分组码为子码的TPC译码算法收敛速度更快,具有较高的编码效率,译码算法复杂度较低,同时性能上接近Turbo卷积码,普遍认为它在深空通信,移动通信等数字通信系统中具有非常好的应用场景。

在研发通信系统通信信号处理过程中,由于信道条件恶劣,信号能量衰减严重,导致接收端误码率较高,需要采取措施来弥补。其中,信道纠错码算法对于信号的正确传输非常有效。因此选择一种合适的编码效率高、编码增益大的前向纠错码对于保障通信信号传输有着非常重要的作用,经常使用的信道编译码算法包括卷积码、RS码、TCC码、TPC码、LDPC码等等。TPC码有效解决了TCC码交织延时大、译码复杂度高、不适合并行处理的等缺点,在译码性能上接近Turbo码,且具有较高的编码效率,能够有效避免TCC码的“地板效应”。研究表明,在采用QPSK调制时,当误码率为10-5时,TPC码能够提供至少6dB的编码增益,这意味着使用TPC编码的通信系统可以减少链路的功率要求,提高数据速率或采用高阶调制方式而不使用过量的带宽。当信道是瑞利衰落信道时,与RS码相比,TPC码在采用BPSK调制方式时可以提供比RS码多10dB的编码增益。而且随着TPC译码迭代次数的增加,其性能更加优越。另外,一般前向纠错技术中,编码增益的提高通常伴随着处理时延的增加,而TPC码作为一种全新的、完全独立的前向纠错编码,使用恰当的编码就可以避免如RS方式复杂的交织和解交织。TPC码的解调器和译码器一直保持同步状态,有效克服了RS码的“软膝效应”,这在衰落环境中非常有益。而且TPC码还克服了传统编码方式的误码地板效应,误码率随信噪比的增加快速下降,形成明显的“瀑布区”。

考虑到TPC码相对于其他编码方式的优点,普遍选择TPC作为该通信系统的纠错方式,但是采用传统的TPC译码方法即传统的TPC译码算法来进行译码,译码的复杂度较大。



技术实现要素:

本发明的目的是提供一种针对Turbo乘积码的修正的软入软出译码方法,以实现降低译码的复杂度。

为解决上述技术问题,本发明提供一种针对Turbo乘积码的修正的软入软出译码方法,该方法包括:

步骤1、对Turbo乘积码的码字矩阵r和外信息矩阵[W(m)]进行计算,得到软输入信息[R(m)];

步骤2、利用Chase2算法对所述软输入信息[R(m)]进行译码,得到软输出信息[R'(m)];

步骤3、从所述软输出信息[R'(m)]中减去码字矩阵r,得到新的外信息矩阵[W(m+1)];

步骤4、将所述新的外信息矩阵[W(m+1)]传送给下一个译码器,作为下一个译码器进行译码的先验信息。

优选的,[R(m)]为第m个译码器的软输入矩阵,[R(m)]=r+α(m)[W(m)],其中,α(m)是第m个译码器的峰值缩放调节系数;m表示第m个译码器。

优选的,所述新的外信息矩阵[W(m+1)]=[R'(m)]-r。

优选的,所述利用Chase2算法对所述软输入信息[R(m)]进行译码,得到软输出信息[R'(m)],包括:

由Chase2译码器利用Chase2算法确定译码子集Ω,对所述软输入信息[R(m)]进行译码得出判决码字C_C,并得到判决码字C_C的竞争码字C_D;

依据判决码字C_C和竞争码字C_D计算得到软输出信息[R'(m)]。

优选的,所述将所述新的外信息矩阵[W(m+1)]传送给下一个译码器,作为下一个译码器进行译码的先验信息之后,还包括:

利用新的外信息矩阵[W(m+1)]计算得到下半次迭代的软输入矩阵[R(m+1)]。

优选的,所述Chase2算法的步骤包括:

确定N个最不可靠位;N为正整数,N大于等于2;

构造测试图样;

构造测试序列;

对测试序列进行代数译码,得到译码结果集合;

计算译码结果集合中的码字C与接收信号R间的欧氏距离,将距离最小的码字作为判决码字。

优选的,步骤4之后,还包括:

步骤5、m=m+1,由下一个译码器进行译码,回到步骤1。

本发明所提供的一种针对Turbo乘积码的修正的软入软出译码方法,对Turbo乘积码的码字矩阵r和外信息矩阵[W(m)]进行计算,得到软输入信息[R(m)];利用Chase2算法对所述软输入信息[R(m)]进行译码,得到软输出信息[R'(m)];从所述软输出信息[R'(m)]中减去码字矩阵r,得到新的外信息矩阵[W(m+1)];将所述新的外信息矩阵[W(m+1)]传送给下一个译码器,作为下一个译码器进行译码的先验信息。可见,本方法对传统的TPC译码算法做了修正,是一种迭代译码算法,该算法编码效率高、编码增益大、译码算法复杂度低,因此该方法在保证编码增益的条件下,进行译码的复杂度大为降低。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明所提供的一种针对Turbo乘积码的修正的软入软出译码方法的流程图;

图2为串行迭代译码结构图;

图3为基于Chase2算法的迭代软入软出译码算法工作流程图。

具体实施方式

本发明的核心是提供一种针对Turbo乘积码的修正的软入软出译码方法,以实现降低译码的复杂度。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

术语解释:

TPC:Turbo乘积码;

TCC:Turbo卷积码;

LDPC:低密度奇偶校验码;

SISO:软输入软输出;

Chase2:一种TPC译码算法;

AWGN:高斯白噪声信道;

FPGA:现场可编程门阵列。

请参考图1,图1为本发明所提供的一种针对Turbo乘积码的修正的软入软出译码方法的流程图,该方法包括:

步骤1、对Turbo乘积码的码字矩阵r和外信息矩阵[W(m)]进行计算,得到软输入信息[R(m)];

步骤2、利用Chase2算法对软输入信息[R(m)]进行译码,得到软输出信息[R'(m)];

步骤3、从软输出信息[R'(m)]中减去码字矩阵r,得到新的外信息矩阵[W(m+1)];

步骤4、将新的外信息矩阵[W(m+1)]传送给下一个译码器,作为下一个译码器进行译码的先验信息。

可见,本方法对传统的TPC译码算法做了修正,是一种迭代译码算法,该算法编码效率高、编码增益大、译码算法复杂度低,因此该方法在保证编码增益的条件下,进行译码的复杂度大为降低。

TPC码是块状码,一般由两个或者两个以上的分组码编码以后构成二维或者三维的编码块。其中分组码是TPC码的子码,常用的分组码子码有汉明码、BCH码、单奇偶校验码、RS码、扩展汉明码等,本方法中行和列都选用(64,57)扩展汉明码作为TPC码的字码。在帧结构为(64,57)*(64,57)的TPC码二维线性分组编码中,先进行行编码,再进行列编码。TPC码是一种串行级联码,采用本方法即一种迭代译码算法能够发挥TPC码良好的性能。

基于上述方法,具体的,[R(m)]为第m个译码器的软输入矩阵,[R(m)]=r+α(m)[W(m)],其中,α(m)是第m个译码器的峰值缩放调节系数;m表示第m个译码器,m大于等于1,m为自然数。

其中,新的外信息矩阵[W(m+1)]=[R'(m)]-r。步骤1至步骤5的执行主体均为译码器,也称为单元译码器,具体为第m个译码器。

进一步的,步骤2的过程具体包括以下步骤:

S11:由Chase2译码器利用Chase2算法确定译码子集Ω,对软输入信息[R(m)]进行译码得出判决码字C_C,并得到判决码字C_C的竞争码字C_D;

S12:依据判决码字C_C和竞争码字C_D计算得到软输出信息[R'(m)]。

进一步的,步骤4之后,还包括:利用新的外信息矩阵[W(m+1)]计算得到下半次迭代的软输入矩阵[R(m+1)]。

本方法作为TPC的迭代译码算法,单元译码器是一个最重要的部分。TPC码单元译码器包括两部分:一个是基于Chase2算法的软输入硬输出译码器,一个用于把硬输出转化为软输出的外信息计算部分。

假设接收到码字矩阵记作r,外信息矩阵记作[W(m)](m表示第m个单元译码器),软输入信息记为[R(m)],软输出信息记为[R'(m)],利用Chase2算法对其进行译码,则单元译码器的工作过程可以分为以下四步:

(1)由乘法器和加法器计算软输入信息[R(m)];

(2)由Chase2译码器确定译码子集Ω,译出判决码字C_C并找出其竞争码字C_D;

(3)用C_C和C_D计算软输出信息[R'(m)]和外信息W[(m+1)];

(4)将外信息W[(m+1)]传送更新给下一个译码器,作为其译码时的先验信息。

其中,这里的外信息W[(m+1)]就是指代上述文中提到的新的外信息矩阵[W(m+1)],只是用W[(m+1)]表示信息,用[W(m+1)]表示矩阵,但是都为同一含义,仅仅是表达方式不一样。

进一步的,Chase2算法的步骤包括:

S21:确定N个最不可靠位;N为正整数,N大于等于2;

S22:构造测试图样;

S23:构造测试序列;

S24:对测试序列进行代数译码,得到译码结果集合;

S25:计算译码结果集合中的码字C与接收信号R间的欧氏距离,将距离最小的码字作为判决码字。

进一步的,步骤4之后,还包括步骤5,具体如下:

步骤5、m=m+1,由下一个译码器进行译码,回到步骤1。

即通过步骤5回到步骤1,进行迭代。

具体的,第m个单元译码器的软输入矩阵为[R(m)]=r+α(m)[W(m)],其中α(m)是第m个单元译码器的峰值缩放调节系数,根据TPC子码码型不同和译码迭代次数的不同可以灵活调整。首先将[R(m)]输入到SISO译码器,按照Chase2译码算法逐行(或逐列)进行译码,得到软输出矩阵[R'(m)],从软输出信息[R'(m)]中减去接收码字信息得到外信息,并作为下一级译码器的先验信息,即[W(m+1)]=[R'(m)]-r。然后利用外信息矩阵[W(m+1)]计算得到下半次迭代的软输入矩阵[R(m+1)],并重复上述过程进行逐列(或逐行)译码,这样就完成了两维TPC的一次完整的迭代译码过程。将多个单元译码器串联起来就可以实现串行结构译码,串行迭代译码结构如图2所示。

基于本方法,具体的,译码器接收到信息矩阵后,和外信息矩阵相加送入到修正的Chase2译码器,逐行进行译码,并得到软输出矩阵,然后从该输出矩阵中减去软输入得到外信息,并将外信息作为下一级译码器的先验信息。然后利用外信息矩阵计算得到下半次迭代的软输入矩阵,并重复上述过程进行逐列译码,这样就完成了二维TPC码的一次完整迭代译码过程,多次这样的译码过程进行迭代构成了一次完整的译码过程,迭代次数根据实际情况选择,多次迭代完成后,其译码结果作为最终结果输出。

本方法针对传统的TPC译码算法做了修正,修正后的译码算法在保证编码增益的条件下,算法复杂度大为降低。本方法是一种迭代译码算法,该算法编码效率高、编码增益大、译码算法复杂度低,是一种优良的TPC译码方法。

Chase2译码算法是单元译码器中的重心,在二元AWGN信道中发送线性分组码C,经过AWGN的接收码字为R,根据最大似然算法,最优的判决码字D由欧氏距离最小原则,为了得到最佳判决,需要穷举所有可能码字,译码的复杂度非常高。Chase2算法是针对现行分组码提出的接近最大似然译码的次最佳算法。Chase2算法实现方法包括:(1)确定N个最不可靠位;(2)构造测试图样;(3)构造测试序列;(4)对测试序列进行代数译码,得到译码结果集合;(5)分别求译码结果集合中的码字C与接收信号R间的欧氏距离,距离最小的码字为判决码字D。这里的判决码子D就是指代上述文中提到的判决码字C_C。

因为欧式距离的计算需要用到平方运算,不利于硬件实现,在实际处理中,需要对欧式距离的计算进行简化,将欧氏距离的计算简化为相关值的计算。相关值计算的优势在于计算过程仅仅局限于加减法,而没有硬件实现复杂的乘法运算,相关值计算见公式如下:

由相关值的计算结果得到判决码字后,因为迭代译码的需要,此时要将Chase2译码结果输出为软数据,即带有可靠度度量值的数据。硬判决值可靠度的计算需要用到两个码字,其中一个是硬判决值,还需要另一个竞争码字。竞争码字的查找非常关键,直接影响到译码算法的复杂性以及译码的性能。有时为了简化译码算法,可以采用不找竞争码字而直接利用β因子替代,通过仿真软件对译码算法的仿真结果表明,不找竞争码字带来的译码增益损失超过2dB。本方法采用修正的竞争码字查找及软输出信息计算,简化了算法复杂度,且译码增益能有较大幅度的增加。对编码结构为(64,57,4)的TPC码,译码时采用3次迭代,选择不可靠位个数为3,在误码率为10-6条件下,编码增益能达到6.8dB。

竞争码字查找见公式(1)所示,c_se(i)=-1代表没有找到竞争码字。

软输出信息计算过程中,先进行公式(2)所示计算,可以看出,当找不到竞争码字时,即c_se(i)=-1时,结果用β因子替代。

同时,在一行或一列译码过程中,当找不到竞争码字,做如下统计,见公式(3):

一行或一列译码结束后,进行公式(4)运算:

ex_sum=ex_sum/ex_num (4)

最终的软输出信息由公式(5)计算输出:

基于Chase2算法的迭代软入软出译码算法工作流程如图3所示。

本方法即为采用修正的迭代软入软出译码算法,当采用8比特量化,选用3次迭代,2个不可靠位数,对(64,57)编码结构而言,在误码率为10-6条件下,编码增益能达到6.2dB以上。再增加不可靠位个数为3,编码增益能达到约6.8dB,继续增加不可靠位数和迭代次数,编码增益还能继续改善。本方法的优点为:简化了译码复杂度;译码算法得到了优化,节省了硬件资源和处理时钟,在FPGA上实现了最高30Mbps的译码速率;编码增益得到了提高,修正的算法在FPGA上实现了在误码率为10-6条件下,最高30Mbps的译码速率时,实现了6.8dB的编码增益。

以上对本发明所提供的一种针对Turbo乘积码的修正的软入软出译码方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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