1 引言
通信系统的基本目的在于将信息由信源高效、可靠、有时还需安全地传送到信宿。有扰通信信道中的噪声会不可避免地对传输信息产生不同程度的干扰,从而可能降低通信可靠性。所以通信系统设计的核心问题就是在存在随机噪声的信道中如何克服干扰,减小信息传输的差错,同时又不降低信息传输的效率,即如何解决系统的有效性与可靠性之间的矛盾。一般地,通信系统的可靠性用误比特率(BER)来衡量,其有效性则用信息传输速率R比特信道符号来衡量。早期的人们普遍认为:通信系统的可靠性与有效性之间是一对不可调和的矛盾,一方的改善总是以牺牲另一方为代价,并指出当功率受限时,在有扰通信信道上实现任意小错误概率的信息传输的唯一途径就是把信息传输速率降低至零。Shannon信息和编码理论的奠基性论文“通信的数学理论”发表之后,改变了这一观点。他首次阐明了在有扰信道上实现可靠通信的方法,指出实现有效而可靠地传输信息的途径就是通过编码。根据Shannon的信息理论,数字通信系统的基本组成如图。
图1.1 数字通信系统基本模型
Shannon的信息理论从通信系统的整体最佳化来研究信息的传输和处理。比特是一种通用的信息表示形式,它本身并不依赖于信源或信道特征。这就允许我们分别设计图1.1所示的两个阶段的信息处理,即信源编码和信道编码。Shannon不失最佳性地证明了这种分离性。图1.1中的信道部分只是信息传输所通过媒介的一种抽象,实际的信道是多种多样的,如电缆、光缆、存储设备、甚至我们所处的实际空间及外太空等等。对于通信系统设计者来讲,了解系统中信道的特性是必需的。根据信道的输入输出的取值连续与否可以将其分为离
散信道、连续信道和离散输入连续输出信道;根据信道统计特性是否随时间改变可以将其分为平稳信道和非平稳信道:根据信道的输出之间是否具有相关性可将其分为记忆信道和无记忆信道;根据信道的特性对输入端是否具有对称性可以将其分为对称信道和非对称信道。实际应用中所涉及到的信道大多都是离散输入的平稳无记忆对称信道,下面给出几种常用的编码信道模型。
二进制对称信道(BSC):输入为二值变量0、1,输出也为二值变量0、l,且传输过程中发生错误(输入为0输出为1或输入为1输出为0)的概率与输入无关:
二进制删除信道(BEC):输入为二值变量0、1,输出或为输入的二值变量0、1,或为删除E,且通常传输过程中不同输入被删除的概率相同;
二进制输入高斯信道(BIAWGN):输入为二值变量,输出为连续变量,且信道中的加性噪声为服从N(O,万2)的高斯随机变量。
在过去的几十年里,移动通信技术得到了迅猛的发展和广泛的应用,至今已发展了三代。第一代移动通信(1G)是以模拟传输的方式进行语音通话,主要是采用以蜂窝结构网为核心的模拟技术和频分多址(FDMA)动态寻址技术。第二代移动通信(2G)以数字传输的方式进行语音通话和数据业务,2G系统采用的是数字的时分多址(TDMA)或码分多址(CDMA)实现动态寻址功能,以GSM、CDMA系统为代表,实现了从模拟到数字系统的跨越。第三代移动通信(3G)是着重实现传统的移动通信与开放式的因特网融合,各个国家的网络将融合为一个整体。而在移动通信更新换代中,信道编码技术是其中非常重要的一项。本文所论述的LDPC码即是信道编码的其中之一。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置
函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对 MATLAB的功能进行扩充。MATLAB的数据分析和处理功能十分强大,运用它对所涉及到的LDPC编译码进行仿真。
2 LDPC码概述
2.1 线性分组码
因为低密度奇偶校验码是一种特殊的线性分组码,所以本章将首先对 线性分组码做一个概述,为讨论LDPC码作铺垫。
定义l:整数0,l,2,?,q.1,q是自然数,在模P加和乘运算下构成 一个伽逻华域GF(q)。
定义2:如果一个分组码C,包含N个由GF(q)中的元素构成的码字(,,?,),则当且仅当C构成一个GF(q)上的矢量子空间时,称C为q进制线性码。在本篇论文里,只考虑二进制码,所以q=2。
定义3:线性码的维数等于对应的矢量空间的维数,一个长度为N,维数为K的线性码总共包括个长度为N的码字。
线性码还有如下一些有用的性质:
性质1:任意码字的线性组合仍然是一个码字。此性质的一个结论是线性码必然包含一个全零码字。
性质2:线性码的最小距离等于其中一个最轻非零码字的汉明重量。这一性质表明确定线性码的最小距离(决定检错和纠错能力)要比一般的分组码要容易的多。
性质3:线性码中不可检测的错误图案与传输的码字无关,且由所有的非零码字组成。
假设(,,,是组成(N,K)--进制码空闭的一组基底,对任意一个码字c∈C,存在唯一的表达形式
C=+++ (2-1)
因为所有基元的线性组合仍然是一个码字,所以存在长度为K的码组 和C中码字之间的一一映射。以下矩阵G就是由基矢按行排列而成。
2.2 低密度奇偶校验码(LDPC码) 2.2.1 LDPC码定义
LDPC码是线性分组码中较为特殊的一种,但是目前LDPC码并没有严
格的数学定义。考虑到其结构上的特点和叙述上的方便,本文对LDPC码做如
下的定义。LDPC码是一个m行n列的稀疏矩阵H的零空间,H称为LDPC码的校验矩阵,并且满足:
l、矩阵的行重、列重与码长的比值远小于1; 2、任意两行(列)最多只有1个相同位置上的1; 3、任意线性无关的列数尽量的大。
这样的LDPC码码长为n,校验位长度大约为m,信息位长度为k n-m。 一个规则LDPC码是指校验矩阵H满足列重和行重分别等于常数,和,因为我们并没有要求校验H是满秩矩阵,所以其码率为:
r1-=1- (2-2)
(2.3)式是一个n=10, =2, =4 ,r=0.5规则LDPC码的校验矩阵。
?1?1? H??0??0??0101001001010001011000101001001001100?0?00?? 01 (2-3) ?0?1?1?1如果校验矩阵H的列重和行重并不是常数,我们就称其为不规则LDPC码,我们可以认为规则LDPC码是不规则LDPC码中的一个特例。不规则LDPC码可以用重量分布多项式来方便的描述。假设最大列重和最大行重分别是和,则H的列重分布多项式 (x)可以表示为:
(x)= (2-4)
其中,是重量为i的列所占的比例,同时 (x) (1)=1。类似的,H的行重分
布多项式 (x)可以表示为:
(x)= (2-5)
是重量为i的行所占的比例, (x)也满足 (1)=1。此时,码率r满足:
r1- (2-6)
值得注意的是,对于一个给定的码长n和行、列重量分布多项式,我们得到的是一类LDPC码而不是一个特定的LDPC码。
我们得由上面的叙述我们知道,LDPC码是由其校验矩阵H定义的。对于一个线性分组码,其校验矩阵并不是唯一的。也就是说如果对于线性分组码的校验矩阵做行变换,得到的矩阵也是这个码的校验矩阵。但是,对于LDPC码
这种特殊的线性分组码而言,由于译码算法的设计和性能分析的需要,我们仅仅关心其属于稀疏矩阵的这个校验矩阵,因此,定义一个LDPC码必须给出这个稀疏的校验矩阵才有意义。对于LDPC码的生成矩阵,并没有其他特殊的限制。
为了分析的方便,我们可以用因子图来表示一个LDPC码。图中的变量节点(i=0,l,...,n-1)与校验矩阵的列(也即码字中的每一位)一一对应,校验节点j(j=0,1,...,m-1)与校验矩阵的行(也即各个校验方程)一一对应。和;相连接,当且仅当校验矩阵中对应位置的元素是1。这样,该因子图是一个偶图,其邻接矩阵就是该校验矩阵。图2.1是(2.7)式中校验矩阵的因子图。由于LDPC码定义中的第2条的限制,因子图中不会存在长度等于4的圈(对任意一个偶图,圈的最小长度为4)。
图2.1 LDPC码的因子图表示
一般而言,不规则码的性能要优于规则码,但是实现的复杂度和分析的复杂度都要大得多。非规则码的编译码方法与规则码相似,而其性能却优于规则码,这是因为非规则码的“波浪效应”,在LDPC码的随机双向图中,对信息节点来说,其度数越高,它从校验节点所获得的信息也就越多,也就能更准确的判断其校验值;反之,从校验节点的角度来看,希望度数低,其度数越低,那么传播到相邻节点的有用信息也就越多。而非规则码的随机双向图就很好的平衡了信息节点与校验节点二者对度数的要求。而所谓的“波浪效应”也就是度数大的信息节点首先获得正确值,然后度数小的信息节点也可以获得正确值。非规则码的产生,使规则LDPC码的定义产生了变化。在非规则码中,度的变化范围很大,往往最大度可达几十或上百,因此,我们更广泛地把度的变化很微小的LDPC码都称之为规则的。