文章快速检索     高级检索
  重庆邮电大学学报(自然科学版)  2018, Vol. 30 Issue (6): 797-802  DOI: 10.3979/j.issn.1673-825X.2018.06.010
0

引用本文 

李西亚, 黎勇. 基于(17, 9)平方剩余码的广义LDPC码构造及性能研究[J]. 重庆邮电大学学报(自然科学版), 2018, 30(6): 797-802. DOI: 10.3979/j.issn.1673-825X.2018.06.010.
LI Xiya, LI Yong. Research on design and performance of GLDPC codes base on (17, 9) quadratic residue codes[J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2018, 30(6): 797-802. DOI: 10.3979/j.issn.1673-825X.2018.06.010.

基金项目

国家自然科学基金(61771081)

通信作者

黎勇 yongli@cqupt.edu.cn

作者简介

李西亚(1991—), 男,河南商丘人,硕士研究生,主要研究方向为信道编译码理论。E-mail: lixiya1991@163.com; 黎勇(1982—),男,重庆人,副教授,博士,主要研究方向为信息论与编码,无线移动通信。E-mail: yongli@cqupt.edu.cn

文章历史

收稿日期: 2017-12-09
修订日期: 2018-09-25
基于(17, 9)平方剩余码的广义LDPC码构造及性能研究
李西亚, 黎勇     
重庆邮电大学 重庆市移动通信技术重点实验室,重庆 400065
摘要: 低密度奇偶校验(low-density parity check, LDPC)码的校验节点通常采用单奇偶校验(single parity check, SPC)码,然而当采用一种具有更强纠错能力分量码替换LDPC码中的SPC码时可以构造出一种性能更好的广义LDPC(generalized LDPC, GLDPC)码。鉴于此,采用一个(17, 9)平方剩余(quadratic residue, QR)码作为分量码来替换LDPC中的SPC码构造出了一种基于QR码的GLDPC码。通过研究GLDPC码和QR码的构造以及GLDPC码的译码算法,提出了一种基于(17, 9) QR码的GLDPC码构造方法,研究了该GLDPC码的性能,并对该GLDPC码与传统的LDPC码、同码率不同码长的GLDPC码以及同码长不同码率的GLDPC码进行了性能仿真。仿真结果表明,基于(17, 9)QR码的GLDPC码相比同码率下的LDPC码,在错误比特率和译码收敛速度上都取得了更优异的表现。
关键词: 平方剩余码    广义LDPC码    构造    替换    收敛    
Research on design and performance of GLDPC codes base on (17, 9) quadratic residue codes
LI Xiya , LI Yong     
Chongqing Key Laboratory of Mobile Communications Technology, Chongqing University of Posts and Telecommunications, Chongqing 400065, P. R. China
Foundation Items: The National Natural Science Foundation of China (61771081)
Abstract: The check node of low density parity check(LDPC)uses single parity check(SPC) code, while generalized LDPC(GLDPC)codes with better performance can be constructed by replacing the SPC code in LDPC codes with a component codes that has stronger error correction capability. In view of this, this paper uses (17, 9) quadratic residue(QR) code as the component codes to replace the SPC code to construct a quadratic residue-GLDPC(QR -GLDPC) code. Firstly, this paper studies the construction of GLDPC codes and QR code, and studies the decoding algorithm of GLDPC code. Based on those, a construction method of GLDPC codes based on (17, 9) QR code is proposed and then its performance is also studied. Finally, we simulate the GLDPC code and the traditional LDPC code, different code length of GLDPC at the same code rate, the same code length of GLDPC at different code rate. The simulation results indicate that compared with LDPC codes at the same bit rate, GLDPC codes based on (17, 9) QR codes achieve better performance in terms of the bit error rate and the decoding convergence speed.
Keywords: quadratic residue code    generalized LDPC(GLDPC)    construct    replaced    convergence    
0 引言

1960年代初,Gallager[1]首次提出了低密度奇偶校验(low-density parity check, LDPC)码的概念,它是一类优秀的纠错码,具有较好的译码性能。近年来,LDPC码的研究获得了较大关注,在迭代译码情况下,LDPC码性能可以逼近香农极限。传统LDPC码尽管有着较高的编码增益,但其错误地板和译码复杂度往往较高。为了获得更低的错误地板,1999年,Lentmaier和Zigangirov首次构造了以汉明码作为分量码替换LDPC码中单奇偶校验(single parity-check, SPC)码的广义LDPC(generalized LDPC, GLDPC)码,其仿真性能相比同码率下的LDPC码表现更加优秀[2]。同时也在理论上证明了GLDPC码能够以较快的收敛速度取得较低的错误地板[2]

GLDPC码是对LDPC码概念的进一步拓展。通过观察GLDPC码的Tanner图[3]发现,GLDPC码的变量节点和校验节点使用更为灵活,不再局限于传统的LDPC码的变量节点和SPC节点,这也使得GLDPC码的译码方式更为灵活[4]。目前常见的替换SPC码的分量码有BCH(Bose,Ray-Chaudhuri,Hocquenghem),里德-所罗门(Reed-Solomon, RS)等码[5],它们的纠错能力比SPC码强,构造出的GLDPC码的性能也比同码率下的LDPC码更加优秀。然而这种为了增强校验节点约束而引入了更多的校验方程的方式,使得GLDPC码的码率大大降低。为了减少码率损失,在设计GLDPC码时就必须减少LDPC母码(也称全局码)中被替换的校验节点的数量,但这反过来又会影响码字的性能。鉴于此,必须采用比传统的汉明码、BCH码更强大的码型作分量码,从而使只替换母码中少部分校验节点即可设计出性能优异的GLDPC码。本文针对分量码为平方剩余(quadratic residue, QR)码的GLDPC码提出了一种构造方法,构造了一个QR-GLDPC码。

QR码是BCH码的一个子类,有着比传统的循环码更大的最小汉明距离。1957年,QR码由Prange[6]首次提出,因具有完美的代数结构,受到众多代数编码学家的青睐,这极大地加快了QR码用于纠错应用的研究进展。

1 GLDPC码和QR码介绍 1.1 GLDPC码的定义

类似于传统LDPC码的校验矩阵,GLDPC码的校验矩阵也是一种稀疏矩阵,即矩阵中零元素的个数远远大于非零元素的个数。假设GLDPC码的校验矩阵表示为HGLDPC, 对应的生成矩阵表示为G,则两者满足G·HGLDPCT=0。与传统LDPC码校验约束关系不同的是,GLDPC的校验约束已不再局限于用一个方程式表示,而可以由多个方程式来共同表示一个校验关系。

GLDPC码的校验矩阵构造由2部分组成,分别是校验母矩阵HGLDPC和分量码校验矩阵HCPT,其中,HGLDPCm0n0列。基于以上2种矩阵扩展而成的GLDPC码的校验矩阵为HGLDPC, 有MN列,其中N=n0。如果HGLDPC是满秩的,则GLDPC码的码率R可表示为

$ R = \frac{{N - M}}{N} = 1 - \frac{M}{N} $ (1)
1.2 GLDPC码的Tanner图表示

通过Tanner图可以直观地看出GLDPC码和LDPC码的不同以及两者之间的关系。图 1是使用分量码替换SPC码扩展而成的GLDPC码的Tanner图。图 1中,左边黑色圆圈表示变量节点,右边黑色实线方块表示SPC节点,右下方黑色虚线方块表示分量码。

图 1 GLDPC码的Tanner图 Figure 1 Tanner graph of GLDPC codes
1.3 QR码介绍

QR码是码率略大于1/2的BCH码的一个子类,在同等码长下,比RS码、汉明码等具有更优异的纠错性能。

考虑在伽罗华域GF(2m)上定义一个QR码(n, k, d)或(n, (n+1)/2, d),其生成多项式为

$ g\left( x \right) = {g_0} + {g_1}X + \cdots + {g_{n - k}}{X^{n - k}} $ (2)

(2) 式中:n是码字长度,k=(n+1)/2是码字信息位的长度;d是最小汉明距离。假设h(x)是QR码的校验多项式,由文献[7]可知Xn+1的一个因式是g(x),即

$ g\left( x \right) \cdot h\left( x \right) = {X^n} + 1 $ (3)

(3) 式中,h(x)可以表示为如下的多项式形式

$ h\left( X \right) = {h_0} + {h_1}X + \cdots + {h_k}{X^k} $ (4)

(4) 式中,h0=hk=1。经计算,可以得到(n-k)个方程式。

$ \sum\limits_{i = 1}^k {{h_i}{v_{n - i - j}}} = 0,\;\;\;\;1 \le j \le n - k $ (5)

(5) 式中,vn-i-j表示码字中的一位。因此,可以推导出h(x)的反多项式,即

$ {X^k}h\left( {{X^{ - 1}}} \right) \buildrel \Delta \over = {h_k} + {h_{k - 1}}X + {h_{k - 2}}{X^2} + \cdots + {h_0}{X^k} $ (6)

不难看出Xkh(X-1)也是Xn+1的一个因式。假设把因式Xkh(X-1)看成一个生成多项式,它能够产生一个(n, n-k)循环码,相应的校验矩阵可以表示为

$ {\mathit{\boldsymbol{H}}_{{\rm{QR}}}} = \left[ {\begin{array}{*{20}{c}} {{h_k}}&{{h_{k - 1}}}& \cdots &{{h_0}}&0& \cdots &0&{}\\ 0&{{h_k}}&{{h_{k - 1}}}& \cdots &{{h_0}}&0& \cdots &0\\ \vdots&\vdots&\vdots &{}& \vdots &{}&{}&{}\\ 0&0& \cdots &0&{{h_k}}&{{h_{k - 1}}}& \cdots &{{h_0}} \end{array}} \right] $ (7)

通过观察(5)式可知,QR码字集合中的所有码字与HQR的每一行相乘均为零,即HQR·vT=0。所以,矩阵HQR是QR码的校验矩阵。下文中所使用的替换SPC的分量码(17, 9)QR码的校验矩阵便是利用以上方法求出,从文献[7]中我们可以知道,(17, 9)QR码的生成多项式为

$ g\left( x \right) = {x^8} + {x^5} + {x^4} + {x^3} + 1 $ (8)

由(3)—(6)式计算,可以得到

$ {x^9}h\left( {{x^{ - 1}}} \right) = {x^9} + {x^6} + {x^5} + {x^4} + {x^3} + 1 $ (9)

多项式x9h(x-1)可以生成一个(17, 9)循环码,则根据(7)式可知该码的校验矩阵为

$ {\mathit{\boldsymbol{H}}_{{\rm{QR}}}} = \left[ {\begin{array}{*{20}{c}} 1&0&0&1&1&1&1&0&0&1&0&0&0&0&0&0&0\\ 0&1&0&0&1&1&1&1&0&0&1&0&0&0&0&0&0\\ 0&0&1&0&0&1&1&1&1&0&0&1&0&0&0&0&0\\ 0&0&0&1&0&0&1&1&1&1&0&0&1&0&0&0&0 \end{array}} \right] $

该矩阵便是分量码(17, 9)QR的校验矩阵。

2 GLDPC码构造和译码 2.1 GLDPC码的构造

假设使用参数(N, M, K, n, m, k)表示GLDPC码,其中,N为码长;M为校验矩阵的行数;K表示信息位长度。同样,n, mk表示分量码的对应参数。特别地,M=p·m,这里p是个整数。K, k分别与GLDPC码校验矩阵和分量码校验矩阵的秩相关[8]

构造GLDPC码的校验矩阵HGLDPC需要2个步骤。

步骤1  构造母码LDPC码的校验矩阵HLDPC和分量码校验矩阵HCPT,且HLDPC的行重必须等于分量码码长。

步骤2  对HLDPC逐行扩展,“0”位置使用长度为n-k的零向量替换,“1”位置使用HCPT中的某一列替换,注意每一列只能使用一次。

已知分量码QR的纠错能力强于SPC码,即分量码QR的置信值比SPC码的置信值更大,在纠正一个错误变量节点的过程中,只需要有一个来自QR码的置信值即可完成。相反,SPC码的置信值较低,即使一个变量节点有多个来自SPC码的置信值也未必能够实现纠错的目的。因此,确保变量节点接收到的信息至少有一个来自QR码是译码成功的关键。鉴于此,本文提出了一种基于(17, 9)QR码的GLDPC码的构造方法,其中,母码LDPC码的校验矩阵的列重为2,具体构造方法如下。

步骤1  在校验母矩阵中,任选M0个SPC码用QR码替换,初步构造出GLDPC码的校验矩阵,M0M。然后通过分析GLDPC码的Tanner图发现,有如图 2所示的3种类型的变量节点。图 2中,变量节点var0,2条边分别连接SPC和QR;变量节点var1,2条边全部来自SPC;变量节点var2,2条边全部来自QR。

图 2 3种类型的变量节点 Figure 2 Three types of variable nodes

步骤2  找出所有var1和var2类型的变量节点,然后对2种不同类型的变量节点进行边交换。图 3为交换边的原理图,任意交换节点var1和var2的一条边,使它们成为节点var0的形式。

图 3 交换边的原理 Figure 3 Principle of exchange sides

步骤3  当步骤2中所有变量节点交换边的过程完成之后,即可得到一个新的GLDPC码。

2.2 GLDPC码的译码

文献[2]中提出了一种GLDPC码的软判决迭代译码算法,其主体架构类似于LDPC码的置信传播译码算法,分量码采用最大后验概率APP译码[9]来计算外信息。然而该算法因为概率消息用似然比(likehood ratio, LR)表示,致使公式中出现了大量乘法运算,增加了运算复杂度。鉴于此,本文中概率消息采用对数似然比(log likehood ratio, LLR)表示,大量的乘法运算被简化为加法运算,从而降低了运算复杂度。

码字v=(v1, v2, …, vN-1)经BPSK调制后映射为w=(w0, w1, …, wN-1),其中,wi=$\sqrt {{E_{\rm{s}}}} $(1-2vi),Es为单位符号的能量,序列w再通过单边功率谱密度为N0的AWGN信道后,得到接收序列r=(r0, r1, …, rN-1),ri的对数似然比为

$ LL{R_{{\rm{ch}}}}\left( i \right) = \frac{{4\sqrt {{E_{\rm{s}}}} }}{{{N_0}}} \cdot {r_i},i = 0,1,2, \cdots ,N - 1 $ (10)

设迭代次数l=1, 2, …, L, 译码算法流程如下。

步骤1  对于第t个分量码,通过APP译码算法计算第i个变量节点在第l次迭代时获得的外信息LLRtexterl(i),iI(t), t表示分量码,tM, I(t)表示所有与分量码t连接的变量节点的集合。其中,特别注意的是:如何计算变量节点的外信息LLRtexterl(i)。如图 4所示,在第l次迭代时,变量节点i从校验节点t获得的外信息为

$ LLR_{{t_{{\rm{exter}}}}}^l\left( i \right) = {y_{{\rm{output}}}} - {y_{{\rm{input}}}} $ (11)
图 4 变量节点i从第t个分量码获得的外信息 Figure 4 External information obtained of the variable node ifrom the tcomponent code

(11) 式中,yinput是变量节i点传递给分量码t的置信值,即(12)式中的置信值LLRtl(i),yinput=LLRtl(i),当l=1时,yinput等于变量节点i的初始值LLRch(i);youtput是分量码t传递给变量节点i的值,当分量码收集到所有相邻的变量节点信息后,通过APP译码算法处理得到一组输出值,然后传递给所有相邻的变量节点,youtput即为传递给变量节点i的其中一个输出值。

步骤2  若iN-1, 对所有的变量节点计算置信值

$ LLR_t^l\left( i \right) = LL{R_{{\rm{ch}}}}\left( i \right) + \sum\limits_{t' \in T\left( i \right)\backslash t} {LLR_{{{t'}_{{\rm{exter}}}}}^l\left( i \right)} $ (12)

