一种低密度奇偶校验码的译码方法及译码器的制作方法

文档序号:7539196阅读:205来源:国知局
专利名称:一种低密度奇偶校验码的译码方法及译码器的制作方法
技术领域
本发明涉及无线通信中编译码技术领域,更具体地说,本发明涉及一种低密度奇偶校验码(LDPC, Low Density Parity Check Codes )的译码方法及 译码器。
背景技术
自上世纪九十年代中起,信道编译码领域兴起了 一股LDPC码的研究热 潮。实际上早在1960年,Gallager就在其博士论文中首次提出了 LDPC码, 它和涡轮(Turbo)码有着相似的优秀性能,也是一种性能接近香农限而且 可以实现的编码方案。由于一直缺少实现简单的编译码算法,再加上当时的 硬件实现能力限制,LDPC码才一直沉寂了近40年。直到上世纪九十年代 中期,信道编译码人员把人工智能领域的信息传递思想引入到信道编译码领 域,才大大减小了 LDPC码译码的运算量,且译码性能优良,从而使LDPC 码逐渐走向实用。目前很多通信系统中已把LDPC码作为其重要候选方案之现有的信道编译码方案中,LDPC码译码一般采用和积译码算法(SPA ) 方法,为介绍其译码过程,先作以下说明假设采用BPSK( Binary Phase Shift Keying, 二相相移键控)调制,LDPC 编码得到的码字序列;c-h,v."为编码后的码字长度,矢为编码前的 信息长度,w="-A为校检信息的长度。编码后的码字经BPSK调制以后被送 入信道,在接收端解调器的输出作为LDPC译码器的输入。其中信道假设 为离散无记忆型,叠加的是AWGN ( Additive White Gaussian Noise,加性高 斯白噪声),则译码器的输入为
<formula>formula see original document page 5</formula>定义如下符号刀比特节点卜"的概率,即/>尸""); WW :参与校验节点^的所有比特节点的集合,即/^ )"":^=1}; :参与比特节点^的所有校验节点的集合,M(")S{m://m =l};":除了比特节点^"之外参与校验节点乙的所有比特节点的集合; m(")\m:除了校验节点Zm之外参与比特节点x 的所有校验节点的集合; L :除了&外^参与的其它校验节点提供的信息上"""的概率;《给定^"和所有、ewW"的可分概率分布的条件下,满足校验z"-0的概率。则LDPC码的译码过程如下 首先,初始化各比特的初始概率<formula>formula see original document page 5</formula>然后,执行横向步骤(比特节点传给校检节点的信息)令 <formula>formula see original document page 5</formula>则<formula>formula see original document page 5</formula>接着,执行纵向步骤(校检节点传给比特节点的信息)<formula>formula see original document page 6</formula>若w^o时,则译码结束,报译码成功消息;否则判断是否到最大迭代 次数,如果到,译码结束,报译码失败消息,同时输出最后一轮的译码数据; 否则回到橫向步骤,进行下一轮迭代。在现有技术的LDPC译码方法中,如果到达最大译码次数仍未译码成 功,则直接输出最后一轮的译码数椐。然而,对于某些误码率(BER)较为敏感的业务,按这种现有技术的 LDPC译码输出的译码数据BER却并不一定能够足够低,从而造成业务的 服务质量(QoS)下降,影响最终用户的接收效果,比如造成语音不清晰、 图像马赛克过多等。发明内容有鉴于此,本发明的主要目的是提出一种LDPC的译码方法,以降低译 码数据的BER。本发明的另一目的是提出一种LDPC的译码器,以降低译码数据的 BER。为达到上述目的,本发明的技术方案是这样实现的 一种低密度奇偶校验码LDPC译码方法,所述方法中校验方程的个数为w, 预先设置每次进行校验式判决时未满足校验方程的个数A^的初值为w,所述方法在每次迭代过程中包括以下步骤A、 判断是否所有的校验方程都满足,如果不是,执行步骤B;B、 判断未满足的校验方程数7V是否小于A^,如果小于A^,则用最新的译码结果序列刷新译码输出序列X,并将7V的值赋予W促,并执行步骤C,如 果不小于A^,则直接执行步骤C;C、 判断是否达到最大迭代次数,如果是,则用所述译码输出序列X作为 译码结果;如果不是,则执行下一次迭代过程。所述步骤A进一步包括步骤所有的校验方程都满足时,输出最后一次译 码序列作为译码结果。所述步骤A进一步包括步骤所有的校验方程都满足时,报告译码成功消自所述步骤C进一步包括步骤达到最大迭代次数时,报告译码失败消息。 一种低密度奇偶校验码LDPC译码器,所述译码器包括 所有校验方程都满足判断单元(201),用于判断是否所有的校验方程都满足;未满足校验方程数判断单元(202),用于当所有校验方程都满足判断单元 (201)判断出不是所有的校验方程都满足时,判断未满足的校l^方程数W是 否小于预先设置的每次进行校验式判决时未满足校验方程的个数A^,其中iV^的初值为w, w为才t险方程的个数;译码输出序列刷新单元(203 ),用于当未满足校验方程数判断单元(202) 判断出未满足的校验方程数iV小于W^时,用最新的译码结果序列刷新译码输出序列X,并将〃的值赋予W"s;最大迭代次数判断单元(204),用于判断是否达到最大迭代次数; 译码失败结果输出单元(205 ),用于当最大迭代次数判断单元(204)判断 出到达最大迭代次数时,用所述译码输出序列x作为译码结果。所述LDPC译码器进一步包括译码成功结果输出单元(206),用于当校验方程都满足判断单元(201 )判 断出所有的校验方程都满足时,输出最后一次译码序列作为译码结果。所述译码成功结果输出单元(206),进一步用于报告译码成功消息。 所述译码失败结果输出单元(205 ),进一步用于报告译码失败消息。从上述技术方案中可以看出,在本发明中所提出的LDPC译码方法中,假 设该方法中校验方程的个数为w,首先预先设置每次进行校验式判决时未满足校验方程的个数w促的初值为w,该方法在每次迭代过程中包括以下步骤A、 判断是否所有的校验方程都满足,如果是,则退出本流程;如果不是,则进一 步判断未满足的校验方程数W是否小于^服,如果小于^;e,则用最新的译码结果序列刷新译码输出序列X,并将W的值赋予^促,并执行步骤B,如果不小于w"e,则直接执行步骤B; B、判断是否达到最大迭代次数,如果是,则用所 述译码输出序列X作为译码结果,并结束本流程;如果不是,则执行下一次迭 代过程。由此可见,在应用本发明以后,当某块数据的LDPC译码失败时,最 终译码输出采用前边多次迭代译码中校检方程不满足数最小那次所对应的输 出;而不是象传统LDPC译码那样用最后一次译码的输出。因为校检方程不满 足数越小, 一般来说BER就越小,所以采用本发明的技术方案可以有效降低译 码数据的BER,从而显著提高通信的性能。


图1为本发明实施例的LDPC译码方法的流程示意图; 图2为本发明实施例的LDPC译码器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附 图及具体实施例对本发明再作进一步详细的说明。
本发明实施例的主要思想是当某块数据的LDPC译码失败时,其最终 译码输出采用前边多次迭代译码中,校检方程不满足数最小那次所对应的输 出。由于校检方程不满足数越小, 一般来说BER就越小,所以采用本发明 的技术方案可以有效降低译码数据的BER,从而提高通信的性能。下面对本发明的方法进行详细说明,本发明所采用的译码方法如下 设W泥为每次进行校检式判决时w个校检方程中未满足方程的个数,初始化W服设数组义-K,v"vJ存放输出的码组。首先,初始化各比特的初始概率<formula>formula see original document page 9</formula>然后,执行横向步骤(比特节点传给校检节点的信息)接着,执行纵向步骤(校检节点传给比特节点的信息)<formula>formula see original document page 9</formula>其中选择a柳使《L +《L =1 。然后更新伪后验概率并判断是否译码成功其中选择""使^+^=1。当《 0>0.5时,x =0;当^ >0.5时,、=1若^/^=0时,则译码结束,报译码成功消息,并输出最后一轮的译码结 果作为译码输出;否则记下x/^中校检方程不满足的个数W,如果^<^/£,则用当前的译码输出刷新/ = "。,^'《"-'},并刷新^e-w;然后判断是否到最大迭代次数,如果到,译码结束,报译码失败信息,同时输出义-",、…x"-'}作为最终的译码输出数据;如果没到最大迭代次数,回到横向步骤进行下一轮迭代。图1为本发明实施例的LDPC码的译码方法流程示意图。如图1所示, 该方法包4舌步骤101:判断是否第一次迭代,如杲是则执行步骤103,否则执行步 骤102;步骤102:根据迭代节点信息rb咖计算比特节点信息q、n,执行步骤1(>4; 步骤103:初始化不满足方程数W"f,也就是将w的值赋予W"s,即^£=/",并根据接收信息给各比特节点赋初值qbm。;步骤104:根据比特节点信息qb则计算迭代节点信息rbmn; 步骤105:判断是否所有的校验方程都满足,即^"o,如果是表示译 码成功,执行步骤107,否则表示译码失败,执行步骤106;步骤106:判断未满足的校验方程是^是否小于~£,如果小于^^执行 步骤108,否则执行步骤109;步骤107:报告译码成功消息,输出最后一次译码序列x;步骤108:用最新的译码结果序列x刷新译码输出序列X,并用W刷新""£,也就是X-x, A^£=W;步骤109:判断是否达到最大迭代次数,如果是执行步骤110,否則返 回执行步骤101;步骤110:报告译码失败消息,用X作为译码输出序列。基于上述算法,本发明还提出了一种LDPC译码器,图2为本发明实施 例的LDPC译码器的结构示意图。如图2所示,该LDPC译码器200包括所有校验方程都满足判断单元201,用于判断是否所有的校验方程都满足;未满足校验方程数判断单元202,用于当所有校验方程都满足判断单元201 判断出不是所有的校验方程都满足时,判断未满足的校验方程数W是否小于预 先设置的每次进行校验式判决时未满足校验方程的个数^£,其中Ww的初值为附,w为校验方程的个数;译码输出序列刷新单元203,用于当未满足校验方程数判断单元202判断 出未满足的校验方程数 〃 小于W促时,用最新的译码结果序列刷新译码输出序列X,并将iV的值赋予W^;最大迭代次数判断单元204,用于判断是否达到最大迭代次数;译码失败结果输出单元205,用于当最大迭代次数判断单元204判断出到达最大迭代次数时,用所述译码输出序列X作为译码结果;当最大迭代次数判断单元204判断出没有达到最大迭代次数时,通知译码器200接着执行下一次迭代。优选地,该LDPC译码器还可以进一步包括译码成功结果输出单元206,用于当校验方程都满足判断单元201判断出 所有的校验方程都满足时,输出最后一次译码序列作为译码结果。当译码成功或者译码成功时,优选地报告相应的译码成功消息或译码失败 消息。此时,更优选地,所述译码成功结果输出单元(206),进一步用于报告译 码成功消息。所述译码失败结果输出单元(205 ),进一步用于报告译码失败消息。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种低密度奇偶校验码LDPC译码方法,其特征在于,所述方法中校验方程的个数为m,预先设置每次进行校验式判决时未满足校验方程的个数NUE的初值为m,所述方法在每次迭代过程中包括以下步骤A、判断是否所有的校验方程都满足,如果不是,执行步骤B;B、判断未满足的校验方程数N是否小于NUE,如果小于NUE,则用最新的译码结果序列刷新译码输出序列X,并将N的值赋予NUE,并执行步骤C,如果不小于NUE,则直接执行步骤C;C、判断是否达到最大迭代次数,如果是,则用所述译码输出序列X作为译码结果;如果不是,则执行下一次迭代过程。
2、 根据权利要求1所述的LDPC译码方法,其特征在于,所述步骤A进 一步包括步骤所有的校验方程都满足时,输出最后一次译码序列作为译码结 果。
3、 根据权利要求2所述的LDPC译码方法,其特征在于,所述步骤A进 一步包括步骤所有的校验方程都满足时,报告译码成功消息。
4、 根据权利要求1所述的LDPC译码方法,其特征在于,所述步骤C进 一步包括步骤达到最大迭代次数时,报告译码失败消息。
5、 一种低密度奇偶校验码LDPC译码器,其特征在于,所述译码器包括 所有校验方程都满足判断单元(201),用于判断是否所有的校验方程都满足;未满足校验方程数判断单元(202),用于当所有校验方程都满足判断单元 (201)判断出不是所有的校验方程都满足时,判断未满足的校验方程数V是 否小于预先设置的每次进行校验式判决时未满足校验方程的个数AW,其中iV服的初值为w, w为校验方程的个数;译码输出序列刷新单元(203 ),用于当未满足校验方程数判断单元(202) 判断出未满足的校验方程数iV小于A^时,用最新的译码结果序列刷新译码输 出序列X,并将W的值赋予W^;最大迭代次数判断单元(204),用于判断是否达到最大迭代次数; 译码失败结果输出单元(205 ),用于当最大迭代次数判断羊元(204)判断 出到达最大迭代次数时,用所述译码输出序列X作为译码结果。
6、 根据权利要求5所述的LDPC译码器,其特征在于,所述LDPC译码器 进一步包括译码成功结果输出单元(206),用于当校验方程都满足判断单元(201)判 断出所有的校验方程都满足时,输出最后一次译码序列作为译码结果。
7、 根据权利要求6所述的LDPC译码器,其特征在于,所述译码成功结果 输出单元(206),进一步用于报告译码成功消息。
8、 根据权利要求6所述的LDPC译码器,其特征在于,所述译码失败结果 输出单元(205),进一步用于报告译码失败消息。
全文摘要
本发明公开了一种低密度奇偶校验码(LDPC)译码方法,该方法中校验方程的个数为m,预先设置每次进行校验式判决时未满足校验方程的个数N<sub>UE</sub>的初值为m,该方法在每次迭代过程中包括以下步骤A.判断是否所有的校验方程都满足,如果不是,执行步骤B;B.判断未满足的校验方程数N是否小于N<sub>UE</sub>,如果小于N<sub>UE</sub>,则用最新的译码结果序列刷新译码输出序列X,并将N的值赋予N<sub>UE</sub>,并执行步骤C,如果不小于N<sub>UE</sub>,则直接执行步骤C;C.判断是否达到最大迭代次数,如果是,则用所述译码输出序列X作为译码结果;如果不是,则执行下一次迭代过程。本发明还公开了一种LDPC译码器。应用本发明后,能够降低译码数据的误码率(BER)。
文档编号H03M13/00GK101132180SQ20061010993
公开日2008年2月27日 申请日期2006年8月24日 优先权日2006年8月24日
发明者武雨春 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1