CN101043218A - Ldpc码的译码方法 - Google Patents

Ldpc码的译码方法 Download PDF

Info

Publication number
CN101043218A
CN101043218A CN 200610071782 CN200610071782A CN101043218A CN 101043218 A CN101043218 A CN 101043218A CN 200610071782 CN200610071782 CN 200610071782 CN 200610071782 A CN200610071782 A CN 200610071782A CN 101043218 A CN101043218 A CN 101043218A
Authority
CN
China
Prior art keywords
node
probability
check
value
information node
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.)
Pending
Application number
CN 200610071782
Other languages
English (en)
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to CN 200610071782 priority Critical patent/CN101043218A/zh
Publication of CN101043218A publication Critical patent/CN101043218A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

公开了一种LDPC码的译码方法,包括:校验节点更新步骤,基于在已知与消息节点i相连的除校验节点j以外的其他校验节点可信度信息的条件下消息节点i是0的概率和是1的概率的差分值,在加法域更新校验节点j的概率值;消息节点更新步骤,基于在已知与校验节点j相连的除消息节点i以外的消息节点的概率分布的条件下消息节点i是0的概率与是1的概率的差分值和信道输出的消息节点i是0的概率与是1的概率的差值,在加法域更新消息节点i的概率值;以及根据各个消息节点i的概率值的符号判断相应消息比特i的译码输出。与传统的基于对数似然比的译码方法相比,本发明的计算复杂度有很大降低,而译码性能和收敛速度没有明显损失。

Description