该置信值作为下一次迭代中步骤1中的输入;T(i)表示与变量节点i相连的所有分量码节点的集合,其中,T(i)\t表示去除t节点。

步骤3  最后一次迭代,即l=L, 计算变量节点上收到的所有置信值

$ LL{R^L}\left( i \right) = LL{R_{{\rm{ch}}}}\left( i \right) + \sum\limits_{t \in T\left( i \right)} {LLR_{{t_{{\rm{exter}}}}}^L\left( i \right)} $ (13)

步骤4  软判决,输出:

$ {{\hat v}_i} = \left\{ \begin{array}{l} 0,\;\;若\;LL{R^L}\left( i \right) > 0\\ 1,\;\;其他 \end{array} \right.\;\;\;i = 0,1, \cdots ,N - 1 $ (14)

如果达到最大迭代次数或满足HGLDPC· ${{\mathit{\boldsymbol{\hat v}}}^{\rm{T}}}$=0,则直接停止迭代,否则继续从步骤1迭代。

2.3 分量码的APP译码算法

APP译码算法[9]是一种适用于线性分组码的最大后验概率译码算法。下面介绍该算法以及算法中相关符号的含义。

假设v=(v1, v2, …, vN)是[N, K]线性分组码中的一个码字,线性分组码的校验矩阵用H表示,则H的转置形式为

$ {\mathit{\boldsymbol{H}}^{\rm{T}}} = \left( {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{h}}_1}}\\ {{\mathit{\boldsymbol{h}}_2}}\\ \vdots \\ {{\mathit{\boldsymbol{h}}_N}} \end{array}} \right) $ (15)

