0 导言
信道编译码技能能够检测并且纠正信号在传输进程中引进的过错,能够确保数据进行牢靠的传输[1].
LDPC码的校验矩阵具有稀少的特性,因而存在高效的译码算法,其纠错才能十分强。1981年,Tanner提出了依据图模型描绘码字的概念,将LDPC码的校验矩阵对应到Tanner图的双向二部图上。选用Tanner图结构的LDPC码,经过并行译码可大大下降译码复杂度。Mack-ay 和Neal使用随机结构的Tanner 图研讨了LDPC 码的功能,发现选用和积算法(SPA)的LDPC 码具有优异的译码功能,在长码时乃至超越了Turbo 码[2].本文选用Mackay 依据二分图提出的改进计划结构LDPC 码的校验矩阵。依据相信传达(BP)算法,给出了一种简化的BP算法–对数域迭代APP LLR 算法,复杂度大大下降。现在,LDPC码是最有期望在广泛的信道规模获得香农容量的差错纠正技能[3],在确保LDPC 码纠错功能的前提下,下降编译码器完成的复杂度是研讨的要点,引发了信道编码界的研讨热潮。
1 LDPC 码编码
LDPC码是一种功能十分挨近香农极限的“好”码,它是惟一用校验矩阵来表明的线性分组码。LDPC码的编码首要分两步进行,首要结构奇偶校验矩阵,然后是依据奇偶校验矩阵的编码算法。
1.1 校验矩阵的结构
依据式子n*j = m*k 可知,规矩的LDPC码(n,j,k),当参数n, j, k 确认后,能够得到校验方程的数目m,则校验矩阵H 的巨细就能够定为m × n.结构LDPC 码校验矩阵的一般进程为:先生成一个m 行n 列的全0矩阵,然后随机地将每列中的j 个0换成1,每行中的k 个0换成1.但在随机置l的进程中,有必要防止呈现长度为4的环[4].
假如最小环长为4,在迭代中十分简单形成过错信息的分散传达,然后导致译码功能的下降[5].
Mackay 为了消除校验矩阵中长度为4 的环,依据Tanner图提出了改进的结构计划。采纳的准则是:在结构时有必要确保恣意两列间的交叠分量不超越1.本文选用的是Mackay的1A结构办法,依照此办法结构的一个LDPC码(3,6)码如图1所示。

Mackay的1A结构办法是最基本的一种结构办法,它要求确保固定列重为γ ,而行重尽可能均匀的坚持为ρ .
使用Mackay结构办法得到的LDPC码间隔特性很好,且没有短环。
1.2 依据奇偶校验矩阵的编码算法
LDPC码的直接编码办法便是使用高斯消去法,发生一个下三角矩阵,然后进一步初等变换得到右边单位阵方式H = [P|I] ,由G = [I|P] 得到生成矩阵,再使用信息码元向量u 和生成矩阵G 相乘可得到完好码字C,即C = M*G 直接编码[5].
2 LDPC 码译码[4,6-7]
BP 算法是在Gallager提出的概率译码算法基础上开展而来的。BP算法每次迭代包含2步:变量节点的处理和校验节点的处理。概率域便是在节点间传递的是概率信息,选用许多乘法运算,运算量大;而对数域的和积算法完成是将概率值经过对数似然比改变为软信息值(LLR),再进行传递,这样就将很多乘法运算变为加法运算,大大简化了译码复杂度,利于硬件完成。下面要点介绍对数域迭代APP LLR译码算法。
2.1 迭代APP LLR译码算法的变量界说
关于(N,K) LDPC码,界说变量U 取值为0和1时的对数似然比(LLR)为:

设发端发送的码字为u = [u1,u2 ,…,uN ] ,接纳码字为y = [y1,y2 ,…,yN ] ,由此能够得出在迭代中传递的校验节点和信息节点的软信息为:


2.2 迭代APP LLR译码算法
迭代APP LLR译码算法的迭代进程如下:
(1)初始化:设每个变量节点n 的软信息为:

关于矩阵中H(m,n) = 1,相应的变量节点的软信息初始化为信道输出的软信息,即λmn (un ) = L(un ),Λmn (un ) = 0.
(2)校验节点更新:依据每个变量节点n,向与该变量节点相连的一切校验节点传递更新的软信息,核算校验节点信息:

(3)判定:当λn (un ) 0,则u-n = 0 ,不然u-n = 1,此刻判定出的码为:u- ={u-1,u-2 ,…,u-N}.最终依据校验矩阵来判别所译出的码字是否正确。假如u-H T = 0,那么译码正确,此刻,中止迭代;不然持续迭代进行译码,直到迭代次数到达所设定的最大次数。假如此刻仍未正确译码,则译码失利。
由以上所述可见,在变量节点更新时只要加法运算,可是还能够再进一步下降算法的完成复杂度。选用迭代APP LLR 算法,将LLR BP 算法中的λn (un ) 替代λmn′(u ) n′ 参加校验信息的迭代。即λn (un ) 不只用于硬判定,还用于校验信息的更新。这样所传递的变量音讯之间便引进了相关性,传递的变量音讯就不再是外部音讯,只是需求核算和存储一个变量音讯的数值,能够大大地下降算法的复杂度。
3 LDPC 码在高斯信道下不同译码算法的仿真成果和剖析
依据Matlab依照上述的编译码办法,在高斯信道下分别对LDPC 码概率域的SPA 和对数域的迭代APPLLR 译码算法进行了误码功能仿真。然后由所得到的功能仿真图形进行剖析比较。
3.1 概率域的SPA的仿真成果和剖析高斯信道下,用BPSK 调制,选用概率域的迭代译码算法,迭代次数为20,该程序的长处是译码功率高,其要害当地使用了LOG 函数,提高了译码功率。相同码率均为1 2,码长分别为36,256,512,用概率域的迭代译码算法时的编译码体系的误码率随信噪比改变的曲线如图2所示。

由图2 可见,译码前的误码率最高,选用概率域的迭代译码算法后,误码率大幅度下降,译码功能较好。码长为512的LDPC码纠错功能最好,码长为36的LDPC码纠错功能最差。由此可得:在相同码率下,跟着码长的添加,LDPC码的纠错功能逐步改进。
3.2 迭代APP LLR译码算法的仿真成果和剖析
高斯信道下,用BPSK 调制,选用对数域的迭代译码算法,迭代次数为10,能够设置误码码字的最大数量来核算每个信噪比点,程序简明晰,简单了解,并且译码功率十分高。相同码率为1/2,码长分别为36、256、512,用对数域的迭代APP LLR译码算法时的编译码体系的误码率随信噪比改变的曲线如图3所示。