LDPC编码技术研究

来源:互联网 发布:linux联网安装软件命令 编辑:程序博客网 时间:2024/06/10 03:39

第 1 章绪 论

§1.1 数字通信系统描述

通信系统是为了将信源信息高效、可靠地传送到接收端。有扰通信信道的噪声会对传输信息产生干扰,从而可能降低通信可靠性。所以,通信系统设计的中心问题是在随机噪声干扰下如何有效而可靠地传输信息。一般地,通信系统的可靠性用错误比特率(BER)来衡量,有效性用传输速率 比特/信道符号来衡量。早期人们普遍认为通信系统的可靠性与有效性是一对不可调和的矛盾[1],在有扰通信信道上要实现任意小的信息传输错误概率的唯一途径就是把传输速率降低至零。Shannon 信息和编码理论的奠基性论文《通信的数学理论》[2]于 1948 年发表之后改变了这一观念,他首次阐明了在有扰信道中实现可靠通信的方法,指出实现有效而可靠地传输信息的途径是编码。目前典型的数字通信系统,如有线通信、无线通信、雷达和声纳等系统的基本组成如图 1.1 所示。

信源

信源编码器

信道编码器

数字调制器

信道干扰

数字解调器

信道译码器

信源译码器

信宿

编码信道

调制信道

图 1.1 数字通信系统模型

在数字通信系统中,信源编码器将消息源产生的二进制信息序列进行信源编码,目的是在允许的失真范围内,通过尽可能地去除信源中的冗余,从而使用最少的比特以尽可能有效地表示信源。在这里,对于信号失真的度量依赖于信源的性质和实际的应用环境,其中,最为常用的失真度量为信号的均方误差。Shannon 在信源编码定理[4]中指出,对于给定信源和失真度量 D,一定存在最小速率为 R(D)(比特/信源符号)的信源编码方式用以描述信源而平均失真不超过 D。显然,信源的率失真函数 R(D)给出了在确定失真度量条件下信源的最小速率。

信号在信道中传输时,存在着信道噪声、衰落、各种干扰以及信道本身的非理想频率响应等诸多不利因素。为了保证数据传输的可靠性,通常将信源编码器输出的信息比特流在发送之前进行信道编码,即通过有效地添加冗余,使得接收器能够以非常高的概率正确的从已经失真的接收信号中还原出原始信息比特流。Shannon 在他著名的信道编码定理中给出了在噪声信道中数据传输速率的上界,即信道容量。信道编码定理是:若有一离散、平稳、无记忆信道,其信道容量为 C,只要待传送的实际信息率 R<C,总可以找到一种编码,当输入序列足够长时,译码差错率(即误码率) eP ε< ,ε 为一个任意小的正数,反之,当 R>时,任何编码的 eP 必大于 0。该定理指明,在有扰信道中,只要信息传输速率小于信道容量,就有可能实现任意可靠的信息传输。这个存在性定理告诉我们可以实现接近信道容量的传输速率进行通信。当在噪声信道上的数据传输速率小于该噪声信道的容量 时,一定存在一种信道编码方案使得在接收端出的概率任意小;反之,如果 R>C,则一定不存在这样的方案。

根据以上讨论不难看出,编码在现代通信系统中起着至关重要的作用已经成为了现代通信系统中不可或缺的一个重要组成部分。编码可以从总体上分为两类:信源编码和信道编码。这两类编码在通信系统中有着不同的作用,其中,信源编码研究如何更加有效地表示信源,而信道编码则是研究如何克服信道中的各种失真从而保证数据的可靠传输。Shannon 在信源信道分离定理[4](source-channelseparation theory)中指出,假定在接收端所允许的信号的最大失真为 D,如果信源的码率小于信道容量 R(D)< C,则接收端可以在允许失真 范围内恢复信源输出;相反,不存在这样的方案。分离定理的一个重要意义在于,它证明了信道编码的设计可以不依赖于具体的信源类型。本文研究的内容是信道编码,所以假定信源产生的信息经过了有效的信源编码,产生的信息比特流为满足独立同分布的二进制比特流,然后研究信道编码技术对于出错比特的纠错能力。

