基于分层最小和算法的LDPC译码方法技术

技术编号:19750848 阅读:94 留言:0更新日期:2018-12-12 05:41
本发明专利技术提供了一种基于分层最小和算法的LDPC译码方法。该方法将LDPC的校验矩阵按行分为多个校验节点,按列分为多个变量节点,并且当LDPC的校验矩阵的元素为1时,认为该元素位于的行所对应的校验节点和该元素位于的列所对应的变量节点具有连接,其特征在于,当迭代次数没有达到预定的最大迭代次数或LDPC校验和不为全零向量时,重复执行以下步骤:变量节点根据接收到的前后两次外信息值的加权平均更新传送给相连的校验节点的信息;校验节点根据接收到的前后两次外信息值的加权平均值更新传递给相连的变量节点的信息;利用变量节点的后验概率进行译码判决。本发明专利技术的译码方法能够提高译码性能并易于硬件实现。

【技术实现步骤摘要】
基于分层最小和算法的LDPC译码方法
本专利技术涉及通信
,尤其涉及一种基于分层最小和算法的LDPC译码方法。
技术介绍
LDPC码(低密度奇偶校验码)是基于校验矩阵的一种线性分组码,由于具有较强的纠错能力得到了广泛应用。目前应用比较广泛的LDPC译码算法是LLR-BP。LLR-BP译码算法是对数域BP算法也是标准的译码算法,尽管该算法的译码性能较优,但是在译码迭代运算时需要大量的加法运算以及双曲正切函数的查表计算,具有很高的复杂度,不易于应用实现。最小和算法是一种简化的LLR-BP算法,其没有了双曲正切函数的繁琐计算,用简单的比较和加法运算代替了原有复杂的指数和对数运算,很大程度上降低了计算复杂度,在硬件实现方面易于应用,但译码性能损失较多。针对最小和算法带来的性能损失,目前通常采用分层最小和算法,该算法在最小和算法的基础上将并行译码方式改为部分并行的串行译码方式,其将校验矩阵按行划分成若干层,每一层的校验节点和变量节点同时更新,更新后得到的变量节点后验概率和校验节点信息传递给下一层,再进行校验节点和变量节点信息的更新,直到最后一层译码完成时,根据得到的变量节点后验概率进行译码判决,从而完成一次完整的译码迭代。相对于未采用分层的译码算法,这种分层译码算法加快了译码收敛速度,变量节点信息被多次更新,很大程度上提高了译码性能。然而,尽管分层最小和算法的译码性能有很大提高,但在某些情况下,其译码性能的提高存在限制,例如,以tanner图表示的LDPC检验矩阵为例,当Tanner图上无环时,现有的基于分层最小和算法的译码方法可以达到最佳译码,而当Tanner图上存在环(环是指从一个节点按边不重复回到同一节点的路径,即存在环时,信息会在两组节点间反复传递,难以更新,违背了迭代译码的初衷)特别是小环时,迭代译码会出现正反馈作用不明显,判决消息出现问题,从而导致错误判决,降低译码性能,尤其在中、高信噪比时,环的存在会造成变量节点和校验节点传递的外部信息出现震荡现象,降低译码算法的性能。现有的易于硬件实现的简化算法,例如分层最小和算法以及其他改进的最小和算法主要考虑如何降低复杂度以及通过修正信息幅度或多次更新变量节点信息来提高译码可靠性,而都没有考虑到Tanner图上存在环时出现的外部消息振荡现象。因此,需要对现有技术进行改进,以寻求一种可以削弱外部信息振荡现象,从而提高译码性能并且易于硬件实现的译码方法。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺陷,提供一种基于分层最小和算法的LDPC译码方法。根据本专利技术的第一方面,提供了一种基于分层最小和算法的LDPC译码方法。该方法将LDPC的校验矩阵按行分为多个校验节点,按列分为多个变量节点,并且当LDPC的校验矩阵的元素为1时,认为该元素位于的行所对应的校验节点和该元素位于的列所对应的变量节点具有连接,其特征在于,当迭代次数没有达到预定的最大迭代次数或LDPC校验和不为全零向量时,重复执行以下步骤:步骤1:变量节点根据接收到的前后两次外信息值的加权平均更新传送给相连的校验节点的信息;步骤2:校验节点根据接收到的前后两次外信息值的加权平均值更新传递给相连的变量节点的信息;步骤3:利用变量节点的后验概率进行译码判决。在一个实施例中,在步骤1中,包括以下子步骤:步骤11:将第一层的变量节点信息初始化为:Q(0)v=2z/σ2其中,z为信道输出值,σ2为噪声方差,v表示变量节点索引。步骤12:所述变量节点根据以下公式更新传递给所述校验节点的信息:L_q(k)cv=Q(L-1)v-r(k-1)vcq(k)cv=βL_q(k)cv+(1-β)q(k-1)cv其中,c表示校验节点索引,v表示变量节点索引,k表示迭代次数,L表示分层数目索引,q(0)cv=2z/σ2,β为加权系数,取值范围为0.1至0.9,Q(L-1)v表示上一层变量节点的后验概率信息,r(k-1)vc表示上一次迭代的校验节点信息,表示变量节点传递给校验节点的信息,表示校验节点传递给变量节点的临时信息。在一个实施例中,在步骤2中,所述校验节点根据以下公式更新传递给所述变量节点的信息:r(k)vc=βL_r(k)vc+(1-β)r(k-1)vc其中,N(c)\v表示与校验节点c相连的所有变量节点中除去v节点的集合,表示校验节点传递给变量节点的临时信息,β为加权系数,取值范围为0.1至0.9,表示校验节点传递给变量节点的信息,sign()表示取符号运算。在一个实施例中,在步骤3中,包括以下子步骤:步骤31:所述校验节点根据以下公式更新后验概率:其中,Q(L-1)v表示上一层L-1层变量节点的后验概率信息,r(k-1)vc表示上一次迭代的校验节点信息,r(k)vc表示当前迭代的校验节点信息,Q(L)v表示当前L层变量节点的后验概率信息,ML(v)表示第L层与变量节点相连的所有校验节点集合;步骤32:当时,判定变量节点接收到的信息vj=0,否则判断vj=1,其中j=1,2,···,n,j是变量节点接收到信息索引。根据本专利技术的第二方面,提供了一种基于分层最小和算法的LDPC译码装置。该装置包括:变量节点更新单元:用于根据接收到的前后两次外信息值的加权平均更新传送给相连的校验节点的信息;校验节点更新单元:用于根据接收到的前后两次外信息值的加权平均值更新传递给相连的变量节点的信息;译码判决单元:用于利用变量节点的后验概率进行译码判决;其中,将LDPC的校验矩阵按行分为多个校验节点,按列分为多个变量节点,并且当LDPC的校验矩阵的元素为1时,认为该元素位于的行所对应的校验节点和该元素位于的列所对应的变量节点具有连接。与现有技术相比,本专利技术在分层最小和算法的基础上通过引入加权系数来修正变量节点的外部信息从而削弱外部信息震荡现象,计算变量节点先验概率的更新和校验节点的更新时,分别采用前后两次外部信息值加权平均的方法,保证译码的可靠性并提高译码性能。此外,相对于现有的LLR-BP算法,本专利技术的译码方法省去了复杂的指数运算和对数运算,仅增加一部分加法运算,因此复杂度更低并且更易于硬件实现。附图说明以下附图仅对本专利技术作示意性的说明和解释,并不用于限定本专利技术的范围,其中:图1示出了与LDPC校验矩阵对应的tanner图的示意;图2示出了根据本专利技术一个实施例的基于分层最小和算法的LDPC译码方法的流程图。具体实施方式为了使本专利技术的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。为了便于理解,下文结合tanner图表示的LDPC校验矩阵来描述本专利技术的基于最小和算法的译码方法。Tanner图是一种二分图,分为校验节点和变量节点,根据校验矩阵可以构造LDPC码的tanner图表示。Tanner图和校验矩阵具有以下对应关系:Tanner图有N个变量节点(或称信息节点)和M个校验节点,分别对应校验矩阵H的列数和行数,如果第i个变量节点和第j个校验节点之间有边相连,则H(j,i)=1,否则H(j,i)=0。例如,图1示出了与校验矩阵对应的tanner图,包括6个变量节点v1、v2、v3、v4、v5、v6和3个校验节点c1、c2本文档来自技高网
...

