《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 广义LDPC码的自适应全并行MAP-BP译码算法
广义LDPC码的自适应全并行MAP-BP译码算法
来源:电子技术应用2013年第8期
王 平1, 李广侠1, 文仕军2, 朱宏鹏1
1. 解放军理工大学 通信工程学院 卫星通信重点实验室,江苏 南京 210007; 2. 贵州大学 计算机科学与信息学院, 贵州 贵阳 550025
摘要: 提出了一种广义LDPC码的自适应全并行MAP-BP译码算法,算法中子码采用基于比特栅格的最大后验概率译码,本地码采用基于对数似然比的置信传播译码。算法引入自适应修正因子保证迭代过程中子码和本地码输出信息的匹配。仿真结果表明,与传统广义LDPC译码算法相比,MAP-BP算法可提高译码准确性并能加快译码收敛速度。
中图分类号: TN911
文献标识码: A
文章编号: 0258-7998(2013)08-0105-04
Parallel adaptive MAP-BP decoding algorithm for GLDPC codes
Wang Ping1, Li Guangxia1, Wen Shijun2, Zhu Hongpeng1
1. Key Laboratory of Satellite Communications, Institute of Communication Engineering, PLA University of Science and Technology, Nanjing 210007, China; 2. Institute of Computer Science and Information, Guizhou University, Guiyang 550025, China
Abstract: The parallel adaptive MAP-BP decoding algorithm for GLDPC codes is proposed, in which maximum a posteriori probability (MAP) decoding based on bit trellis is used for component codes while belief propagation (BP) based on log-likelihood ratio (LLR) is used for local codes. An adaptive correction factor is adopted to adjust the output of MAP and BP throughout the iteration process. Simulation results show that, compared with the traditional decoding method of GLDPC codes, MAP-BP algorithm improves decoding accuracy and gets a faster convergence speed.
Key words : generalized LDPC; iterative decoding; maximum a posteriori probability; belief propagation

    广义LDPC码是一类由LDPC码扩展而来的差错控制编码[1-2]。广义LDPC码保留了LDPC码稀疏图的表达,但将码图中的单奇偶校验约束节点替换为线性分组码。由于引入了线性分组码约束节点,广义LDPC具有构造灵活、在约束节点可以采用更强有力的译码器的优势,并具有错误平层较低、在低码率条件下可逼近信道容量的性能。近年来,广义LDPC码由于其优于LDPC码的特性而引起了学者们的广泛研究[3-5]。

    传统广义LDPC译码算法基于奇偶校验矩阵的分层结构,采用超码串行译码而子码并行译码的迭代译码机制。然而,以非规则LDPC等构造的广义LDPC码的校验矩阵不具有分层结构,无法按照传统广义LDPC码译码算法进行译码。本文提出一种广义LDPC码的自适应全并行MAP-BP译码算法。该算法具有通用性,且引入自适应修正因子,能保证迭代译码过程中子码MAP算法和本地码BP算法的良好衔接,并可提高译码准确性。
1 广义LDPC码结构
    广义LDPC码是将LDPC码中的单奇偶校验约束节点用简单的线性分组码替换得到的,其中称LDPC码为本地码,线性分组码为子码。
   如图1所示,广义LDPC码奇偶校验矩阵的构造步骤为:构造本地LDPC码的奇偶校验矩阵Hb,称之为基矩阵;选取子码C0(n,k),并将基矩阵Hb每一行中的“1”随机用子码的校验矩阵Ho的某一列替换,“0”用全零列矢量替换。

    Gallager规则LDPC码(N,j,n)采用分层方法构造,如图1(a)所示,其校验矩阵可按行划分为j层(每一层包含相同的行数),第一层H1的构造很有规律,“1”在行中按降幂排列,其余j-1层是对第一部分进行的随机重排,即Hi=πi(H1),i=2,3,…j,其中π表示随机列位移。按照分层结构,将每一层的N/n个分量码的值合称为一个超码。相应地,以Gallager规则LDPC码为本地码的广义LDPC码保留了这一分层结构,如图1(b)所示。然而,广义LDPC码发展至今,其构造已不再限于传统方法,即除了选取Gallager规则LDPC码作本地码外,QC-LDPC码、非规则LDPC码等作本地码的广义LDPC先后被构造并进行研究。若低密度校验矩阵采用其他的方法构造,广义LDPC码未必可以分解为若干超码。
