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所示。
由图3可见,码长为512的LDPC码纠错性能最好,码长为36的LDPC码纠错性能最差。即在相同码率下,随着码长的增加,LDPC码的纠错性能逐渐改善。
3.3 概率域的SPA和对数域的迭代APP LLR译码算法的误码性能比较及分析
高斯信道下,用BPSK调制,分别对码率为1/2,码长为256 的LDPC 码概率域的SPA 和对数域的迭代APPLLR译码算法的性能比较,如图4所示。
由图4 可见,概率域的SPA 算法复杂,需耗费较多的硬件资源和时间,仿真性能略好;对数域的迭代APPLLR算法将大量乘法运算变为加法运算,大大简化了译码复杂度,算法收敛所需的迭代次数减少一半,译码器的延时也比较小,更利于硬件实现。对数域译码算法运算量的下降是以牺牲一部分的性能为代价的,在复杂度降低的同时,抗干扰能力也在下降,但性能的恶化并不大。
4 LDPC 码在VHF 频段信道下的仿真结果和分析[8-10]
VHF频段小尺度模型信道的仿真场景为乡村、城市、沿海、郊区。所仿真的信道基本上是相关的,即是平稳衰落过程。其中相关时间是由时延相关时间(单位:ns)和移动速度来计算。一般情况下,将VHF频段划分为三个子频段:高频段(67.3~108 MHz)、中频段(47.4~67.3 MHz)、低频段(30~47.4 MHz)。本文只对低频段信道进行仿真,为了针对更恶劣的情况,在瑞利多径衰落信道下进行仿真,在四种不同的场景下的时延及功率如表1~表4所示。
LDPC 码在瑞利多径衰落信道(低频)下,用BPSK调制,采用对数域的迭代APP LLR 译码算法进行性能仿真,码率为1/2,码长为256 的LDPC 码的编译码系统分别在乡村、城市、沿海和郊区四种不同场景的误码率随信噪比变化的曲线,如图5所示。
由图5 可见,LDPC 码在比高斯信道更加恶劣的瑞利信道下,其误码率随信噪比变化的曲线呈下降的趋势。LDPC码在信道条件相对较好的乡村场景下的误码性能最好,在信道条件最恶劣的城市场景下的误码性能最差。由此可以得到,其误码性能与时延、功率及四种场景的环境、地形等因素有着密切的关系。时延越小,功率越小,地形越平坦开阔,障碍物越少,LDPC码的纠错性能越好。即LDPC 码随着信道条件恶劣程度的增加,其译码性能也在逐渐降低。
5 结束语
信道编译码技术已成为现代通信系统不可缺少的关键技术,基于图模型的LDPC 码使人们以较低的复杂度实现了可靠通信,对LDPC码的研究不仅具有重要的学术价值和理论指导意义,更具有强烈的应用背景及十分显着的经济效益。LDPC码是近年来信道编码领域一个里程碑式的进展,优异的纠错性能和自然并行的译码算法使得它在多个国际性通信标准中得到应用。理论分析及仿真结果均表明,基于迭代APP LLR算法的LDPC码,实现简单,性能优异,具有良好的工程应用前景。