LDPC码的译码方法
技术领域
本发明涉及通信领域信道纠错LDPC码的译码方法,具体涉及一种基于差分的LDPC码的译码方法,以在降低译码复杂度的同时不降低译码性能。
背景技术
低密度校验(LDPC)码是近十年来重新发现的一种强有力的前向纠错码,其在长码构造条件下已经逼近香农限。因而,LDPC码被认为是Turbo码的有效替代技术,很有可能被用于下一代移动通信和深空通信。
图1给出了用二部图来表示低密度校验码的一个简单示例。低密度校验码是一种基于稀疏校验矩阵的线性分组码。1981年,Tanner提出用二部图表示一个低密度的线性分组码,从此二部图成为了分析LDPC码的主要工具。
对于一个LDPC码,假设其信息位长为K,码长为N,校验位为M=N-K,则该码的校验矩阵H是一个大小为M*N的矩阵。H的二部图表述如下:二部图下边的N个节点代表N个码字,称为消息节点(massage node);上边M个节点代表了M个校验式(校验位),称为校验节点(check node)。当下边的消息节点和上边的校验节点存在于同一个校验式时,就用边(edge)将两者连接。将和每个节点相连的线的个数称为该节点的度(degree)。
LDPC码的译码采用和积(Sum-Product)算法,整个译码过程可以看作在Tanner的二部图上的BP算法的应用,如参考文献1(Xiao-YuHu,Evangelos Eleftheriou,Dieter-Michael Arnold,and Ajay Dholakia,“Efficient Implementations of the Sum-Product Algorithm for DecodingLDPC Codes”,IBM Research,Zurich Research Laboratory,CH-8803R..uschlikon,Switzerland,2001)所述。此外,参考文献2(Matthew C.Davey,PHD Thesis:Error-correction using Low-Density Parity-CheckCode,Gonville and Caius College,Cambridge,1999)和参考文献3(D.J.C.MacKay and R.M.Neal.Near Shannon limit performance oflow-densityparity-check codes.Electronics Letters,32(18):1645~1646,August 1996.Reprinted Electronics Letters,vol 33,no 6,13th March1997,p.457-458.)给出了LDCP码的和积算法的一般描述,具体过程如下:
1.初始化过程
设接收到的有噪信号为rn,对n=1,2,….N,每比特的判决值初始化为rn的硬判决值xn。设 p i 0 = P ( x i = 0 ) , p i 1 = P ( x i = 1 ) = 1 - p i 0 是迭代译码前信道给出的先验信息,对每一次迭代,它都是不变的外信息(extrinsicvalue)。qij 1和qij 0是除校验式j以外的其他校验式可信度信息已知的条件下,消息比特i=1/0的概率。qij 1和qij 0分别被初始化成pi 1和pi 0。αij是qij 1,qij 0的归一化因子。rij 1,rij 0是假设消息比特i=1/0下,其他与校验节点j有边连结的(也就是参与校验式j)的消息比特i′的1/0概率分布为qi′j 1和qi′j 0,校验位j=1(也就是校验式j满足)的概率。ei 1,ei 0是消息节点在每一次迭代中计算的外信息,我们称它为消息比特i的伪后验概率(pseudoposterior probabilities)。αi是ei 1和ei 0的归一化因子。αi和αij都初始化成α0
2.迭代过程
Step1.向上更新(更新rij a)
由校验节点j传递给消息节点i的rij a是消息节点i状态为a和校验节点j中其他消息节点状态分布已知的条件下,校验式j满足的概率。
经推导有:
r ij 1 = 1 2 [ 1 - Π i ′ ∈ row [ j ] \ { i } δ ( q i ′ j a ) ] - - - ( 1 a )
r ij 0 = 1 2 [ 1 + Π i ′ ∈ row [ j ] \ { i } δ ( q i ′ j a ) ] - - - ( 1 b )
在首次计算中,qij 1,qij 0初始化成pi 1,pi 0,其中,δ(qi′j a)定义为差分函数:
δ ( q i ′ j a ) = q i ′ j 0 - q i ′ j 1 - - - ( 2 )
Step2.向下更新(更新qij a)
由消息节点i传递给校验节点j的qij a是在除校验节点j外消息节点i连接的其他校验节点提供的信息上,消息节点i在状态a的概率。
经推导有:
q ij a = α ij p i a Π j ′ ∈ col [ i ] \ { j } r i j ′ a - - - ( 3 )
其中pi a是先验概率P(xi=a), α ij = 1 / ( q ij 0 + q ij 1 ) .
根据Step1中得出的rij 0和rij 1以及外信息pi 0,pi 1,再计算qij 0和qij 1
q ij 1 = α ij p i 1 Π j ′ ∈ col [ i ] \ { j } r i j ′ 1 - - - ( 4 a )
q ij 0 = α ij p i 0 Π j ′ ∈ col [ i ] \ { j } r i j ′ 0 - - - ( 4 b )
Step3.尝试译码
接下来,按照式(5a)和(5b)计算消息比特i的伪后验概率ei 1和ei 0,公式的推导,类似于step2的式(3),结果是:
e i 0 = α i p i 0 Π j ∈ col [ i ] r i j 0 - - - ( 5 a )
e i 1 = α i p i 1 Π j ∈ col [ i ] r i j 1 - - - ( 5 b )
注意,选择合适的 α i = 1 / ( e i 1 + e i 0 ) , 使得 e i 1 + e i 0 = 1 . 伪后验概率ei 0(ei 1)是用来判定在这次迭代结束时,消息比特i是0(1)的可能概率。它们间接决定了是否继续迭代过程。在 e i 1 ( e i 0 ) > = 0.5 时,判定消息比特i=1(0),得到当前译码xi。在所有比特被译出之后,得到译码矢量x=(x1,x2…..xn)。
在译码结束时,尝试进行译码判决,其具体过程如下:如果Hx=0,那么,停止译码,输出x=(x1,x2,.....xn)作为有效的输出值。否则,如果达到预设定的迭代次数,那么停止迭代,输出译码结果。否则,开始下一轮迭代。
参考文献1中提出对于具体的硬件电路,为了减少乘法运算,和积算法一般在对数域上实现,在二部图上所传递的消息是概率的似然比值。在对数域上实现和积算法的具体过程如下:
1.初始化过程
设接收到的有噪信号为rn,对n=1,2,…,N,每比特的判决值初始化为rn的硬判决值xn。设 p i 0 = P ( X i = 0 ) , p i 1 = P ( X i = 1 ) = 1 - p i 0 是迭代译码前信道给出的先验信息,并记 P i = ln ( p i 0 / p i 1 ) , 其表明了消息比特i的先验似然比值。qij 1和qij 0是除校验式j以外的其他校验式可信度信息已知的条件下,消息比特i=1/0的概率,并记 Q ij = ln ( q ij 0 / q ij 1 ) , 其表明了上述概率的似然比值。对于某个消息比特i,用 P i = ln ( p i 0 / p i 1 ) 初始化并存储其所有的Qij。rij 1和rij 0是假设消息比特i=1/0下,其他与校验节点j有边连结的(也就是参与校验式j)的消息节点i的消息比特i’的1/0概率分布为qi′j 1和qi′j 0,校验比特j=1(也就是校验式j满足)的概率。并记 R ij = ln ( r ij 0 / r ij 1 ) , 其表明上述概率的似然比值。ei 1和ei 0是消息节点在每一次迭代中计算的外信息,称它为消息比特i的伪后验概率。此外,记 E i = ln ( e i 0 / e i 1 ) , 其表明上述伪后验概率的似然比值。
2.迭代过程
Step1.向上更新:(更新Rij)
由校验节点j传递给消息节点i的Rij是消息节点i状态为a和与校验节点j连接的消息节点中其他消息节点状态分布已知的条件下,校验式j满足的概率。经推导有:
R ij = ⊕ i ′ ∈ row [ j ] \ { i } Q i ′ j - - - ( 6 )
其中,算子被称为核加运算(core-add operation),其定义为:
UV≡Ln(1+exp(U+V))-Ln(exp(U)+exp(V))
    =sign(U).sign(V).min{|U|,|V|}+Ln(1+exp(-|U+V|))
      -Ln(1+exp(-|U-V|)            (7)
核加运算满足交换率和结合率。在实现中,可用查表或者线性拟合的方法完成Ln(1+exp(-x))的运算。所以,对于一次核加运算,需要4次加法,2次查表和一次比较,被称为通常核加运算(usual core-addoperation)。对于一个度数为c的校验节点,采用前向-后向算法时,共需3(c-2)次核加运算,如参考文献1所述。
但是,由于上述通常核加运算过于复杂,因而参考文献1提出了以下两种简化方法:
1.常数校正方法(constant correction)
UV≈sign(U).sign(V).min{|U|,|V|}+correction-factor  (8)
其中,correction-factor称为校正因子,当校正因子近似为常数时:
correction - factor = c if | U | < 2 and | V | > 2 | U | - c if | V | < 2 and | U | > 2 | V | 0 otherwise - - - ( 9 )
其中c是依赖于信噪比的一个常数。常数校正方法的核加运算需要一次加法和一次校正因子查表。
2.符号-最小方法(sign-min)
当在常数校正方法的情况下校正因子近似为零时,就得到了符号-最小方法。
UV≈sign(U).sign(V).min{|U|,|V|}        (10)
从式(10)可以看出,符号-最小方法的核加运算只需一次比较。
Step2.向下更新:(更新Qij)
Q ij = P i + &Sigma; j &prime; &Element; col [ i ] \ { j } R i j &prime; - - - ( 11 )
其中,通过已存储的Rij′计算并存储Qij
在实现时,对于度数为c的消息节点i,首先算伪后验概率Ei
E i = P i + &Sigma; j &prime; &Element; col [ i ] R i j &prime; - - - ( 12 )
而Qij=Ei-Rij
因而,对于度数为c的消息节点i,共需(2c-1)次加(减)法运算。
Step3.尝试译码
伪后验概率Ei是用来判定在这次迭代结束时,消息比特i是0(1)的可能概率。根据符号可以判定比特i=1(0),得到当前译码结果xi。正数判0,负数判1。在所有比特被译出之后,得到译码矢量x=(x1,x2…..xn)。
在译码结束时,尝试进行译码判决,其具体过程如下:如果Hx=0,那么停止译码,输出x=(x1,x2,……,xn)作为有效的输出值。否则,如果达到预设定的迭代次数,那么停止迭代,输出译码结果。否则,开始下一轮迭代。
然而,上述的通常的核加方法存在计算复杂度高的问题,而它的简化方法-常数校正方法和符号-最小方法虽然降低了复杂度,但是性能上存在一定的损失。另外,似然比值是在实数域上的,取值范围从负无穷到正无穷,在实现的量化精度上不易控制而精度误差容易导致一定的计算误差。
发明内容
鉴于现有技术中存在的缺陷,完成了本发明。本发明提出一种基于差分的LDPC码的译码方法,其中在二部图上所传递的消息是概率的差分值。本发明的目的是提供一种高效的LDPC译码方法,以降低LDPC码的译码复杂度,同时又要保证其误码率性能和译码收敛速度没有明显下降。
在本发明的一个方面,提出了一种LDPC码的译码方法,包括:校验节点更新步骤,基于在已知与消息节点i相连的除校验节点j以外的其他校验节点可信度信息的条件下消息节点i是0的概率和是1的概率的差分值,在加法域更新校验节点j的概率值;消息节点更新步骤,基于在已知与校验节点j相连的除消息节点i以外的消息节点的概率分布的条件下消息节点i是0的概率与是1的概率的差分值和信道输出的消息节点i是0的概率与是1的概率的差值,在加法域更新消息节点i的概率值;以及根据各个消息节点i的概率值的符号判断相应消息比特i的译码输出。
根据本发明的一个实施例,所述校验节点更新步骤包括:基于所有的消息节点i是0的概率和是1的概率的差分值,在加法域更新校验节点j的概率值。
根据本发明的一个实施例,所述校验节点更新步骤包括:对消息节点i是0的概率和是1的概率的差分值按照绝对值从小到大进行排序;以及仅仅针对预定数目的绝对值小的、消息节点i是0的概率和是1的概率的差分值,在加法域更新校验节点j的概率值。
根据本发明的一个实施例,针对除了预定数据的绝对值小的、消息节点i是0的概率和是1的概率的差分值之外的差分值,在乘法域更新校验节点j的概率值。
根据本发明的一个实施例,该方法包括步骤:把校验矩阵与各个消息比特的译码输出构成的译码矢量相乘,如果相乘结果为零,则停止译码,否则重复所述的校验节点更新步骤和所述消息节点更新步骤。
由于差分表示的数值范围从负1到正1是一个有限区间,它相对于无限区间的似然比值更易于量化,所以能降低由量化误差引起的计算误差,从而能改善误码率性能并减少平均迭代次数。
附图说明
图1示出了用二部图来表示低密度校验码的一个简单示例;
图2是通常差分算法的校验节点更新图;
图3是w差分算法的校验节点更新图;
图4是差分算法的消息节点更新图;
图5是[2000,1000]LDPC的误码率比较图;
图6是[2000,1000]LDPC的平均迭代次数比较图。
具体实施方式
下面结合附图以具体实施例的形式对本发明作进一步详细说明。
【始化过程】
设接收到的有噪信号为rn,对n=1,2,….N,每比特的判决值初始化为rn的硬判决值xn。设 p i 0 = P ( X i = 0 ) , p i 1 = P ( X i = 1 ) = 1 - p i 0 是迭代译码前信道给出的先验信息,并记 P i = p i 0 - p i 1 , 其表明了消息比特i的先验差分值。qij 1和qij 0是除校验式j以外的其他校验式可信度信息已知的条件下,消息比特i=1/0的概率,并记 Q ij = q ij 0 - q ij 1 , 其表明了上述概率的差分值。对于某个消息比特i,用Pi初始化并存储其所有的Qij。rij 1和rij 0是假设消息比特i=1/0下,其他与校验节点j有边连结的(也就是参与校验式j)的消息比特i’的1/0概率分布为qi′j 1和qi′j 0,校验位j=1(也就是校验式j满足)的概率。并记 R ij = r ij 1 - r ij 0 , 其表明了上述概率的差分值。ei 1和ei 0是消息节点在每一次迭代中计算的外信息,称它为消息比特i的伪后验概率。并记 E i = e i 1 - e i 0 , 其表明了上述伪后验概率的差分值。
【迭代过程】
Step1.向上更新:(更新Rij)
由校验节点j传递给消息节点i的Rij是消息节点i状态为a和校验式j中其他消息节点状态分布已知的条件下,校验式j满足的概率。
经推导有:
R ij = &Pi; i &prime; &Element; row [ j ] \ { i } sign ( Q i &prime; j ) exp ( &Sigma; i &prime; &Element; row [ j ] \ { i } Ln ( | Q i &prime; j | ) ) - - - ( 13 )
其中,exp和Ln函数可以用查表或者线性近似来实现,sign表示取符号。所以,对于度数为c的校验节点j,共需2c-1次加法和2c次查表。
图2示出了通常差分算法的校验节点(向上)更新过程的流程图。
如图2所示,在步骤S200,对于度数为c的校验节点j的更新,读取已经存储的Qij,其中Qij表示在已知与消息节点i相连的除校验节点j以外的其他校验节点可信度信息的条件下,消息节点i是0的概率和是1的概率的差分值。在第一次迭代前,Qij被初始化为消息节点i的概率差分值Pi=Pi(0)-Pi(1),亦即信道输出的消息比特i是0的概率与是1的概率的差分值。
在步骤S201,查表得到Qij在加法域的值Ai=Ln(|Qij|),即由实数域转换到加法域,这里的查表可以通过预置的函数表y=Ln(|x|)搜索可以通过一个线性函数拟合,Ln(.)表示自然对数。
在步骤S202,求和得到校验节点j在加法域的值 C j = &Sigma; i A i . 然后在步骤S203,求积得到校验节点j的符号 S j = &Pi; i sign ( Q ij ) , 这里sign(.)表示取符号,正数取1,负数取-1。
在步骤S204,对于与校验节点j相连的消息节点i,例如1,通过从校验节点j在加法域的值中减去Qij在加法域的值,得到消息节点i在加法域的值Bi=Cj-Ai,如S205。
在步骤S206,查表得到消息节点i在实数域的值Di=exp(Bi),即由加法域返回到实数域,这里的查表可以通过预置的函数表y=exp(x)搜索可以通过一个线性函数拟合,exp(.)表示指数幂函数。
在步骤S207,求积得到符号消息节点i的符号Fi=Sj·sign(Qij)。
然后,在步骤S208,加符号即可得到Rij=FiDi,并存储,其中Rij表示在已知与校验节点j相连的除消息节点i以外的消息节点的概率分布的条件下,消息节点i是0与是1的概率的差分值。
在步骤S209,取i的下一值,重复上述步骤S205到S208的处理过程。
为了简化计算,我们进一步提出了w算法,具体如下:
S1.对于度数为c的校验节点j,首先按从小到大的顺序对{|Qi′j|/i′∈row[j]}进行排序,将最小的w个i′所构成的集合记为Nw(j)。其中,2≤w≤c-1。
S2.只对集合Nw(j)中的元素i′计算Cj(w):
Sj的计算不变:
S j ( w ) = &Pi; i &prime; &Element; row [ j ] sign ( Q i &prime; j )
S3.分两种情况计算Rij
当i∈Nw(j)时,Rij=Sjsign(Qij)exp(Cj(w)-Ln(|Qij|))    (15a)
当iNw(j)时,Rij=Sjsign(Qij)Cj(w)                   (15b)
所以,对于度数为c的校验节点j,w简化算法只需2w-1次加法和2w次查表,而排序比较次数为(2c-1-w)w/2。
图3是根据本发明的w差分算法的校验节点(向上)更新过程的流程图。
如图3所示,在步骤S300,对于度数为c的校验节点j的更新,读取已经存储的Qij,其中Qij表示在已知与消息节点i相连的除校验节点j以外的其他校验节点可信度信息的条件下,消息节点i是0与是1的概率的差分值。
然后,在步骤S301,对|Qij|按从小到大进行排序,其w个最小值所对应的消息节点i用一个数组tag标记为tag[i]=1,其余的消息节点i标记为tag[i]=0。
在步骤S302,只对tag[i]=1的消息节点i,查表得到Qij在加法域的值Ai=Ln(|Qij|),这里的查表可以通过预置的函数表y=Ln(|x|)搜索或者通过一个线性函数拟合,Ln(.)表示自然对数。
在步骤S303,只对tag[i]=1的消息节点i,求和得到校验节点j在加法域的值 C j = &Sigma; i A i .
在步骤S304,对所有与校验节点j相连的消息节点i,求积得到校验节点j的符号 S j = &Pi; i sign ( Q ij ) , 这里sign(.)表示取符号,正数取1,负数取-1。
在步骤S305,取i等例如1,在步骤S306和S307,对tag[i]=1的每个消息节点i,通过从校验节点j在加法域的值中减去Qij在加法域的值,得到Bi=Cj-Ai
然后,在步骤S308,查表得到消息节点i在实数域的值Di=exp(Bi),这里的查表可以通过预置的函数表y=exp(x)搜索或者通过一个线性函数拟合,exp(.)表示指数幂函数。
在步骤S309,对tag[i]=0的所有消息节点i,查表得到消息节点i在实数域的值Dj=exp(Cj)。
在步骤S310,对所有与校验节点j相连的消息节点i,求积得到符号消息节点i的符号Fi=Sj·sign(Qij),然后在步骤S311,加符号即可得到Rij=FiDi,并存储,其中Rij表示在已知与校验节点j相连的除消息节点i以外的消息节点的概率分布的条件下,消息节点i是0与是1的概率的差分值。在步骤S312,取i的下一值,重复上述步骤S306到S311的处理过程。
与通常差分算法相比,w差分算法增加了对|Qij|的比较排序操作,而且在加法域中节省了零标记元素的加法运算,因此降低了复杂度。
Step2.向下更新:(更新Qij)
首先定义函数f(x)=Ln(1+x)-Ln(1-x),x∈(-1,1)以及g(x)=(exp(x)-1)/(exp(x)+1),x∈R。
那么,经过推导有:
Q ij = g ( f ( P i ) + &Sigma; j &prime; &Element; col [ i ] \ { j } f ( R i j &prime; ) ) - - - ( 16 )
其中,通过已存储的Rij′计算并存储Qij
这里,函数f(x)和g(x)可以用查表或者线性近似来实现。因而,对于度数为c的消息节点,共需2c-1次加法和2c次查表。
图4是差分算法的消息节点(向下)更新过程的流程图。
如图4所示,在步骤S400,对于度数为c的消息节点i,读取已经存储的Rij′和Pi,其中Rij表示在已知与校验节点j相连的除消息节点i以外的消息节点的概率分布的条件下,消息节点i是0的概率与是1的概率的差分值,Pi表示信道输出的消息节点i是0的概率与是1的概率的差值。
然后,在步骤S401,查表得到Rij′在加法域的值Aj=f(Rij)和Pi在加法域的值f(Pi),这里的查表可以通过预置的函数表y=f(x)搜索,也可以通过一个线性函数拟合,其中f(x)=Ln(1+x)-Ln(1-x),x ∈(-1,1),Ln(.)表示自然对数。
接着,在步骤S402,求和得到消息节点i在加法域的值
S i = f ( P i ) + &Sigma; i A j .
在步骤S403,取j等于1,对于与消息节点i相连的每个校验节点j,通过从消息节点i在加法域的值中减去Rij′在加法域的值得到Bj=Si-Aj,如步骤S404。然后,在步骤S405,通过查表得到Qij=g(Bj)并存储之,Qij表示在已知与消息节点i相连的除校验节点j以外的其他校验节点可信度信息的条件下,消息节点i的概率差分值。这里的查表可以通过预置的函数表y=g(x)搜索,也可以通过一个线性函数拟合,其中 g ( x ) = e x - 1 e x + 1 , x∈R。然后,在步骤S406,取j等于下一值,重复上述步骤S404和S405。
Step3.尝试译码
根据Si的符号可以判定消息节点i,正数判0,负数判1,得到当前译码xi。在所有比特被译出之后,得到译码矢量x=(x1,x2.....xn)。然后,就可以进行通常的译码判决,其具体过程如下:如果Hx=0,那么停止译码,输出x=(x1,x2…..xn)作为有效的输出值。否则,如果达到预设定的迭代次数,那么停止迭代,输出译码结果。否则,继续校验节点(向上)更新,开始下一轮迭代。
通过计算机仿真比较了AWGN信道下的五种方法的性能,采用[2000,1000]LDPC码,校验节点度数为6,消息节点度数为3。和积算法最多迭代101次,长度为四的短环均被删除。五种方法为通常差分方法(usual difference)及其简化的w算法(w=3和w=4 difference)),通常的核加方法(usual core-add),常数校正法(constant correction),与符号-最小法(sign-min)。常数校正法中的c取0.8[22]。为获得精确的误码率,每次仿真保证至少出现600个错误比特。
图5比较了五种方法的误码率性能,w差分、通常差分与通常核加方法接近,均为最低。在误码率为10-5时,通常的核加方法与差分算法几乎一致,而常数校正法有0.1dB的信噪比损失,符号-最小法有0.5dB的信噪比损失。在中高信噪比,而符号-最小法和常数校正法的误码率相对于新方法有数量级意义上的误码率性能损失。图6比较了五种方法的平均迭代次数,显然本发明方法的平均迭代次数最少。尤其在中等信噪比区间,本发明方法的迭代次数大约只是常数校正法的三分之一或者符号-最小法的四分之一。w差分的迭代次数与通常差分算法很接近。
表1.度数为c的校验节点的实现复杂度比较
  加(减)法   查表   比较
  通常差分   2c-1   2c   0
  w差分   2w-1   2w   (2c-1-w)w/2
  通常核加   6(c-2)   6(c-2)   3(c-2)
  常数校正   3(c-2)   3(c-2)   3(c-2)
  符号-最小   0   0   3(c-2)