2 传统广义LDPC译码
    传统的广义LDPC译码算法是基于子码译码基础上的迭代译码,因此译码性能和译码复杂度严重依赖于子码使用的译码算法。通常广义LDPC码选用的子码为短码且具有较高的码率,而广义LDPC码迭代译码过程中使用的是软信息,因此子码一般采用软输入软输出SISO(Soft-in Soft-out)译码算法[6],所以传统广义LDPC码的译码机制为基于子码SISO的迭代译码。
    根据分层结构,译码信息在不同层级的超码之间进行传递:根据接收样本计算每个比特的初始概率信息,并假定它属于超码C1。超码C1中的N/n个子码SISO译码器独立并行工作,产生每个编码比特的后验概率和外概率。后者经过交织后作为超码C2中子码SISO译码的先验信息。上述过程在每对相邻超码之间依次进行,将C1→C2→…→Cj→C1的信息传递过程看作一次完整的迭代,整体上讲超码串行工作。当j=2时,广义LDPC码的译码可以看做Turbo码译码器的扩展[7],子码的译码器结构如图2所示。综上所述,传统广义LDPC迭代译码过程可概括为“超码串行工作,子码并行处理”。

3 MAP-BP译码算法
    BP译码算法是LDPC码的通用译码算法,适用于任意方法构造的LDPC。而传统广义LDPC译码算法并不具备通用性,不具有分层结构的广义LDPC码将无法按照传统广义LDPC码译码算法进行译码。为此,本文设计了自适应全并行MAP-BP译码算法。广义LDPC码的MAP-BP译码算法的流程为:


    与传统广义LDPC译码算法相比,MAP-BP译码算法具有以下优点:(1)译码信息全并行计算与传输,一方面减少了处理时间,另一方面可作为广义LDPC码的通用译码算法;(2)算法中引入了自适应修正因子,既避免了迭代过程中在MAP算法和BP算法中流动的LLR值发生溢出,又提高了译码准确性。
4 仿真分析
 在AWGN信道条件下,根据MAP-BP译码算法对两组广义LDPC码的性能进行仿真,并与传统译码算法的性能进行比较。图3中码字的码长为420,图4中的码长为960,两组码字码率都为0.467,本地码列重为2,子码选用(15,11)汉明码。

    仿真结果表明,采用MAP-BP算法得到的译码性能较好。实质上,对广义LDPC码而言,传统译码算法可以看作无修正因子下MAP-BP译码的串行变换方案,因此MAP-BP性能的提高得益于修正因子的引入,且在高信噪比处译码性能改善更明显。
 图5比较了(960, 2, 15)广义LDPC码在两种译码算法下,误码率随迭代次数的变化情况。可以看出,较之于传统译码算法,MAP-BP译码算法收敛速度较快。

    图6给出了(420,2,15)广义LDPC码的误码率随修正因子大小的变化情况。最佳修正因子?兹的取值受信噪比大小、码长长度的影响。修正因子的取值是值得深入探讨的问题,在实际应用中,需根据码长和信道条件选取恰当的?兹值,即进行自适应调整。

    本文提出了一种广义LDPC码的自适应全并行MAP-BP译码算法,该译码算法具有通用性。仿真表明在高信噪比条件下可提高译码准确性。广义LDPC码的MAP-BP译码算法思想来源于LDPC码的BP译码算法,传统的广义LDPC译码算法可以看作MAP-BP算法分层串行的特例。MAP-BP译码算法对迭代译码过程中子码MAP算法和本地码BP算法输出LLR的衔接进行了分析,并采用自适应除性修正因子解决溢出现象,提高了译码性能。
参考文献
[1] LENTMAIER M, ZIGANGIROV K S. On generalized lowdensity parity check codes based on Hamming component  codes[J].IEEE Communications Letter,1999,3(8):248-250.
[2] BOUTROS J, POTHIER O. Generalized low-density(Tanner) codes[C]. In Proceeding IEEE ICC, Houston, USA, July 1999:11-16.
[3] SHADI A S, DIVSALAR D. Enumerators for protographbased ensembles of LDPC and generalized LDPC codes[J]. IEEE Transactions on Information Theory, 2011,2(57):858-885.
[4] SHADI A S, DIVSALAR D, RYAN W E. On the typical  minimum distance of protograph-based generalized LDPC codes[C]. ISIT 2010, Austin, Texas, U.S.A., June 13-18, 2010:719-723
[5] Wang Yige, FOSSORIER M. Doubly generalized LDPC codes over the AWGN channel[J]. IEEE Transactions on Communications, 2009,57(5):1312-1319.
[6] LIN S, COSTELLO D J. Error control coding 2nd edition[M]. Landon: Prentice Hall Press, 2007.
[7] MAO Y,BANIHASHEMI A H. Decoding low-density paritycheck codes with probabilistic schedule[J].IEEE Communications Letters, 2001,5(10):414-416.
[8] YAZDANI M R, HEMATI S, BANIHASHEMI A H. Improving belief propagation on graphs with cycles[J]. IEEE Communications Letters, 2004,8(1):57-59.

此内容为AET网站原创,未经授权禁止转载。