1. 引言
LDPC码是近年信道编码领域的研究热点,目前在深空通信、光纤通信、卫星数字视频和音频广播等领域已经得到了广泛的应用。在2016年10月,3GPP确定采用LDPC码作为5G移动通信中增强宽带业务场景数据信道的纠错编码方案 [1]。
LDPC码是由Robert G. Gallager于1962年提出的一类具有稀疏校验矩阵的线性分组码,它不仅在中长码中可以逼近香农极限,具有良好的译码性能,而且译码复杂度较低、结构灵活 [2]。但最初提出之际,由于缺乏可行的译码算法导致结果不理想,此后的35年间LDPC码基本上无人问津,仅有少量学者对其进行了研究,其中Tanner在1981年给出了LDPC码的图表示,即后来所称的Tanner图,将LDPC码进行了推广 [3]。1996年MacKay和Neal等人对LDPC码重新进行了研究,提出了可行的译码算法,从而进一步发现了LDPC码所具有的良好性能,迅速引起强烈反响和极大关注 [4]。
对于LDPC码译码问题,Gallager博士提出了基于硬判决以及软判决的两种译码方案,硬判决译码方案也称为Gallager硬判决译码算法,例如比特翻转(Bit-Flipping, BF)译码算法;而软判决译码采用了后验概率信息,并通过迭代运算,使得LDPC码的性能得以逼近香农限 [2]。本文以基于软判决的译码算法——置信传播(Belief Propagation, BP)译码算法为基础进行研究。置信传播算法是基于Tanner图的迭代译码算法,在迭代过程中,“消息”通过Tanner图中变量节点和校验节点之间的连边进行传递,在多次迭代后进行译码判决。但在使用BP译码算法的过程中,Tanner图不可避免会出现短环,使消息在迭代过程中被重复计算,大大影响了BP译码的性能。大量学者对于如何消除或减弱置信传播算法中环造成的影响展开了研究。对于包含环的网络,BP算法又被称为循环置信传播算法(Loopy Belief Propagation, LBP),又经简化得到最大积算法和最小和算法。Pearl (1988)指出在树图结构上,使用BP算法进行信息传递可以得到精确解,并证明了在多环图中最大积算法的不动点是后验概率的邻域最大值,具有局部最优性质 [5]。Weiss (2000)得到对于单环图,BP算法也可以达到收敛的结果 [6]。Weiss (2001)分析了对于具有任意拓扑和任意概率分布的图,最大积算法基于不动点的赋值是后验概率的邻域最大值,并且对于不连通的树和单环图,最大后验概率(Maximum a posteriori probability, MAP)赋值是强局部最优赋值 [7]。Kschischang (2001)将因子图的全局函数分解为局部函数的乘积,并把因子图与和积算法结合起来,得到基于贝叶斯网的BP算法 [8]。Heskes (2004)证明了LBP的不动点与Bethe自由能的极值一一对应 [9]。Mooij和Kappen (2007)基于压缩映射,提出了在商赋范空间上基于马尔可夫网的和积算法收敛到唯一不动点的充分条件 [10]。Tatikonda和Jordan (2012)将LBP的收敛性与计算树上吉布斯序列的弱极限的存在联系起来 [11]。时至今日,环的存在仍是BP译码问题中的一大难点。因此,在LDPC码应用BP算法的过程中,需要尽量降低短环的影响,比如LDPC码的约束里要求尽量不要有四元环。Raveendran (2014)提出了概率域上基于BP算法对短环的改进方案,提高了包含短环的LDPC码的译码正确率 [12]。
BP译码算法有着非常好的译码性能,许多LDPC码的译码改进算法都是建立在BP译码算法的基础上,但计算量较大,因此有学者将概率似然比函数引入到BP译码算法中,在此基础上得到了对数域置信传播算法(Log Likelihood Radio Belief Propagation, LLR BP),LLR BP算法是在对数域上计算后验概率信息,将BP算法中大量的乘积运算转化为加法运算,易于工程实现 [13]。
一般情况下假设在迭代过程中节点之间的信息传递是彼此独立的,但考虑到短环内的信息具有关联性,对短环内的迭代过程做了改进,把短环内的节点集看作一个整体,计算其联合概率,这样就避免了由于环的存在造成信息的重复传递,从而降低了信息误差。在不降低译码性能的前提下,本文引入了对数似然函数,将消除四环误差影响的迭代算法应用于LLR BP算法中,在对数域中进行计算,与原算法相比,改进后的算法在保证译码性能没有下降的同时,减少了大量的乘法运算,处理速度更快,因此具有更好的实际应用价值。
本文的组织结构如下:第二节基于Tanner图对LDPC码的背景进行了简单介绍,并阐述了基于概率域的BP译码算法流程,第三节对LLRBP算法进行改进,给出了基于对数域的LDPC码短环译码的改进方案以及算法流程。
2. 预备知识
2.1. LDPC码和Tanner图
LDPC码是一类由校验矩阵H定义的线性分组码,每一个码字都包含在H矩阵的零空间中,对于任意一组码字
,都需满足
的校验关系。校验矩阵H可以用Tanner图表示,Tanner图由校验节点集、变量节点集以及边集组成。变量节点集中的节点代表码元,分别与LDPC码校验矩阵的列一一对应;校验节点集中的节点代表校验方程,分别与校验矩阵的行一一对应。Tanner图是二部图,校验节点集任意节点间无边相连,变量节点集任意节点间无边相连,若变量节点与校验节点之间有边相连,则校验矩阵中对应的位置为1,否则为0。因校验矩阵具有稀疏性,大部分元素为0,仅有少部分元素为1,因此也称为稀疏校验矩阵。校验矩阵的每一列中非零元素的个数称为列重,每一行中非零元素的个数称为行重。校验矩阵的列重和行重与Tanner图中变量节点和校验节点的度保持一致,若校验矩阵的列重是常数
,行重是常数
,则称LDPC码为
-正则LDPC码,否则称为非正则LDPC码。
Tanner图中的环是由校验节点与变量节点交错连接构成的闭合路径,环长定义为它所包含的边的数量,所有环中最小的环长称为围长(girth)。Tanner图作为二部图,其中的环由变量节点与校验节点交错组成,所以不可能生成奇数长的环,因此Tanner图中的环都是偶数环,且环长大于等于4。
对LDPC码的校验矩阵与校验方程举例如下:
该校验矩阵H对应一个非正则LDPC码,图1表示为该校验矩阵的Tanner图,该图不包含4长环,仅包含6长环,因此该图是一个围长为6的Tanner图,图中的方形节点为校验节点,圆形节点为变量节点,该图包含的长为6的环路径为:
,如加粗线条所示。