§1.2 信道编码理论发展历程

香农提出了信道编码定理,并在其证明中引用了三个基本条件[2]:1、采用随机编码方式;2、码字长度趋于无穷大;3、采用最大似然译码算法。指出一个随机选择的码以很高的概率为好码,对于随机码的最大似然译码,其译码复杂度 与所传输的信息比特数呈指数关系,即为 = exp(NR),随机码的误码率上限为,误码率 ep 随着码长 趋于无穷大而趋向于 0 的同时,译码复杂度以指数增长,可见随机码在实际系统里其实并不实用。由于信道编码定理证明的非构造性,并没有给出如何构造逼近香农容量限的编码方法,构造一个逼近香农容量限的纠错码成了众多学者争相研究的课题,并逐渐形成了信息论的一个重要分支——信道编码理论。五十多年来,人们对构造实用好码的探索基本上是按照香农所提出的后两条基本条件为主线展开的。虽然从理论上讲,除了目前已知的码外,几乎所有的码都是好码,但到目前为止,离构造出真正意义上的实用好码还有较长的距离。尽管如此,国内外众多数字和信息论学术界的研究人员仍然取得了很多优异的研究成果。

从构造方法上看,纠错码可分为分组码和卷积码两大类。在上个世纪五十年到六十年代,人们主要研究了线性分组码。这类编码以代数中的群论、域论等理论为数学基础,利用各种代数方法设计好的纠错码,并研究与之相适应的译码算法。

第一个分组码是 1950 年发现的能纠正单个错误的汉明 (Hamming)码。1950 年汉明(Hamming R W)发表的论文《检错码与纠错码》[5]是开拓编码理论研究的第一篇论文。这篇论文主要考虑在大型计算机中如何纠正单个错误。但是 Hamming 码存在许多不足的地方,首先是效率不高,码率只有 4/7,其次是纠错能力不行,只能纠正单一的错误。M. Golay 针对汉明码的缺点提出了性能更好的格雷码 (Golay 码)[6]。Golay 发现了两种编码,一种是二元 Golay 码,采用 12 个数据比特,11 个校验比特为一组,能纠正 3 个错误。第二种是三元 Golay 码,以三进制数为运算域,6 个数据符号,5 个校验符号为一组,可以纠正 2 个错误。这两种码基本原理相同,都是将 元符号按每 个分为一组,然后通过编码得到 n-k 个 元符号作为冗余校验符号,最后由校验符号和信息符号组成有 个 元符号的码子符号,编码码率为 r = k/n

Muller 在 1954 年以布尔逻辑代数方式提出了 Reed-Muller 码(RM 码)[7],它比Hamming 码和 Golay 码好的地方是它可以改变码字大小和纠错能力,是 Reed 在 Muller基础上得到的一种新的分组码,也是继格雷码之后提出的最主要的一类分组码。RM 码在汉明码和格雷码的基础上前进了一大步,在码字长度和纠错能力方面具有更强的适应性。

继 RM 码之后,Prange 于 1957 年又提出了循环码的概念[8]。循环码实际上也是一类分组码,但是它的码字具有循环移位特性,即码字比特经过循环移位以后仍然是码字集合中的码字。这种循环结构使码字的设计范围大大增加,同时大大的简化了编译码结构。循环码的一个非常重要的子集就是分别由Hocquenghem在1959年以及Bose和Ray-Chuadhuri 研究组在 1960 年几乎同时提出的 BCH (Bose ChuadhuriHocquenghem) 码,BCH 码的码字长度为

n q=m- 1,其中 为一个整数。二元 BCH 码(q=2)的纠错能力限为<(2 m-1) / 2。1960 年 Reed 和 Solomon 将 BCH 码扩展到非二元(q>2)的情况,得到

