一种多进制调制下ldpc码的快速译码方法

文档序号:7687457阅读:802来源:国知局
专利名称:一种多进制调制下ldpc码的快速译码方法
技术领域
本发明属于通信领域,涉及一种信道纠错LDPC(low density paritycode,低密度校验)码的译码方法,具体涉及在多进制调制方式下基于符号的快速译码方式,在降低直接采用多进制译码算法的复杂度下仍然能够保证良好的甚至比基于比特译码更好的译码性能。

背景技术
LDPC码是一种接近香农极限的编码方式,它属于线性分组码的一种,称为低密度校验码。LDPC码早在20世纪六十年代就已经被Gallager发明,并且提出了一种概率的译码算法。然而受到当时硬件条件的限制,它的出现没有引起足够的关注。到1996年,受到Turbo码迭代译码的启示,Mackay等人重新发现了LDPC码,从而引发了新一轮的研究热潮。
LDPC码是由校验矩阵来确定的的分组码。它的校验矩阵的特点就是非常的稀疏,正是这种稀疏性,带来了它优异的性能。从译码的角度来说,由于校验矩阵的稀疏性,使得对应的Tanner图也非常简单,实现达到实际要求的译码是可行的,另外,它的Tanner图的最小环路很大或者没有环路,所以它非常适合迭代译码算法。这几点都造就了LDPC码的成功。而对于LDPC码的译码研究,尤其是二进制BPSK调制下的译码方法,如今已经达到了一个很高的研究水平。其中,BP算法是主要的标准算法,然后基于此基本译码算法,为了降低LDPC码的译码复杂度,Marc P.C.Fossorier等人提出了以Min-Sum为代表的简化译码算法;为了提高LDPC的译码算法性能,J.Zhang和M.Fossorier通过利用已更新节点的信息,加快BP算法的收敛速度,提出了Shuffled BP算法。
而在实际的应用中,为了提高信息的传递速率,通常调制都不会是BPSK,而是采用多进制调制方式。考虑2q进制调制,对编码器输出的码字c=(c1,c2,...,cN),经调制后得到s=(s1,s2,...sK),其中K=N/q。在2q进制调制中,原来每q个比特的集合是一个调制的信道符号,记为xn={cnq-q+1,cnq-q+2,...,cnq},n=1,2,...,K。sn为符号xn在调制星座图中的映射点,记为s直接传入AWGN信道。接收端接收的信号矢量为r=(r1,r2,...,rK),其中rn=(In,Qn)。In,Qn都是随机变量,它们的方差都是σ2,均值分别为
图1是多进制调制下的系统模型图,由该图可以看到,信息矢量在经过LDPC码编码后得到码字矢量,这里的LDPC码编码器不是在有限域GF(q)上的编码器,而是在有限域GF(2)上的编码器。其中的码字矢量每q个组成一组进入调制器,并映射成为调制符号。调制符号输入到AWGN信道,在接收端,我们直接将信道传递过来的软信息输入到解码器。该解码器可以是基于比特的解码器,也可以是基于调制符号的解码器。
对于多进制调制下的LDPC码,Niclas Wiberg在他的博士论文(“Codes and Decoding on General Graphs”.Ph.D.thesis,

University,S-581 83

Sweden,Department ofElectrical Engineering,1996)里给出了通用性的归纳,它是基于调制符号的通用译码算法。其主要的步骤描述如下 ·初始化 对每个符号节点Xn,计算其局部代价函数,对每个(n,m)对,初始化 对所有xn∈Xn(1) ·步骤1(校验节点更新) 对每个校验节点m及所有xn∈Xn (2) 其中B(m)表示校验式m满足;N(m)\n,表示与校验节点m相连的所有变量节点除去节点n的集合。
·步骤2(符号节点更新) 对每个符号节点n,对所有m∈M(n)及所有xn∈Xn,计算 (3) M(n)\m,表示与变量节点n相连的所有校验节点除去节点m的集合。
同时计算 (4) ·步骤3(判决) 根据得到根据可以得到码字

如果译码结束,

即是最后判决的码字。否则,回到步骤1,进行新一轮迭代。如果经过预先设定最大的迭代次数,译码还没有结束,则把最后判决的码字作为译码结果或者声明译码失败。
二进制下的迭代译码算法之所以能够广泛被采用,主要是由于在二进制下,迭代译码算法可以对算法中的校验或符号结点进行归一化。而在多进制调制下,由上面给出的公式可以看出,LDPC码所对应的Tanner图会有所变化,译码算法中的结点不再是比特结点,而是符号结点,也就是在调制星座图中的一个符号。因此在高度调制方式中,如16QAM(16APSK),32QAM(32APSK)等等,每个符号结点可以取值的数目大大增加,这就使得归一化计算的意义消失,每个符号结点的更新也不能够转化到对数域上的,因此,在多进制调制方式下,直接采用这种通用的译码算法实现的复杂度过高,应用性不强。


