您好,欢迎访问三七文档
编码理论周武旸wyzhou@ustc.edu.cn中国科学技术大学•助教–刘磊:liul@mail.ustc.edu.cn第一章序论编码理论的内容包括三个方面以保证数字信息传输和处理的可靠性为目的的差错控制编码(error-controlcoding),又称为信道编码(channelcoding);以提高数字信息传输、存储处理的有效性为宗旨的信源编码(Sourcecoding);以增加数字信息传输、存储的安全性为目标的数据加密编码(dataencryption);我们主要讨论差错控制编码技术。差错控制编码技术是适应数字通信抗噪声干扰的需要而诞生和发展起来的,它是于1948年、著名的信息论创始人C.E.Shannon(香农)在贝尔系统技术杂志发表的“AMathematicalTheoryofCommunication”一文,开创了一门新兴学科和理论:信息论和编码理论。1.1信道编码的历史及研究现状1948年,Bell实验室的C.E.Shannon发表的《通信的数学理论》,是关于现代信息理论的奠基性论文,它的发表标志着信息与编码理论这一学科的创立。Shannon在该文中指出,任何一个通信信道都有确定的信道容量C,如果通信系统所要求的传输速率R小于C,则存在一种编码方法,当码长n充分大并应用最大似然译码(MLD,MaximumLikelihoodDecdoding)时,信息的错误概率可以达到任意小。从Shannon信道编码定理可知,随着分组码的码长n或卷积码的约束长度N的增加,系统可以取得更好的性能(即更大的保护能力或编码增益),而译码的最优算法是MLD,MLD算法的复杂性随n或N的增加呈指数增加,因此当n或N较大时,MLD在物理上是不可实现的。因此,构造物理可实现编码方案及寻找有效译码算法一直是信道编码理论与技术研究的中心任务。Shannon指出了可以通过差错控制码在信息传输速率不大于信道容量的前提下实现可靠通信,但却没有给出具体实现差错控制编码的方法。20世纪40年代,R.Hamming和M.Golay提出了第一个实用的差错控制编码方案,使编码理论这个应用数学分支的发展得到了极大的推动。通常认为是R.Hamming提出了第一个差错控制码。当时他作为一个数学家受雇于贝尔实验室,主要从事弹性理论的研究。他发现计算机经常在计算过程中出现错误,而一旦有错误发生,程序就会停止运行。这个问题促使他编制了使计算机具有检测错误能力的程序,通过对输入数据编码,使计算机能够纠正这些错误并继续运行。Hamming所采用的方法就是将输入数据每4个比特分为一组,然后通过计算这些信息比特的线性组合来得到3个校验比特,然后将得到的7个比特送入计算机。计算机按照一定的原则读取这些码字,通过采用一定的算法,不仅能够检测到是否有错误发生,同时还可以找到发生单个比特错误的比特的位置,该码可以纠正7个比特中所发生的单个比特错误。这个编码方法就是分组码的基本思想,Hamming提出的编码方案后来被命名为汉明码。Hamming,1915-1998虽然汉明码的思想是比较先进的,但是它也存在许多难以接受的缺点。首先,汉明码的编码效率比较低,它每4个比特编码就需要3个比特的冗余校验比特。另外,在一个码组中只能纠正单个的比特错误。M.Golay研究了汉明码的这些缺点,并提出了两个以他自己的名字命名的高性能码字:一个是二元Golay码,在这个码字中Golay将信息比特每12个分为一组,编码生成11个冗余校验比特,相应的译码算法可以纠正3个错误。另外一个是三元Golay码,它的操作对象是三元而非二元数字。三元Golay码将每6个三元符号分为一组,编码生成5个冗余校验三元符号。这样由11个三元符号组成的三元Golay码码字可以纠正2个错误。汉明码和Golay码的基本原理相同。它们都是将q元符号按每k个分为一组.然后通过编码得到n-k个q元符号作为冗余校验符号,最后由校验符号和信息符号组成有n个q元符号的码字符号。得到的码字可以纠正t个错误,编码码率为为k/n。这种类型的码字称为分组码,一般记为(q,n,k,t)码,二元分组码可以简记为(n,k,t)码或者(n,k)码。汉明码和Golay码都是线性的,任何两个码字经过模q的加操作之后,得到的码字仍旧是码集合中的一个码字。在Golay码提出之后最主要的一类分组码就是Reed-Muller码。它是Muller在1954年提出的,此后Reed在Muller提出的分组码的基础上得到了一种新的分组码,称为Reed-Muller码,简记为RM码。在1969年到1977年之间,RM码在火星探测方面得到了极为广泛的应用。即使在今天,RM码也具有很大的研究价值,其快速的译码算法非常适合于光纤通信系统。在RM码提出之后人们又提出了循环码的概念。循环码实际上也是一类分组码,但它的码字具有循环移位特性,即码字比特经过循环移位后仍然是码字集合中的码字。这种循环结构使码字的设计范围大大增加,同时大大简化了编译码结构。循环码的另一个特点就是它可以用一个幂次为n-k的多项式来表示,这个多项式记为g(D),称为生成多项式,其中D为延迟算子。循环码也称为循环冗余校验(CRC,CyclicRedundancyCheck)码,并且可以用Meggitt译码器来实现译码。由于Meggitt译码器的译码复杂性随着纠错能力t的增加而呈指数形式的增加,因此通常CRC码用于纠正只有单个错误的应用情况,常用做检错码而非纠错码。循环码的一个非常重要的子集就是分别由Hocquenghem在1959年、Bose和Ray-Chaudhuri研究组在1960年几乎同时提出的BCH码(BCH,BoseChaudhuriHocquenghem),BCH码的码字长度为n=qm-1,其中m为一个整数。二元BCH码(q=2)的纠错能力限为t(2m-1)/2。1960年,Reed和Solomon将BCH码扩展到非二元(q2)的情况,得到了RS(Reed-Solomon)码。1967年,Berlekamp给出了一个非常有效的译码算法后,RS码得到了广泛的应用。此后,RS码在CD播放器、DVD播放器中得到了很好的应用。虽然分组码在理论分析和数学描述方面已经非常成熟,并且在实际的通信系统中也已经得到了广泛的应用,但分组码固有的缺陷大大限制了它的进一步发展。首先,由于分组码是面向数据块的,因此,在译码过程中必须等待整个码字全部接收到之后才能开始进行译码。在数据块长度较大时,引入的系统延时是非常大的。分组码的第二个缺陷是它要求精确的帧同步,即需要对接收码字或帧的起始符号时间和相位精确同步。另外,大多数基于代数的分组码的译码算法都是硬判决算法,而不是对解调器输出未量化信息的软译码,从而造成了一定程度的增益损失。分组码所存在的固有缺点可以通过采用其他的编码方法来改善。这种编码方法就是卷积码。卷积码是Elias等人在1955年提出的。卷积码与分组码的不同在于:它充分利用了各个信息块之间的相关性。通常卷积码记为(n,k,N)码。卷积码的编码过程是连续进行的,依次连续将每k个信息元输入编码器,得到n个码元,得到的码元中的检验元不仅与本码的信息元有关,还与以前时刻输入到编码器的信息元(反映在编码寄存器的内容上)有关。同样,在卷积码的译码过程中,不仅要从本码中提取译码信息,还要充分利用以前和以后时刻收到的码组.从这些码组中提取译码相关信息,而且译码也是可以连续进行的,这样可以保证卷积码的译码延时相对比较小。通常,在系统条件相同的条件下,在达到相同译码性能时,卷积码的信息块长度和码字长度都要比分组码的信息块长度和码字长度小,相应译码复杂性也小一些。Elias,1923-2001卷积码的译码通常有如下几个比较流行的译码算法:由Wozencraft和Reiffen在1961年提出,Fano和Jelinek分别在1963年和1969年进行改进了的序贯译码算法。该算法是基于码字树图结构的一种次优概率译码算法。由Massey在1963年提出的门限译码算法。这个算法利用码字的代数结构进行代数译码。由Viterbi在1967年提出的Viterbi算法。该算法是基于码字格图结构的一种最大似然译码算法,是一种最优译码算法。在Viterbi译码算法提出之后,卷积码在通信系统中得到了极为广泛的应用。如GSM、3G、商业卫星通信系统等。Viterbi,CDMA之父近年来,在信道编码定理的指引下,人们一直致力于寻找能满足现代通信业务要求、结构简单、性能优越的好码,并在分组码、卷积码等基本编码方法和最大似然译码算法的基础上提出了许多构造好码及简化译码复杂性的方法,提出了乘积码、代数几何码、低密度校验码(LDPC,LowDensityParityCheck)、分组-卷积级联码等编码方法和逐组最佳译码、软判决译码等译码方法以及编码与调制相结合的网格编码调制(TCM,TrellisCodedModulation)技术。其中对纠错码发展贡献比较大的有级联码、软判决译码和TCM技术等。Gallager虽然软判决译码、级联码和编码调制技术都对信道码的设计和发展产生了重大影响,但是其增益与Shannon理论极限始终都存在2~3dB的差距。在1993年于瑞士日内瓦召开的国际通信会议(1CC'93)上,两位任教于法国不列颠通信大学的教授C.Berrou、A.Glavieux和他们的缅甸籍博士生P.Thitimajshima首次提出了一种新型信道编码方案——Turbo码,由于它很好地应用了Shannon信道编码定理中的随机性编、译码条件,从而获得了几乎接近Shannon理论极限的译码性能。仿真结果表明,在采用长度为65536的随机交织器并译码迭代18次情况下,在信噪比Eb/N0=0.7dB并采用二元相移键控(BPSK)调制时,码率为1/2的Turbo码在加性高斯白噪声信道上的误比特率(BER)=10-5,达到了与Shannon极限仅相差0.7dB的优异性能。(1/2码率的Shannon极限是0dB)。BerrouandForney1997年,Host、Johannesson、Ablov提出了编织卷级码(WovenConvolutionalCode,WCC)的概念,随后编织码(Wovencode)便发展起来了。它是一种组合码,其系统结构可完全包容传统分组码、卷级码以及各类Turbo码,开创了编码领域的一个新天地。编织码的结构综合了并行级联卷级码(Turbo码)和串行级联卷级码的结构特点,当外编码器个数足够多时,该码型完全拥有了Shannon编码定理中随机长码的特性,因此,其纠错性能理论上比Turbo码要优异。但编织码的编码结构复杂性较高,编码效率也不高,目前研究最多的是1/3的编织卷级码,译码采用BCJR算法的迭代译码。发展概括1948年,Shannon发表开创性文章“通信的数学理论”;1950年,Hamming发明了汉明码;1955年,Elias引入了卷级码;1957年,Prange提出了循环码;1960年,Bose/Chaudhuri/Hocquenghem发明了BCH码;Reed和Solomon提出了RS码;1962年,Gallager提出了LDPC码;1967年,Berlekamp引入了BCH/RS码的快速译码算法;1968年,Gallager著书《Informationtheoryandreliablecommunication》;1971年,Viterbi引入卷级码的最大似然译码;1972年,BCJR算法的提出;1981年,Tanner提出了用于理解信道编码理论的Tanner图;1982年,Ungerboeck引入编码调制;1993年,Berrou/Glaveieux/Thitimajshima提出了Turbo码;1995年,MacKay重新发现了LDPC码;1997年,Host/Johannesson/Ablov提出了编织卷级码。2000年,Aji与McEliec
本文标题:信道编码简介..
链接地址:https://www.777doc.com/doc-5190163 .html