CN1405981A - 改进的非规则低密度奇偶校验码纠错译码方法 - Google Patents

改进的非规则低密度奇偶校验码纠错译码方法 Download PDF

Info

Publication number
CN1405981A
CN1405981A CN 02148649 CN02148649A CN1405981A CN 1405981 A CN1405981 A CN 1405981A CN 02148649 CN02148649 CN 02148649 CN 02148649 A CN02148649 A CN 02148649A CN 1405981 A CN1405981 A CN 1405981A
Authority
CN
China
Prior art keywords
node
decoding
code
check
bit 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.)
Granted
Application number
CN 02148649
Other languages
English (en)
Other versions
CN1185796C (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CNB021486492A priority Critical patent/CN1185796C/zh
Publication of CN1405981A publication Critical patent/CN1405981A/zh
Application granted granted Critical
Publication of CN1185796C publication Critical patent/CN1185796C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

改进的非规则低密奇偶度校验码(ILDPC码)纠错译码方法属于通信技术领域,其特征在于,它利用非规则低密度奇偶校验码比特节点的保护程度随着节点阶数的提高而提高的特性在迭代过程中使高阶比特节点的迭代在完成本阶节点的纠错时就结束,而低阶节点的迭代继续进行,以简化后续迭代译码的计算复杂度,节省时间;还可以通过对高阶比特节点的译码结果进行放大,给低阶节点提供更多的有用信息。从而,在高信噪比条件下可以获得比标准和积译码方法更好的纠错性能;与最小和译码方法相比,没有明显损失ILDPC码的纠错性能。同时,本方法还可推广到磁盘存储***中去。

Description

改进的非规则低密度奇偶校验码纠错译码方法
技术领域
改进的非规则低密度奇偶校验码纠错译码方法属于通信信道译码技术领域,特别涉及采用前向差错控制(FEC)技术用于数据传输及存贮时的一种采用非规则低密度奇偶校验码(ILDPC码)纠正信道差错的有效而快速的译码方法。
背景技术
数据在存贮以及传输过程中经常会引发各种差错。产生这种差错的原因有随机噪声、解调过程中的同步丢失、无线传输中的多径衰落、磁性存储器中的磁道缺损等。这种突发错误一般呈非周期性出现并且持续时间长短不定。由于这些差错的存在,大大限制了特定带宽下的信息传输速率和特定面积下存储器的存储容量。特别是在无线多媒体传输***中,由于大量的数据要在带宽有限且受到各种突发严重干扰的信道中以很高的可靠性传输,这一问题变得更加突出。
为了解决数据传输和存储中的可靠性问题,通常采用信道编码的方法。在当前已有的信道编码方法中,新近提出的ILDPC码具有最为强大的纠错能力,具有很强的应用前景。
采用ILDPC码进行差错控制的译码方法为:
1.ILDPC码的定义和参数:
ILDPC码是一种二进制分组码,这种码采用超稀疏矩阵作为校验矩阵。矩阵中每行(每列)中非零元素的个数非常稀少,且位置呈随机分布。为了便于描述,定义一行(一列)中非零元素的个数为该行(列)的重量。由于ILDPC码的校验矩阵为随机生成的矩阵,各行(列)的重量不确定,因此采用重量分布式来描述这种矩阵。同一类ILDPC码校验矩阵的列重量分布可以用分布式表示为: λ ( x ) = Σ i = 2 d v λ i x i - 1 - - - ( 1 )
式中λi表示重量为i的列在矩阵中所占的份量,dv为矩阵中列重量的最大的值。同样,同一类ILDPC码校验矩阵的行重量分布采用下式描述: ρ ( x ) = Σ j = 2 d c ρ j x j - 1 - - - ( 2 )
式中ρj表示重量为j的行在矩阵中所占的份量,dc为矩阵中行重量的最大值。由于ILDPC码是分组码,对于任何合法的码字V,与校验矩阵H的乘积为零,即H·VT=0。由该校验方程可知,校验矩阵中每列的非零元素只对应ILDPC码的同一个码元,形成了一个相当于重复码的约束。为了便于译码过程中的描述,定义这种约束关系为一个比特节点,节点的阶数即为该列的重量。而校验矩阵中每行的非零元素,将所对应的ILDPC码元映射成一个相当于校验码的约束。同样定义这种校验关系为一个校验节点,节点的阶数即为该行的重量。矩阵中的各个非零元素,既参与了比特节点的约束关系,又参与了校验节点的约束关系,因而可以定义矩阵非零元素所对应的关系为连结这两种节点的“连结线”。在迭代译码过程中,译码器利用矩阵的行和列所对应的校验节点和比特节点的约束关系进行迭代译码。在一次迭代过程中,首先利用比特节点的约束关系进行译码,各比特节点的输入为接收序列对应的对数似然值(即各个元符号取“1”的概率除以取“0”的概率再取自然对数所得的值)以及相关校验节点在上一次迭代的输出;随后,比特节点的输出通过“连结线”送到相应的校验节点,再利用校验节点的约束关系进行译码。在这个过程中,一种节点的输出成为另外一种节点的输入,矩阵中非零元素所对应的“连结线”成为了这两种节点输入输出交换信息的“通道”。对于码长为N比特,列重量分布和行重量分布分别由(1)(2)两式确定的ILDPC码,其i阶比特节点的个数为: N i = N · λ i / i Σ i = 2 d v λ i / i = N · λ i / i ∫ 0 1 λ ( x ) dx , 2 ≤ i ≤ d v - - - ( 3 ) 同理,j阶校验节点的个数为: M j = M · ρ j / j Σ j = 2 d c ρ j / j = M · ρ j / j ∫ 0 1 ρ ( x ) dx 2 ≤ j ≤ d c - - - ( 4 )
式中M为一个ILDPC码字中校验码元的长度。
2.ILDPC码的译码:
ILDPC码的译码充分应用了校验矩阵的超稀疏特性,通过比特节点和校验节点的约束关系计算并输出外信息,并相互反馈,进行迭代译码。(外信息即所有同属于一个码字的其它码元通过码字的约束关系而得到的关于某一个码元取值的信息,采用外信息交互是为了避免迭代过程中出现正反馈。)当前,ILDPC码的译码方法主要有两种。
方法一为和积译码方法。这种方法的输入为接收序列的对数似然值,并在对数空间下通过利用比特节点和校验节点的约束关系进行迭代译码。此时,比特节点的约束关系表现为“和”的形式,即各比特节点的输出是各个输入对数似然值的和;而相应的校验节点则表现为某种“积”的形式,即各校验节点的输出是各个输入对数似然值的某种“连乘积”。由于这个特点,该方法被称之为和积译码方法。
以二元输入加性白高斯噪声信道下的信息传输***为例,长为N-M比特的二进制信息序列被ILDPC编码器编成长度为N比特的ILDPC码字。随后,该码字被调制成取值为±1的符号序列在高斯信道中传输。在接收端,接收机经过匹配滤波后得到了一串含噪声干扰的长度为N的实数序列R1 N,随后进行信号解调。高斯信道、BPSK调制下,第i个码元为1而经调制和传输后接收机收到信号为Ri的概率为: P ( R i | v i = 1 ) = 1 2 π σ 2 exp { - 1 2 σ 2 ( R i - 1 ) 2 } , 1 ≤ i ≤ N - - - ( 5 ) 其中σ2为信道噪声的标准方差。同样,第i个码元为0而经调制和传输后接收机收到信号为Ri的概率为: P ( R i | v i = 0 ) = 1 2 π σ 2 exp { - 1 2 σ 2 ( R i + 1 ) 2 } , 1 ≤ i ≤ N - - - ( 6 ) 由贝叶斯定理,得到: P ( v i = 1 | R i ) = P ( R i | v i = 1 ) · P ( v i = 1 ) P ( R i ) , - - - ( 7 ) P ( v i = 0 | R i ) = P ( R i | v i = 0 ) · P ( v i = 0 ) P ( R i ) . - - - ( 8 )
在发送过程中,码元符号取0和1的概率相等。为了便于解调信号的输出,通常采用对数似然比的形式表示接收到的第i个码元取值的最大后验概率: LLR ( R i ) = ln P ( v i = + 1 | R i ) P ( v i = - 1 | R i ) - - - ( 9 ) 由以上各式,得: LLR ( R i ) = ln P ( v i = + 1 | R i ) P ( v i = - 1 | R i ) = ln P ( R i | v i = + 1 ) P ( R i | v i = - 1 ) = ln 1 2 π σ 2 exp { - 1 2 σ 2 ( R i - 1 ) 2 } 1 2 π σ 2 exp { - 1 2 σ 2 ( R i + 1 ) 2 } = 2 σ 2 R i = sign ( R i ) · | 2 σ 2 R i | - - - ( 10 )
式中Sign(·)为符号函数。上式中,第一项符号函数表示了由接收信号得到的原发送信号取值概率的比较结果。符号函数取正值表示原码元符号为1的概率大于为0的概率;取负值则表示原码元符号为0的概率大于为1的概率。而第二项绝对值的大小则表示了该符号取1的概率与取0的概率之间的差异程度。绝对值越大,则两个概率值的差异越大。因此,(10)式根据每个接收信号提供了两个信息,一个信息为原信号最可能取哪个值,另一个信息则表示了这种判断的可靠程度。接收机的这种解调过程充分保留了原信号的信息,被称为“软解调”,或者“软判决”,相应的软判决输出称为“软信息”。
解调器输出的软信息被送到ILDPC译码器进行译码。ILDPC译码器的译码充分利用了校验矩阵的超稀疏特性,将校验矩阵的约束关系分解为行的校验码约束关系和列的重复码约束关系,通过利用这两种约束关系的相互反馈,进行迭代译码。为了便于了解在这两种约束关系下的译码过程,下面首先讨论重复码和校验码的译码过程。
1)重复码的约束关系及其译码:
重复码的编码即是将输入的信息符号进行N-1次重复,从而得到一个长为N的码字V1 N。因此,重复码只有两个合法码字:全0码字01 N和全1码字11 N。经过调制、传输、解调以后,译码器根据调制器提供的软信息进行译码。在接收到的信号序列为R1 N的前提下,根据重复码的约束关系进行译码,得到一个采用对数似然比表示的输出序列U1 N。其中,第i个符号最大后验概率取值的对数似然比为: LLR ( u i ) = ln p ( v i = 1 | R 1 N ) p ( v i = 0 | R 1 N ) = ln p ( v i = 1 , R 1 N ) p ( v i = 0 , R 1 N ) = ln Σ Λ 1 ≤ i ′ ≤ N i ′ ≠ i Σp ( v 1 , v 2 , Λ , v i = 1 , Λ , v N , R 1 N ) Σ Λ 1 ≤ i ′ ≤ N i ′ ≠ i Σp ( v 1 , v 2 , Λ , v i = 0 , Λ , v N , R 1 N ) = ln Σ Λ v 1 ′ ∈ V 1 N i ′ ≠ i Σp ( v 1 , v 2 , Λ , v i = 1 , Λ , v N ) · p ( R 1 N | v 1 , v 2 , Λ , v i = 1 , Λ , v N ) Σ Λ v i ′ ∈ V 1 N i ′ ≠ i Σp ( v 1 , v 2 , Λ , v i = 0 , Λ , v N ) · p ( R 1 N | v 1 , v 2 , Λ , v i = 0 , Λ , v N ) - - - ( 11 )
由于重复码只有全0和全1两个码字,因而上式中分子分母乘积项中的第一项只有在码字分别为全1码字和全0码字时,概率才不为0。从而,(11)式可以继续化简为: LLR ( u i ) = ln p ( R 1 N | V 1 N = 1 1 N ) p ( R 1 N | V 1 N = 0 1 N ) = ln Π i ′ = 1 N p ( R i ′ | v i ′ = 1 ) Π i ′ = 1 N p ( R i ′ | v i ′ = 0 ) - - - ( 12 ) = Σ i ′ N LLR ( v i ′ ) = LLR ( v i ) + Σ i ′ ≠ i LLR ( v i ′ )
上式中结果的第一部分是码元i接收信号的对数似然比值,为码元本身所具有的信息,称为“先验信息”;第二部分是码字中其它码元根据码字的约束关系而提供的关于码元i的取值信息,称为“外信息”。由于先验信息为各个码元本身就有,因而在译码过程中译码器只需给每个码元反馈相应的外信息。重复码的译码关系可以采用图1所示的一个节点图来表示。
图1中的节点共有N条连结线,对应N个码元。这些连结线既可以作为输入也可以作为输出,分别对应N个码元的输入和译码输出。在一次译码过程中,接点通过N条连结线收到以对数似然比的形式表示的解调信息序列,随后,通过节点的运算,译码结果也通过这些连结线输出N个码元的外信息。其中,每条连结线的输出为其它各条连结线的输入值的累加和。在对ILDPC码译码的描述中,重复码的这种译码节点也被称为“比特节点”。
2)校验码的约束关系及其译码:
以码率为 的校验码为例,长为N-1个比特的信息序列经过编码后得到一个码长为N的校验码,码元之间的约束关系可以用如下的关系式表示:
v1v2∧vN=0                       (13)
式中表示二进制和,即二进制逻辑中的“异或”。校验码所得的码字V1 N经过调制、传输、解调后,得到包含该码字信息的一个软信息序列LLR(R1 N)。校验码译码器即根据这个软信息序列进行译码。定义二元符号ei为码字中除了第i个码元vi外其它所***元的二进制和,则由(13)式可得:
viei=0                             (14)
由二进制的异或关系以及(14)式,得码元vi与符号ei取值相同。因而,码元vi与符号ei形成一个相当于重复码的关系。由上面重复码所讨论得到的结果可知,码元vi通过译码后所得的后验信息为: LLR ( v ^ i ) LLR ( v i ) + LLR ( e i ) - - - ( 15 )
显然,(15)式中的第二项就是在译码过程中译码器根据整个码序列的约束关系反馈给码元vi的外信息。下面,我们以码长为3的校验码为例,推导外信息的表示式。不失一般性,我们讨论第一个码元的外信息表示式。在码长为3比特的情况下,符号e1取值为1的概率为:
p(e1=1)=p(v2=1)·p(v3=0)+p(v2=0)·p(v3=1)
=p(v2=1)·(1-p(v3=1))+(1-p(v2=1))·p(v3=1)              (16)
=p(v2=1)+p(v3=1)-2p(v2=1)·p(v3=1)从而,
1-2p(e1=1)=1-2p(v2=1)-2p(v3=1)+4p(v2=1)·p(v3=1)       (17)
=(1-2p(v2=1))·(1-2p(v3=1))引入一个函数: Φ ( x ) = tanh ( - 1 2 x ) = exp ( - 1 2 x ) - exp ( 1 2 x ) exp ( - 1 2 x ) + exp ( 1 2 x ) = 1 - exp ( x ) 1 + exp ( x ) - - - ( 18 )
那么, Φ ( LLR ( e 1 ) ) = Φ ( ln p ( e 1 = 1 ) p ( e 1 = 0 ) ) = 1 - exp ( ln p ( e 1 = 1 ) p ( e 1 = 0 ) ) 1 + exp ( ln p ( e 1 = 1 ) p ( e 1 = 0 ) ) = 1 - 2 p ( e 1 = 1 ) - - - ( 19 )
由(17)、(19)式,得码元v1的:外信息表示形式为:
LLR(e1)=Φ-1(Φ(LLR(v2)·Φ(LLR(v3))                        (20)
(20)式可以推广到任意一个码元,也可以推广到码长大于3比特的情况。在码长为N比特得情况下,码元i的外信息为: LLR ( e i ) = Φ - 1 ( Π 1 ≤ i ′ ≤ N i ′ ≠ i Φ ( LLR ( v i ) ) ) - - - ( 21 )
校验码的这种译码运算关系也可以采用一个节点来表示,如图2所示:
图2中节点具有N个连结线,对应N个码元;每根连结线既是输入也是输出。其中,输入对应于输入到译码器的软信息序列,输出则是译码器通过运算反馈给各个码元符号的外信息。在一次译码中,每根连结线输入该码元解调后得到的软信息到节点,随后节点通过运算,给每个连结线一个外信息输出。注意到,图2中每根连结线的输出是以其它所有连结线的输入值作为输入的运算结果。在后续ILDPC码的译码中,校验码的这种译码节点被称为“校验节点”。
3)ILDPC码的译码:
信息序列经过ILDPC码的编码、调制、传输后,由接收机进行匹配滤波,得到相应的包含ILDPC码字信息的接收序列R1 N,随后这个序列被送到ILDPC码译码器进行纠错译码。在一次译码过程中,译码器首先对接收序列进行解调,把接收序列转化为软信息的形式;随后,利用ILDPC码的校验方程H·VT=0进行译码。注意到ILDPC码的校验矩阵为超稀疏矩阵,每行/列的非零元素个数非常稀少。由校验方程知,矩阵的每行ILDPC码的乘积,实际上是与该行非零元素相乘的码元的二进制和。由校验码的约束方程可知,这些码元构成了一个校验码的约束。由于校验矩阵有M行,因而一共能得到M个校验码。通过采用校验码的译码方法,每个校验码都可以在各自的约束关系下给各个码元一个反映该码元取值情况的外信息输出。而对于校验矩阵的每一列,由于其元素在校验矩阵与码字的乘法中只与同一个码元相乘,而该列的每个非零元素都对应一个校验码对该码元符号取值情况的输出。于是,这些校验码的输出与接收到的码元软信息一起,构成了一个重复码的约束。由于校验矩阵共有N列,因而可以得到N个重复码,分别与ILDPC码字的N个码元对应。ILDPC码的译码即是通过将校验矩阵的约束关系分解为这M个校验码和N个重复码的约束关系,通过这两种码的译码输出相互反馈为对方的输入,进行并行迭代译码。由以上关于重复码和校验码的讨论,ILDPC码的译码网格图可以由图3表示:
首先,接收序列被译码器转化为软信息后,译码器将所有校验节点的初始输出设为0,随后根据接收序列的软信息和校验节点的初始输出进行N个比特节点的同时译码。这些比特节点对各个码元的外信息输出,被通过连结线送到相应的校验节点,随后M个节点同时进行校验码的译码,每个校验节点的对每个码元符号的译码输出都通过连结线反馈回相关的比特节点。在下一次迭代开始时,每个比特节点都将自己所有的输入累加,得到一个码元的后验信息,随后根据这个后验信息进行硬判决译码。N个比特节点的硬判决译码得到一个码字的估值信息序列。如果校验矩阵与这个估值信息序列的乘积为零,则译码器停止迭代译码并输出这个估值作为译码结果;否则,译码器进行下一次比特节点—校验节点的译码迭代,直到所得估值序列为一个合法ILDPC码字或者达到最大迭代次数为止。译码器的输出为最后一次得到的硬判决估值序列。
设rij为从校验节点j输出到比特节点i的外信息,qij为从比特节点i到校验节点j的外信息,该和积译码方法的迭代过程包括如下步骤:
1)译码初始化:对于接收到的实数序列R1 N,对应的ILDPC码第i个码元的初始接收值被译码器解调成对数似然比的形式: LLR ( R i ) = 2 σ 2 R i , 1 ≤ i ≤ N - - - ( 22 )
式中LLR表示取值为对数似然比,σ2为信道噪声的标准方差。同时,初始条件下校验节点没有任何关于码字的信息,故设置校验节点j输出到比特节点i的外信息为:
LLR(rij)=0                                             (23)
2)若所得到的序列的硬判决结果不为一个合法的码字(其中硬判决是指根据序列各个符号的对数似然值决定各个码元符号的比特取值,对数似然值为正数则码元取符号“1”,为负数则码元取符号“0”),执行一次和积译码的迭代过程为:
a)比特节点的译码:在这种节点的约束关系下,输出与输入的关系为“和”的关系,即比特节点i到校验节点j的外信息输出为: LLR ( q ij ) = Σ j ′ ∈ Col [ i ] j ′ ≠ j LLR ( r ij ′ ) + LLR ( R i ) - - - ( 24 )
式中Col[i]表示校验矩阵H第i列非零元素的位置集合。
b)校验节点的译码:在校验节点的约束关系下,输出与输入的关系为某种“积”的关系,即校验节点j输出到比特节点i的外信息为: LLR ( r ij ) = Φ - 1 ( Π i ′ ∈ Row [ j ] i ′ ≠ i Φ ( LLR ( q i ′ j ) ) - - - ( 25 ) 式中Row[j]表示校验矩阵H第j行非零元素的位置集合,并且 Φ ( x ) = tanh ( - 1 2 x ) - - - ( 26 ) 3)迭代后所得的第i个比特节点的译码结果为该节点所有输入的和: LLR ( v ^ i ) = Σ j ′ ∈ Col [ i ] LLR ( r ij ′ ) + LLR ( R i ) - - - ( 27 )
对所得到的译码结果进行如下的硬判决,然后转移到第二步。其中第i个码元符号的硬判决为:
Figure A0214864900101
4)如果需要进行下一个码字的译码,跳转到第一步;否则,结束译码。
注意到这种译码方法充分利用了比特节点和校验节点的性质,以及接收序列的所有信息,因而可以得到较好的译码性能,同时迭代过程中的收敛也比较快。但是,在码长过长(10000比特以上)时,该方法的运算量仍然很大,难于在实际***中应用。
另一种ILDPC码的译码方法为最小和译码方法。该方法的译码过程与和积译码算法相似,在比特节点的约束下输出与输入仍然为“和”的关系,但是校验节点的关系则近似简化为符号的连乘积及取最小输入绝对值的关系: LLR ( r ij ) = min i ′ ∈ Row [ j ] i ′ ≠ i | LLR ( q i ′ j ) | · Π i ′ ∈ Row [ j ] i ′ ≠ i sgn ( LLR ( q i ′ j ) ) - - - ( 29 )
通过采用这种近似译码方法,译码过程的计算复杂度得到较大的简化。但是,由于在校验节点的运算中采用了近似运算,丢失了较多的信息,使得纠错性能有明显的下降。在低信噪比的情况下,该方法的收敛速度很慢,与方法一相比,运算量的降低不明显,而性能却有显著的下降。
发明内容
本发明的目的在于克服现有技术的不足之处,提出了一种修正的和积译码方法。该方法注意到了ILDPC码对于不同阶比特节点具有不等保护成度的特点,即ILDPC码比特节点的保护成度随着节点阶数的提高而提高,使得在迭代译码的过程中高阶比特节点的差错往往先于低阶节点的差错被纠正过来。本发明通过利用ILDPC码的这种特性,在迭代译码过程中使高阶比特节点的迭代译码在完成本阶节点的纠错时就结束,而低阶节点的迭代译码继续进行,从而简化了后续迭代译码的计算复杂度。同时,在高阶比特节点迭代结束时,由于所得到的译码结果的差错水平远低于整个序列的差错水平,本发明通过对高阶比特节点的译码结果进行放大,给低阶节点提供了更多的有用信息。在高信噪比的条件下,这种方法可以获得比标准和积译码方法更好的纠错性能。从而,本发明以相对上述方法一小得多的译码复杂度和以相对方法二高得多的纠错性能,实现了ILDPC码的译码。
本发明的特征在于,它利用ILDPC码比特节点的保护程度随着节点阶数的提高而提高的特性,在迭代译码中,使高阶比特节点的迭代译码在完成本阶节点的纠错时就结束,而低阶节点的迭代译码继续进行,以简化后续迭代译码的计算复杂度,具体而言,它依次含有如下步骤:
(1)译码开始,把接收序列输入到比特节点,同时根据噪声大小设置各阶比特节点的迭代结束参数,译码迭代次数置为0;
(2)译码器计算各阶比特节点的硬判决输出并送到码字检测节点;
(3)检测硬判决序列是否为一个合法码字:
若是,输出剩余各阶比特节点的译码结果,译码结束;
若否,则执行下一步骤;
(4)执行下一次迭代过程:所有各阶比特节点根据重复码的约束关系,计算到各校验节点输出,再通过节点间连线送到相应的校验节点作为输入;校验节点再按照校验码的约束关系计算出反馈给各比特节点的外信息,并把它作为比特节点下一次迭代的输入;迭代次数加1,重复(2)~(4)步;
(5)若迭代次数k=ki(σ),i为设定的高阶比特节点,则:
(5.1)对所有的i阶比特节点计算后验信息,随后所有i阶比特节点把所得后验信息作硬判决,所得结果作为译码的最后结果进行输出;
(5.2)所有同i阶比特节点有联系的校验节点,把相应的连结线简化,进入下一次迭代运算;
(6)迭代次数加1,转入下一轮迭代;
(7)判决迭代次数是否小于最大允许值;
若是,则回到步骤(2);
若否,则输出剩余各阶比特节点的译码结果;
(8)判决是否有下一个码矢量需要译码:
若有,则回到步骤(1);
若无,则结束译码过程。
试验证明:它达到了预期目的。
附图说明
图1.重复码的译码节点图。
图2.校验码的译码节点图。
图3.ILDPC码的译码网格图。
图4.本发明所述译码方法的程序流程图。
图5.应用本发明纠正传输差错的通信***框图。
具体实施方式
本发明提出的一种修正和积译码方法,如图3所示,假设比特节点按照阶数从低到高的顺序从左向右排列,则本发明提出的译码方法包括以下步骤:
译码开始时,接收序列输入到比特节点,译码器进行初始化,同时根据噪声的大小设置各阶比特节点的迭代结束参数,译码迭代次数置为0。然后,译码器计算各阶比特节点的硬判决输出,送到节点码字检测节点,检测硬判决序列是否为一个合法码字。如果所得的硬判决系列为一个合法的码序列,则译码结束,输出相应的硬判决结果;否则,执行一次迭代过程:所有各阶比特节点根据重复码的约束关系计算到各校验节点的输出,通过节点间连线送到相应的校验节点作为输入;校验节点再按照校验码的约束关系计算反馈给各比特节点的外信息,并把它作为比特节点下一次迭代的输入。完成这些运算后,迭代次数加1。在下一次迭代开始时,各阶比特节点再次计算硬判决输出,随后由码字检测节点判决是否为一个合法码序列。如果是一个合法码字,则结束译码迭代,输出相应的硬判决序列;否则,执行一次迭代过程。如果当前迭代次数等于ki(σ),则所有i阶比特节点计算后验信息,随后所有i阶比特节点将所得后验信息硬判决,所得结果作为译码的最后结果进行输出,这些节点不再参与后续的迭代译码。从而,所有与i阶比特节点有联系的校验节点可以将相应的连结线的简化掉,以便于下一次的迭代运算。完成这些运算以后,迭代次数加1,转入下一轮迭代。显然,在最坏的情况下,译码器需要完成k2(σ)次迭代。
本发明所述方法的原理及算法描述如下:
1)定义Qij(2≤i≤dv+1)为校验矩阵第j行中阶数大于或等于i的比特节点对数似然值的乘积,该变量主要用于在后续迭代中简化校验节点的运算。对于一个已知信噪比标准差为σ2的接收序列,选择一组迭代结束参数 K s ( σ ) = { k 2 ( σ ) , k 3 ( σ ) , Λ , k d v ( σ ) } 给各阶比特节点;同时初始化译码方程为: Q d v + 1 j = 1,1 ≤ j ≤ M - - - ( 30 ) LLR ( R i ) = 2 σ 2 R i , 1 ≤ i ≤ N - - - ( 31 )
LLR(rij)=0                            (32)
2)设置 k d v + 1 ( σ ) = 0 。对于第k次迭代,如果k>k2(σ),或者硬判决译码序列是一个合法码序列,结束译码并输出硬判决系列:否则,执行如下迭代过程:如果kl(σ)<k<kl-1(σ)(l=3,4,Λ,dv+1)执行下面的步骤a),b):a)比特节点的译码:从比特节点i到校验节点j的外信息输出为: LLR ( q ij ) = Σ j ′ ∈ Col [ i ] j ′ ≠ j LLR ( r ij ′ ) + LLR ( R i ) 1 - ≤ i ≤ N - Σ t = l d v N t - - ( 33 ) b)校验节点的译码:校验节点j输出到比特节点i的外信息为:
Figure A0214864900126
否则,如果k=kl(σ)(l=2,3,Λ,dv),执行下面的迭代步骤:c)比特节点的译码:从比特节点i到校验节点j的外信息输出改用下式计算:
Figure A0214864900131
式中A0是一个很大的正整数,用于放大qij的对数释然值,以向低阶比特节点提供更多的有用信息。A0可以在10-1000之间的取值,具体取决于译码器的浮点位数。
d)校验节点的译码:此时校验节点j输出到比特节点i的外信息为:
Figure A0214864900132
同时计算下一次迭代的Qij,用于简化后续的迭代:
Figure A0214864900133
e)1阶比特节点的译码结果为: LLR ( v ^ i ) = &Sigma; j &prime; &Element; Col [ j ] LLR ( r ij &prime; ) + LLR ( R i ) N - &Sigma; t = 1 d v N t < i &le; N - &Sigma; t = l + 1 d v N t - - - ( 38 ) 此时,译码器输出相应的1阶比特节点所对应码元的硬判决结果为
注意到,在标准和积译码算法的一次迭代运算中,一个i阶比特节点要计算i2次加法,而一个j阶校验节点大约要执行j2次浮点乘法。因此,对于长为N比特的ILDPC码的译码,一次迭代大约需要 &Sigma; i = 2 d v N i &CenterDot; i 3 次加法和大概 &Sigma; j = 2 d c M j &CenterDot; j 3 次浮点乘法。而采用本发明所提出的算法时,在第k次(k1(σ)<k≤kl-1(σ))迭代过程中,大约 &Sigma; t = l d v N t &CenterDot; t 3 次加法和平均 ( &Sigma; t = l d v N t &CenterDot; t ) / ( &Sigma; t = 2 d v N t &CenterDot; t ) &CenterDot; &Sigma; l = 2 d c M l &CenterDot; l 3 次浮点乘法由于高阶比特节点的迭代提前结束而被省去,从而有效降低了译码复杂度。此外,在本算法中,高阶比特节点完成迭代译码时其所得的对数似然值被放大,从而给低阶节点提供了更多的有用信息。在高信噪比的条件下,这种方法可以获得比标准和积译码方法更好的纠错性能。
实施例:本实施例为在清华同方PC机上用软件实现本发明提出的纠错译码方法,如图4所示,包括以下步骤:
译码开始时,译码器从步骤4a转到步骤4b,接收序列输入到比特节点;做完这一步以后译码器转移到4c,根据噪声的大小设置各阶比特节点的迭代结束参数,同时译码迭代次数置为0,并按照(30)(31)(32)式进行初始化。然后,译码器转移到4d,计算各阶比特节点的硬判决输出,在步骤4e进行判断。如果所得的硬判决系列为一个合法的码字,则此次译码结束,跳转到4l,输出相应的硬判决结果;否则,转移到4f,判断当前迭代次数是否等于ki(σ)。如果当前迭代次数不等于ki(σ),执行一次迭代过程:各阶比特节点根据(33)式计算各节点的输出,通过节点间连线送到相应的校验节点作为输入;校验节点再按照(34)式计算反馈给各比特节点的外信息,并把它作为比特节点下一次迭代的输入。完成这些运算后,转移到步骤4j。如果当前迭代次数等于ki(σ),则转移到4h。此时比特节点按照(35)式计算外信息,随后所有i阶比特节点结束迭代并将所得译码结果硬判决输出;与i阶比特节点有联系的校验节点按照(36)式计算外信息。随后在步骤4i,译码器根据(37)式简化校验节点,以便于下一次的迭代运算。完成这些步骤以后,译码器转移到4j,迭代次数加1,并在步骤4k判断迭代次数是否小于允许值。如果是,则跳转到4d,转入下一轮迭代;否则,转移到步骤4l,输出剩余的各阶比特节点的译码结果。完成步骤4l的操作以后,译码器转移到步骤4m,判断译码过程是否结束:如果是,则下一步转移到步骤4n,结束译码过程;否则下一步跳回到步骤4b,重新开始下一个码矢量的译码。
作为一个例子,表1和表2分别列出了一个ILDPC码在BIAWGN信道下采用和积译码算法以及本发明的算法所得到的译码性能以及相应的计算复杂度。该ILDPC码的主要参数为:码长等于10000比特,列重量分布式为λ(x)=0.23882x+0.2951x2+0.03261x3+0.43342x10,行重量分布式为ρ(x)=0.43011x6+0.56989x7。由表1可见,在低信噪比的条件下,两者的纠错性能相差不大;在高信噪比的条件下,本发明的算法所得的纠错性能要比标准和积译码算法好一些。另外,从表2可知,本发明的方法是的译码复杂度明显降低。其中加法大约降低45%-70%,浮点乘法减少了25%-40%左右。
表1.两种译码算法在BIAWGN信道下的性能
    Eb/N0(dB)    0.72     0.82     0.91     1.01
  和积译码算法  2.725e-3   5.858e-4   1.364e-4    5.94e-5
  本发明的算法  3.241e-3   6.614e-4   1.474e-4    5.38e-5