(15) 式中,hn=(hn1, hn2, …, hn(N-K)),1≤nN

如果定义符号v[1, n]=(v1, v2, …, vn),

$ \mathit{\boldsymbol{H}}_{\left[ {1,n} \right]}^{\rm{T}} = \left( {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{h}}_1}}\\ {{\mathit{\boldsymbol{h}}_2}}\\ \vdots \\ {{\mathit{\boldsymbol{h}}_n}} \end{array}} \right) $ (16)

则根据以上2个符号,定义一个N-K维的向量sn,称为奇偶校验子,sn=v[1, n]·H[1, n]T,1≤nN

对于已给定的校验矩阵H,存在一个长度为N的网格图,μ(s, n)表示在状态s时,路径长度为n的度量值,其中,1≤nN

码字v=(v1, v2, …, vN)通过AWGN信道传送,在接收端,信道的输出码字是r=(r1, r2, …, rN)。

P(rn|v)表示先验概率,P(vn|r)表示后验概率。在上述GLDPC码译码算法中,可根据分量码中各变量节点的输入值yinput=LLRtl(i)=ln(P(rn|vn=0)/P(rn|vn=1))计算得到P(rn|vn=0)=(1/(1+ eyinput)),因此,P(rn|vn=1)=1-P(rn|vn=0)。相应的输出值youtput=ln(P(vn=0|r)/P(vn=1|r)),1≤nN。APP译码算法的具体步骤如下。