发明内容
本发明的目的在于针对当前技术的不足,提供了一类在多进制调制下基于符号的快速的LDPC码译码算法,并且此种译码方法适用于绝大部分的LDPC码。
本发明的具体步骤是 (1)首先,为了得到一种形式和BPSK调制下一般简洁的用于多进制调制下的LDPC码的译码方式,对原Tanner图做如下修改相应于原Tanner图的两种类型的节点,修改的Tanner图中也有两种类型节点其中校验节点就是原Tanner图中的校验节点,符号节点xn与原Tanner图中经调制后相关的q个比特集合相对应;当符号节点xn中的一个比特在原Tanner图中与校验节点m相连时,符号节点xn与修改后的Tanner图中的校验节点m相连; (2)初始化 对每个符号节点Xn,计算其局部代价函数,对每个(n,m)对,初始化 对所有xn∈Xn (3)校验节点更新 对每个校验节点m,及所有的n∈N(m),分情况计算 当与校验节点相连的所有符号节点均不含有多重边时,校验节点的更新为 (5) 当与校验节点相连的符号节点中含有多重边时,校验节点的更新为 (6) 表示符号节点Xn中有奇数(偶数)个比特与同一个校验节点相连。
(4)符号节点更新 对每个符号节点n,及所有m∈M(n),计算

(7) 每个符号节点n,计算

(8) (5)判决输出 判决同非改进的方法一样。
采用本发明方法能够得到比原始的多进制调制下的译码算法更低的复杂度,在实现中需要更少的存储单元,同时还能得到比采用传统的基于比特的二进制译码方式更好的译码性能和收敛性能,因此是非常具有实用前景的一种译码方法。
本发明首先是基于通用的BP算法推导提出的快速BP算法,然后借助在BPSK调制下的二进制LDPC码译码的一系列算法推导方法,可以推广得到快速的Min-Sum,Shuffled-BP算法,它们最基础的译码思想也同样是与本发明相同的,因此应同样在受保护的范围之内。



图1为进制调制下的编解码及调制模型图; 图2为16APSK调制下的修改的Tanner图; 图3为带有一个二重边的tanner图; 图4为通用型算法与改进型快速算法的复杂度比较(q=4)图; 图5为通用型算法与改进型快速算法的复杂度比较(d(m)=4)图; 图6为三种BP算法的误码性能比较图; 图7为两种Min-Sum算法的性能比较图; 图8为三种BP算法的平均迭代次数比较图; 图9为两种Min-Sum算法的平均迭代次数比较图。

具体实施例方式 BP算法是基于APP准则的sum-product算法,因此在文献(S.M.Aji,R.J.McEliece.“The Generalized Distribut ive Law”.IEEETransactions on Information Theory,Vol.46,N0.2,Mar.2000325~343)中,它满足广义分配律(GDL)中的sum-product交换半环。因此可以利用GDL对通用的多进制下的BP算法进行简化得到一种快速简洁的译码方式。其考察原通用型算法可以发现,算法的复杂度集中在校验节点的更新步骤上,但同时,LDPC码的一个杰出的性能在于它的校验矩阵非常的稀疏,因此,对于改进之后的Tanner图,考察含有这样一种特性的特殊矩阵即调制后的符号节点当中有且仅有一个比特与同一个校验节点相连(或者含有多重边的符号节点个数远小于符号节点的总个数),那么拥有了这样一个条件的情况下,将非常有利于公式的简化。由于LDPC码的校验矩阵非常稀疏,这个要求是容易被满足的。那么,针对不含多重边符号节点,和含有多重边符号节点的不同情况必然要采用不同的更新公式。
不含多重边的校验节点更新 以8PSK为例,假设在新的Tanner图中的某一校验节点m的度为3,与之相连的符号节点分别是n1,n2,n3,每个符号节点对应与原二进制码字的三个比特,但每个符号节点当中有且仅有一个比特节点与相同校验节点相连,这个假设在LDPC码的稀疏性下可以得以保证。假定n1对应比特为c11,c12,c13,n2对应比特为c21,c22,c23,n3对应比特为c31,c32,c33,假定校验节点m对应的校验方程为 c11+c22+c33=0 (9) 假设此时要计算

由校验节点的更新式可知

(10) 在此,即等于 (11) x表示可以任意取值为0或1。由此可知由校验节点传向符号节点的信息Amn(xn)实际上只有两个不同的值,因此上式又可以表示为 (12) 此时用GDL对上述运算进行简化,可以得到校验节点的更新的公式为 (13) 上式中