表2.两种译码算法的平均译码复杂度
Figure A0214864900151
可见,采用本方法能够以很低的译码复杂度得到很好的纠错性能,大大提高了ILDPC码的实用性。
参照图5,采用本发明的方法纠正传输差错的通信***包括一个产生数字信息流的信源51,ILDPC编码器53,传输信道55,以及如图3所示的纠正传输错误译码器57。在本例中,信源51产生的携带信息的数据符号流52被送往ILDPC码编码器53,ILDPC码编码器53对信息进行信道编码。编码后的ILDPC码流54在传输信道55传输过程中受到干扰而产生差错,包含传输差错的码流56被纠正传输错误的ILDPC码译码器57所接收。经过ILDPC码译码器57采用本发明的方法完成纠错译码,输出的码流58为正确的数字信息流。
应当指出,本发明方法的应用还可以推广到磁存储***中去。
本发明的效果是,通过利用ILDPC码的不同阶比特节点的不等差错保护特性,使得高阶比特节点的迭代比低阶比特节点的迭代先结束,从而在没有明显损失译码性能的前提下将译码复杂度明显降低。与已有的方法一相比,本方法显著降低了计算复杂度;与已有的方法二相比,本方法没有明显损失ILDPC码的纠错性能。此外,本方法还通过对高阶比特节点对数似然值进行适度放大,使得低阶节点获得了更多的有用信息。在高信噪比的条件下,可以获得比方法一更好的纠错性能。因此,对于ILDPC码的译码,本方法明显优于其它的方法。

