第二章 信道编码简介2、1信道编码简介一、信道编码理论1948年,信息论的创始人Shannon 从理论上证明了信道编码定理又称为Shannon 第二定理。
它指出每个信道都有一定的信道容量C ,对于任意传输速率R 小于信道容量C ,存在有码率为R 、码长为n 的分组码和),,(00m k n 卷积码,若用最大似然译码,则随码长的增加其译码错误概率e p 可以任意小]1[。
)(R E n b e b e A p -≤ (2.1))()()1(0R E n c R E n m c e c c c e A e A p -+-=≤ (2.2)式中,b A 和c A 为大于0的系数,)(R E b 和)(R E c 为正实函数,称为误差指数,它与R 、C 的关系]2[如图2.1所示。
由图可以看出:)(R E 随信道容量C 的增大而增加,随码率R 的增加而减小。
这个存在性定理告诉我们可以实现以接近信道容量的传输速率进行通信,但并没有给出逼近信道容量的码的具体编译码方法。
Shannon 在信道编码定理的证明中引用了三个基本条件:1、采用随机编译码方式;2、编译码的码长n 趋于无穷大;3、译码采用最佳的最大后验译码。
在高斯白噪声信道时,信道容量:)/](1[log 02s bit WN P W C S += (2.3)上式为著名的Shannon 公式,式中W 是信道所能提供的带宽,T E P S S /=是信号概率,S E 是信号能量,T 是分组码信号的持续时间即信号宽度,W P S /是单位频带的信号功率,0N 是单位频带的噪声功率,)/(0WN P S 是信噪比。
图2.1 )(R E 与R 的关系由上面几个公式及图2.1可知,为了满足一定误码率的要求,可用以下两类方法实现。
一是增加信道容量C ,从而使)(R E 增加,由式(1.3)可知,增加C 的方法可以采用诸如加大系统带宽或增加信噪比的方法达到。
当噪声功率0N 趋于0时,信道容量趋于无穷,即无干扰信道容量为无穷大;增加信道带宽W 并不能无限制的使信道容量增加。
增加发射机功率;应用高增益天线;采用分集接收及低噪声器件等通信中常用的方法都是通过增加信道容量C ,从而使)(R E 增加,以减小误码率。
另一种方法是在R 一定下,增加分组码长n (也就是增加分组码信号持续的时间T ),可使p 随n 的增加呈指数下降。
但由于码长n 的增加,当R 保持一定时,可能使发送的码字数k2指数增加,从而增加了译码设备的复杂性。
这种方法就是信道编码定理所指出减少误码率的另一个方向。
一般我们可将信道编译码器所使用的纠错码从性能上分为坏码和好码。
所谓坏码是指只有将码率降至零才能使误码率为任意小的编码方式;而好码又可以分为当误码率任意小时,码率逼近信道容量限的非常好码和码率可达到的非零最大值小于信道容量限的一般好码。
虽然Shannon 指出一个随机选择的码为好码的概率很高,但随机码的最大似然译码的复杂度往往与码长呈指数关系,即在误码率随码长趋于无穷而趋向于零的同时,译码复杂度以指数增长。
自信道编码定理提出以来,如何构造一个逼近信道容量限的实用好码成了大家关注的课题,并逐渐形成了纠错编码理论。
下面对其进行简要概述。
二、纠错编码的发展在香农的信息论建立以后,人们利用了代数中的一些理论,通过代数的方法构造了许多纠错码,并研究了与之相适应的译码算法。
这些码字大部分都是线性分组码,比如说戈雷码、汉明码、循环码和BCH 码,它们的译码算法主要采用大数逻辑译码和捕错译码。
但是这些码字都是短码,因为这些码字的纠错译码算法的复杂度随着码长的增加成指数级增长,长码的实现十分困难,投入实际使用的主要是短码,而这些短码的性能距离香农限很远。
要达到香农限,必须要码长较长的编码,所以1962年,Gallager 在[3]中描述了一种编码,现在通常称之为Gallager 码,这种编码因为校验矩阵的稀疏性,使得译码的复杂度与码长保持线性的关系,码长较长时依然可以有效地译码。
然而当时人们普遍认为级联码更容易实现,以及一些技术条件的限制,导致人们忽视了这种编码的存在。
卷积码也是在同一时期提出的另一类重要的纠错编码,它在编码过程中引入了寄存器,增加了码元之间的相关性。
在相同复杂度的条件下可以获得比线性分组码更高的编码增益,但是这种相关性同时也增加了分析和设计卷积码的复杂性。
随着人们对卷积码研究的深入,在卷积码的译码算法方面也出现了序列译码和Viterbi 译码算法。
因为Viterbi 译码算法的出现,卷积码逐渐成为研究和应用的重点,后来又出现了TCM 格栅编码调制技术,进一步确定了卷积码在纠错编码应用中的主导地位。
纠错编码主要就分为上述的线性分组码和卷积码两类,它们各有优缺点。
此外由于在实际应用中短码的性能有限,只有长码才能得到优秀的性能,于是人们设想是否能够在短码的基础上构造长码,由此提出了短码的级联或乘积来得到长码,在提高编码性能的同时,能够在短码的基础上具有较低的译码复杂度。
到了八十年代和九十年代初,法国的C.Berrou 等人在卷积码和级联码的基础上,于1993年提出了一种全新的编码方案Turbo 码[4],在信道编码的理论和应用中取得了突破性的进展。
这种编码能够在码长较长时逼近香农的理论极限,同时其译码复杂度也是可以接受的。
Turbo 码采用并行级联递归的编码器结构,是一种系统的卷积码,其译码算法主要有MAP 算法、log-MAP 算法和SOV A 算法等。
Turbo 码之所以具有逼近香农限的性能,是因为其独特的编码结构和新的译码思想。
Turbo 码在子编码器中采用了反馈型的系统卷积码,且在子编码器间引入交织器减少了子编码器间信息的相关性模仿了随机编码的形式,同时在译码中采用了软输入/软输出的递推迭代译码形式,引入了迭代译码的思想。
在Turbo 码获得巨大成功的启发下,另一类具有相似特征和性能的编码复活了,这就是LDPC (Low Density Parity Check )码。
LDPC 码是Gallager 码的推广,D.J.C.MacKay 、M.Neal 和N.Wiberg 等人对Gallager 码重新进行了研究,发现Gallager 码虽然性能较Turbo 码稍有差距,但是它同样具有逼近香农限的性能[5]。
在Gallager 码的基础上,他们进一步研究了多元域上的LDPC 码[6],发现多元域上的编码较二元域上Gallager 码的性能有较大提高且域的阶数越高编码的性能越好。
M.G .Luby 和M.Mitzenmacher 等人对Gallager 码进行了推广,提出非正则的LDPC 码[7],这种编码的性能能够赶上甚至超过Turbo 码的性能。
和Turbo 码的译码算法类似,LDPC 码的译码算法也是一种并行的迭代译码算法。
三、编码的纠错能力1、码距的概念一组码元称为码字。
码重是指码字中’1’的数目。
两个码字的码距定义为:在两个码字之间相应的码位上有不同的码元的位数之和。
可以证明一组码的最小相互码距为这组码中的最小码重。
2、码距与纠错能力的关系(n,k )码,若码距为d 。
能发现e 个码位的错误,要求1+≥e d ;能纠正t 个码位的错误,要求12+≥t d ;能纠正t 个码位的错误,同时能发现e 个码位的错误,要求1++≥e t d ,且t e ≥。
2、2 GSM 系统的信道编码GSM 系统中,移动信道按其功能可以分为业务信道TCH 和控制信道CCH ,前者用于传输语音,后者用于传输信令和同步等辅助信息。
其中业务信道TCH可以分为:(1)语音信道,包含全速率业务信道TCH/FS和半速率业务信道TCH/HS;(2)数据信道,包含TCH/F9.6、TCH/F4.8、TCH/H4.8、TCH/F2.4、TCH/H2.4(以TCH/H4.8为例,其中4.8表示速率,H表示半速率,F表示全速率)。
其中控制信道CCH可以分为:(3)广播信道,包含频率纠错信道FCCH、同步信道SCH、广播控制信道BCCH;(4)公共控制信道,包含寻呼信道PCH、随机接入信道RACH、准予接入信道AGCH(5)专用控制信道,包含独立专用控制信道SDCCH、慢速相关信道SACCH和快速接入信道FACCH GSM系统中各类信道的信道编码方案可以有下表得到:表2-1GSM编码方案表由上表可以看出,GSM系统中的编码方案主要为外分组内卷积的方案,是种级联码。
语音编码是逐帧进行的,全速语音为13kbps,一个语音帧为20ms,因此一个语音帧中含260bits,其中前182比特对传输误差最敏感,称为一级比特,应受差错编码,而前182比特中的前50为重中之重,不仅受内码纠错,还受外码纠错。
182比特后面的78比特,称为二级比特,仅参与交织编码。
1、外编码对前50比特d(0)..d(49)进行(53,50,2)截断循环码编码,生成多项式为g(x)=1+x+x2,生成三个奇偶校验位p(0)、p(1)、p(2),输出多项式为d(0)x52+d(1)x51+…+d(49)x3+p(0)x2+p(1)x+p(2)。
(53,50,2)截断循环码构成的外编码器结构如下图:图2-2 GSM截断循环码编码器结构图2.内编码(卷积码)对260比特的前182比特,外加3比特校验位,4比特尾比特,共计189比特进行(2,1,4)卷积码编码。
其生成多项式为:g1(x)=1+x3+x4g2(x)=1+x+x3+x4结构为:图2-3 GSM卷积码编码器结构图编码输入189比特,经(2,1,4)卷积编码后,输出为378bit,加上二级比特78,共计476比特。
码率由13bps增加到22.8bps。
3.重排和交织将456bit分为8子块,按下列重排公式进行重排:D(x,y)=(57x+64y) mod 456其中x=0,1,2…7为子块序号,y=0,1…57为每块比特序号。
2、3 IS-95系统的信道编码在IS-95系统中,设计信道编码方面的有三个部分:检错CRC、纠错FEC和交织编码。
1、检错CRCIS-95系统的下行(前向)信道包含:导频信道(不需要信道编码和交织);同步信道(1.2kbps)、寻呼信道(2.4、4.8、9.6)、业务信道(1.2、2.4、4.8、9.6)需要信道编码。
下行信道CRC分为三类,其中同步信道采用30比特CRC,生成多项式为:g30(x)=1+x+x2+x6+x7+x8+x11+x12+x13+x15+x20+x21+x29+x30寻呼、业务信道的CRC分为两类(1)9.6kbps的CRC:g12(x)=1+x+x4+x8+x9+x10+x11+x12(2) 4.8kbps的CRC:g12(x)=1+x+x3+x4+x7+x82、前向纠错码(FEC)下行为同步码分,上行为异步码分,上行要求更高纠错能力。