了 RS(Reed-Solomon)码。RS 码的最大优点是其非二元特性可以纠正突发错误并且它也能纠正随机错误。但直到 1967 年 Berlekamp 给出了一个非常有效的译码算法之后,RS码才在实际系统中崭露头角,比如在 CD 播放器、DVD 播放器以及 CDPD(Cellular DigitalPacketData)标准中都得到了很好的应用。

上面所讨论的这些都是分组码,分组码本身的一些不足,限制了它的运用。第一,它必须是按帧传输、按帧译码,这样在帧长较长时会带来一定的时延。第二是要求准确的帧同步,这样才能准确译码。多数分组码要求解调器的硬判决输出,这样又会带来一些判决误差,影响性能。另外,分组码的译码方法通常都采用大数逻辑译码和捕错译码,其译码复杂度与码长成指数关系,码长越长,译码复杂度越大,而且上升趋势很快,所以基本上不实用。能够实用的只是短码长的情形,而短码的性能有限,难以达到逼近Shannon 极限的目标,Shannon 限的逼近需要长码,这就需要去寻找能够有效译码的长分组码。

1955 年,Elias 等人首先提出了卷积码[9]。卷积码不是将数据分割成不同的分组,而是通过移位寄存器将校验比特加入输入数据流中。每 比特输出是当前 比特输入和寄存器中的 比特的线性组合,每次输出总的比特数与约束长度 有关,其码率为在一次编码间隔中数据比特 与输出比特数 之比。卷积码与分组码不同在于它在编码的过程中引入了寄存器,增加了码元之间的相关性,在相同的复杂度下可以获得比分组码更高的编码增益,但是这种相关性同时也增加了分析和设计卷积码的复杂性。随着人们对卷积码研究的深入,在卷积码的译码算法方面出现了序列译码算法、门限译码算法和维特比(Viterbi)译码算法[10]。维特比(Viterbi)译码算法的出现,使卷积码逐渐成为研究和应用的重点,以后出现的 TCM(栅格编码调制)技术进一步确立了卷积码在纠错码应用中的主导地位,特别是在通信系统中得到了极为广泛的应用。其中,约束长度 k=7,码率为 1/2和 1/3 的 Odenwalder 卷积码已经成为商业卫星通信系统中的标准编码方法。在移动通信领域,GSM 采用约束长度 k=5,码率为 1/2 的卷积码;在 IS-95 CDMA 系统中,上行链路中采用的是约束长度 k=9,码率为 1/2 的卷积码。

卷积码的主要问题是对突发性错误的纠错能力差。但是采用交织和卷积码结合的方式,可以在码比特送入信道前,进行分组交织,再进行卷积码编码,在接收端,先解交织,再译码。经过这一交织与解交织的过程,突发性错误就变成了随机错误。卷积码性能得到改善。

经过上个世纪几十年的研究和实践,纠错码理论和技术取得了很大的发展,但是距离 Shannon 理论极限仍然还有一定的距离,难以找到逼近 Shannon 极限的编码方案,这使得人们一度认为 Shannon 极限仅仅是理论上的极限,是不可能达到的。此时,法国的C.Berrou 等人在 1993 年提出了一种全新的信道编码方案:Turbo 码[11],在信道编码的理论和应用中取得了突破性的进展,具有里程碑的意义。它打破了串行级联编码的结构,采用并行级联编码。Turbo 码的基本思想在于利用短码构造长码,在译码时,将长码化为短码,再利用软输入/软输出的迭代译码算法(MAP 算法,SOVA 算法)达到了接近Shannon 极限的性能。

Turbo 码的优异性能使其一度成为编码界研究的热点,其理论和技术也逐渐成熟起来。Turbo 码在通信中有广阔的应用前景,在诸如星际探测、移动通信、数字电视、数字广播、卫星通信中都得到广泛应用。但是 Turbo 码也有自身的缺点,它的译码复杂度仍然较高,且码长较长时,交织器的存在使得时延较大。

 

