一种Turbo乘积码的译码方法、装置和计算机可读存储介质与流程

文档序号:17584337发布日期:2019-05-03 21:11阅读:219来源:国知局
一种Turbo乘积码的译码方法、装置和计算机可读存储介质与流程

本发明涉及纠错控制编码技术领域,尤其涉及一种turbo乘积码的译码方法、装置和计算机可读存储介质。



背景技术:

在信道编码的发展过程中,人们一直在追寻误码率低、译码复杂度可以忍受的编码方法。作为基于软输入软输出迭代译码算法的代表之一——turbo码,由于其纠错性能非常接近香农极限,因此成为近二十年信道编码领域研究的热点。在turbo码的解码方法中,kaneko算法是一种为了减少复杂度,提出的能在生成候选码字时动态减少搜索空间的算法。这个算法对接收序列的lrp组迭代处理,使用一个最优候选码字相关差的条件指导进一步搜索的方向或者当最可能的码字被找到时终止译码过程。kaneko算法实现了最大似然译码。虽然kaneko算法可以动态减少搜索空间,但是在最坏情况下,算法的复杂度依然相当大。



技术实现要素:

本发明提供一种turbo乘积码的译码方法和装置,用以解决现有技术中turbo乘积码的译码过程中kaneko算法的运算复杂度高的问题。

依据本发明的一个方面,提供一种turbo乘积码的译码方法,包括:

获取turbo乘积码的接收码字和码型;

根据所述码型、预设的不可靠位数和选择缩减的错误位数,确定缩减错误模式集合,其中所述选择缩减的错误位数小于所述不可靠位数;根据所述缩减错误模式集合和所述接收码字,计算最优码字;

根据所述最优码字,利用译码算法计算外部信息;

根据所述外部信息和预设的迭代次数进行迭代计算,得到所述接收码字的译码结果。

本发明还提供一种turbo乘积码的译码装置,包括:

获取模块,用于获取turbo乘积码的接收码字和码型;

缩减错误模式确定模块,用于根据所述码型、预设的不可靠位数和选择缩减的错误位数,确定缩减错误模式集合,其中所述选择缩减的错误位数小于所述不可靠位数;

最优码字计算模块,用于根据所述缩减错误模式集合和所述接收码字,计算最优码字;

外部信息计算模块,用于根据所述最优码字,利用译码算法计算外部信息;

译码结果输出模块,用于根据所述外部信息和预设的迭代次数进行迭代计算,得到所述接收码字的译码结果。

本发明所提供的turbo乘积码的译码方法,根据预设的不可靠位数和选择缩减的错误位数,确定缩减错误模式,再根据接收码字和缩减错误模式,利用译码算法计算外部信息后,利用所述外部信息进行迭代计算后获取译码结果。由于缩减了错误模式的个数,降低了turbo乘积码译码算法的复杂性,使用了最大似然译码的kaneko算法,提高了译码性能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明方法实施例1中的turbo乘积码的译码方法的流程图;

图2为本发明方法实施例2中的turbo乘积码的译码方法的流程图;

图3为本发明方法实施例3中的turbo乘积码的译码方法的流程图;

图4为本发明方法实施例4中的turbo乘积码的译码方法的流程图;

图5为本发明方法实施例4中的turbo乘积码的译码方法中外部信息计算的功能图;

图6为本发明方法实施例5中的turbo乘积码的译码装置的示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了公开的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本发明的范围完整的传达给本领域的技术人员。

图1为本发明方法实施例1中的turbo乘积码的译码方法的流程图,如图1所示的本发明方法实施例1中的turbo乘积码的译码方法,包括:

步骤100,获取turbo乘积码的接收码字和码型。

具体地,turbo乘积码通过将两组或多组分组码字码排列到一个二维或多维矩阵中,构造子码具有最小距离特性的乘积码。turbo乘积码的码型,包括(128,120)×(128,120)、(128,127)×(128,127)、(64,57)×(64,57)、(32,26)×(16,15)×(8,7)等,在发送端发送信息时,turbo乘积码是按行逐比特串行发送,在接收端,将接收的串行序列转换成二维矩阵形式,接着依靠矩阵结构进行译码。turbo乘积码译码的复杂度和译码延时取决于子码码型,随着子码的构造复杂度和译码复杂度的增加而线性增加。由于根据接收码字无法判别所述接收码字的码型,需要同时获取接收码字和码型,以用于后续的解码。

步骤200,根据所述码型、预设的不可靠位数和选择缩减的错误位数,确定缩减错误模式集合,其中所述选择缩减的错误位数小于所述不可靠位数。

