当前位置: 首页 > 专利查询>牛毅专利>正文

一种LDPC及其缩短码的高速译码方法技术

技术编号:6040135 阅读:263 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种LDPC及其缩短码的高速译码方法,本发明专利技术以CCSDS为标准对(8176,7154)码型,在较低成本的硬件平台上实现了对高速数据流的译码,解决了长码长的低密度奇偶校验码在高码率下的译码问题。

【技术实现步骤摘要】

本专利技术属于编译码
,涉及一种LDPC及其缩短码的高速译码装置。
技术介绍
LDPC码最早在20世纪60年代由Gallager在他的博士论文中提出,但限于当时的技术条件,缺乏可行的译码算法,此后的35年间基本上被人们忽略,其间由Tanner在1981年推广了LDPC(低密度奇偶校验码)码并给出了LDPC码的图表示,即后来所称的Tanner图。1993年Berrou等人发现了Turbo码,在此基础上,1995年前后MacKay和Neal等人对LDPC码重新进行了研究,提出了可行的译码算法,从而进一步发现了LDPC码所具有的良好性能,迅速引起强烈反响和极大关注。目前已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。LDPC码已成为第四代通信系统(4G)强有力的竞争者,而基于LDPC码的编码方案已经被下一代卫星数字视频广播标准DVB-S2采纳。LDPC信道编码技术首次应用于我国航天领域是在2010年10月1日发射升空的嫦娥二号。其下行数据速率是12M/S,也就是LDPC编译码器均工作在12MHz的频率下。随着我国空间技术的发展,空间探测中各种有效载荷需要下传的数据量会越来越大,这就需要具有良好纠错能力的LDPC码能够有效的适应高码速率的要求。当前LDPC译码的硬件实现多是基于码长较短的码型(几十到几百比特的码长),且运算速率较低(十几兆到几十兆),而且由于硬件资源的限制,实现功能较强的LDPC译码器需要性能很好的芯片、甚至需要针对特定算法专门设计,硬件实现平台的成本很高,不利于大规模应用。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,提供了一种LDPC译码装置及方法。本专利技术以CCSDS为标准对(8176,7154)码型,在较低成本的硬件平台上实现了对高速数据流的译码,解决了长码长的低密度奇偶校验码在高码率下的译码问题。本专利技术的技术解决方案:通过以下步骤进行实现:(1)对译码数据的第i个数据帧进行判断:若输入为LDPC数据,则按所使用的输出数据寄存器的地址将LDPC数据中帧头数据的原码进行存储;并由输出数据寄存器输出前一运算周期中数据帧的帧头数据;若输入为LDPC的缩短码数据,则按所使用的输出数据寄存器的地址将LDPC数据中帧头和填充数数据的原码进行存储;并由输出数据寄存器输出前一运算周期中数据帧的帧头和填充数数据;(2)按照所使用的中间数据寄存器和迭代结果数据寄存器的地址存储第i个数据帧中的有效数据;并由步骤(1)中所述的输出数据寄存器输出前一运算周期中的译码数据;-->(3)第i个数据帧存储完毕后,对第i个数据帧进行校验节点和变量节点的迭代运算操作;同时对输入的第i+1个数据帧从步骤(1)开始利用不同的输出数据寄存器、中间数据寄存器和迭代结果数据寄存器进行操作;(4)当对第i个数据帧的操作完成并输出后,重新采用对第i个数据帧进行操作的数据寄存器、中间数据寄存器和迭代结果数据寄存器对新到达的数据帧进行操作;在上述步骤中,同时对输入的所有数据帧进行操作,对一个数据帧进行存储后操作所用时间等于对该单个数据帧之后输入的其余各数据帧进行存储所用时间的累加和。所述步骤(3)中的校验节点和变量节点的迭代运算操作分别由校验节点运算模块和变量节点模块实现,并可在连续到达的数据帧中进行复用。同时进行操作的数据帧为4个;当完成对第i个数据帧的操作后,第i+4个输入数据帧重新采用对第i个数据帧进行操作的数据寄存器、中间数据寄存器和迭代结果数据寄存器。本专利技术与现有技术相比具有如下优点:(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);5.MLG(Majority-Logic),只对循环LDPC码可以应用。以上所列的算法,复杂性和误码性能依次降低。其中,Probability-domainSPA计算太过复杂,BF算法和MLG算法不能提供良好的误码性能,实际中均不宜采用。可以使用的几种算法中,修正的Min-sum算法误码性能可以接近SPA,又有相对低的复杂度,因此,经综合考虑本设计采用了修正的Min-sum算法。Min-sum算法译码迭代实施方式:H=11110001001000111000010010011000100101010001001011]]>Min-sum算法基于LDPC码校验矩阵H的Tanner图进行迭代译码。我们以如下校验矩阵为例来说明它的运算过程。H的Tanner图如图2所示。想象ci和fj分别为校验节点和变量节点的运算单元,ci和fj之间的连线为双向通道,记从ci和fj的连线(即ci的输出,fj的输入)为qij;从fj到ci的连线(即fj的输出,ci的输入)为rji。Min-sum首先初始化fj的输入qij。qij经fj运算后输出rji,再经ci运算后输出更新qij,完成一次迭代。直到解出正确的码子,或者达到预先设定的最大迭代次数,结束整个迭代过程,解码完毕。具体步骤如下:1.初始化qij:接收到的含噪声(Var=σ)2的码子γ=(γ0,γ1,…,γ9),将qi=2γi/σ2作为原始输入,并将所有qij初始化为:qij=qi=2γi/σ22.运算单元fj:f0为5输入5输出,其余的fj均为4输入4输出。输出与输入的关系为:rji=Πi′≠isign(qij)&Ce本文档来自技高网...