Figure 1. Tanner graph of the checkmatrix
图1. 校验矩阵的Tanner图
2.2. 置信传播算法
置信传播译码算法又称为和积译码算法,是在概率域上通过后验概率迭代运算实现消息传递,包含了较多的乘法运算,具有较高的算法运算量。置信传播译码是LDPC码的基本译码算法,很多改进的译码算法均是在置信传播译码的基础上得到的。
假设传递的码字
经过映射后得到
,由信道译码后接收到的序列为
,译码判决得到码字
。在Tanner图中,变量节点用
表示,校验节点用
表示。在初始状态下
接受到的信息,称为局部证据,设为
。
定理1 (Gallager定理) [2]:在消息传递过程中,第t次迭代时变量节点
向校验节点
发送的信息中
包含偶数个1的概率为
,变量节点
向校验节点
发送的信息中包含奇数个1的概率为
。
BP译码的具体过程如下所示:
1) 首先初始化变量节点的信息,每个变量节点的初始信息是接受到的局部证据:
(1)
(2)
2) 节点迭代更新过程:
第t次迭代校验节点更新方程,根据定理1得:
(3)
(4)
其中
表示为对于校验节点
,在已知其相连的除
外的所有变量节点取值的概率条件下,第j个校验方程被满足的概率。
第t次迭代变量节点更新方程:
(5)
(6)
其中
是归一化常数,保证了
。
表示为对于变量节点
,在已知与其相连的除
外的所有校验节点的校验方程是否被满足的概率条件下,
取值为0的概率;
是同条件下,
取值为1的概率。
3) 计算变量节点的后验概率:
(7)
(8)
4) 译码判决:若
,则
否则
。若
满足
则译码成功,停止算法,否则转回步骤2)继续迭代,直到迭代次数达到预先设定的最大迭代次数。
3. 改进的LLR算法
3.1. 短环改进算法
BP短环译码算法 [12] 虽然对于包含大量长为4的短环的LDPC码译码正确率起到了很大的改善作用,有效降低了信息的重复计算,但是信息传递准确率的提高是以计算量的增加为代价的。同时概率BP译码算法包含了大量的连乘运算,实现时具有较高的计算复杂度,资源消耗大,引入对数似然比函数,将概率信息用对数似然比表示,可以将大量的乘法运算转化为加法运算,降低计算复杂度。为此,本文将改善的BP算法应用于LLR BP中,能够在保证译码正确率的前提下,降低算法的计算量,起到更好的实际应用效果。