表1给出了对于度数为c的校验节点的实现复杂度的比较,其中符号-最小法复杂度最低,而本发明的方法次之,通常核加方法最高。其中,本发明的方法的复杂度约为通常核加方法的三分之一或者常数校正法的三分之二。w算法的加法与查表操作比通常差分法都有降低,而比较次数增多。在本例中,以通常核加算法的复杂度为基准,通常差分、w=4差分和w=3差分的复杂度分别只是它的百分之45.8,29.1和20.8。
表2.度数为c的消息节点的实现复杂度比较
  加(减)法   查表
  通常差分   2c-1   2c
  w差分   2c-1   2c
  通常核加   2c-1   0
  常数校正   2c-1   0
  符号-最小   2c-1   0
表2给出了对于度数为c的消息节点的实现复杂度的比较,本发明的方法比其余方法只多了2c次的查表操作,而加法运算次数都是一样的。
根据以上的仿真结果和计算复杂度的比较,可以得出结论:w差分算法的误码率和实现复杂度的综合性能要优于通常的核加方法(usual core-add)、常数校正法(constant correction)和符号-最小法(sign-min)。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变换或替换,都应涵盖在本发明的包含范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (5)

1、一种LDPC码的译码方法,包括:
校验节点更新步骤,基于在已知与消息节点i相连的除校验节点j以外的其他校验节点可信度信息的条件下消息节点i是0的概率和是1的概率的差分值,在加法域更新校验节点j的概率值;
消息节点更新步骤,基于在已知与校验节点j相连的除消息节点i以外的消息节点的概率分布的条件下消息节点i是0的概率与是1的概率的差分值和信道输出的消息节点i是0的概率与是1的概率的差值,在加法域更新消息节点i的概率值;以及
根据各个消息节点i的概率值的符号判断相应消息比特i的译码输出。
2、如权利要求1所述的译码方法,其特征在于,所述校验节点更新步骤包括:
基于所有的消息节点i是0的概率和是1的概率的差分值,在加法域更新校验节点j的概率值。
3、如权利权利要求1所述的译码方法,其特征在于,所述校验节点更新步骤包括:
对消息节点i是0的概率和是1的概率的差分值按照绝对值从小到大进行排序;以及
仅仅针对预定数目的绝对值小的、消息节点i是0的概率和是1的概率的差分值,在加法域更新校验节点j的概率值。
4、如权利要求3所述的译码方法,其特征在于,针对除了预定数据的绝对值小的、消息节点i是0的概率和是1的概率的差分值之外的差分值,在乘法域更新校验节点j的概率值。
5、如权利要求1所述的译码方法,其特征在于,还包括步骤:
把校验矩阵与各个消息比特的译码输出构成的译码矢量相乘,如果相乘结果为零,则停止译码,否则重复所述的校验节点更新步骤和所述消息节点更新步骤。
CN 200610071782 2006-03-22 2006-03-22 Ldpc码的译码方法 Pending CN101043218A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610071782 CN101043218A (zh) 2006-03-22 2006-03-22 Ldpc码的译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610071782 CN101043218A (zh) 2006-03-22 2006-03-22 Ldpc码的译码方法

