CN101257311B - 一种多进制调制下ldpc码的快速译码方法 - Google Patents
一种多进制调制下ldpc码的快速译码方法 Download PDFInfo
- Publication number
- CN101257311B CN101257311B CN2008100603200A CN200810060320A CN101257311B CN 101257311 B CN101257311 B CN 101257311B CN 2008100603200 A CN2008100603200 A CN 2008100603200A CN 200810060320 A CN200810060320 A CN 200810060320A CN 101257311 B CN101257311 B CN 101257311B
- Authority
- CN
- China
- Prior art keywords
- node
- prime
- check
- symbol
- 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
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种信道纠错LDPC码的译码方法。现有的译码方法在多进制调制方式下实现的复杂度过高,应用性不强。本发明首先对原Tanner图做出修改,然后对每个(n,m)对进行初始化,再对校验节点更新、符号节点更新,最后判决输出。本发明利用LDPC码良好的稀疏性,根据特定的符号节点初始化方案,特定的校验节点更新方案及符号节点更新方案对LDPC码进行迭代译码,最终得到满足校验矩阵的码字序列,完成译码过程。本发明能够降低对多进制调制下的LDPC码译码的复杂度,减少译码过程中的存储空间,同时仍然保持着良好的误码性能和迭代收敛速度。
Description
技术领域
本发明属于通信领域,涉及一种信道纠错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 83Sweden,Department ofElectrical Engineering,1996)里给出了通用性的归纳,它是基于调制符号的通用译码算法。其主要的步骤描述如下:
·初始化
对每个符号节点xn,计算其局部代价函数,对每个(n,m)对,初始化:
·步骤1(校验节点更新)
对每个校验节点m及所有xn∈Xn
其中B(m)表示:校验式m满足;N(m)\n,表示与校验节点m相连的所有变量节点除去节点n的集合。
·步骤2(符号节点更新)
对每个符号节点n,对所有m∈M(n)及所有xn∈Xn,计算:
M(n)\m,表示与变量节点n相连的所有校验节点除去节点m的集合。
同时计算:
·步骤3(判决)
二进制下的迭代译码算法之所以能够广泛被采用,主要是由于在二进制下,迭代译码算法可以对算法中的校验或符号结点进行归一化。而在多进制调制下,由上面给出的公式可以看出,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)对,初始化:
(3)校验节点更新
对每个校验节点m,及所有的n∈N(m),分情况计算:
当与校验节点相连的所有符号节点均不含有多重边时,校验节点的更新为:
当与校验节点相连的符号节点中含有多重边时,校验节点的更新为:
(4)符号节点更新
对每个符号节点n,及所有m∈M(n),计算:
每个符号节点n,计算
(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 Distributive Law”.IEEETransactions on Information Theory,Vol.46,NO.2,Mar.2000:325~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)
在此,即等于:
x表示可以任意取值为0或1。由此可知由校验节点传向符号节点的信息Λmn(xn)实际上只有两个不同的值,因此上式又可以表示为
此时用GDL对上述运算进行简化,可以得到校验节点的更新的公式为:
上式中表示符号节点n中与m相连的比特为第imn位,且取值为l(l=0,1)的情况,只要校验方程中的所有比特能够满足校验方程,则所对应的符号节点取值也能满足校验方程。简化的思想就是由于一个校验节点至于一个符号节点中的一个比特相连,比特只有两种可能的取值,因此将所有的2q个xn,根据的取值分成了两类:对于所有那些使得的xn,他们的校验节点的更新值是相同的,所有使得的xn,其校验节点的更新值也是相同的。由上面的式子可以看出,如果把累加和看成单一的整体,则方程就简化为了二进制的相似形式,对其进行对数域的简化:
则:
根据雅可比对数公式:
ln(ex+ey)=max(x,y)+ln[1+exp(-|y-x|)]
=max(x,y)+fc(x,y) (16)
≈max(x,y)
那么有:
令 有:
相应的,符号节点的更新也应该是在对数域中的:
每个符号节点n,计算:
含有多重边的实现方案:
当符号节点中有多于一个比特节点与同一个校验节点相连时,则称为出现多重边现象,对于含有多重边的校验方程,若直接用错误!未找到引用源。式,势必会造成信息的丢失和错误,那么要对多重边进行以下处理,则可以得到在多进制调制下的基于符号的通用快速译码算法。
以二重边为例解释,如图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条边的情况可以同样推知。
那么原有的算法在校验节点的更新要做小许的改动以适用于更通用的情况,只要在出现含有多重边的符号节点时采用以下更新方式即可:
图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,有:
利用雅可比对数得:
则校验节点的更新为:
此处,当与校验节点相连的所有符号节点均不含有多重边情况时,
当相连的符号节点中含有多重边时,
βnm *的意义为
其他更新步骤不变。
快速Shuffled-BP算法解码方案:
Shuffled-BP算法利用已更新校验节点的信息对后来的校验节点进行更新,可以加快译码的收敛速度,减少需要的迭代次数,因此同样具有实用的场合。
由BPSK下的shuffled-BP算法的推导思路可以得到多进制下的快速shuffled-BP算法有以下几个步骤:
步骤1:(初始化)
对所有的符号节点n,对所有的m∈M(n),计算:
步骤2:
对于所有的符号节点1≤n≤N,
a)水平更新,对于所有的m∈M(n),有,
其中:
b)垂直更新,对于所有的m∈M(n),更新为:
对每个符号节点n,及所有m∈M(n),计算:
每个符号节点n,计算:
步骤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算法的平均迭代次数,基于符号的译码算法能够更快的收敛,需要的迭代次数比基于比特的二进制算法也要少。
由以上的性能仿真结果和复杂度分析可以得出结论,基于符号的改进型快速译码算法能够得到比原始的多进制调制下的译码算法更低的复杂度,在实现中需要更少的存储单元,同时还能得到比采用传统的基于比特的二进制译码方式更好的译码性能和收敛性能,因此是非常具有实用前景的一种译码方法。
Claims (1)
1.一种多进制调制下LDPC码的快速译码方法,其特征在于该方法的具体步骤是:
(1)对原Tanner图进行修改,修改后的Tanner图中含有两种类型节点:符号节点和校验节点;其中校验节点就是原Tanner图中的校验节点,符号节点xn与原Tanner图中经调制后相关的q个比特集合相对应;当符号节点xn中的一个比特在原Tanner图中与校验节点m相连时,符号节点xn与修改后的Tanner图中的校验节点m相连;
(2)对每个符号节点xn,计算其局部代价函数,对每个(n,m)对,初始化:
(3)对每个校验节点m,及所有的n∈N(m):
当与校验节点相连的所有符号节点均不含有多重边时,校验节点的更新为:
当与校验节点相连的符号节点中含有多重边时,校验节点的更新为:
(4)对每个符号节点n,及所有m∈M(n),计算:
每个符号节点n,计算:
(5)判决输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100603200A CN101257311B (zh) | 2008-04-03 | 2008-04-03 | 一种多进制调制下ldpc码的快速译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100603200A CN101257311B (zh) | 2008-04-03 | 2008-04-03 | 一种多进制调制下ldpc码的快速译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101257311A CN101257311A (zh) | 2008-09-03 |
CN101257311B true CN101257311B (zh) | 2010-06-02 |
Family
ID=39891831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100603200A Expired - Fee Related CN101257311B (zh) | 2008-04-03 | 2008-04-03 | 一种多进制调制下ldpc码的快速译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101257311B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095311B (zh) * | 2013-01-17 | 2016-02-10 | 上海交通大学 | 多进制ldpc码的协作译码方法 |
CN103812614A (zh) * | 2014-03-04 | 2014-05-21 | 西安电子科技大学 | 多进制正交信号低密度校验码编译码方法 |
CN104660270B (zh) * | 2014-12-25 | 2018-03-13 | 西安电子科技大学 | 多进制线性分组码的线性规划译码方法 |
CN106936444B (zh) * | 2015-12-29 | 2020-09-01 | 北京航空航天大学 | 一种集合译码方法和集合译码器 |
CN109995380B (zh) * | 2018-01-02 | 2021-08-13 | 华为技术有限公司 | 译码方法及设备 |
CN111628784B (zh) * | 2020-06-02 | 2021-10-29 | 浙江大学 | 一种水声信道下原模图ldpc码的优化方法 |
CN112104440B (zh) * | 2020-09-08 | 2021-05-11 | 深圳市华智芯联科技有限公司 | 通信信号处理方法和无线通信*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540871A (zh) * | 2003-04-24 | 2004-10-27 | 北京邮电大学 | 基于改进Tanner图的LDPC迭代编码方法 |
CN1697330A (zh) * | 2005-06-06 | 2005-11-16 | 重庆市成鑫机电制造有限公司 | 逐条添加边算法的多进制低密度奇偶校验码编译码方法 |
US20070079213A1 (en) * | 2005-09-14 | 2007-04-05 | Kabushiki Kaisha Toshiba | Wireless communications apparatus |
US20070226584A1 (en) * | 2006-02-20 | 2007-09-27 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting/receiving signal in a communication system |
-
2008
- 2008-04-03 CN CN2008100603200A patent/CN101257311B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540871A (zh) * | 2003-04-24 | 2004-10-27 | 北京邮电大学 | 基于改进Tanner图的LDPC迭代编码方法 |
CN1697330A (zh) * | 2005-06-06 | 2005-11-16 | 重庆市成鑫机电制造有限公司 | 逐条添加边算法的多进制低密度奇偶校验码编译码方法 |
US20070079213A1 (en) * | 2005-09-14 | 2007-04-05 | Kabushiki Kaisha Toshiba | Wireless communications apparatus |
US20070226584A1 (en) * | 2006-02-20 | 2007-09-27 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting/receiving signal in a communication system |
Also Published As
Publication number | Publication date |
---|---|
CN101257311A (zh) | 2008-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101257311B (zh) | 一种多进制调制下ldpc码的快速译码方法 | |
US8473806B1 (en) | Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter | |
CN101924565B (zh) | Ldpc编码器、解码器、***及方法 | |
US8099645B2 (en) | LDPC codes and stochastic decoding for optical transmission | |
US20090106625A1 (en) | Basic Matrix, Coder/Encoder and Generation Method of the Low Density Parity Check Codes | |
CN1953336B (zh) | 在低密度奇偶校验解码器中更新校验节点的方法 | |
CN101345532B (zh) | Ldpc信道编码的译码方法 | |
CN109586732B (zh) | 中短码ldpc编解码***和方法 | |
CN105763203A (zh) | 一种基于硬可靠度信息的多元ldpc码译码方法 | |
CN104052501A (zh) | 低复杂度的多进制ldpc码译码方法 | |
CN104393877A (zh) | 基于加权的非规则ldpc码线性规划译码方法 | |
CN101595644B (zh) | 使用信道码解码的设备和方法 | |
Cayci et al. | Nonbinary polar coding for multilevel modulation | |
CN101355366B (zh) | 低密度奇偶校验码的译码方法及装置 | |
CN100539441C (zh) | 一种低密度奇偶校验码的译码方法 | |
Jones et al. | Robustness of LDPC codes on periodic fading channels | |
CN101136639A (zh) | 用于降低复杂性的低密度奇偶校验解码的***和方法 | |
WO2020115070A9 (en) | Iterative decoder for decoding a code composed of at least two constraint nodes | |
CN100424999C (zh) | 逐条添加边算法的多进制低密度奇偶校验码编译码方法 | |
Shi et al. | Low complexity neural network-aided nms LDPC decoder | |
CN101465652A (zh) | 一种低密度奇偶校验的译码方法 | |
CN105871385A (zh) | 一种ldpc卷积码构造方法 | |
Feng et al. | Simplified successive-cancellation list decoding of non-binary polar codes with rate-1 node | |
Chen et al. | FPGA implementation and verification of LDPC minimum sum algorithm decoder with weight (3, 6) regular parity check matrix | |
Nicola et al. | Decoding LDPC codes over binary channels with additive Markov noise |
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: 20100602 Termination date: 20140403 |