Claims (1)

1.改进的非规则低密度奇偶校验码纠错译码方法,含有非规则低密度奇偶检验码(ILDPC)的和积译码方法,它的输入为接收序列的对数似然值并在对数空间下通过利用比特节点和校验接点的约束关系进行迭代译码,其特征在于,它利用ILDPC码比特节点的保护程度随着节点阶数的提高而提高的特性,在迭代译码中,使高阶比特节点的迭代译码在完成本阶节点的纠错时就结束,而低阶节点的迭代译码继续进行,以简化后续迭代译码的计算复杂度,具体而言,它依次含有如下步骤:
(1)译码开始,把接收序列输入到比特节点,同时根据噪声大小设置各阶比特节点的迭代结束参数,译码迭代次数置为0;
(2)译码器计算各阶比特节点的硬判决输出并送到码字检测节点;
(3)检测硬判决序列是否为一个合法码字:
若是,输出剩余各阶比特节点的译码结果,译码结束;
若否,则执行下一步骤;
(4)执行下一次迭代过程:所有各阶比特节点根据重复码的约束关系,计算到各校验节点输出,再通过节点间连线送到相应的校验节点作为输入;校验节点再按照校验码的约束关系计算出反馈给各比特节点的外信息,并把它作为比特节点下一次迭代的输入;迭代次数加1,重复(2)~(4)步;
(5)若迭代次数k=ki(σ),i为设定的高阶比特节点,则:
(5.1)对所有的i阶比特节点计算后验信息,随后所有i阶比特节点把所得后验信息作硬判决,所得结果作为译码的最后结果进行输出;
(5.2)所有同i阶比特节点有联系的校验节点,把相应的连结线简化,进入下一次迭代运算;
(6)迭代次数加1,转入下一轮迭代;
(7)判决迭代次数是否小于最大允许值;
若是,则回到步骤(2);
若否,则输出剩余各阶比特节点的译码结果;
(8)判决是否有下一个码矢量需要译码:
若有,则回到步骤(1);
若无,则结束译码过程。
CNB021486492A 2002-11-15 2002-11-15 改进的非规则低密度奇偶校验码纠错译码方法 Expired - Fee Related CN1185796C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021486492A CN1185796C (zh) 2002-11-15 2002-11-15 改进的非规则低密度奇偶校验码纠错译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021486492A CN1185796C (zh) 2002-11-15 2002-11-15 改进的非规则低密度奇偶校验码纠错译码方法