表示符号节点n中与m相连的比特为第imn位,且取值为l(l=0,1)的情况,只要校验方程中的所有比特能够满足校验方程,则所对应的符号节点取值也能满足校验方程。简化的思想就是由于一个校验节点至于一个符号节点中的一个比特相连,比特

只有两种可能的取值,因此将所有的2q个xn,根据

的取值分成了两类对于所有那些使得的xn,他们的校验节点的更新值是相同的,所有使得的xn,其校验节点的更新值也是相同的。由上面的式子可以看出,如果把累加和看成单一的整体,则方程就简化为了二进制的相似形式,对其进行对数域的简化 (14) 取符号表示第n′个符号节点与校验式相连的有效比特位l取值为1时所有可能的概率和,相似的,定义 则 (15) 根据雅可比对数公式 1n(ex+ey)=max(x,y)+1n[1+exp(-|y-x|)] =max(x,y)+fc(x,y)(16) ≈max(x,y) 可以对

进行近似,同时若对γn(xn)的初始化为 (17) 那么有 (18) 令有 (19) 相应的,符号节点的更新也应该是在对数域中的

(20) 每个符号节点n,计算

(21) 含有多重边的实现方案 当符号节点中有多于一个比特节点与同一个校验节点相连时,则称为出现多重边现象,对于含有多重边的校验方程,若直接用错误!未找到引用源。式,势必会造成信息的丢失和错误,那么要对多重边进行以下处理,则可以得到在多进制调制下的基于符号的通用快速译码算法。
以二重边为例解释,如图3所示,则图中的B(m1)满足时应为 c11+c21+c22+c32=0(22) 当更新

时,c11是固定的,则当式(22)不能被满足时,翻转其余几个比特c21,c22和c32其中的任意一个,则校验方程m1满足。但是提供的译码方法是基于符号的译码,因此符号节点x2中的二重边会带来

的更新错误。但是如果统一考虑c21和c22为一个新的比特c2,使c2=1时等同于c21c22=(01 or 10),c2=0等同于c21c22=(00 or 11),那么校验方程m1依然可以被满足。当然多于2条边的情况可以同样推知。
那么原有的算法在校验节点的更新要做小许的改动以适用于更通用的情况,只要在出现含有多重边的符号节点时采用以下更新方式即可 (23) 此处,

表示符号节点xn中有奇数个比特与同一个校验节点相连,

表示符号节点xn中有偶数个比特与同一个校验节点相连。
图2是16APSK调制下的修改后的Tanner图的一个例子,该图中q=4。xn是原Tanner图中的4个比特{c4n-3,c4n-2,c4n-1,c4n}的集合。
因为和二进制BPSK调制下的LDPC码译码相似,BP算法是这一类译码算法的基础,然后基于此基本译码算法,可以通过近似计算来降低校验节点的译码复杂度的目的,得到快速Min-Sum译码算法;或者是为了提高LDPC译码算法的收敛速度,通过利用已更新节点的信息,得到ShuffledBP算法。
快速Min-Sum解码方案 同样,相比BPSK调制下的方法,可以对上述快速log-BP算法进行计算上的进一步简化,得到多进制调制下基于符号的快速Min-Sum译码算法利用下面两式可以对(19)(23)式进行简化错误!未找到引用源。, 对两个随机变量U,V,有 (24) 利用雅可比对数得 (25) 则校验节点的更新为 (26) 此处,当与校验节点相连的所有符号节点均不含有多重边情况时, 当相连的符号节点中含有多重边时, βnm*的意义为 其他更新步骤不变。
快速Shuffl ed-BP算法解码方案 Shuffled-BP算法利用已更新校验节点的信息对后来的校验节点进行更新,可以加快译码的收敛速度,减少需要的迭代次数,因此同样具有实用的场合。
由BPSK下的shuffl ed-BP算法的推导思路可以得到多进制下的快速shuffled-BP算法有以下几个步骤 步骤1(初始化) 对所有的符号节点n,对所有的m∈M(n),计算 (27) 步骤2 对于所有的符号节点1≤n≤N, a)水平更新,对于所有的m∈M(n),有, (28) 其中
b)垂直更新,对于所有的m∈M(n),更新为 对每个符号节点n,及所有m∈M(n),计算

(29) 每个符号节点n,计算