就在人们热点研究 Turbo 码的时候,有人注意到了一种早在 1962 年就由 Gallager提出来的信道编码方案——LDPC 码( Low Density Parity Checkcodes)[12][13],它利用校验矩阵的稀疏性,使得译码复杂度只与码长成线性关系,在长码长的情况下仍然可以有效的进行译码,因而具有更简单的译码算法。后来 D.J.Mackay、M.Neal 和 N.Wiberg 等人对 LDPC 码重新进行了研究[14][15],发现 LDPC 码与 Turbo 一样具有逼近 Shannon 极限的性能[16]。最新的研究结果显示,实验中已找到的最好 LDPC 码,其极限性能距 Shannon理论限仅相差 0.0045dB[17]。

§1.3 LDPC 码的研究与发展

1962 年 Gallager 最早提出了二元正则 LDPC 码,所以它亦被称为 Gallager 码。LDPC码可看作一个具有稀疏校验矩阵的线性分组码,在校验矩阵中“1”的数量很少,当矩阵的行和列中“1”的数目分别固定为 cd 和 vd 时,被称为正则 LDPC 码。Gallager 将 LDPC码的校验矩阵对应到一个具有比特节点和校验节点的树图上,即校验矩阵的每一列对应于一个表示码字比特位的比特节点,每一行对应于一个校验节点,每个比特节点受到 vd个校验节点的约束,同时每个校验节点亦受到 cd 个比特节点的约束。Gallager 证明了LDPC 码的最小汉明距离随着码长的增长而线性增长,即 LDPC 码是满足 GV 限的渐进好码。在计算树图上采用迭代后验概率译码,可以获得依码字长度降低的比特错误概率。尽管 Gallager 证明了 LDPC 码是具有渐进特性的好码,但由于 LDPC 码的编码复杂度高,对硬件实现要求也高,而当时的计算工具和存储器件较差,LDPC 码一度被认为是一种不实用的码,在很长的一段时间内没有受到人们的重视。

1981 年,Tanner 在一篇奠基性文章[18] 中正式提出了用图模型来描述码字的概念。Tanner 将 LDPC 码的校验矩阵对应到被称为 Tanner 图的双向二分图上:双向二分图由多个局部约束子集合构成,每个子集合包含的比特节点数目等于校验矩阵中每一行“1”的个数,同时每个比特节点参与的子集合数目等于校验矩阵中每一列“1"的个数。在译码过程中,每个子集合单独译码,子集合间通过共同拥有的比特节点进行信息传递,经过多次迭代完成译码。采用 Tanner 图构造的 LDPC 码,通过并行译码可以显著降低译码复杂度。Tanner 还仔细分析了最小和算法(Min-Sum algorithm)与和积算法(Sum-Product algorithm, SPA)两种信息传递译码算法,证明了基于有限无环 Tanner 图最小和译码算法及和积译码算法的最优性。但在实际中,Tanner 图的构造采用随机图的方式,从而使得Tanner 图中存在小环路现象,这些小的环路会造成译码信息的重复传递,影响迭代译码算法的收敛性以及译码性能。

MacKay 和 Neal 利用随机构造的 Tanner 图研究了 LDPC 码的性能,结果表明采用和积译码算法的正则 LDPC 码具有和 Turbo 码相似的译码性能,长码的性能甚至超过了Turbo 码。Davey 和 MacKay 从减少 Tanner 图上小环路的概念出发,提出了基于 GF(q),q>2 的 LDPC 码,进一步提高了 LDPC 码的译码性能[19][20]。Spielman 和 Sipser 提出了基于二分扩展图的扩展码[21][22][23][24]。在对扩展码的研究中,他们证明了一个随机构造的Tanner 图以很大的概率为好的扩展图,而由好扩展图构造的线性纠错码是渐进好码,从而证明了采用随机 Tanner 图构造的 LDPC 码是很大概率的渐进好码。Luby 等人将采用非规则 Tanner 图构造的扩展码用于纠删信道中,称之为 Tornado 码[25][26]。由于采用了非规则 Tanner 图,Tornado 码具有更大的扩展性和更好的收敛性,纠删性能更强。采用优化度序列设计的非规则 Tanner 图可用于构造非正则 LDPC 码,与正则 LDPC 码相比,非正则 LDPC 码的性能得到显著的提高[27][28][29]。

