专利名称:一种ldpc及其缩短码的高速译码装置的制作方法
技术领域:
本实用新型属于编译码技术领域,涉及一种LDPC及其缩短码的高速译码装置。
背景技术:
LDPC码最早在20世纪60年代由Villager在他的博士论文中提出,但限于当时的 技术条件,缺乏可行的译码算法,此后的35年间基本上被人们忽略,其间由Tarmer在1981 年推广了 LDPC(低密度奇偶校验码)码并给出了 LDPC码的图表示,即后来所称的Tarmer 图。1993年Berrou等人发现了 Turbo码,在此基础上,1995年前后MacKay和Neal等人对 LDPC码重新进行了研究,提出了可行的译码算法,从而进一步发现了 LDPC码所具有的良好 性能,迅速引起强烈反响和极大关注。目前已广泛应用于深空通信、光纤通信、卫星数字视 频和音频广播等领域。LDPC码已成为第四代通信系统GG)强有力的竞争者,而基于LDPC 码的编码方案已经被下一代卫星数字视频广播标准DVB-S2采纳。LDPC信道编码技术首次应用于我国航天领域是在2010年10月1日发射升空的嫦 娥二号。其下行数据速率是12M/S,也就是LDPC编译码器均工作在12MHz的频率下。随着 我国空间技术的发展,空间探测中各种有效载荷需要下传的数据量会越来越大,这就需要 具有良好纠错能力的LDPC码能够有效的适应高码速率的要求。当前LDPC译码的硬件实现多是基于码长较短的码型(几十到几百比特的码长), 且运算速率较低(十几兆到几十兆),而且由于硬件资源的限制,实现功能较强的LDPC译码 器需要性能很好的芯片、甚至需要针对特定算法专门设计,硬件实现平台的成本很高,不利 于大规模应用。
实用新型内容本实用新型的技术解决问题是克服现有技术的不足,提供了一种LDPC译码装置 及方法。本实用新型以CCSDS为标准对(8176,7154)码型,在较低成本的硬件平台上实现 了对高速数据流的译码,解决了长码长的低密度奇偶校验码在高码率下的译码问题。本实用新型的技术解决方案是—种LDPC及其缩短码的高速译码装置包括数据转换和控制模块、数据输出模 块、η个中间数据寄存器、η/2个迭代结果寄存器、η个输出数据寄存器、η/2个校验节点运 算模块、η/2个比特节点运算模块,数据转换和控制模块的编码数据输出端分别与η个中间数据寄存器和η个迭代结 果寄存器的输入端相连;数据转换和控制模块的帧头输出端分别与η个输出数据寄存器的 帧头输入端相连;η个中间数据寄存器按照编号顺序分为1 η/2组,同组的中间数据寄存器的输出 端分别与编号相同的一个校验节点运算模块的输入端和一个比特节点运算模块的输入端 相连;η/2个迭代结果寄存器按照编号顺序分为1 η/2组,同组的迭代结果寄存器的输出端与编号相同的一个比特节点运算模块相连的输入端;η个输出数据寄存器按照编号顺序分为1 η/2组,按照组的编号将输出数据寄存 器的输入端分别与η/2个比特节点运算模块的输出端相连;比特节点运算模块同时与两个 输出数据寄存器相连;η个输出数据寄存器的输出端与数据输出模块的输入端相连;并由数据输出模块 将译码数据输出。所述η个中间数据寄存器为双口 block RAM。本实用新型与现有技术相比具有如下优点(1)采用2个校验节点模块和16个变量节点模块的半并行数据处理方式,使资源 占用和运算效率取得平衡优化。相对于完全串行的处理方式,可以使得在缓存3帧数据的 情况下迭代运算次数增加一倍;相对于完全并行的处理方式,可以大量节省芯片资源占用, 使得在较低端芯片上实现此规模的译码成为可能。另外,以此种方法为基础,为相邻两帧数 据分配独立的运算单元,在少量增加硬件资源支出的情况下可以进一步提高系统的工作频 率。根据实际工程需求,对时序控制部分作适当修改,还可以在降低工作频率百分之五十的 情况下再增加一倍的迭代次数,提供更优的译码效果。(2)采用半并行的数据处理方式也会产生大量的中间数据。如果在对码长较短 LDPC码进行译码的情况下,可以采用FPGA的片内寄存器资源进行临时存储。但对(8176, 7154)这种码长较长的LDPC码进行译码,片内的寄存器资源就会不足,而且运算中频繁 的对不同位置的寄存器进行读写访问也会降低系统的工作频率。基于此,设计中采用了 BlockRam作为中间数据的存储,有效利用FPGA内部的专用电路从而大量节省了逻辑和布 线资源,解决了以上问题。另外,由于BlockRam寻址读写的特点,也增加了设计的可移植 性。(3)多层流水线结构的控制方式实际上是对半并行的数据处理方式的一种优化。 从数据流状态上看,这种并行结构是动态的,在提高系统工作频率的同时,解决了译码数据 流输入、输出的连贯问题。
图1为本实用新型结构示意图;图2为Min-sum算法校验矩阵Tanner图;图3为校验节点运算示意图;图4为本实用新型工作流程图。
具体实施方式
下面就结合附图对本实用新型做进一步描述。LDPC码的译码算法有1. SPA (Sum-Product Algorithm),Probability-domain ;2. SPA, Log-domain ;3. Min-sum (Log-domain SPA的简化算法),及其各种修正版本;4. BF(Bit-Flipping);[0028]5. MLG (Majority-Logic),只对循环 LDPC 码可以应用。以上所列的算法,复杂性和误码性能依次降低。其中,ftObability-domainSPA计 算太过复杂,BF算法和MLG算法不能提供良好的误码性能,实际中均不宜采用。可以使用 的几种算法中,修正的Min-sum算法误码性能可以接近SPA,又有相对低的复杂度,因此,经 综合考虑本设计采用了修正的Min-sum算法。Min-sum算法译码迭代实施方式 1 1 1 1 0 0 0 1 0 0" 1 0 0 0 1 1 1 0 0 0 H=
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
0 0 1
1 1 0
1 0 1
0
1Min-sum算法基于LDPC码校验矩阵H的Tarmer图进行迭代译码。我们以如下校 验矩阵为例来说明它的运算过程。H的Tarmer图如图2所示。想象Ci和。分别为校验节 点和变量节点的运算单元,Ci和。之间的连线为双向通道,记从Ci和。的连线(即Ci的 输出,fj的输入)为% ;从fj到Ci的连线(即fj的输出,Ci的输入)为rji。Min-sum首先初始化f」的输入qij。qiJ经f」运算后输出1^,再经Ci运算后输出更 新qu,完成一次迭代。直到解出正确的码子,或者达到预先设定的最大迭代次数,结束整个 迭代过程,解码完毕。具体步骤如下1.初始化Qij 接收到的含噪声(Var= σ 2)的码子Y = (Yq,Yl,…,Yg),将 qi = 2yi/o2作为原始输入,并将所有%初始化为qiJ = qi = 2 Y i/ σ 22.运算单元。&为5输入5输出,其余的f^均为4输入4输出。输出与输入的 关系为
权利要求1.一种LDPC及其缩短码的高速译码装置,其特征在于包括数据转换和控制模块、数 据输出模块、η个中间数据寄存器、η/2个迭代结果寄存器、η个输出数据寄存器、η/2个校 验节点运算模块、η/2个比特节点运算模块,数据转换和控制模块的编码数据输出端分别与η个中间数据寄存器和η个迭代结果寄 存器的输入端相连;数据转换和控制模块的帧头输出端分别与η个输出数据寄存器的帧头 输入端相连;η个中间数据寄存器按照编号顺序分为1 η/2组,同组的中间数据寄存器的输出端 分别与编号相同的一个校验节点运算模块的输入端和一个比特节点运算模块的输入端相 连;η/2个迭代结果寄存器按照编号顺序分为1 η/2组,同组的迭代结果寄存器的输出端 与编号相同的一个比特节点运算模块相连的输入端;η个输出数据寄存器按照编号顺序分为1 η/2组,按照组的编号将输出数据寄存器的 输入端分别与η/2个比特节点运算模块的输出端相连;比特节点运算模块同时与两个输出 数据寄存器相连;η个输出数据寄存器的输出端与数据输出模块的输入端相连;并由数据输出模块将译 码数据输出。
2.根据权利要求1所述的一种LDPC及其缩短码的高速译码装置,其特征在于所述η 个中间数据寄存器为双口 block RAM。
专利摘要本实用新型公开了一种LDPC及其缩短码的高速译码装置,包括数据转换和控制模块、数据输出模块、n个中间数据寄存器、n/2个迭代结果寄存器、n个输出数据寄存器、n/2个校验节点运算模块、n/2个比特节点运算模块。采用本实用新型以CCSDS为标准对(8176,7154)码型,在较低成本的硬件平台上实现了对高速数据流的译码,解决了长码长的低密度奇偶校验码在高码率下的译码问题。
文档编号H03M13/11GK201918982SQ20112002764
公开日2011年8月3日 申请日期2011年1月27日 优先权日2011年1月27日
发明者傅得立, 牛毅, 马忠松 申请人:牛毅