1通信原理2通信原理第11章差错控制编码3差错控制error-control信道编码器channelencoder反馈信道feedbackchannel检错重发errordetectionandretransmission前向纠错forwarderrorcorrection自动请求重发automatic-repeatrequest4第11章差错控制编码11.1概述信道分类:从差错控制角度看随机信道:错码的出现是随机的突发信道:错码是成串集中出现的混合信道:既存在随机错码又存在突发错码差错控制技术的种类检错重发前向纠错反馈校验检错删除5第11章差错控制编码差错控制编码:常称为纠错编码监督码元:在发送端需要在信息码元序列中增加一些差错控制码元,它们称为监督码元。不同的编码方法,有不同的检错或纠错能力。多余度:就是指增加的监督码元多少。例如,若编码序列中平均每两个信息码元就添加一个监督码元,则这种编码的多余度为1/3。编码效率(简称码率):设编码序列中信息码元数量为k,总码元数量为n,则比值k/n就是码率。冗余度:监督码元数(n-k)和信息码元数k之比。理论上,差错控制以降低信息传输速率为代价换取提高传输可靠性。6第11章差错控制编码自动要求重发(ARQ)系统3种ARQ系统停止等待ARQ系统数据按分组发送。每发送一组数据后发送端等待接收端的确认(ACK)答复,然后再发送下一组数据。系统是工作在半双工状态,时间没有得到充分利用,传输效率较低。接收码组ACKACKNAKACKACKNAKACKt1233455发送码组12334556t有错码组有错码组7第11章差错控制编码拉后ARQ系统发送端连续发送数据组,接收端对于每个接收到的数据组都发回确认(ACK)或否认(NAK)答复。在这种系统中需要对发送的数据组和答复进行编号,以便识别。显然,这种系统需要双工信道接收数据有错码组有错码组91011101112214365798576ACK1NAK5NAK9ACK5发送数据57695214367981011101112重发码组重发码组8第11章差错控制编码选择重发ARQ系统它只重发出错的数据组,因此进一步提高了传输效率。接收数据有错码组有错码组921436575981011131412发送数据995852143671011131412重发码组重发码组NAK9ACK1NAK5ACK5ACK99第11章差错控制编码ARQ的主要优点:和前向纠错方法相比监督码元较少即能使误码率降到很低,即码率较高;检错的计算复杂度较低;检错用的编码方法和加性干扰的统计特性基本无关,能适应不同特性的信道。ARQ的主要缺点:需要双向信道来重发,不能用于单向信道,也不能用于一点到多点的通信系统。因为重发而使ARQ系统的传输效率降低。在信道干扰严重时,可能发生因不断反复重发而造成事实上的通信中断。在要求实时通信的场合,例如电话通信,往往不允许使用ARQ法。10第11章差错控制编码ARQ系统的原理方框图在发送端,输入的信息码元在编码器中被分组编码(加入监督码元)后,除发送外,还暂存于缓冲存储器中。接收端仅当解码器认为接收信息码元正确时,才将信息码元送给收信者,否则在输出缓冲存储器中删除接收码元。当解码器未发现错码时,经过反向信道发出不需重发指令。发送端收到此指令后,即继续发送后一码组,发送端的缓冲存储器中的内容也随之更新。1111.2纠错编码的基本原理实例:000(晴)001(云)010(阴)011(雨)100(雪)101(霜)110(雾)111(雹)000(晴)011(云)101(阴)110(雨)000(晴)111(雨)只允许使用4组使用2组不能发现错误可能发现一个错误或检测3个错码检测2个以下错码,或能纠正一个错码12第11章差错控制编码信息位监督位晴000云011阴101雨110如果不要求检(纠)错,为了传输4种不同的信息,我们用两位码组:00,01,10,11。代表所传信息的这些两位码,称为信息位。13第11章差错控制编码将信息码分组,为每组信码附加若干监督码的编码集合,称为分组码。分组码一般用符号(n,k)表示,其中k是每组二进信息码元的数目,n是编码组的总位数,又称为码组长度(码长),n-k=r为每码组中的监督码元数目,或称监督位数目。14第11章差错控制编码分组码的码重和码距码重:把码组中“1”的个数目称为码组的重量,简称码重。码距:把两个码组中对应位上数字不同的位数称为码组的距离,简称码距。码距又称汉明距离。例如,“000”=晴,“011”=云,“101”=阴,“110”=雨,4个码组之间,任意两个的距离均为2。最小码距:把某种编码中各个码组之间距离的最小值称为最小码距(d0)。例如,上面的编码的最小码距d0=2。15第11章差错控制编码码距的几何意义对于3位的编码组,可以在3维空间中说明码距的几何意义。每个码组的3个码元的值(a1,a2,a3)就是此立方体各顶点的坐标。而上述码距概念在此图中就对应于各顶点之间沿立方体各边行走的几何距离。由此图可以直观看出,上例中4个准用码组之间的距离均为2。(0,0,0)(0,0,1)(1,0,1)(1,0,0)(1,1,0)(0,1,0)(0,1,1)(1,1,1)a2a0a116第11章差错控制编码码距和检纠错能力的关系一种编码的最小码距d0的大小直接关系着这种编码的检错和纠错能力为检测e个错码,要求最小码距d0e+1【证】设一个码组A位于O点。若码组A中发生一个错码,则我们可以认为A的位置将移动至以O点为圆心,以1为半径的圆上某点,但其位置不会超出此圆。若码组A中发生两位错码,则其位置不会超出以O点为圆心,以2为半径的圆。因此,只要最小码距不小于3,码组A发生两位以下错码时,不可能变成另一个准用码组,因而能检测错码的位数等于2。0123BA汉明距离ed017第11章差错控制编码同理,若一种编码的最小码距为d0,则将能检测(d0-1)个错码。反之,若要求检测e个错码,则最小码距d0至少应不小于(e+1)。为了纠正t个错码,要求最小码距d02t+1【证】图中画出码组A和B的距离为5。码组A或B若发生不多于两位错码,则其位置均不会超出半径为2以原位置为圆心的圆。这两个圆是不重叠的。判决规则为:若接收码组落于以A为圆心的圆上就判决收到的是码组A,若落于以B为圆心的圆上就判决为码组B。这样,就能够纠正两位错码。BtA汉明距离012345td018第11章差错控制编码若这种编码中除码组A和B外,还有许多种不同码组,但任两码组之间的码距均不小于5,则以各码组的位置为中心以2为半径画出之圆都不会互相重叠。这样,每种码组如果发生不超过两位错码都将能被纠正。因此,当最小码距d0=5时,能够纠正2个错码,且最多能纠正2个。若错码达到3个,就将落入另一圆上,从而发生错判。故一般说来,为纠正t个错码,最小码距应不小于(2t+1)。19第11章差错控制编码为纠正t个错码,同时检测e个错码,要求最小码距在解释此式之前,先来分析下图所示的例子。图中码组A和B之间距离为5。按照检错能力公式,最多能检测4个错码,即e=d0–1=5–1=4,按照纠错能力公式纠错时,能纠正2个错码。但是,不能同时作到两者,因为当错码位数超过纠错能力时,该码组立即进入另一码组的圆内而被错误地“纠正”了。)(10tetedBtA汉明距离012345td020第11章差错控制编码所以,为了在可以纠正t个错码的同时,能够检测e个错码,就需要像下图所示那样,使某一码组(譬如码组A)发生e个错误之后所处的位置,与其他码组(譬如码组B)的纠错圆圈至少距离等于1,不然将落在该纠错圆上从而发生错误地“纠正”。因此,由此图可以直观看出,要求最小码距这种纠错和检错结合的工作方式简称纠检结合。ABe1tt汉明距离)(10teted21第11章差错控制编码这种工作方式是自动在纠错和检错之间转换的。当错码数量少时,系统按前向纠错方式工作,以节省重发时间,提高传输效率;当错码数量多时,系统按反馈重发方式纠错,以降低系统的总误码率。所以,它适用于大多数时间中错码数量很少,少数时间中错码数量多的情况。22第11章差错控制编码11.3纠错编码的性能系统带宽和信噪比的矛盾:由上节所述的纠错编码原理可知,为了减少接收错误码元数量,需要在发送信息码元序列中加入监督码元。这样作的结果使发送序列增长,冗余度增大。若仍须保持发送信息码元速率不变,则传输速率必须增大,因而增大了系统带宽。系统带宽的增大将引起系统中噪声功率增大,使信噪比下降。信噪比的下降反而又使系统接收码元序列中的错码增多。一般说来,采用纠错编码后,误码率总是能够得到很大改善的。改善的程度和所用的编码有关。23第11章差错控制编码编码性能举例未采用纠错编码时,若接收信噪比等于7dB,编码前误码率约为810-4,图中A点,在采用纠错编码后,误码率降至约410-5,图中B点。这样,不增大发送功率就能降低误码率约一个半数量级。10-610-510-410-310-210-1编码后PeCDEAB信噪比(dB)24第11章差错控制编码由图还可以看出,若保持误码率在10-5,图中C点,未采用编码时,约需要信噪比Eb/n0=10.5dB。在采用这种编码时,约需要信噪比7.5dB,图中D点。可以节省功率2dB。通常称这2dB为编码增益。上面两种情况付出的代价是带宽增大。10-610-510-410-310-210-1编码后PeCDEAB信噪比(dB)25第11章差错控制编码传输速率和Eb/n0的关系对于给定的传输系统式中,RB为码元速率。若希望提高传输速率,由上式看出势必使信噪比下降,误码率增大。假设系统原来工作在图中C点,提高速率后由C点升到E点。但加用纠错编码后,仍可将误码率降到D点。这时付出的代价仍是带宽增大。BsssbRnPTnPnTPnE0000)/1(10-610-510-410-310-210-1编码后PeCDEAB信噪比(dB)26例已知码组集中有8个码组为(000000)、(001110)、(010101)、(011011)、(100011)、(101101)、(110110)、(111000),若用于检错,能检出几位错码?若用于纠错,能纠正几位错码?解:最小码距dmin=3。所以用于检错,由dmin≥e+1得e=2,能检出2位错码。用于纠错,由dmin≥2t+1得t=1,能纠正1位错码。27线性分组码linearblockcodes循环码cycliccodes卷积码convolutionalcodes纠错码error-correctingcodes检错errordetection纠错errorcorrecting混合纠错hybriderrorcorrect28第11章差错控制编码11.4简单的实用编码11.4.1奇偶监督码奇偶监督码分为奇数监督码和偶数监督码两种,两者的原理相同。在偶数监督码中,无论信息位多少,监督位只有1位,它使码组中“1”的数目为偶数,即满足下式条件:式中a0为监督位,其他位为信息位。这种编码能够检测奇数个错码。在接收端,按照上式求“模2和”,若计算结果为“1”就说明存在错码,结果为“0”就认为无错码。奇数监督码与偶数监督码相似,只不过其码组中“1”的数目为奇数:0021aaann1021aaann29第11章差错控制编码11.4.2二维奇偶监督码(方阵码)二维奇偶监督码的构成它是先把上述奇偶监督码的若干码组排成矩阵,每一码组写成一行,然后再按列的方向增加第二维监督位,如下图所示图中a01a02a0m为m行奇偶监督码中的m个监督位。cn-1cn-2c1c0为按列进行第二次编码所增加的监督位,它们构成了一监督位行。012101212021222110111211ccccaaaaaaa