CN101465653B - 一种低密度奇偶校验码的串行译码方法 - Google Patents

一种低密度奇偶校验码的串行译码方法 Download PDF

Info

Publication number
CN101465653B
CN101465653B CN2009100364473A CN200910036447A CN101465653B CN 101465653 B CN101465653 B CN 101465653B CN 2009100364473 A CN2009100364473 A CN 2009100364473A CN 200910036447 A CN200910036447 A CN 200910036447A CN 101465653 B CN101465653 B CN 101465653B
Authority
CN
China
Prior art keywords
node
check
message
variable
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009100364473A
Other languages
English (en)
Other versions
CN101465653A (zh
Inventor
刘星成
韩国军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN2009100364473A priority Critical patent/CN101465653B/zh
Publication of CN101465653A publication Critical patent/CN101465653A/zh
Application granted granted Critical
Publication of CN101465653B publication Critical patent/CN101465653B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明提供了一种低密度奇偶校验码的串行译码方法,基于串行消息传递译码算法,采用消息加权平均来更新变量节点到校验节点的消息传递,即每次在更新变量节点到校验节点消息时,将上次的校验节点消息和本次计算所得的校验节点消息进行加权求和后作为当前校验节点的最新消息。本发明减弱了消息加权平均对正常BP消息传递的影响,有效抑制了比特LLR值的振荡,改善了译码性能,同时该译码算法具有较低的译码复杂度。

Description

一种低密度奇偶校验码的串行译码方法
技术领域
本发明属于通信领域的低密度奇偶校验码的译码方法,特别是涉及一种低密度奇偶校验码的串行译码方法。
技术背景
低密度奇偶校验(LDPC,Low-Density Parity-Check)码通常采用置信传播(BP,belief-propagation)算法译码。该算法在无环因子图上可以实现最大似然译码,在有环因子图上,BP算法虽然无法精确计算译码信息以保证译码最优性,但仍可获得较好的译码性能。对于中短长度的LDPC码,受到因子图上短环的影响,在BP译码过程中会出现某些比特对数似然比(LLR,Log-Likelihood-Ratio)值的振荡现象,从而降低了译码性能。S.H.Lee等研究了BP译码过程中比特消息变化的三种类型及其在不同信噪比下的变化规律,EsaAlghonaim等研究了BP译码过程中不可纠正错误比特数变化的三种类型及其在不同码结构中的分布情况,研究结果说明译码过程中LLR值的振荡现象与不同的码结构和信噪比有关。
Figure G2009100364473D00011
等提出了一种减少消息振荡的译码算法,改善了译码性能,但该算法需要增加大量的存储空间,同时存在着对多个译码参数进行优化选择的问题。
LDPC码BP迭代译码算法可以采用概率测度、似然比(LR)和对数似然比(LLR)作为量度,但LLR主要采用求和运算和乘积运算,计算复杂度相对简单,实际译码过程中主要采用这种算法,现有技术也通过改变消息的更新策略,提出了串行迭代译码算法,串行迭代译码算法相对于并行迭代译码算法,加速了消息的传递,使收敛速度提高到大约原来的两倍。
LDPC码校验矩阵H可以用二分图来描述。设校验矩阵H为M×N的矩阵,那么相应的二分图G是由N个变量节点和M个校验节点以及一定数量连接变量节点和校验节点的边组成的。在二分图中一边的节点为变量节点,另一边为校验节点,与变量节点相连的边数和与校验节点相连的边数分别称为变量节点的度和校验节点的度。当所有变量节点的度都一样,所有校验节点的度也都一样,这样的LDPC码称为规则LDPC码,否则称为非规则LDPC码。
在二进制输入高斯信道(Gaussian Channel)下,设一个长度为N的码字c=(c1,c2,...,cN),cn=0或1,采用BPSK调制后的信号为x=(x1,x2,...,xN),xn=2cn-1。该信号经过均值为零、功率谱为N0/2的高斯信道后,接收端收到的信号为yn=xn+n,n是均值为零,方差为N0/2的随机数。为方便描述,对BP迭代译码算法中涉及的符号做如下说明。
N(m)={n:Hmn=1}表示与校验节点m相连的所有变量节点的集合,N(m)\n表示不包含变量节点n的集合;M(n)={m:Hmn=1}表示与变量节点n相连的所有校验节点的集合,M(n)\m表示不包含校验节点m的集合;Pn表示接收信号获得的变量xn的LLR信息, P n = log P ( x n = 1 | y n ) P ( x n = 0 | y n ) = 4 y n N 0 ; Rmn表示从校验节点m发送到变量节点n的LLR信息;Qmn表示从变量节点n发送到校验节点m的LLR信息;Qn表示每次迭代后计算获得的变量xn的LLR信息。基于变量节点的串行迭代译码算法中校验节点到变量节点消息更新规则为:
Figure G2009100364473D00022
上式中:
Figure G2009100364473D00023
Figure G2009100364473D00024
变量节点到校验节点的消息更新规则为:
Q mn new = P n + Σ m ′ ∈ M ( n ) \ m R m ′ n - - - ( 2 )
完整的基于变量节点串行迭代译码算法步骤如下:
初始化:
对所有的n∈N,m∈MRmn←0,Qmn←Pn
对所有的m∈M计算
Figure G2009100364473D00032
设置迭代变量I=1,设置最大迭代次数为IMAX
迭代运算:
步骤1判断迭代次数是否达到IMAX,若是则结束迭代运算,否则执行步骤2;
步骤2在k次迭代中,对n=1,2,3,....,N,顺序更新变量信息,如果n<N,则执行步骤3的循环,否则执行步骤5;
步骤3对所有m∈M(n),进行如下计算
Figure G2009100364473D00033
对所有m∈M(n),进行如下计算
Q mn new = P n + Σ m ′ ∈ M ( n ) \ m R m ′ n
S m = S m - Q mn old + Q mn new
步骤4计算变量节点LLR值
Qn=Pn+∑m′∈M(n)Rm′n
n=n+1返回步骤2;
步骤5对每一变量节点,如果Qn<0,则 x ^ n = 0 , 否则 x ^ n = 1 , 从而得到码字 x ^ = ( x 1 , x 2 , . . . , x N ) . 如果 x ^ H T ( mod 2 ) = 0 或译码迭代次数已达到最大迭代次数,则停止译码,否则I←I+1,返回步骤1继续迭代译码。
对于中短长度LDPC码在BP译码过程中,由于短环的存在导致环内变量节点得到的消息更多的来自同一环内其它变量节点,而只有少量的来自环外的变量节点,这样就有可能造成环内变量节点消息的循环振荡。一旦出现变量节点消息振荡,即使增加迭代译码次数,也不能够成功译码,从而降低了BP译码性能。对于不同的码结构、不同码长以及不同信噪比,由比特LLR值振荡而造成的译码性能降低程度是不一样的,所以有必要对该译码方法做出改进。
发明内容
本发明的目的在于克服现有技术的不足,提供一种减弱中短长度LDPC码中比特LLR值振荡对译码性能的影响的低密度奇偶校验码的串行译码方法。
为了实现上述发明目的,采用的技术方案如下:
一种低密度奇偶校验码的串行译码方法,基于串行消息传递译码算法,采用消息加权平均来更新变量节点到校验节点的消息传递,即每次在更新变量节点到校验节点消息时,将上次的校验节点消息和本次计算所得的校验节点消息进行加权求和后作为当前校验节点的最新消息。
所述低密度奇偶校验码采用置信传播算法进行译码,所述串行译码方法通过对本次计算所得的校验节点消息赋予比上次校验节点消息更高的权值。
本发明采用一个一节IIR数字滤波器来更新变量节点到校验节点消息传递。
所述一节IIR数字滤波器为y(n)=λx(n)+(1-λ)y(n-1),其中λ和1-λ分别为本次计算所得校验节点消息和上次校验节点消息的加权系数,该滤波器的频率响应函数为 H ( e jω ) = λ 1 - ( 1 - λ ) e - jω .
本发明采用消息加权平均来更新变量节点到校验节点消息传递的改进BP译码算法。该译码算法基于串行消息传递译码算法,即基于变量节点的串行迭代译码算法,每次在更新变量节点到校验节点消息时,将上次的校验节点消息和本次计算所得的校验节点消息进行加权求和后作为当前校验节点的最新消息。该译码方法通过对本次计算所得的校验节点消息赋予比上次校验节点消息更高的权值,减弱了消息加权平均对正常BP消息传递的影响,有效抑制了比特LLR值的振荡,改善了译码性能,同时该译码算法具有较低的译码复杂度。
附图说明
图1为一阶IIR滤波器的幅度频响应特性曲线;
图2为基于PEG构造的(504,252)准循环LDPC码λ取不同值时的改进译码的误码性能;
图3为译码过程中LLR的变化曲线,其中实线为采用VSBP译码方法,虚线为采用本发明的译码方法。
具体实施方式
下面结合附图的对比对本发明做进一步的说明,本发明采用λ=0.75、λ=0.67、λ=0.5时的幅度响应如附图1所示,可见,当0<λ<1时,是一个低通滤波器,随着λ的增加,通带不断加宽,当λ=1时,相当于没有滤波功能。通过调节λ的取值,可以有效控制BP译码过程中变量节点到校验节点消息的振荡,λ由大到小变化时,能够进一步减弱振荡对译码性能的影响,但同时会影响正常BP迭代译码消息的传递。当消息振荡造成的不可纠正错误占主导地位时,可以适当增加λ来提高译码性能。
本发明的改进译码算法步骤如下:
首先进行初始化:
对所有的n∈N,m∈MRmn←0,Qmn←Pn
对所有的m∈M,计算
Figure G2009100364473D00051
设置迭代变量I=1,设置最大迭代次数为IMAX
其次为迭代运算,包括如下步骤:
步骤1判断迭代次数是否达到IMAX,若是则结束迭代运算,否则执行步骤2;
步骤2在k次迭代中,对n=1,2,3,....,N,顺序更新变量信息,如果n<N,则执行步骤3的循环,否则执行步骤5;
步骤3对所有m∈M(n),进行如下计算:
Figure G2009100364473D00061
对所有m∈M(n),进行如下计算:
Q mn new = P n + Σ m ′ ∈ M ( n ) \ m R m ′ n ,
S m = S m - Q mn old + Q mn new ;
步骤4计算变量节点对数似然比值
Qn=Pn+∑m′∈M(n)Rm′n
n=n+1返回步骤2;
步骤5对每一变量节点,如果Qn<0,则 x ^ n = 0 , 否则 x ^ n = 1 , 从而得到码字 x ^ = ( x 1 , x 2 , . . . , x N ) , 如果 x ^ H T ( mod 2 ) = 0 或译码迭代次数已达到最大迭代次数,则停止译码,否则I←I+1,返回步骤1继续迭代译码。
为了比较上述译码算法的性能,采用了基于PEG方法构造的(256,128)、(504,252)、(1008,504)准循环LDPC码在AWGN信道下进行了计算机仿真,(PEG方法的详细规定可参考X.-Y.Hu,E.Eleftheriou,and D.-M.Arnold.Progressiveedge growth Tanner graphs[C].Proceedings of the IEEE Global TelecommunicatinsConference,2001:995-1001),BP译码最大迭代次数为50,调制方式为BPSK。表1是在信噪比为2.5dB的情况下,对上述三种码长的准循环LDPC码,在λ取不同值时改进译码算法相对于VSBP算法的平均迭代次数增加量(VSBP算法可参考Daniel Levin,Eran Sharon.Lazy Scheduling for LDPC Decoding[J].IEEECommunications Letters,2007,11(1):70-72)。图2为(504,252)码的误码性能曲线,其中虚线为误帧率,实线为误比特率,VSBP为标准的基于变量节点的串行迭代译码算法,VSBP-AVG-0.75为λ=0.75的改进的基于变量节点的串行迭代译码算法。由图2可以看出,改进的译码算法相比VSBP译码算法,误码率和误帧率都得到了改善,并且随着信噪比增加改进译码算法的译码性能得到不断提高,其原因是信噪比由低到高变化时,由比特LLR值振荡造成的不可纠正错误数占总错误数的比例不断增加,改进译码算法通过对消息加权平均,抑制了比特LLR值的振荡,从而减少了因比特LLR值振荡造成的不可纠正错误数,改善了译码性能。
表1λ取不同值时平均迭代次数增加量
与VSBP算法相比,改进译码算法在计算变量节点到校验节点消息时,需要增加两次浮点乘法和一次浮点加法。另外由于消息加权平均造成了BP收敛速度的减缓,从而造成了平均迭代次数的增加。表1数据显示,随着λ值的加大,改进译码算法平均迭代次数的增加量逐渐减小,在λ=0.75时,改进译码算法平均迭代次数增加量不超过10%,平均迭代次数增加不超过1次。
通过上述实施以及数据对比可以说明,中短长度LDPC码在BP迭代译码过程中会出现比特LLR值的振荡现象,导致译码性能的下降。不同方法构造的LDPC码,随着信噪比的变化,由比特LLR值振荡而造成的不可纠正错误数占整个错误数的比例是不同的。在中等信噪比区,由比特LLR值振荡而形成的误码占整个误码的比重比较大的。对于基于PEG方法构造的准循环LDPC码,在高信噪比区,误码主要是由一些陷阱(trapping sets)造成的,而由比特LLR值振荡造成的误码相对较少。针对中低信噪比区比特LLR值的振荡现象,本发明提出的改进译码算法通过合理选择加权系数,能够有效减少因比特LLR值振荡而产生的误码,改善了BP译码算法的译码性能。

Claims (3)

1.一种低密度奇偶校验码的串行译码方法,基于串行消息传递译码算法,其特征在于采用消息加权平均来更新变量节点到校验节点的消息传递,即每次在更新变量节点到校验节点消息时,将上次的校验节点消息和本次计算所得的校验节点消息进行加权求和后作为当前校验节点的最新消息,所述低密度奇偶校验码采用置信传播算法进行译码,所述串行译码方法对本次计算所得的校验节点消息赋予比上次校验节点消息更高的权值,还采用一个一节IIR数字滤波器来更新变量节点到校验节点消息传递。
2.根据权利要求1所述的低密度奇偶校验码的串行译码方法,其特征在于所述一节IIR数字滤波器为y(n)=λx(n)+(1-λ)y(n-1),其中λ和1-λ分别为本次计算所得校验节点消息和上次校验节点消息的加权系数,该滤波器的频率响应函数为
Figure FSB00000410313700011
3.根据权利要求2所述的低密度奇偶校验码的串行译码方法,其特征在于串行译码方法实现如下:
低密度奇偶校验码校验矩阵H用二分图来描述,校验矩阵H为M×N的矩阵,相应的二分图G是由N个变量节点和M个校验节点以及一定数量连接变量节点和校验节点的边组成;N(m)={n:Hmn=1}表示与校验节点m相连的所有变量节点的集合,N(m)\n表示不包含变量节点n的集合;M(n)={m:Hmn=1}表示与变量节点n相连的所有校验节点的集合,M(n)\m表示不包含校验节点m的集合;Pn表示接收信号获得的变量xn的对数似然比信息,
Figure FSB00000410313700012
表示从校验节点m发送到变量节点n的对数似然比信息;Qmn表示从变量节点n发送到校验节点m的对数似然比信息;Qn表示每次迭代后计算获得的变量xn的对数似然比信息,校验节点到变量节点消息更新规则为其中
Figure FSB00000410313700022
变量节点到校验节点的消息更新规则为
Figure FSB00000410313700023
完整的译码步骤如下:
首先进行初始化:
对所有的n∈N,m∈M Rmn←0,Qmn←Pn
对所有的m∈M,计算
Figure FSB00000410313700024
设置迭代变量I=1,设置最大迭代次数为IMAX
其次为迭代运算,包括如下步骤:
步骤1判断迭代次数是否达到IMAX,若是则结束迭代运算,否则执行步骤2;
步骤2在k次迭代中,对n=1,2,3,...,N,顺序更新变量信息,如果n<N,则执行步骤3的循环,否则执行步骤5;
步骤3对所有m∈M(n),进行如下计算:
Figure FSB00000410313700025
对所有m∈M(n),进行如下计算:
Q mn new = P n + Σ m ′ ∈ M ( n ) \ m R m ′ n ,
S m = S m - Q mn old + Q mn new ;
步骤4计算变量节点对数似然比值
Qn=Pn+∑m′∈M(n)Rm′n
n=n+1返回步骤2;
步骤5对每一变量节点,如果Qn<0,则
Figure FSB00000410313700028
否则
Figure FSB00000410313700029
从而得到码字如果
Figure FSB000004103137000211
或译码迭代次数已达到最大迭代次数,则停止译码,否则I←I+1,返回步骤1继续迭代译码。
CN2009100364473A 2009-01-06 2009-01-06 一种低密度奇偶校验码的串行译码方法 Expired - Fee Related CN101465653B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100364473A CN101465653B (zh) 2009-01-06 2009-01-06 一种低密度奇偶校验码的串行译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100364473A CN101465653B (zh) 2009-01-06 2009-01-06 一种低密度奇偶校验码的串行译码方法

Publications (2)

Publication Number Publication Date
CN101465653A CN101465653A (zh) 2009-06-24
CN101465653B true CN101465653B (zh) 2011-09-07

Family

ID=40806042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100364473A Expired - Fee Related CN101465653B (zh) 2009-01-06 2009-01-06 一种低密度奇偶校验码的串行译码方法

Country Status (1)

Country Link
CN (1) CN101465653B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594366B (zh) * 2012-02-29 2015-11-18 中山大学 一种针对ldpc码的自适应可并行动态异步bp译码方法
CN104467874B (zh) * 2014-12-24 2018-01-02 中山大学 一种基于振荡变量节点的ldpc码动态调度译码方法
CN106998240B (zh) * 2016-12-30 2020-02-14 上海华为技术有限公司 一种译码方法及译码器
CN110830049B (zh) * 2019-11-21 2024-01-12 陕西卓科航微科技有限公司 一种基于密度进化改进偏移最小和的ldpc译码方法
CN112039534B (zh) * 2020-08-12 2023-05-02 西南交通大学 一种ldpc译码方法、装置、设备及存储介质
CN113346914B (zh) * 2021-05-25 2022-10-25 重庆邮电大学 一种采用相对残差的ldpc码动态调度译码方法

Also Published As

Publication number Publication date
CN101465653A (zh) 2009-06-24

Similar Documents

Publication Publication Date Title
US8473806B1 (en) Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter
US8413008B2 (en) Method for recovery of lost and/or corrupted data
CN1830149B (zh) 用于对低密度奇偶校验码编码的方法
US8185797B2 (en) Basic matrix, coder/encoder and generation method of the low density parity check codes
CN101465653B (zh) 一种低密度奇偶校验码的串行译码方法
US7516388B2 (en) LDPC code inspection matrix generation method
JP4602418B2 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
US8504895B2 (en) Using damping factors to overcome LDPC trapping sets
US20090319860A1 (en) Overcoming ldpc trapping sets by decoder reset
US11057049B2 (en) Generalized low-density parity check codes in digital communication system
CN103259545A (zh) 基于振荡的准循环低密度奇偶校验码置信传播译码方法
US8103945B2 (en) Decoding method and decoding apparatus as well as program
CN101141133A (zh) 一种结构化低密度校验码的编码方法
CN101345532A (zh) Ldpc信道编码的译码方法
WO2008016117A1 (fr) Procédé de génération de matrice d'inspection, procédé d'encodage, dispositif et système de communication et encodeur
CN102932006A (zh) 基于平均幅度的低密度奇偶校验码加权比特翻转解码方法
CN107294543A (zh) 一种用于生成rc‑ldpc码校验矩阵的方法
CN104467874A (zh) 一种基于振荡变量节点的ldpc码动态调度译码方法
CN112491422A (zh) 基于高斯优化的比特翻转串行消除列表译码方法和系统
EP1788709A1 (en) Ldpc code creating method, communication device, and code sequence creating method
US20070113163A1 (en) Belief propagation decoder cancelling the exchange of unreliable messages
US8190977B2 (en) Decoder of error correction codes
CN101355366B (zh) 低密度奇偶校验码的译码方法及装置
US8762812B2 (en) Decoding device, decoding method, and program
Habib et al. Learned scheduling of LDPC decoders based on multi-armed bandits

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110907

Termination date: 20140106