输入:P(r1|v1),P(r2|v2),…,P(rn|vn)。

步骤1  初始化μ(0, 0)=1, μ(0, 1)=0,∀s ≠0,sF2N-K

步骤2  对n=1, …, N更新

$ \begin{array}{*{20}{c}} {\mu \left( {{\bf{s}},n} \right) = \mu \left( {{\bf{s}},n - 1} \right)P\left( {{r_n}\left| {{v_n} = 0} \right.} \right) + }\\ {\mu \left( {{\bf{s}} + {\mathit{\boldsymbol{h}}_n},n - 1} \right)P\left( {{r_n}\left| {{v_n} = 1} \right.} \right)} \end{array} $

步骤3  对n=1, …, N,设

$ P\left( {{v_n} = 0\left| {\mathit{\boldsymbol{r}},\mathit{\boldsymbol{v}}} \right.} \right) = \frac{{\frac{{P\left( {{r_n}\left| {{v_n} = 0} \right.} \right)}}{{P\left( {{r_n}\left| {{v_n} = 1} \right.} \right)}} - \frac{{\mu \left( {{\mathit{\boldsymbol{h}}_n},N} \right)}}{{\mu \left( {{\bf{0}},N} \right)}}}}{{\frac{{P\left( {{r_n}\left| {{v_n} = 0} \right.} \right)}}{{P\left( {{r_n}\left| {{v_n} = 1} \right.} \right)}} - \frac{{P\left( {{r_n}\left| {{v_n} = 1} \right.} \right)}}{{P\left( {{r_n}\left| {{v_n} = 0} \right.} \right)}}}} $

