一种多进制LDPC译码方法及译码器技术

技术编号:14536744 阅读:95 留言:0更新日期:2017-02-02 22:29
本发明专利技术公开了一种多进制LDPC译码方法及译码器,涉及多进制LDPC采用改进的最大最小(TMM trellis min‑max)算法的译码方法及其译码器实现。所述方法包括:一、接收并初始化待译码信息,将初始化后的待译码信息进行存储;二、本次校验节点迭代更新;三、本次变量节点迭代更新;四、若达到设定的迭代次数则进行译码输出计算,否则,跳转到步骤二。所述译码器包括:计算初始化模块、校验节点更新模块、变量节点更新模块、存储模块、迭代控制模块和输出计算模块。本发明专利技术可以实现对任意多进制LDPC进行译码,实现的译码器进一步简化了校验节点及变量节点更新运算,吞吐量大、资源消耗小,并具有新颖性、创造性和简单实用的特点。

Multi band LDPC decoding method and decoder

The invention discloses a multi band LDPC decoder and decoding method, involving M-ary LDPC using the improved max min (TMM trellis min max) decoding method and decoder algorithm realization. The method comprises the following steps: A, receiving and decoding information to be initialized, will be initialized to be decoded information is stored; two, the check node update; three, the variable node update; four, if the number of iterations to achieve the set of decoding output calculation, otherwise, go to step two. The decoder comprises an initialization module, a check node updating module, a variable node updating module, a memory module, an iterative control module and an output calculation module. The invention can realize the decoding of arbitrary M-ary LDPC, the decoder further simplifies the check nodes and variable nodes update operation, high throughput, low resource consumption, and has the advantages of novelty, creativity and practical features.

【技术实现步骤摘要】