Publications (2)

Publication Number Publication Date
CN1405981A true CN1405981A (zh) 2003-03-26
CN1185796C CN1185796C (zh) 2005-01-19

Family

ID=4751523

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021486492A Expired - Fee Related CN1185796C (zh) 2002-11-15 2002-11-15 改进的非规则低密度奇偶校验码纠错译码方法

Country Status (1)

Country Link
CN (1) CN1185796C (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006076834A1 (fr) * 2005-01-23 2006-07-27 Zte Corporation Matrice de base fondee sur un ldcp irregulier et procedes de generation de cette matrice
CN100336334C (zh) * 2003-07-03 2007-09-05 直视集团公司 产生并行可解码的低密度奇偶校验码的方法和***
CN100341264C (zh) * 2003-10-27 2007-10-03 直视集团公司 用于提供存储器减少的低密度奇偶校验(ldpc)码的方法和设备
CN100355211C (zh) * 2003-04-24 2007-12-12 北京邮电大学 基于改进Tanner图的LDPC迭代编码方法
CN100364237C (zh) * 2004-02-09 2008-01-23 清华大学 非规则低密度奇偶校验码的***码设计方法及其通信***
US7334181B2 (en) 2003-09-04 2008-02-19 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
US7376883B2 (en) 2003-10-27 2008-05-20 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
US7454685B2 (en) 2004-11-23 2008-11-18 Samsung Electronics Co., Ltd. Method and apparatus for decoding low density parity check code using united node processing
CN1947368B (zh) * 2004-04-28 2010-06-16 三星电子株式会社 对具有可变块长度的块低密度奇偶校验码编码/解码的设备和方法
CN1933336B (zh) * 2005-01-10 2010-09-08 美国博通公司 使用grs码构建ldpc码的方法和装置
CN101917249A (zh) * 2010-07-27 2010-12-15 清华大学 Qc-ldpc码译码器及其实现方法
CN1993917B (zh) * 2004-08-16 2011-03-23 三星电子株式会社 编码/译码具有可变块长度的块低密奇偶校验码的装置和方法
CN1836394B (zh) * 2003-08-26 2011-05-25 三星电子株式会社 在移动通信***中编码/解码分块低密度奇偶校验码的装置和方法
CN101026436B (zh) * 2006-02-22 2011-07-06 华为技术有限公司 一种低密度奇偶校验码译码方法
CN101162965B (zh) * 2006-10-09 2011-10-05 华为技术有限公司 一种ldpc码的纠删译码方法及***
CN1954502B (zh) * 2003-12-22 2011-11-16 高通股份有限公司 用来减少在消息传递译码器中的误码基底的方法和设备
CN1630281B (zh) * 2003-06-13 2012-05-30 Dtvg许可公司 用于数字广播和交互式业务的成帧结构
CN1934789B (zh) * 2004-05-14 2012-06-06 摩托罗拉*** 具有良好性能的不规则缩短的ldpc码的码构造方法
CN101388746B (zh) * 2007-05-07 2012-06-27 美国博通公司 解码ldpc编码信号的解码器及方法
CN101562456B (zh) * 2009-06-03 2012-08-22 华北电力大学(保定) 基于低密度奇偶校验码译码软信息的码辅助帧同步方法
CN101322319B (zh) * 2005-12-01 2012-11-28 汤姆逊许可公司 用于对低密度奇偶校验编码信号解码的设备和方法
CN101567699B (zh) * 2003-05-13 2013-10-30 索尼株式会社 解码装置
CN107124187A (zh) * 2017-05-05 2017-09-01 南京大学 一种应用于闪存的基于等差校验矩阵的ldpc码译码器
CN109586733A (zh) * 2018-11-23 2019-04-05 清华大学 一种基于图形处理器的ldpc-bch译码方法

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100355211C (zh) * 2003-04-24 2007-12-12 北京邮电大学 基于改进Tanner图的LDPC迭代编码方法
CN101567699B (zh) * 2003-05-13 2013-10-30 索尼株式会社 解码装置
CN1630281B (zh) * 2003-06-13 2012-05-30 Dtvg许可公司 用于数字广播和交互式业务的成帧结构
CN100336334C (zh) * 2003-07-03 2007-09-05 直视集团公司 产生并行可解码的低密度奇偶校验码的方法和***
CN1836394B (zh) * 2003-08-26 2011-05-25 三星电子株式会社 在移动通信***中编码/解码分块低密度奇偶校验码的装置和方法
CN100382472C (zh) * 2003-09-04 2008-04-16 直视集团公司 提供短块长度低密度奇偶校验(ldpc)码的方法和***
US7334181B2 (en) 2003-09-04 2008-02-19 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
US7673226B2 (en) 2003-09-04 2010-03-02 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
US7376883B2 (en) 2003-10-27 2008-05-20 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
CN100449947C (zh) * 2003-10-27 2009-01-07 直视集团公司 生成长和短块长度低密度奇偶校验(ldpc)码的方法和装置
US7483496B2 (en) 2003-10-27 2009-01-27 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
US8069393B2 (en) 2003-10-27 2011-11-29 Dtvg Licensing, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
CN100341264C (zh) * 2003-10-27 2007-10-03 直视集团公司 用于提供存储器减少的低密度奇偶校验(ldpc)码的方法和设备
CN1954502B (zh) * 2003-12-22 2011-11-16 高通股份有限公司 用来减少在消息传递译码器中的误码基底的方法和设备
CN100364237C (zh) * 2004-02-09 2008-01-23 清华大学 非规则低密度奇偶校验码的***码设计方法及其通信***
CN1947368B (zh) * 2004-04-28 2010-06-16 三星电子株式会社 对具有可变块长度的块低密度奇偶校验码编码/解码的设备和方法
CN1934789B (zh) * 2004-05-14 2012-06-06 摩托罗拉*** 具有良好性能的不规则缩短的ldpc码的码构造方法
CN1993917B (zh) * 2004-08-16 2011-03-23 三星电子株式会社 编码/译码具有可变块长度的块低密奇偶校验码的装置和方法
US7454685B2 (en) 2004-11-23 2008-11-18 Samsung Electronics Co., Ltd. Method and apparatus for decoding low density parity check code using united node processing
CN1933336B (zh) * 2005-01-10 2010-09-08 美国博通公司 使用grs码构建ldpc码的方法和装置
US8607125B2 (en) 2005-01-23 2013-12-10 Zte Corporation Basic matrix based on irregular LDPC, codec and generation method thereof
WO2006076834A1 (fr) * 2005-01-23 2006-07-27 Zte Corporation Matrice de base fondee sur un ldcp irregulier et procedes de generation de cette matrice
CN101322319B (zh) * 2005-12-01 2012-11-28 汤姆逊许可公司 用于对低密度奇偶校验编码信号解码的设备和方法
CN101026436B (zh) * 2006-02-22 2011-07-06 华为技术有限公司 一种低密度奇偶校验码译码方法
CN101162965B (zh) * 2006-10-09 2011-10-05 华为技术有限公司 一种ldpc码的纠删译码方法及***
CN101388746B (zh) * 2007-05-07 2012-06-27 美国博通公司 解码ldpc编码信号的解码器及方法
CN101562456B (zh) * 2009-06-03 2012-08-22 华北电力大学(保定) 基于低密度奇偶校验码译码软信息的码辅助帧同步方法
CN101917249A (zh) * 2010-07-27 2010-12-15 清华大学 Qc-ldpc码译码器及其实现方法
CN101917249B (zh) * 2010-07-27 2012-11-14 清华大学 Qc-ldpc码译码器及其实现方法
CN107124187A (zh) * 2017-05-05 2017-09-01 南京大学 一种应用于闪存的基于等差校验矩阵的ldpc码译码器
CN107124187B (zh) * 2017-05-05 2020-08-11 南京大学 一种应用于闪存的基于等差校验矩阵的ldpc码译码器
CN109586733A (zh) * 2018-11-23 2019-04-05 清华大学 一种基于图形处理器的ldpc-bch译码方法
CN109586733B (zh) * 2018-11-23 2021-06-25 清华大学 一种基于图形处理器的ldpc-bch译码方法

Also Published As

Publication number Publication date
CN1185796C (zh) 2005-01-19

Similar Documents

Publication Publication Date Title
CN1405981A (zh) 改进的非规则低密度奇偶校验码纠错译码方法
CN1130027C (zh) 应用分散误差检测位的数据通信***和方法
US8176383B2 (en) Method of constructing low density parity check code, method of decoding the same and transmission system for the same
TWI406530B (zh) 提供用於高流量應用之混合自動請求率相容碼之系統及方法
CN1558556A (zh) 非规则低密度奇偶校验码的***码设计方法及其通信***
CN1252935C (zh) 基于低密度奇偶检验编码的信源信道联合编码方法
US8386880B2 (en) Method for transmitting non-binary codes and decoding the same
CN1154236C (zh) 纠错编码型的数字传输方法
CN101039119A (zh) 编码与解码的方法及***
EP2134018A1 (en) Method for recovery of lost and/ or corrupted data
CN108809518B (zh) 用于降低错误性能的级联Spinal码构建方法
CN101615913B (zh) Ldpc码的快速收敛译码方法
CN1233139C (zh) 带宽有效的级联格码调制解码器及其解码方法
CN107231158B (zh) 一种极化码迭代接收机、***和极化码迭代译码方法
Dissanayake et al. Reed solomon codes for molecular communication with a full absorption receiver
CN101043483A (zh) 一种基于低密度校验码的高阶编码调制方法
CN103269229A (zh) 一种ldpc-rs二维乘积码的混合迭代译码方法
CN113300718B (zh) 编码方法、译码方法、编码装置和译码装置
CN105577193A (zh) 基于环路消除的混合加权比特翻转的ldpc译码方法
CN107565984A (zh) 一种预编码为非规则码的Raptor码优化编码方法
EP3131219B1 (en) Puncturing of ldpc codes
CN104954099B (zh) 译码迭代次数约束下累积无率码的优化设计方法
CN1259781C (zh) 最小欧氏距离最大化的星座映射级联纠错编码方法
CN106685597A (zh) 一种基于度优化的Raptor码部分除环编码方法
CN1798012A (zh) 基于低密度奇偶校验码的校验式可信度的纠错方法

Legal Events

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

Granted publication date: 20050119

Termination date: 20191115

CF01 Termination of patent right due to non-payment of annual fee