等号成立的条件是P(rn|vn=0)≠P(rn|vn=1)。

输出:P(v1=0|r, v), …, P(vN=0|r, v)。

3 仿真结果

本文采用(17, 9)QR码作为分量码来研究GLDPC与LDPC码在不同码长和码率条件下的性能,仿真条件为AWGN信道,仿真平台VS2010,采用C/C++语言编程。LDPC码的校验矩阵与GLDPC码的校验矩阵相同,译码中最大迭代次数为50次。

利用边递增(progressive edge-growth, PEG)算法[10]构造规则的母码LDPC码的校验矩阵,其列是476,行是56,列重是2,行重是17。使用分量码(17, 9)QR码对LDPC码进行扩展,生成(476, 252, 224, 17, 9, 8)QR-GLDPC码,码率为0.471,仿真结果如图 5所示。由仿真结果可知,QR-GLDPC码的性能优于同等码率下的LDPC码,即使我们选择最大迭代次数为5,GLDPC码性能依然超过LDPC码的性能。此外,可以看到在最大迭代次数为20时,GLDPC的性能得到显著提升,这意味着,GLDPC码经过20次迭代便可快速收敛。它也表明,GLDPC码的平均迭代次数低于LDPC码。因此,GLDPC码相比LDPC码,有着更快的收敛速度。

