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

文档序号:7520766阅读:316来源:国知局
专利名称:改进的非规则低密度奇偶校验码纠错译码方法
技术领域
改进的非规则低密度奇偶校验码纠错译码方法属于通信信道译码技术领域,特别涉及采用前向差错控制(FEC)技术用于数据传输及存贮时的一种采用非规则低密度奇偶校验码(ILDPC码)纠正信道差错的有效而快速的译码方法。
为了解决数据传输和存储中的可靠性问题,通常采用信道编码的方法。在当前已有的信道编码方法中,新近提出的ILDPC码具有最为强大的纠错能力,具有很强的应用前景。
采用ILDPC码进行差错控制的译码方法为1.ILDPC码的定义和参数ILDPC码是一种二进制分组码,这种码采用超稀疏矩阵作为校验矩阵。矩阵中每行(每列)中非零元素的个数非常稀少,且位置呈随机分布。为了便于描述,定义一行(一列)中非零元素的个数为该行(列)的重量。由于ILDPC码的校验矩阵为随机生成的矩阵,各行(列)的重量不确定,因此采用重量分布式来描述这种矩阵。同一类ILDPC码校验矩阵的列重量分布可以用分布式表示为λ(x)=Σi=2dvλixi-1---(1)]]>式中λi表示重量为i的列在矩阵中所占的份量,dv为矩阵中列重量的最大的值。同样,同一类ILDPC码校验矩阵的行重量分布采用下式描述ρ(x)=Σj=2dcρjxj-1---(2)]]>式中ρj表示重量为j的行在矩阵中所占的份量,dc为矩阵中行重量的最大值。由于ILDPC码是分组码,对于任何合法的码字V,与校验矩阵H的乘积为零,即H·VT=0。由该校验方程可知,校验矩阵中每列的非零元素只对应ILDPC码的同一个码元,形成了一个相当于重复码的约束。为了便于译码过程中的描述,定义这种约束关系为一个比特节点,节点的阶数即为该列的重量。而校验矩阵中每行的非零元素,将所对应的ILDPC码元映射成一个相当于校验码的约束。同样定义这种校验关系为一个校验节点,节点的阶数即为该行的重量。矩阵中的各个非零元素,既参与了比特节点的约束关系,又参与了校验节点的约束关系,因而可以定义矩阵非零元素所对应的关系为连结这两种节点的“连结线”。在迭代译码过程中,译码器利用矩阵的行和列所对应的校验节点和比特节点的约束关系进行迭代译码。在一次迭代过程中,首先利用比特节点的约束关系进行译码,各比特节点的输入为接收序列对应的对数似然值(即各个元符号取“1”的概率除以取“0”的概率再取自然对数所得的值)以及相关校验节点在上一次迭代的输出;随后,比特节点的输出通过“连结线”送到相应的校验节点,再利用校验节点的约束关系进行译码。在这个过程中,一种节点的输出成为另外一种节点的输入,矩阵中非零元素所对应的“连结线”成为了这两种节点输入输出交换信息的“通道”。对于码长为N比特,列重量分布和行重量分布分别由(1)(2)两式确定的ILDPC码,其i阶比特节点的个数为Ni=N·λi/iΣi=2dvλi/i=N·λi/i∫01λ(x)dx,2≤i≤dv---(3)]]>同理,j阶校验节点的个数为Mj=M·ρj/jΣj=2dcρj/j=M·ρj/j∫01ρ(x)dx2≤j≤dc---(4)]]>式中M为一个ILDPC码字中校验码元的长度。
2.ILDPC码的译码ILDPC码的译码充分应用了校验矩阵的超稀疏特性,通过比特节点和校验节点的约束关系计算并输出外信息,并相互反馈,进行迭代译码。(外信息即所有同属于一个码字的其它码元通过码字的约束关系而得到的关于某一个码元取值的信息,采用外信息交互是为了避免迭代过程中出现正反馈。)当前,ILDPC码的译码方法主要有两种。
方法一为和积译码方法。这种方法的输入为接收序列的对数似然值,并在对数空间下通过利用比特节点和校验节点的约束关系进行迭代译码。此时,比特节点的约束关系表现为“和”的形式,即各比特节点的输出是各个输入对数似然值的和;而相应的校验节点则表现为某种“积”的形式,即各校验节点的输出是各个输入对数似然值的某种“连乘积”。由于这个特点,该方法被称之为和积译码方法。
以二元输入加性白高斯噪声信道下的信息传输系统为例,长为N-M比特的二进制信息序列被ILDPC编码器编成长度为N比特的ILDPC码字。随后,该码字被调制成取值为±1的符号序列在高斯信道中传输。在接收端,接收机经过匹配滤波后得到了一串含噪声干扰的长度为N的实数序列R1N,随后进行信号解调。高斯信道、BPSK调制下,第i个码元为1而经调制和传输后接收机收到信号为Ri的概率为P(Ri|vi=1)=12πσ2exp{-12σ2(Ri-1)2},1≤i≤N---(5)]]>其中σ2为信道噪声的标准方差。同样,第i个码元为0而经调制和传输后接收机收到信号为Ri的概率为P(Ri|vi=0)=12πσ2exp{-12σ2(Ri+1)2},1≤i≤N---(6)]]>由贝叶斯定理,得到P(vi=1|Ri)=P(Ri|vi=1)·P(vi=1)P(Ri),---(7)]]>P(vi=0|Ri)=P(Ri|vi=0)·P(vi=0)P(Ri).---(8)]]>在发送过程中,码元符号取0和1的概率相等。为了便于解调信号的输出,通常采用对数似然比的形式表示接收到的第i个码元取值的最大后验概率LLR(Ri)=lnP(vi=+1|Ri)P(vi=-1|Ri)---(9)]]>由以上各式,得LLR(Ri)=lnP(vi=+1|Ri)P(vi=-1|Ri)=lnP(Ri|vi=+1)P(Ri|vi=-1)]]>=ln12πσ2exp{-12σ2(Ri-1)2}12πσ2exp{-12σ2(Ri+1)2}=2σ2Ri]]>=sign(Ri)·|2σ2Ri|---(10)]]>式中Sign(·)为符号函数。上式中,第一项符号函数表示了由接收信号得到的原发送信号取值概率的比较结果。符号函数取正值表示原码元符号为1的概率大于为0的概率;取负值则表示原码元符号为0的概率大于为1的概率。而第二项绝对值的大小则表示了该符号取1的概率与取0的概率之间的差异程度。绝对值越大,则两个概率值的差异越大。因此,(10)式根据每个接收信号提供了两个信息,一个信息为原信号最可能取哪个值,另一个信息则表示了这种判断的可靠程度。接收机的这种解调过程充分保留了原信号的信息,被称为“软解调”,或者“软判决”,相应的软判决输出称为“软信息”。
解调器输出的软信息被送到ILDPC译码器进行译码。ILDPC译码器的译码充分利用了校验矩阵的超稀疏特性,将校验矩阵的约束关系分解为行的校验码约束关系和列的重复码约束关系,通过利用这两种约束关系的相互反馈,进行迭代译码。为了便于了解在这两种约束关系下的译码过程,下面首先讨论重复码和校验码的译码过程。
1)重复码的约束关系及其译码重复码的编码即是将输入的信息符号进行N-1次重复,从而得到一个长为N的码字V1N。因此,重复码只有两个合法码字全0码字01N和全1码字11N。经过调制、传输、解调以后,译码器根据调制器提供的软信息进行译码。在接收到的信号序列为R1N的前提下,根据重复码的约束关系进行译码,得到一个采用对数似然比表示的输出序列U1N。其中,第i个符号最大后验概率取值的对数似然比为LLR(ui)=lnp(vi=1|R1N)p(vi=0|R1N)=lnp(vi=1,R1N)p(vi=0,R1N)]]>=lnΣΛ1≤i′≤Ni′≠iΣp(v1,v2,Λ,vi=1,Λ,vN,R1N)ΣΛ1≤i′≤Ni′≠iΣp(v1,v2,Λ,vi=0,Λ,vN,R1N)]]>=lnΣΛv1′∈V1Ni′≠iΣp(v1,v2,Λ,vi=1,Λ,vN)·p(R1N|v1,v2,Λ,vi=1,Λ,vN)ΣΛvi′∈V1Ni′≠iΣp(v1,v2,Λ,vi=0,Λ,vN)·p(R1N|v1,v2,Λ,vi=0,Λ,vN)---(11)]]>由于重复码只有全0和全1两个码字,因而上式中分子分母乘积项中的第一项只有在码字分别为全1码字和全0码字时,概率才不为0。从而,(11)式可以继续化简为LLR(ui)=lnp(R1N|V1N=11N)p(R1N|V1N=01N)=lnΠi′=1Np(Ri′|vi′=1)Πi′=1Np(Ri′|vi′=0)---(12)]]>=Σi′NLLR(vi′)=LLR(vi)+Σi′≠iLLR(vi′)]]>上式中结果的第一部分是码元i接收信号的对数似然比值,为码元本身所具有的信息,称为“先验信息”;第二部分是码字中其它码元根据码字的约束关系而提供的关于码元i的取值信息,称为“外信息”。由于先验信息为各个码元本身就有,因而在译码过程中译码器只需给每个码元反馈相应的外信息。重复码的译码关系可以采用