【技术保护点】
1.一种基于分层最小和算法的LDPC译码方法,将LDPC的校验矩阵按行分为多个校验节点,按列分为多个变量节点,并且当LDPC的校验矩阵的元素为1时,认为该元素位于的行所对应的校验节点和该元素位于的列所对应的变量节点具有连接,其特征在于,当迭代次数没有达到预定的最大迭代次数或LDPC校验和不为全零向量时,重复执行以下步骤:步骤1:变量节点根据接收到的前后两次外信息值的加权平均更新传送给相连的校验节点的信息;步骤2:校验节点根据接收到的前后两次外信息值的加权平均值更新传递给相连的变量节点的信息;步骤3:利用变量节点的后验概率进行译码判决。

【技术特征摘要】
1.一种基于分层最小和算法的LDPC译码方法,将LDPC的校验矩阵按行分为多个校验节点,按列分为多个变量节点,并且当LDPC的校验矩阵的元素为1时,认为该元素位于的行所对应的校验节点和该元素位于的列所对应的变量节点具有连接,其特征在于,当迭代次数没有达到预定的最大迭代次数或LDPC校验和不为全零向量时,重复执行以下步骤:步骤1:变量节点根据接收到的前后两次外信息值的加权平均更新传送给相连的校验节点的信息;步骤2:校验节点根据接收到的前后两次外信息值的加权平均值更新传递给相连的变量节点的信息;步骤3:利用变量节点的后验概率进行译码判决。2.根据权利要求1所述的方法,其中,在步骤1中,包括以下子步骤:步骤11:将第一层的变量节点信息初始化为:Q(0)v=2z/σ2其中,z为信道输出值,σ2为噪声方差,v表示变量节点索引。步骤12:所述变量节点根据以下公式更新传递给所述校验节点的信息:L_q(k)cv=Q(L-1)v-r(k-1)vcq(k)cv=βL_q(k)cv+(1-β)q(k-1)cv其中,c表示校验节点索引,v表示变量节点索引,k表示迭代次数,L表示分层数目索引,q(0)cv=2z/σ2,β为加权系数,取值范围为0.1至0.9,Q(L-1)v表示上一层变量节点的后验概率信息,r(k-1)vc表示上一次迭代的校验节点信息,表示变量节点传递给校验节点的信息,表示校验节点传递给变量节点的临时信息。3.根据权利要求2所述的方法,其中,在步骤2中,所述校验节点根据以下公式更新传递给所述变量节点的信息:r(k)vc=βL_r(k)vc+(1-β)r(k-1)vc其中,N(c)\v表示与校验节点c相连的所有...

【专利技术属性】
技术研发人员:范芳冯雪林刘林胡金龙任洁赵旭莹
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

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

1