图 5 GLDPC码与LDPC码性能 Figure 5 Performance of GLDPC and LDPC

同样,利用PEG算法构造规则的母码LDPC码的校验矩阵,其列是952,行是112,列重和行重分别是2和17。用(17, 9)QR码作为分量码进行扩展,得到(952, 504, 448, 17, 9, 8)QR-GLDPC码,码率为0.471,仿真结果如图 6所示。与LDPC码相比,QR-GLDPC码性能有明显优势。同时,在相等码率下,BER为4×10-5时,码长952的GLDPC码与码长476的GLDPC码相比,有近0.8 dB的性能增益。

图 6 同码率不同码长、同码长不同码率GLDPC码性能比较 Figure 6 Comparison of the performance of different length of GLDPC at the same rate and the same length of GLDPC at the different rate

在同等码长不同码率条件下,利用上文中码长为476的母矩阵构造出(476, 238, 238, 17, 9, 8)GLDPC码,码率为0.5(仿真结果如图 6所示)。码率为0.471的GLDPC码性能超过码率为0.5的GLDPC码性能。其中码率0.471的码字总共替换28个SPC节点,每个分量码对应17个变量节点,17×28=476,恰好保证每个变量节点有一条边来自QR,而码率为0.5的码字总共替换了26个SPC,17×26<476,即有部分变量节点的边全部来自SPC,导致译码性能大大降低。

4 结论

本文提出了一种基于(17, 9)QR码的GLDPC码的构造方法,并简化了基于线性分组码的GLDPC码的译码算法。仿真结果表明,在AWGN信道中,基于(17, 9)QR码的GLDPC码相比同码率下的LDPC码,在错误比特率和译码收敛速度上都取得了更优异的表现。

参考文献
[1]
GALLAGER R G. Low-density parity-check codes[J]. Journal of Circuits & Systems, 2008, 8(1): 3-26.
[2]
LENTMAIER M, ZIGANGIROV K S. On generalized low-density parity-check codes based on Hamming component codes[J]. IEEE Communications Letters, 1999, 3(8): 248-250. DOI:10.1109/4234.781010
[3]
DJORDJEVIX IB, MILENKOVIC O, VASIC B. Generalized Low Density Parity Check Codes for optical communication systems[J]. Journal of Lightwave Technology, 2015, 23(5): 1939-1946.
[4]
SOLOPERTO R, GARRAMMONE G, LIVA G, et al. Quasi-Cyclic Doubly Generalized LDPC Codes[C]// Vehicular Technology Conference. New York: IEEE Press, 2013: 1-5. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6692727
[5]
MILADINOVIC N, FOSSORIER M. Generalized LDPC codes with Reed-Solomon and BCH codes as component codes for binary channels[C]//IEEE Global Telecommunications Conference. New York: IEEE Press, 2005: 6. http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=1577850
[6]
CHENG Gaoming, LI Yong, DONG Can, ZHANG Xinqiu, et al. A fast algebraic decoding algorithm of the(71, 36, 11) quadratic residue code[J]. Journal of Chongqing University of Posts & Telecommunications, 2015, 27(6): 781-785.
[7]
林舒, 科斯特洛. 差错控制编码[M]. 北京: 机械工业出版社, 2007.
LIN Shu, JR D J C. Error Control Coding[M]. Beijing: China Machine Press, 2007.
[8]
HE Y, YANG J, SUN G. Doubly-generalized LDPC codes with SPC codes as super variable nodes[C]// Wireless Communications and NETWORKING Conference. New York: IEEE Press, 2015: 1072-1077. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7127618
[9]
JOHANSSON T, A K. A simple one sweep algorithm for optimal APP symbol decoding of linear block codes[C]// IEEE International Symposium on Information Theory, 1998. Proceedings. New York: IEEE Press, 2002: 231. http://ieeexplore.ieee.org/iel4/5721/15310/00708835.pdf
[10]
DIOUF M, DECLERCQ D, OUYA S, et al. A PEG-like LDPC code design avoiding short trapping sets[C]// IEEE International Symposium on Information Theory. I New York: IEEE Press, 2015: 1079-1083.