【技术保护点】
1.一种LDPC及其缩短码的高速译码方法,其特征在于通过以下步骤进行实现:(1)对译码数据的第i个数据帧进行判断:若输入为LDPC数据,则按所使用的输出数据寄存器的地址将LDPC数据中帧头数据的原码进行存储;并由输出数据寄存器输出前一运算周期中数据帧的帧头数据;若输入为LDPC的缩短码数据,则按所使用的输出数据寄存器的地址将LDPC数据中帧头和填充数数据的原码进行存储;并由输出数据寄存器输出前一运算周期中数据帧的帧头和填充数数据;(2)按照所使用的中间数据寄存器和迭代结果数据寄存器的地址存储第i个数据帧中的有效数据;并由步骤(1)中所述的输出数据寄存器输出前一运算周期中的译码数据;(3)第i个数据帧存储完毕后,对第i个数据帧进行校验节点和变量节点的迭代运算操作;同时对输入的第i+1个数据帧从步骤(1)开始利用不同的输出数据寄存器、中间数据寄存器和迭代结果数据寄存器进行操作;(4)当对第i个数据帧的操作完成并输出后,重新采用对第i个数据帧进行操作的数据寄存器、中间数据寄存器和迭代结果数据寄存器对新到达的数据帧进行操作;在上述步骤中,同时对输入的所有数据帧进行操作,对一个数据帧进行存储后操作所用时间等于对该单个数据帧之后输入的其余各数据帧进行存储所用时间的累加和。...

【技术特征摘要】
1.一种LDPC及其缩短码的高速译码方法,其特征在于通过以下步骤进行实现:(1)对译码数据的第i个数据帧进行判断:若输入为LDPC数据,则按所使用的输出数据寄存器的地址将LDPC数据中帧头数据的原码进行存储;并由输出数据寄存器输出前一运算周期中数据帧的帧头数据;若输入为LDPC的缩短码数据,则按所使用的输出数据寄存器的地址将LDPC数据中帧头和填充数数据的原码进行存储;并由输出数据寄存器输出前一运算周期中数据帧的帧头和填充数数据;(2)按照所使用的中间数据寄存器和迭代结果数据寄存器的地址存储第i个数据帧中的有效数据;并由步骤(1)中所述的输出数据寄存器输出前一运算周期中的译码数据;(3)第i个数据帧存储完毕后,对第i个数据帧进行校验节点和变量节点的迭代运算操作;同时对输入的第i+1个数据帧从步骤(1)开始利用不同的输出数据寄存器、中间数据寄存器...

【专利技术属性】
技术研发人员:牛毅马忠松傅得立
申请(专利权)人:牛毅
类型:发明
国别省市:11

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

1