Figure 2. A Tanner graph with girth = 4, and the nodes in the short cycle and the set of neighbor nodes
图2. 围长为4的Tanner图,短环内的节点与其邻节点集
图2为一个围长为4的Tanner图。本文主要关注短环内的信息传递过程,假设环内的变量节点分别为
和
,校验节点分别为
和
,环外的节点信息集根据它们与环内节点的连边分为四个变量集,短环外连接
的校验节点集称为
,连接
的校验节点集称为
,连接
的校验节点集称为
,连接
的校验节点集称为
。
假设短环内的节点集之间传递的消息不具有独立性,它们之间相互影响,短环内的节点集与其环外的邻节点集之间传递的信息具有弱依赖性。对于短环内的变量节点,以
为例,在第t次迭代过程中接收到的信息时是由观测节点
和所有与
相连的校验节点决定的:
根据假设,环内与环外的信息传递具有弱依赖性:
环外校验节点传递给
的信息具有独立性,可以将
写成乘积的形式,其中设
,则:
根据贝叶斯原理,上式可以写作:
由于观测节点
与校验节点
独立无关,因此可以将
从联合概率的条件项中提出:
(9)
短环BP改进算法着重于节点之间的联合概率计算,设
表示在给定信道概率下,
的联合概率,则(9)式可以写作:
以
为例,计算
。首先设
表示事件在第t次迭代过程中,变量节点集
发送给
的信息有偶数个1的发生概率,则
;同理,
表示事件在第t次迭代过程中,变量节点集
发送给
的信息有偶数个1的发生概率,则
。
和
分别表示为变量节点集
和
发送给
和
的信息有奇数个1的发生概率。
中有两项联合概率的乘积因子为0,将剩余两项表示为
和
,则:
和
的表达式如下所示:
对于t = 1,2次迭代,
,
,
对于t > 2次迭代,
其中,
因此
,同理可推得
的具体表达式。
综上所述,
,其中
,
的推导过程与
相似,
则变量节点
向短环外的校验节点
传递信息的更新方程为:
(10)
对于LLR BP算法中短环内变量节点的后验概率计算公式为:
(11)
3.2. LLR译码改进算法
结合3.1的内容,现将LDPC码的置信传播改进译码算法给出,图3为该算法的流程图,如下所示:
1) 首先初始化概率似然比信息:
(12)
2) 节点迭代更新方程,设
,
,变量节点接收到信息为0或为1的概率和为1,即
,则:
因此第t次迭代校验节点更新方程为:
(13)
第t次迭代变量节点更新方程进行以下改进:
设
,由式(10)得到短环内的变量节点更新方程:
(14)
短环外变量节点更新方程不变,由式(5)和式(6)计算可得:
(15)
3) 计算变量节点的后验概率:
由式(11)计算得到短环内的变量节点后验概率:
(16)
由式(7)和式(8)计算得到短环外的变量节点后验概率:
(17)
4) 译码判决:若后验概率
,则
否则
。若
满足
则译码成功,停止算法,否则转回步骤2)继续迭代,直到迭代次数达到预先设定的最大迭代次数。

Figure 3. Processing flow of improved algorithm
图3. 改进算法处理流程图
4. 总结
概率域BP译码算法存在的问题在于包括大量乘法运算,这会导致计算量过大,造成数值溢出等问题。置信传播算法的Tanner图是树时可以达到最优译码结果,但Tanner图一旦存在环,尤其是短环则将会大大降低码的性能。本文将改进后的短环BP算法与对数域BP算法结合起来,给出了短环内变量节点的更新方程和后验概率,将计算方程中的乘积算子通过对数的形式改为和算子,不但避免了短环造成的部分数值溢出、信息重复计算等问题,也降低了计算量,对LDPC码短环问题在实际应用过程中具有重要意义。本文研究也具有一定的局限性,例如需要对Tanner图中存在的四环进行鉴别区分,对于环内环外的节点集使用不同的更新方程和后验概率计算公式。接下来的研究工作将对围长大于4的Tanner图进行改进,提出能彻底解决LDPC码短环问题的方案并尽量降低计算复杂度。
NOTES
*通讯作者。