图1所示的一个节点图来表示。
图1中的节点共有N条连结线,对应N个码元。这些连结线既可以作为输入也可以作为输出,分别对应N个码元的输入和译码输出。在一次译码过程中,接点通过N条连结线收到以对数似然比的形式表示的解调信息序列,随后,通过节点的运算,译码结果也通过这些连结线输出N个码元的外信息。其中,每条连结线的输出为其它各条连结线的输入值的累加和。在对ILDPC码译码的描述中,重复码的这种译码节点也被称为“比特节点”。
2)校验码的约束关系及其译码以码率为 的校验码为例,长为N-1个比特的信息序列经过编码后得到一个码长为N的校验码,码元之间的约束关系可以用如下的关系式表示v1v2∧vN=0 (13)式中表示二进制和,即二进制逻辑中的“异或”。校验码所得的码字V1N经过调制、传输、解调后,得到包含该码字信息的一个软信息序列LLR(R1N)。校验码译码器即根据这个软信息序列进行译码。定义二元符号ei为码字中除了第i个码元vi外其它所有码元的二进制和,则由(13)式可得viei=0 (14)由二进制的异或关系以及(14)式,得码元vi与符号ei取值相同。因而,码元vi与符号ei形成一个相当于重复码的关系。由上面重复码所讨论得到的结果可知,码元vi通过译码后所得的后验信息为LLR(v^i)LLR(vi)+LLR(ei)---(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(-12x)=exp(-12x)-exp(12x)exp(-12x)+exp(12x)=1-exp(x)1+exp(x)---(18)]]>那么,Φ(LLR(e1))=Φ(lnp(e1=1)p(e1=0))=1-exp(lnp(e1=1)p(e1=0))1+exp(lnp(e1=1)p(e1=0))=1-2p(e1=1)---(19)]]>由(17)、(19)式,得码元v1的外信息表示形式为LLR(e1)=Φ-1(Φ(LLR(v2)·Φ(LLR(v3))(20)(20)式可以推广到任意一个码元,也可以推广到码长大于3比特的情况。在码长为N比特得情况下,码元i的外信息为LLR(ei)=Φ-1(Π1≤i′≤Ni′≠iΦ(LLR(vi)))---(21)]]>校验码的这种译码运算关系也可以采用一个节点来表示,如图2所示图2中节点具有N个连结线,对应N个码元;每根连结线既是输入也是输出。其中,输入对应于输入到译码器的软信息序列,输出则是译码器通过运算反馈给各个码元符号的外信息。在一次译码中,每根连结线输入该码元解调后得到的软信息到节点,随后节点通过运算,给每个连结线一个外信息输出。注意到,图2中每根连结线的输出是以其它所有连结线的输入值作为输入的运算结果。在后续ILDPC码的译码中,校验码的这种译码节点被称为“校验节点”。
3)ILDPC码的译码信息序列经过ILDPC码的编码、调制、传输后,由接收机进行匹配滤波,得到相应的包含ILDPC码字信息的接收序列R1N,随后这个序列被送到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)译码初始化对于接收到的实数序列R1N,对应的ILDPC码第i个码元的初始接收值被译码器解调成对数似然比的形式LLR(Ri)=2σ2Ri,1≤i≤N---(22)]]>式中LLR表示取值为对数似然比,σ2为信道噪声的标准方差。同时,初始条件下校验节点没有任何关于码字的信息,故设置校验节点j输出到比特节点i的外信息为LLR(rij)=0 (23)2)若所得到的序列的硬判决结果不为一个合法的码字(其中硬判决是指根据序列各个符号的对数似然值决定各个码元符号的比特取值,对数似然值为正数则码元取符号“1”,为负数则码元取符号“0”),执行一次和积译码的迭代过程为a)比特节点的译码在这种节点的约束关系下,输出与输入的关系为“和”的关系,即比特节点i到校验节点j的外信息输出为LLR(qij)=Σj′∈Col[i]j′≠jLLR(rij′)+LLR(Ri)---(24)]]>式中Col[i]表示校验矩阵H第i列非零元素的位置集合。
b)校验节点的译码在校验节点的约束关系下,输出与输入的关系为某种“积”的关系,即校验节点j输出到比特节点i的外信息为LLR(rij)=Φ-1(Πi′∈Row[j]i′≠iΦ(LLR(qi′j))---(25)]]>式中Row[j]表示校验矩阵H第j行非零元素的位置集合,并且Φ(x)=tanh(-12x)---(26)]]>3)迭代后所得的第i个比特节点的译码结果为该节点所有输入的和LLR(v^i)=Σj′∈Col[i]LLR(rij′)+LLR(Ri)---(27)]]>对所得到的译码结果进行如下的硬判决,然后转移到第二步。其中第i个码元符号的硬判决为 4)如果需要进行下一个码字的译码,跳转到第一步;否则,结束译码。
注意到这种译码方法充分利用了比特节点和校验节点的性质,以及接收序列的所有信息,因而可以得到较好的译码性能,同时迭代过程中的收敛也比较快。但是,在码长过长(10000比特以上)时,该方法的运算量仍然很大,难于在实际系统中应用。
另一种ILDPC码的译码方法为最小和译码方法。该方法的译码过程与和积译码算法相似,在比特节点的约束下输出与输入仍然为“和”的关系,但是校验节点的关系则近似简化为符号的连乘积及取最小输入绝对值的关系LLR(rij)=mini′∈Row[j]i′≠i|LLR(qi′j)|·Πi′∈Row[j]i′≠isgn(LLR(qi′j))---(29)]]>通过采用这种近似译码方法,译码过程的计算复杂度得到较大的简化。但是,由于在校验节点的运算中采用了近似运算,丢失了较多的信息,使得纠错性能有明显的下降。在低信噪比的情况下,该方法的收敛速度很慢,与方法一相比,运算量的降低不明显,而性能却有显著的下降。
本发明的特征在于,它利用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);若无,则结束译码过程。
试验证明它达到了预期目的。
图2.校验码的译码节点图。
图3.ILDPC码的译码网格图。
图4.本发明所述译码方法的程序流程图。
图5.应用本发明纠正传输差错的通信系统框图。
本发明所述方法的原理及算法描述如下1)定义Qij(2≤i≤dv+1)为校验矩阵第j行中阶数大于或等于i的比特节点对数似然值的乘积,该变量主要用于在后续迭代中简化校验节点的运算。对于一个已知信噪比标准差为σ2的接收序列,选择一组迭代结束参数Ks(σ)={k2(σ),k3(σ),Λ,kdv(σ)}]]>给各阶比特节点;同时初始化译码方程为Qdv+1j=1,1≤j≤M---(30)]]>LLR(Ri)=2σ2Ri,1≤i≤N---(31)]]>及LLR(rij)=0(32)2)设置kdv+1(σ)=0]]>。对于第k次迭代,如果k>k2(σ),或者硬判决译码序列是一个合法码序列,结束译码并输出硬判决系列否则,执行如下迭代过程如果kl(σ)<k<kl-1(σ)(l=3,4,Λ,dv+1)执行下面的步骤a),b)a)比特节点的译码从比特节点i到校验节点j的外信息输出为LLR(qij)=Σj′∈Col[i]j′≠jLLR(rij′)+LLR(Ri)1-≤i≤N-Σt=ldvNt--(33)]]>b)校验节点的译码校验节点j输出到比特节点i的外信息为 否则,如果k=kl(σ)(l=2,3,Λ,dv),执行下面的迭代步骤c)比特节点的译码从比特节点i到校验节点j的外信息输出改用下式计算 式中A0是一个很大的正整数,用于放大qij的对数释然值,以向低阶比特节点提供更多的有用信息。A0可以在10-1000之间的取值,具体取决于译码器的浮点位数。
d)校验节点的译码此时校验节点j输出到比特节点i的外信息为 同时计算下一次迭代的Qij,用于简化后续的迭代 e)1阶比特节点的译码结果为LLR(v^i)=Σj′∈Col[j]LLR(rij′)+LLR(Ri)N-Σt=1dvNt<i≤N-Σt=l+1dvNt---(38)]]>此时,译码器输出相应的1阶比特节点所对应码元的硬判决结果为 注意到,在标准和积译码算法的一次迭代运算中,一个i阶比特节点要计算i2次加法,而一个j阶校验节点大约要执行j2次浮点乘法。因此,对于长为N比特的ILDPC码的译码,一次迭代大约需要Σi=2dvNi·i3]]>次加法和大概Σj=2dcMj·j3]]>次浮点乘法。而采用本发明所提出的算法时,在第k次(k1(σ)<k≤kl-1(σ))迭代过程中,大约Σt=ldvNt·t3]]>次加法和平均(Σt=ldvNt·t)/(Σt=2dvNt·t)·Σl=2dcMl·l3]]>次浮点乘法由于高阶比特节点的迭代提前结束而被省去,从而有效降低了译码复杂度。此外,在本算法中,高阶比特节点完成迭代译码时其所得的对数似然值被放大,从而给低阶节点提供了更多的有用信息。在高信噪比的条件下,这种方法可以获得比标准和积译码方法更好的纠错性能。
实施例本实施例为在清华同方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信道下的性能

表2.两种译码算法的平均译码复杂度 可见,采用本方法能够以很低的译码复杂度得到很好的纠错性能,大大提高了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码的译码,本方法明显优于其它的方法。
权利要求
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);若无,则结束译码过程。
全文摘要
改进的非规则低密奇偶度校验码(ILDPC码)纠错译码方法属于通信技术领域,其特征在于,它利用非规则低密度奇偶校验码比特节点的保护程度随着节点阶数的提高而提高的特性在迭代过程中使高阶比特节点的迭代在完成本阶节点的纠错时就结束,而低阶节点的迭代继续进行,以简化后续迭代译码的计算复杂度,节省时间;还可以通过对高阶比特节点的译码结果进行放大,给低阶节点提供更多的有用信息。从而,在高信噪比条件下可以获得比标准和积译码方法更好的纠错性能;与最小和译码方法相比,没有明显损失ILDPC码的纠错性能。同时,本方法还可推广到磁盘存储系统中去。
文档编号H03M13/03GK1405981SQ02148649
公开日2003年3月26日 申请日期2002年11月15日 优先权日2002年11月15日
发明者殷柳国, 陆建华, 吴佑寿 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1