Wiberg 结合 Turbo 码和网格图对 Tanner 因子图进行了研究,将其推广成包含隐含状态变量的因子图(factor graph)[30]。Wiberg 的因子图是一个包含比特节点和校验节点的二分图,每个局部约束子集合由一个校验节点及多个比特节点组成。在子集合的译码过程中,比特节点的先验信息传递到校验节点,校验节点的校验信息也会在得到不断的修正后传给比特节点。所以本质上,Wiberg 提出的因子图与 Tanner 提出的 Tanner 图并没有太大的区别。从因子图的角度看,网格图只是其中一个特殊情况,因此Turbo码和LDPC码在因子图的基础上得到了统一。从因子图的研究发现,在任意给定的系统中,无环图的状态复杂度是最大的,有环图的状态复杂度更低,这证明了基于有环因子图的 LDPC码具有较低的译码复杂度。Wiberg 同时还证明了最小和算法和和积算法在本质上的同一性,在无环图中,它们分别等效于最大似然译码(ML)和最大边界后验概率译码(APP)。

LDPC 码的另一个重要研究成果是 Richardson 等人应用密度进化理论来估计 LDPC码的性能[27][28]。Richardson 等人在对 LDPC 码的研究中发现,在译码信息的迭代传递过程中存在译码阈值现象,即当信噪比大于译码阈值时,迭代译码可使误码率趋于零,如果信噪比小于译码阈值,则无论采用多长的 LDPC 码,经过多少次迭代译码,总存在一定的错误概率。通过建立在无环图上的密度进化理论,可以精确地计算无环图上 LDPC码的译码阈值,分析其译码收敛条件,从而可以近似估算有环因子图上 LDPC 码的性能。研究表明,译码阈值的大小与 LDPC 码的构造参数密切相关,采用优化度序列设计的非正则 LDPC 码可以有效地改善阈值,因此,密度进化理论是指导优化设计 LDPC 码的一个极好的工具[31]。Chung 等通过对密度进化理论的研究,进一步提出了应用高斯逼近原理来简化译码阈值的计算和收敛性分析,从而使分析 LDPC 码性能的模型由多参数动态系统的密度进化理论模型简化为单一参数动态系统的高斯逼近模型[29]。Ardakani 于2004 年提出了半高斯近似算法,并利用半高斯近似算法分析和设计了 BPSK 调制下的二元非正则 LDPC 码。

近年来,LDPC 码和通信系统中的其他关键技术的结合成为一个新的研究热点,包括 LDPC 码与 Turbo 码以及空时码的结合使用,LDPC 码编码与调制,LDPC 码的编译码与 MIMO 技术的结合,基于 LDPC 码的 OFDM 系统以及基于 LDPC 码的 CDMA 系统等。同时,由于 LDPC 码译码复杂度相对较低并且硬件水平在不断提高,LDPC 码的硬件实现也正在成为一个研究重点。LDPC 码所具有的巨大应用潜力,使其在深空通信、光纤通信、卫星数字视频和声频广播、磁/光/全息存储、移动以及固定无线通信和数字用户线等领域都得到了广泛的应用。目前 LDPC 码已经为多个国际标准组织所重视,欧洲 DVB 标准组织制定的最新数字视频卫星广播全球标准 DVB-S2 已经使用 LDPC 码作

链接: https://webcache.googleusercontent.com/search?q=cache:x3bpGWCoIbQJ:202.38.93.40:8800/openfile%3Fdbid%3D72%26objid%3D52_52_48_51_49%26flag%3Dfree+&cd=3&hl=zh-CN&ct=clnk&gl=cn

 

0 0