通信原理 第8章差错控制编码课件.ppt
1/30,第8章 差错控制原理,8.1 差错产生的原因及其差错类型8.2 差错控制基本原理8.3 差错控制编码8.4 差错控制方法,2/30,第8章 差错控制原理,差错:通常把接收数据与发送数据不一致的现象称为传输差错,简称为差错。,3/30,8.1 差错产生原因及差错类型,干扰:脉冲干扰、随机噪声干扰、人为干扰等。噪声两类:随机噪声和脉冲噪声。随机噪声:时时处处存在,幅度较小,频带宽。差错是随机的、离散的,是一种随机独立差错。脉冲噪声:强度大,差错成串出现,即无错则已,有错一片。是一种突发性差错。混合差错:上两种噪声同时引起的差错。,4/30,8.1 差错产生原因及差错类型,5/30,8.2 差错控制基本原理,差错控制:在通信过程中产生错误时,能有效地检测出错误,并进行纠正,这种方法叫检错与纠错,统称为差错控制。差错控制方案:(1)纠错编码:传输的数据单元带有足够的冗余信息,在接收端发现并自动纠正传输错误。(2)检错编码:传输的数据单元仅带有足以使接收端发现差错的冗余信息,但不能确定错误位置,因而不能纠正错误,只能发现错误。第一种方案优越,但系统复杂,成本高,应用场合受限。第二种方案简单,容易实现,编译码速度快,通过重传纠正错误,常用。,6/30,82 差错控制基本原理,为什么要在传输的数据单元中增加冗余码元呢?例:三位二进制码有八种不同组合,000,001,010,011,100,101,110,111。选择四种作为许用码组,用来传输信息;另四种作为禁用码组。发送000,传输中变为001,010或100。就判定发生了错误。变为111禁用码组。也判定发生了错误。不能发现两位错误。上述编码只能检测错误,不能纠正错误。收到100,无法判定哪一位码发生错误造成的。000,110,101三者错一位都可变为100。,7/30,82 差错控制基本原理,例:选两个许用码组,000,111,其余为禁用码组。收端可以检测两位以下的错误,或纠正一位错误。当收到100时,若认为只有一位错误,则可以纠正为000。111任何一位错误都不可能变为100;若错码不超过两位,两种可能:000错一位变为100,或者111错两位变为100,因而只能检错不能纠错。,8/30,8. 3 差错控制编码,检错码:能在译码中发现错误的编码;纠错码:在译码中不仅能发现错误还能自动纠正错误的编码。,9/30,8. 3 差错控制编码,1 奇偶校验(奇校验编码和偶校验编码)偶校验编码:无论信息位有多少位,校验位只有一位,码组中“1”的个数为偶数,要满足关系式 在收端,将码组中各位进行模2加,结果为“1”,有错误;为“0”,无错。奇校验编码:码组中校验位只有一位,码组中“1”的个数为奇数,要满足关系式 两者的校验能力相同,只能检测出奇数个错误,不能检测偶数个错误。,10/30,8. 3 差错控制编码,(1) 垂直奇偶校验(字符奇偶校验)在字符代码后面附加一奇偶校验位,如图。,11/30,8. 3 差错控制编码,(2) 垂直水平奇偶校验能检测全部奇数个差错和大部分偶数个差错。标出的差错能检测出来。标出的差错同时出现时则检测不出来,即矩形差错检测不出来。标出的错误可以得到纠正。实现容易,应用广泛。,12/30,8. 3 差错控制编码,2 循环冗余校验码 (CRC码)检错能力强,实现容易,应用广泛。从数学的角度讲,所有的数都可以用多项式来表示,例如 125=1102 + 2101 + 5100 1,2,5 多项式的系数。二进制数10111,可表示为以x为基的多项式 x4+ x2+ x+1系数对应着二进制数10111。长度为n的二进制序列,与以x为基的n-1次多项式之间具有一一对应的关系。,13/30,8. 3 差错控制编码,0 0 0 0 n=3: 0 0 1 1 0 1 0 x 0 1 1 x+1 1 0 0 x2 1 0 1 x2+1 1 1 0 x2+ x 1 1 1 x2+ x +1长度为n的码组可用一个x的n -1次多项式表示,码组中每位码的数值就是n-1次多项式中相应的系数值,这个对应的多项式就称为数据多项式。,14/30,8. 3 差错控制编码,原理:将发送数据比特序列作为多项式T(x)的系数,选定一k次幂的生成多项式G(x)。用x k乘T(x),得T(x)xk。然后用G(x)去除T(x)xk ,得一个余数多项式R(x)。将余数多项式加到数据多项式T(x)之后,作为发送序列。收端用同一G(x)去除接收序列多项式T(x)x k ,得计算余数多项式R(x)。如果R(x)与R(x)相同,传输无错;否则传输有错。,15/30,8. 3 差错控制编码,校验过程: a 发端,T(x)乘以xk . 意味着将T(x)对应的数据比特 序列左移K位。 b T(x)xk 除以G(x), Q(x)商,R(x)余数多项式。 c 将T(x)xk + R(x)所对应的比特序列作为一个整体发 送发送。 d 收端,对接收序列所对应的多项式T(x)xk 进行运算,16/30,8. 3 差错控制编码,R(x )= R (x ),传输正确;R(x )R (x ), 传输有错。实际的CRC校验码生成采用二进制模2算法得到。加法不进位,减法不借位,即异或操作。例:a发送数据序列 110011;bG (x )=x 4+x 3+1,k =4, 对应的序列 11001;c发送数据序列左移4位为 1100110000;d做除法,17/30,8. 3 差错控制编码,1 0 0 1 1 0 0 0 0 T(x) x k 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 R(x)e带有校验的发送序列: 110011 1001 发序列 校验序列f校验若没有发生差错,接收端收序列能被同一生成多项序列整除,18/30,8. 3 差错控制编码,1 0 0 0 0 1 1 1 0 1)1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 03 校验和也是基于冗余校验。发端将数据单元分成长度为n(通常是16)的比特分段,这些分段相加,其结果仍然为n比特长。总和求反,作为校验字段附加到数据单元的末尾。,19/30,8. 3 差错控制编码,发端数据单元分成k段,每段n比特;所有段相加求和;对和取反得校验和;将校验字和段附加到数据单元末尾与数据一起发送。收端接收数据分成长度为n比特的段;所有段相加求和;对和取反;结果为0,接收数据;否则拒绝。例 ;发送16位数据10101001 00111001,采用8位校验和。,20/30,8. 3 差错控制编码,解:将数据按8位分段,相加求和 1 0 1 0 1 0 0 1 + 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 0 和 求反 0 0 0 1 1 1 0 1 校验和 发送比特序列: 10101001 00111001 00011101 数据 校验和接收无差错,对其分段、求和、取反应为0。分段求和 1 0 1 0 1 0 0 1 0 0 1 1 1 0 0 1 和 + 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 取反 0 0 0 0 0 0 0 0,21/30,8. 3 差错控制编码,结果为0,传输正确。若发生多位错误,如变为10101111 11111001 00011101,红色的为错误位。三段相加 1 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 + 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 + 1 进位 和 1 1 0 0 0 1 1 0 取反 0 0 1 1 1 0 0 1结果不为0,传输错误. 结论:若两分段对应位具有相反值的错误,如变为00101001 10111001 00011101,红色的为错误位。三段相加,22/30,8. 3 差错控制编码,0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 + 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 和取反 0 0 0 0 0 0 0 0 结果为0,不能检测这种错误。校验和能检测所有奇数个错误以及大多数偶数个错误。结论:如果某一段中的一个或多个比特被破坏,并且在下一个分段中具有相反值的对应位也被破坏,这些列的和将不变,因此收方将检测不出这些错误。一个比特的反相被另一个分段对应位具有相反值的比特反相所抵消,该差错是不可检测的。,23/30,8. 4 差错控制方法,1 前向纠错 (FEC) 又称自动纠错,原理如图。优点:不需要反向信道,能用于单工通信,也可用于一 点对多点通信。 延迟恒定,适用于实时通信系统。缺点:复杂,传输效率低。,24/30,8. 4 差错控制方法,2 自动请求重发(ARQ)也称反馈重发,原理如图。工作过程:发端:信源数据经编码器编码后,通过正向信道发送端。缓存以备重发。,25/30,8. 4 差错控制方法,收端:译码,检测判决。如无错,送出ACK。 发端收到ACK后,重发控制器发指令给信源,进行下 一组数据的发送。如译码检测有错,送NAK,重发。发端收到NAK后,重发控制器控制缓存器的数据进入编码器进行编码重发,并禁止信源输入新的数据。,26/30,8. 4 差错控制方法,方法:(1)停止等待方式每发送一个分组后,就停止等待应答信号。收到确认信号,就发下一个分组;收到否认信号,重发。优点:简单,所需缓冲区容量小。缺点:效率低,不宜高速或实时性要求高的场合。,27/30,8. 4 差错控制方法,(2)连续重发方式 可连续发送数据。发端收到NAK就退回到有错的码组,重发此码组及以后的码组。每个码组一个序号。,28/30,8. 4 差错控制方法,(3)选择重发方式发端仅重发接收出错的码组。优点:系统效率高。,29/30,8. 4 差错控制方法,3 FEC/ARQ混合方式FEC与ARQ的结合。,30/30,8. 4 差错控制方法,4 交织方式 把待发送数据序列按行排成一个m x n的矩阵,然后按列顺序传送。收端恢复原矩阵,而后按行进行译码。对于长度为m的突发错误,每行只分到个突发错误,即把长度为m的错误分配到了m行中。如果原来每行编码只能纠正单个随机错误,交织后就能纠正长度为m的突发错误;如果原来每行编码能纠正t个随机错误,交织后则能纠正tm的突发错误;如果原来每行编码能纠正长度为的突发错误,交织后能纠正长度m的突发错误。 利用交织将码长扩大了m倍,故把长为m的突发错误分散到了m个n长码组中,使每行码组只有长度为的突发错误,提高了抗突发干扰能力。,