(30) 步骤3(判决) 判决同改进的Log-BP方法一样。
复杂度比较 和原始的多进制调制下的译码算法相比,改进后的快速译码算法大大降低了译码的复杂度。图4给出了在一次迭代中,度为d(m)的校验节点在多进制调制下的通用算法和改进型快速算法下的复杂度比较。从图中可以直观的看出,不论是改进型的快速BP算法还是改进型的快速Min-Sum算法,在q一定的情况下(图中以q等于4得到拟合曲线),随着校验节点的度的提高,复杂度的降低会比原通用型算法越发的明显。而在图5中则可以直观的看出,当校验节点的度一定的情况下(此处d(m)=4),随着q的不断增大,复杂度的降低也是越发显著的。因此,在多进制调制下对LDPC码进行译码时,本发明所提供的一系列快速译码算法是非常有效的。误码性能比较 通过计算机仿真得到AWGN信道下不同译码算法的误码性能,采用DVB-S2标准中给出的LDPC短帧编码方式,长度为16200,码率为1/3,最大迭代次数设为50。图6给出的是基于符号译码的改进型快速BP算法,改进型快速shuffled-BP算法和基于比特译码的二进制BP译码算法的误码性能。可以看到,快速BP算法在相同信噪比下能够得到比基于比特的译码算法更好的译码性能,尤其是高信噪比下,效果更为明显;而shuffled-BP算法由于改进了校验节点的更新,加快了更新的收敛速度,因此能够得到比BP算法更好的误码性能。
图7给出的是基于符号的与基于比特的BP,Min-Sum四种算法的两相比较。可以看到,与BPSK调制下的情况一样,Min-Sum算法在大大简化了运算复杂度的同时,也必然需要一定的误码性能作为代价,而同样是Min-Sum算法,基于符号的译码算法仍然是要优于基于比特的译码算法的。
图8给出的是三种BP算法所需要的平均迭代次数。可以看到,改进型快速BP算法所需的平均迭代次数比二进制基于比特的BP算法的平均迭代次数要少。这说明了改进型快速BP算法的收敛性更好。在实际的迭代译码中,改进算法的译码速度比理论预计的要好的多。而shuffled-BP算法由于更好的利用了更新的特性,加快了译码的收敛速度,因此译码的过程得以再一次的缩短,迭代次数也进一步减少。
图9则给出了两种Min-Sum算法的平均迭代次数,基于符号的译码算法能够更快的收敛,需要的迭代次数比基于比特的二进制算法也要少。
由以上的性能仿真结果和复杂度分析可以得出结论,基于符号的改进型快速译码算法能够得到比原始的多进制调制下的译码算法更低的复杂度,在实现中需要更少的存储单元,同时还能得到比采用传统的基于比特的二进制译码方式更好的译码性能和收敛性能,因此是非常具有实用前景的一种译码方法。
权利要求
1、一种多进制调制下LDPC码的快速译码方法,其特征在于该方法的具体步骤是
(1)对原Tanner图进行修改,修改后的Tanner图中含有两种类型节点符号节点和校验节点;其中校验节点就是原Tanner图中的校验节点,符号节点xn与原Tanner图中经调制后相关的q个比特集合相对应;当符号节点xn中的一个比特在原Tanner图中与校验节点m相连时,符号节点xn与修改后的Tanner图中的校验节点m相连;
(2)对每个符号节点xn,计算其局部代价函数,对每个(n,m)对,初始化
对所有xn∈Xn
(3)对每个校验节点m,及所有的n∈N(m)
当与校验节点相连的所有符号节点均不含有多重边时,校验节点的更新为
当与校验节点相连的符号节点中含有多重边时,校验节点的更新为
表示符号节点xn中有奇数个比特与同一个校验节点相连,
表示符号节点xn中有偶数个比特与同一个校验节点相连;
(4)对每个符号节点n,及所有m∈M(n),计算
每个符号节点n,计算
(5)判决输出。
全文摘要
本发明涉及一种信道纠错LDPC码的译码方法。现有的译码方法在多进制调制方式下实现的复杂度过高,应用性不强。本发明首先对原Tanner图做出修改,然后对每个(n,m)对进行初始化,再对校验节点更新、符号节点更新,最后判决输出。本发明利用LDPC码良好的稀疏性,根据特定的符号节点初始化方案,特定的校验节点更新方案及符号节点更新方案对LDPC码进行迭代译码,最终得到满足校验矩阵的码字序列,完成译码过程。本发明能够降低对多进制调制下的LDPC码译码的复杂度,减少译码过程中的存储空间,同时仍然保持着良好的误码性能和迭代收敛速度。
文档编号H04L1/00GK101257311SQ200810060320
公开日2008年9月3日 申请日期2008年4月3日 优先权日2008年4月3日
发明者莹 汪, 陈林生, 磊 谢, 亚 刘, 陈惠芳, 明 高 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1