Publications (1)

Publication Number Publication Date
CN101043218A true CN101043218A (zh) 2007-09-26

Family

ID=38808485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610071782 Pending CN101043218A (zh) 2006-03-22 2006-03-22 Ldpc码的译码方法

Country Status (1)

Country Link
CN (1) CN101043218A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162552A (zh) * 2015-08-10 2015-12-16 北京科技大学 一种q-LDPC-LT级联喷泉码方案的Ka频段深空通信方法及系统
CN107565978A (zh) * 2017-08-30 2018-01-09 桂林电子科技大学 基于Tanner图边调度策略的BP译码方法
CN108429605A (zh) * 2018-03-09 2018-08-21 西安电子科技大学 基于可靠度分级的置信传播译码方法
CN111510162A (zh) * 2020-05-20 2020-08-07 桂林电子科技大学 一种基于节点刷新机制的低复杂度多元ldpc译码方法
CN114421972A (zh) * 2022-01-27 2022-04-29 石家庄市经纬度科技有限公司 一种多进制ldpc码译码方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162552A (zh) * 2015-08-10 2015-12-16 北京科技大学 一种q-LDPC-LT级联喷泉码方案的Ka频段深空通信方法及系统
CN105162552B (zh) * 2015-08-10 2018-08-17 北京科技大学 一种q-LDPC-LT级联喷泉码方案的Ka频段深空通信方法及系统
CN107565978A (zh) * 2017-08-30 2018-01-09 桂林电子科技大学 基于Tanner图边调度策略的BP译码方法
CN107565978B (zh) * 2017-08-30 2020-10-16 桂林电子科技大学 基于Tanner图边调度策略的BP译码方法
CN108429605A (zh) * 2018-03-09 2018-08-21 西安电子科技大学 基于可靠度分级的置信传播译码方法
CN108429605B (zh) * 2018-03-09 2020-04-07 西安电子科技大学 基于可靠度分级的置信传播译码方法
CN111510162A (zh) * 2020-05-20 2020-08-07 桂林电子科技大学 一种基于节点刷新机制的低复杂度多元ldpc译码方法
CN111510162B (zh) * 2020-05-20 2023-08-29 桂林电子科技大学 一种基于节点刷新机制的低复杂度多元ldpc译码方法
CN114421972A (zh) * 2022-01-27 2022-04-29 石家庄市经纬度科技有限公司 一种多进制ldpc码译码方法
CN114421972B (zh) * 2022-01-27 2022-11-22 石家庄市经纬度科技有限公司 一种多进制ldpc码译码方法