具体地,首先根据所述码型以及预设的不可靠位数,获取错误模式集合,然后根据所述预设的缩减错误位数,在所述错误模式集合中获取缩减错误模式集合。

实际应用中可根据预设的不可靠位数和缩减错误位数,对于缩减错误模式集合的中的错误模式的个数进行灵活控制。根据实际码型选择n个不可靠位(不可靠位数为n),不可靠模式应有2n种可能,在不影响性能的情况下缩减错误模式,选择最不可靠的错误1位、最不可靠的错误2位,……,最不可靠的错误k位的错误模式(k<n,缩减错误位数为k),错误模式的个数缩减为

假设不可靠位为8(要根据复杂度确定)未缩减时错误模式的个数为256个,预设的缩减错误位数为4,若加上全为0的码字,错误模式的个数为163。

步骤300,根据所述缩减错误模式集合和所述接收码字,计算最优码字。

具体地,由于所述缩减错误模式集合中的错误模式大大减少,为提高得到的所述最优码字的准确率,在根据所述缩减错误模式集合和所述接收码字计算最优码字时,需要在遍历所有所述缩减错误模式后均不能进行解码时,增加对最优码字的处理。

步骤400,根据所述最优码字,利用译码算法计算外部信息。

具体地,所述译码算法,包括siso算法(软输入软输出算法)或dbd算法(基于欧氏距离的算法)。所述外部信息为译码后的软输出信息。

步骤500,根据所述外部信息和预设的迭代次数进行迭代计算,得到所述接收码字的译码结果。

具体地,根据所述外部信息和预设的迭代次数,进行行列译码迭代计算,迭代完成后对所述接收码字进行硬判决,输出译码结果。行或列迭代译码器的软输入公式如下,其中m为预设的迭代次数。

[r(m)]=[r]+α(m)[w(m)]。

本实施例所提供的turbo乘积码的译码方法,根据预设的不可靠位数和缩减错误位数,确定缩减错误模式,再根据接收码字和缩减错误模式,利用译码算法计算外部信息后,利用所述外部信息进行迭代计算后获取译码结果。由于缩减错误了模式的个数,降低了turbo乘积码译码算法的复杂性,使用了最大似然译码的kaneko算法提高了译码性能。

图2为本发明方法实施例2中的turbo乘积码的译码方法的流程图,如图2所示的本发明方法实施例2中的turbo乘积码的译码方法,包括:

步骤310,对所述接收码字进行硬判后,获取硬判码,并将所述硬判码赋值给第一码字。

具体地,进行硬盘后获取的硬判码为yh,将yh赋值给最优码字d,获取第一码字。

步骤320,根据所述硬判码和所述缩减错误模式集合对所述接收码字进行解码。

具体地,yh与所述缩减错误模式集合中的错误模式按位异或后进行bch解码。

步骤330,判断是否所有所述接收码字均解码失败,若是,解步骤340,若否,跳至步骤350。

步骤340,将所述第一码字确定为最优码字。

具体地,若所有的接收码字均解码失败,则将第一码字作为最终的最优码字d。

步骤350,当所述接收码字解码成功时,获取第一解码码字。

步骤360,判断所述第一解码码字是否满足kaneko算法的充分条件,若是,接步骤370,若否,跳至步骤380。

步骤370,将所述第一解码码字赋值给所述第一码字,更新所述第一码字,并将更新后的所述第一码字确定为所述最优码字。

具体地,将满足所述kaneko算法的充分条件的第一解码码字,赋值给所述最优码字d。

步骤380,若遍历所述缩减错误模式集合计算的所述第一解码码字均不满足kaneko算法的充分条件,计算所述接收码字的最小距离内积值,所述最小距离内积值为根据所述缩减错误模式集合计算出的,所述接收码字的所述第一解码码字与所述硬判码的距离内积值中的最小值;将所述最小距离内积值赋值给所述第一码字,更新所述第一码字,并将更新后的第一码字确定为所述最优码字。

本实施例所提供的turbo乘积码的译码方法,在所有码字解码均不成功时,将接收码字的硬解码赋值给最优码字,当遍历所述缩减错误模式集合计算的所述第一解码码字均不满足kaneko算法的充分条件,将所述接收码字的最小距离内积值赋值给最优码字,在缩减错误模式大大降低了turbo乘积码译码复杂性的同时,能够使得最优码字的获取更加完善可靠。

图3为本发明方法实施例3中的turbo乘积码的译码方法的流程图,如图3所示的本发明方法实施例3中的turbo乘积码的译码方法,包括:

步骤410a,根据所述硬判码和所述缩减错误模式集合对所述接收码字进行解码,当所述接收码字均解码失败时,根据所述硬判码获取候选码字集合,否则将解码成功的所述第一解码码字确定为候选码字集合,直至获取到的所述第一解码码字均满足kaneko算法的充分条件为止。

具体地,将yh赋值给最优码字d,yh与错误模式按位异或后进行bch解码。若所有码字进行解码后都是错误的,则最优码字d为yh,候选码字集合只有yh。若在解码成功的码字集合中找到满足kaneko算法的充分条件的码字,则将这个码字赋值给最优码字d并输出,候选码字集合为找到最优码字之前所有进行bch解码成功的码字。若没有符合条件的码字,则将值最小的码字赋值给最优码字d并输出,并把所有bch译码成功的码字组成候选码字集合。

步骤420a,根据所述候选码字集合得到竞争码字。

具体地,竞争码字c需要同时满足两个条件:1,与接收码字r的欧氏距离最小;2、cj≠dj,将条件2首先进行判断,在候选码字集合中找到cj≠dj的序列,然后在序列中找到与接收码字r又最大相关值的序列作为竞争码字c,其中,dj为最优码字在j位的码元,rj为接收码字在j位的码元。

步骤430a,根据所述接收码字、所述最优码字和所述竞争码字计算所述外部信息。

具体地,若存在竞争码字:

若不存在竞争码字:

ωj=dj-rj

其中,dj为最优码字在j位的码元,rj为接收码字在j位的码元,r为接收码字,c为竞争码字,d为最优码字。

在本实施例中,根据缩减错误模式获取最优码字和竞争码字,将解码过程中的各种情况,尤其是所有接收码字解码后均是错误的情况进行了考量,通过siso算法,计算外部信息,实现了在缩减错误模式下的turbo乘积码的译码,降低了运算的复杂度,提高了译码的性能,在复杂度和性能上达到了很好的折衷,非常适合高性能、高吞吐量的系统。

图4为本发明方法实施例4中的turbo乘积码的译码方法的流程图,如图4所示的本发明方法实施例4中的turbo乘积码的译码方法,包括:

步骤410b,根据所述码型获取第一对应关系,所述第一对应关系为所述码型的破坏欧氏距离和信任值之间的对应关系。

具体地,扩展的bch码(64,51)破坏欧氏距离与信任值之间表格为表1:

表1:

步骤420b,根据所述接收码字计算所述接收码字的破坏欧氏距离。

步骤430b,根据所述破坏欧氏距离和所述第一对应关系,确定所述接收码字的信任值。

步骤440b,根据所述接收码字、所述最优码字和所述预设的噪声,计算外部信息比较值。

具体地,所述外部信息比较为:exp(2rjdj/σ2)。

在实际的译码过程中,传统siso算法在大部分的情况下是不存在竞争码字的,所以计算外部信息时计算复杂度较低,而dbd算法在计算时是统一的公式,计算的复杂度较高。dbd算法计算外部信息的公式为

其中φ为信任值,dj为最优码字在j位的码元,rj为接收码字在j位的码元,为预设的噪声,上述公式可化简为:

仿真发现大部分情况dj与rj同号,exp(2rjdj/σ2)非常大,而φ为小于1的正值。

步骤450b,当所述外部信息比较值大于等于预设的外部信息阈值时,根据所述最优码字、所述预设的噪声和所述信任值,计算外部信息输出值。

具体地,即设定一个阈值,当exp(2rjdj/σ2)超过阈值,公式化简为:

当exp(2rjdj/σ2)小于阈值,上述计算公式不变。

图5所示的本发明方法实施例4中的turbo乘积码的译码方法中外部信息计算的步骤图,能够清晰的描述本实施例所给出的外部信息计算方法的步骤的划分。

在本实施例中,在根据最优码字计算外部信息的译码过程中,首先根据码型获取破坏欧氏距离和信任值之间的对应关系,然后根据最优码字确定所述接收码字的信任值,再根据所述信任值,计算简化的外部信息比较值,当计算得到的外部信息比较值大于一个预设的阈值时,将外部信息的计算公式进行简化。本实施例所提供的turbo乘积码的译码方法,进一步降低了译码的运算复杂度,提高了译码的性能,在复杂度和性能上达到了很好的折衷,非常适合高性能、高吞吐量的系统。

本发明实施例5中提供一种turbo乘积码的译码装置,如图6所示,包括:

获取模块10,用于获取turbo乘积码的接收码字和码型。

缩减错误模式确定模块20,用于根据所述码型、预设的不可靠位数和选择缩减的错误位数,确定缩减错误模式集合,其中所述选择缩减的错误位数小于所述不可靠位数;包括不可靠模式集合确定单元,用于根据所述码型获取所述不可靠位数,并根据所述不可靠位数获取不可靠模式集合;错误模式集合获取单元,用于根据所述选择缩减的错误位数在所述不可靠模式集合中获取缩减错误模式集合。

最优码字计算模块30,用于根据所述缩减错误模式集合和所述接收码字,计算最优码字;包括硬判码获取单元,用于对所述接收码字进行硬判后,获取硬判码,并将所述硬判码赋值给第一码字;第一最优码字获取单元,用于根据所述硬判码和所述缩减错误模式集合对所述接收码字进行解码,当所有所述接收码字均解码失败时,将所述第一码字确定为最优码字。还包括第二最优码字获取单元,用于当所述接收码字解码成功时,获取第一解码码字;判断所述第一解码码字是否满足kaneko算法的充分条件,若满足,将所述第一解码码字赋值给所述第一码字,更新所述第一码字,并将更新后的所述第一码字确定为所述最优码字。还包括第三码字获取单元,用于若遍历所述缩减错误模式集合计算的所述第一解码码字均不满足kaneko算法的充分条件,计算所述接收码字的最小距离内积值,所述最小距离内积值为根据所述缩减错误模式集合计算出的,所述接收码字的所述第一解码码字与所述硬判码的距离内积值中的最小值;将所述最小距离内积值赋值给所述第一码字,更新所述第一码字,并将更新后的第一码字确定为所述最优码字。

外部信息计算模块40,用于根据所述最优码字,利用译码算法计算外部信息;包括候选码字获取单元,用于根据所述硬判码和所述缩减错误模式集合对所述接收码字进行解码,当所述接收码字均解码失败时,根据所述硬判码获取候选码字集合,否则将解码成功的所述第一解码码字确定为候选码字集合,直至获取到的所述第一解码码字均满足kaneko算法的充分条件为止;竞争码字获取单元,用于根据所述候选码字集合得到竞争码字;第一外部信息计算单元,用于根据所述接收码字、所述最优码字和所述竞争码字计算所述外部信息。包括:第一对应关系获取单元,用于根据所述码型获取第一对应关系,所述第一对应关系为所述码型的破坏欧氏距离和信任值之间的对应关系;外部信息比较值获取单元,用于根据所述接收码字、所述第一对应关系和预设的噪声,计算外部信息比较值;第二外部信息计算单元,用于当所述外部信息比较值大于等于预设的外部信息阈值时,根据所述最优码字、所述预设的噪声和所述信任值,计算外部信息输出值。所述第二外部信息计算单元,包括破坏欧氏距离获取子单元,用于根据所述接收码字计算所述接收码字的破坏欧氏距离;信任值确定子单元,用于根据所述破坏欧氏距离和所述第一对应关系,确定所述接收码字的信任值;第二外部信息计算子单元,用于根据所述接收码字、所述最优码字和所述预设的噪声,计算外部信息比较值。

译码结果输出模块50,用于根据所述外部信息和预设的迭代次数进行迭代计算,得到所述接收码字的译码结果。

本实施例所提供的turbo乘积码的译码装置,根据预设的不可靠位数和缩减错误位数,确定缩减错误模式,再根据接收码字和缩减错误模式,利用译码算法计算外部信息后,利用所述外部信息进行迭代计算后获取译码结果。由于缩减错误了模式的个数,降低了turbo乘积码译码算法的复杂性,使用了最大似然译码的kaneko算法提高了译码性能。

本发明实施例6中提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现下所述的方法步骤:

获取turbo乘积码的接收码字和码型;

根据所述码型、预设的不可靠位数和选择缩减的错误位数,确定缩减错误模式集合,其中所述选择缩减的错误位数小于所述不可靠位数;

根据所述缩减错误模式集合和所述接收码字,计算最优码字;

根据所述最优码字,利用译码算法计算外部信息;

根据所述外部信息和预设的迭代次数进行迭代计算,得到所述接收码字的译码结果。

关于各步骤的具体实施例过程可参见实施例1,本实施例在此不再赘述。

本实施例所述存储介质可以但不限于为:rom、ram、磁盘或光盘等。

总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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