本专利技术涉及到多进制LDPC译码方法及译码器,尤其涉及多进制LDPC采用改进的最大最小(TMMtrellismin-max)算法的译码方法及其译码器实现。
技术介绍
LDPC(低密度奇偶校验)码是由Gallager在1962年首次提出来,但由于当时硬件条件限制,一直被忽略,直到1996年MacKay和Neal等人对它进行重新研究,发现其具有逼近香浓限的优异性能,才重新被人们认识。研究表明LDPC码在码长较长时,译码性能优于Turbo码;多进制LDPC码在纠错能力、抗突发错误能力、对高速传输系统的适应性方面优于2进制LDPC码。多进制LDPC译码的算法复杂度高,大量计算集中在校验节点的更新,因此目前针对多进制LDPC译码算法的改进主要在校验节点更新算法的简化上。最初Davey和MacKay提出概率域和积译码算法(QSPA),该算法运算量太大,硬件无法实现;HenkWymccrsch等人提出对数域和积译码算法(log-SPA),该算法将乘法运算变为加法运算,计算量大幅降低,但硬件仍难以实现;之后Barnault、Declercq和Fossorier提出了快速傅立叶变换和积算法(FFT-SPA),该算法利用FFT及IFFT计算校验节点更新中的卷积运算,计算量进一步简化,硬件可实现;2007年扩展最小和算法(ExtendedMin-Sum)被提出,它对和积译码算法(log-SPA)做了近似,使得校验节点的更新只有比较和加法的运算,计算量进一步降低;最大最小算法(min-max)在扩展最小和算法的基础上做了进一步改进,它将加法运算用比较计算最大置信度代替,避免了加法运算带来的数据位扩展问题,运算量进一步降低;T-EMS(trellisEMS)算法在扩展最小和(EMS)的基础上额外引入一列最高置信度信息,从而避免了EMS算法和min-max算法中前向后向迭代计算,增加了并行度,增大了吞吐速率,但资源占用较大;TMM(trellismin-max)算法进一步简化了T-EMS算法,该算法在计算校验节点时只用到了两个最大置信度信息,并且在配置集计算上使用比较最大值代替了加法运算,同时并不会带来译码性能的损失,但该算法在进制较高时资源占用仍然较大。
技术实现思路
有鉴于此,本专利技术的目的在于避免上述
技术介绍
中的不足而提供一种改进的TMM译码算法。本专利技术在TMM译码算法的基础上,对其硬件实现方法进行了进一步优化,在交换网络计算模块中,计算好所有校验矩阵可能的取值对应的交换位置,将其写入程序中,根据校验矩阵的取值仅需一步即可实现交换网络的计算;在普通域至Δ域的转换模块中,提前计算出所有最小值位置可能的取值带来的普通域位置变化,将其写入程序中,根据最小值位置的取值仅需一步即可实现普通域至Δ域的计算;在进制较高时,移位寄存器的资源占用要远大于存储单元的资源占用,本专利技术采用存储单元代替移位寄存器;在校验节点计算时,比较计算两个最大置信度之前的步骤都应采用串行计算,进一步降低资源占用。对于64进制44*88的校验矩阵,硬件资源占用为:逻辑单元(ALUT):73124、寄存器(Registers):52622、存储单元(BlockMemoryBits):170496。有效解决了多进制LDPC译码问题。一种多进制LDPC译码方法,其特征在于包括以下步骤:①初始化模块接收并初始化待译码信息,将初始化后的待译码信息存入存储模块;②校验节点更新模块根据存储模块中的初始化后的待译码信息及前一次校验节点的迭代更新值或根据存储模块中的本次变量节点的迭代更新值及前一次校验节点的迭代更新值进行本次校验节点的迭代更新,得到本次校验节点的迭代更新值并存入存储模块;变量节点更新模块根据存储模块中的本次校验节点的迭代更新值进行下一次变量节点的迭代更新,得到下一次变量节点的迭代更新值并存入存储模块;③输出计算模块判断是否达到所设定的迭代更新次数,若是,则根据存储模块中最后一次变量节点的迭代更新值进行译码输出计算,并输出译码后的信息;否则,将下一次变量节点的迭代更新值作为本次变量节点的迭代更新值,将本次校验节点的迭代更新值作为前一次校验节点的迭代更新值,跳转到步骤②。其中,步骤①具体包括以下步骤:(101)初始化模块接收待译码信息;(102)计算输入的所有待译码信息的后验概率:计算公式为:log[P(cn=a|yn)];式中yn为接收到的第n个待译码信息,cn=a为第n个发送信息取值为a,且其中,GF(P)为伽罗华域,n为正整数;(103)从p个后验概率中找到最大的后验概率:log[P(cn=zn|yn)],(104)初始化待译码信息:式中cn=zn为最大的后验概率时第n个发送信息取值为zn;(105)将初始化后的待译码信息以p×q比特为单位进行存储,其中,p=2q表示伽罗华域对应的进制。其中,步骤②具体为:在第二次迭代及第二次以上迭代时根据如下公式计算本次校验节点的迭代更新值Qmn′(t)(a)=Qn(t)(hmna)-Rmn(t-1)(a)]]>Qmn′(t)=min{Qmn′(t)(a)本文档来自技高网
...

【技术保护点】
一种多进制LDPC译码方法,其特征在于包括以下步骤:①初始化模块接收并初始化待译码信息,将初始化后的待译码信息存入存储模块;②校验节点更新模块根据存储模块中的初始化后的待译码信息及前一次校验节点的迭代更新值或根据存储模块中的本次变量节点的迭代更新值及前一次校验节点的迭代更新值进行本次校验节点的迭代更新,得到本次校验节点的迭代更新值并存入存储模块;③变量节点更新模块根据存储模块中的本次校验节点的迭代更新值进行下一次变量节点的迭代更新,得到下一次变量节点的迭代更新值并存入存储模块;④输出计算模块判断是否达到所设定的迭代更新次数,若是,则根据存储模块中最后一次变量节点的迭代更新值进行译码输出计算,并输出译码后的信息;否则,将下一次变量节点的迭代更新值作为本次变量节点的迭代更新值,将本次校验节点的迭代更新值作为前一次校验节点的迭代更新值,跳转到步骤②。

【技术特征摘要】
1.一种多进制LDPC译码方法,其特征在于包括以下步骤:①初始化模块接收并初始化待译码信息,将初始化后的待译码信息存入存储模块;②校验节点更新模块根据存储模块中的初始化后的待译码信息及前一次校验节点的迭代更新值或根据存储模块中的本次变量节点的迭代更新值及前一次校验节点的迭代更新值进行本次校验节点的迭代更新,得到本次校验节点的迭代更新值并存入存储模块;③变量节点更新模块根据存储模块中的本次校验节点的迭代更新值进行下一次变量节点的迭代更新,得到下一次变量节点的迭代更新值并存入存储模块;④输出计算模块判断是否达到所设定的迭代更新次数,若是,则根据存储模块中最后一次变量节点的迭代更新值进行译码输出计算,并输出译码后的信息;否则,将下一次变量节点的迭代更新值作为本次变量节点的迭代更新值,将本次校验节点的迭代更新值作为前一次校验节点的迭代更新值,跳转到步骤②。2.根据权利要求1所述的一种多进制LDPC译码方法,其特征在于,步...

【专利技术属性】
技术研发人员:张亚林张金涛树玉泉魏海涛
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:河北;13

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1