Similar Documents

Publication Publication Date Title
JP5138221B2 (ja) 誤り訂正符号をmin−sum復号化する方法
CN101079638A (zh) 用于降低复杂度的低密度奇偶校验解码的系统和方法
CN1282312C (zh) 用于低密度奇偶校验码解码的方法与系统
Zhang et al. Two-dimensional correction for min-sum decoding of irregular LDPC codes
CN1286276C (zh) 随机存取多向cdma2000 turbo编码交织器
CN101080873A (zh) 用于使用信道代码解码的装置和方法
KR20080053346A (ko) 저밀도 패리티 검사 디코더용 방법 및 장치
CN1547806A (zh) 使用结构化奇偶校验矩阵的低密度奇偶校验码的编码
CN1499731A (zh) 低密度奇偶校验码解码装置和方法
CN1185796C (zh) 改进的非规则低密度奇偶校验码纠错译码方法
CN101079639A (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
CN1539204A (zh) 具有多重标度选择的Turbo解码器
CN1558556A (zh) 非规则低密度奇偶校验码的系统码设计方法及其通信系统
CN101043218A (zh) Ldpc码的译码方法
Zimmermann et al. Reduced complexity LDPC decoding using forced convergence
CN1252935C (zh) 基于低密度奇偶检验编码的信源信道联合编码方法
CN1701516A (zh) 校验矩阵生成方法和校验矩阵生成装置
CN1941635A (zh) 一种非正则低密度奇偶校验码的构造方法
CN1311578A (zh) 卷积编码码字的软判定解码
US7945845B2 (en) Maximum likelihood decoding via mixed-integer adaptive linear programming
Jiang et al. Adaptive offset min-sum algorithm for low-density parity check codes
CN1906856A (zh) 消除不可靠消息交换的置信传播解码器
Liu et al. Hard-decision bit-flipping decoder based on adaptive bit-local threshold for LDPC codes
CN1825770A (zh) 解码ldpc编码信号的加速消息传递解码器和方法
CN1976327A (zh) 最小均方误差软干扰抵消的方法、信号检测器和接收机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication