一种动态阈值比特翻转的ldpc码硬判决译码方法

文档序号:7545280阅读:286来源:国知局
一种动态阈值比特翻转的ldpc码硬判决译码方法
【专利摘要】本发明公开了一种动态阈值比特翻转的LDPC码硬判决译码方法,确定一个初始的翻转阈值T,采用动态阈值,也就是动态的翻转阈值,将翻转阈值变为动态阈值可以减少误翻转的概率,也减少了解码的迭代次数,使LDPC码的比特翻转译码更高效;同时也提高了LDPC码的纠错能力,本发明比标准的比特翻转法的纠错能力有所增强。
【专利说明】—种动态阈值比特翻转的LDPC码硬判决译码方法
【技术领域】
[0001]本发明涉及一种LDPC(Low Density Parity Check,低密度奇偶校验码)硬判决译码器的比特翻转构造方法。
【背景技术】
[0002]在各种需要进行信号传输的应用中,常会采用纠错码(ECC,Error CorrectingCode),能使信号传输错误时,在接收端得以更正错误而获得正确的信号。
[0003]纠错码可以应用于许多系统中,在通信系统中,信号传输时可能会受到信道效应及信道噪声的干扰,从而造成闪存存储装置中所存储的数据已经不正确。闪存存储装置中所存储的数据是经过纠错码装置编码后的数据,对于闪存存储控制装置来说,纠错码是必需的一个功能单元。
[0004]随着存储器的工艺越来越先进,存储器单元体积越来越小,并且存储单元所存储的数据也逐渐在增加,造成闪存存储器在读取过程中产生的错误概率不断升高。因此,闪存存储器控制装置的纠错码纠错能力是决定存储控制器装置是否合格的重要因素。然而,在闪存存储控制装置中采用较强的纠错码需要较高的运算量及较长运算时间,从而增加闪存存储器控制装置的应用受到很大的限制。
[0005]LDPC码是Robert Gallager于1962年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,它的性能逼近香农限,且描述和实现简单,译码简单且可实行并行操作,适合硬件实现。
[0006]LDPC码具有巨大的应用潜力,在深空通信、光纤通信、卫星通信、卫星数字视频、数字水印、磁/光/全息存储、移动和固定无线通信、电缆调制/解调和数字用户中得到广泛应用。
[0007]根据闪存存储装置的工艺越来越先进,闪存存储器控制装置中的纠错码的纠错能力也需要增强。在目前闪存存储器控制装置中,主要的纠错码是BCH码,随着错误概率的增高,BCH码的对空间要求及运算能力也逐渐增高;随着闪存存储工艺的提高,BCH码的纠错能力已经逐渐不适合闪存工艺的发展,所以需要纠错能力更强的纠错码。选择LDPC码来代替BCH码是比较恰当的。
[0008]LDPC码的硬判决译码器中比特翻转门限阈值T的设定,对LDPC码的硬判决译码起着至关重要的作用,它影响着LDPC码的纠错能力、以及它的译码速率。
[0009]如果比特翻转门限阈值T设定的过大会增加译码的迭代次数,从而影响译码速率。
[0010]如果比特翻转门限阈值T设定的过小会造成误翻转这样就增加译码的迭代次数,从而影响译码速率。
[0011]对于非规则的校验矩阵来说,选取固定的比特翻转门限阈值T,那样会造成很大误翻转概率从而大大增加了译码的迭代次数,在严重的情况下导致译码失败。
[0012]当序列Z中码元的错误率达到一定值,使用固定的比特翻转门限阈值T进行译码,无论译码器迭代次数多大都不会成功进行译码。

【发明内容】

[0013]基于动态阈值,本发明的目的在于提供一种动态阈值比特翻转的LDPC码硬判决译码方法,提高译码速率和纠错能力。
[0014]本发明采用以下技术方案:
[0015]一种动态阈值比特翻转的LDPC码硬判决译码方法,确定一个初始的翻转阈值T,包括以下步骤:
[0016]1)读取码字序列,根据码字序列计算校正子;
[0017]2)判断校正子是否为零,若为零,则停止迭代,输出码字序列;否则进入步骤3)
[0018]3)对码字序列中每一码字的每一个码元比特,计算该码元比特参与的不满足校验方程的个数;
[0019]4)计算翻转阈值:随着迭代次数的增多,翻转阈值T递减,得到当前的翻转阈值;
[0020]5)如果不满足的校验方程的个数大于当前翻转阈值,相应的码元比特进行翻转,并计算翻转后对应的码字序列的校正子;
[0021]6)重复步骤2)、3)、4)和5),直至译码成功,或者达到最大迭代次数时,输出译码失败。
[0022]上述动态阈值比特翻转的LDPC码硬判决译码方法,当前的翻转阈值T:
[0023]T = j (b-c.m) /a ;
[0024]式中:m表示当前为第几次迭代,j为码元比特所对应的当前列列重,a、b、c为经
验正常数。
[0025]上述动态阈值比特翻转的LDPC码硬判决译码方法,确定一个初始的翻转阈值T,迭代中翻转的步骤如下:
[0026]a)根据硬判决序列 Z = [z0, Z1,..., zN_J 计算校正子 S = [sQ, S1,..., sM_J:
【权利要求】
1.一种动态阈值比特翻转的LDPC码硬判决译码方法,确定一个初始的翻转阈值T,其特征在于,包括以下步骤: 1)读取码字序列,根据码字序列计算校正子; 2)判断校正子是否为零,若为零,则停止迭代,输出码字序列;否则进入步骤3) 3)对码字序列中每一码字的每一个码元比特,计算该码元比特参与的不满足校验方程的个数; 4)计算翻转阈值:随着迭代次数的增多,翻转阈值T递减,得到当前的翻转阈值;; 5)如果不满足的校验方程的个数大于当前翻转阈值,相应的码元比特进行翻转,并计算翻转后对应的码字序列的校正子; 6)重复步骤2)、3)、4)和5),直至译码成功,或者达到最大迭代次数时,输出译码失败。
2.根据权利要求1所述的动态阈值比特翻转的LDPC码硬判决译码方法,其特征在于,当前的翻转阈值T:
T = j (b-c.m) /a ; 式中:m表示当前为第几次迭代,j为码元比特所对应的当前列列重,a、b、c为经验正常数。
3.根据权利要求1或2所述的动态阈值比特翻转的LDPC码硬判决译码方法,确定一个初始的翻转阈值T,其特征在于,迭代中翻转的步骤如下:
a)根据硬判决序列Z = [z0, Z1,..., zN_J 计算校正子 S = [sQ, S1,..., sN-1]:
【文档编号】H03M13/11GK103888148SQ201410105530
【公开日】2014年6月25日 申请日期:2014年3月20日 优先权日:2014年3月20日
【发明者】高美洲, 李峰, 张洪柳, 刘大铕 申请人:山东华芯半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1