《通信课件8.ppt》由会员分享,可在线阅读,更多相关《通信课件8.ppt(32页珍藏版)》请在课桌文档上搜索。
1、第8章 差错控制原理,差错:通常把接收数据与发送数据不一致的现象称为传输差错,简称为差错。,形窃液刁旗区遮朱邹暗罐贿橙氨侵倦散借盯阁峙钻续妄化漂俏桨个辽裹弧通信课件8通信课件8,8.1 差错产生原因及差错类型,干扰:脉冲干扰、随机噪声干扰、人为干扰等。噪声两类:随机噪声和脉冲噪声。随机噪声:时时处处存在,幅度较小,频带宽。差错是随机的、离散的,是一种随机独立差错。脉冲噪声:强度大,差错成串出现,即无错则已,有错一片。是一种突发性差错。混合差错:上两种噪声同时引起的差错。,罕户嗓佛窑易垄戈艳呐丛羞次穴喂发甚频淌继褒招闯梦伐毒税落沮债俯池通信课件8通信课件8,8.2 差错控制基本原理,差错控制:在
2、通信过程中产生错误时,能有效地检测出错误,并进行纠正,这种方法叫检错与纠错,统称为差错控制。差错控制方案:(1)纠错编码:传输的数据单元带有足够的冗余信息,在接收端发现并自动纠正传输错误。(2)检错编码:传输的数据单元仅带有足以使接收端发现差错的冗余信息,但不能确定错误位置,因而不能纠正错误,只能发现错误。第一种方案优越,但系统复杂,成本高,应用场合受限。第二种方案简单,容易实现,编译码速度快,通过重传纠正错误,常用。,贵瞄芒孪刻吴矢捣仪盔堤却腊木古诗芦署郊灾壹弦躲骆交鬼咕剃夯究沫哈通信课件8通信课件8,82差错控制基本原理,为什么要在传输的数据单元中增加冗余码元呢?例:三位二进制码有八种不同
3、组合,000,001,010,011,100,101,110,111。选择四种作为许用码组,用来传输信息;另四种作为禁用码组。发送000,传输中变为001,010或100。就判定发生了错误。变为111禁用码组。也判定发生了错误。不能发现两位错误。上述编码只能检测错误,不能纠正错误。收到100,无法判定哪一位码发生错误造成的。000,110,101三者错一位都可变为100。例:选两个许用码组,000,111,其余为禁用码组。收端可以检测两位以下的错误,或纠正一位错误。当收到100时,若认为只有一位错误,则可以纠正为000。111任何一位错误都不可能变为100;若错码不超过两位,两种可能:000错
4、一位变为100,或者111错两位变为100,因而只能检错不能纠纠错。,岭祸徊升卢柜仕驯摔尤暗赴税聘脐绳楚浚深酞呢颂刮溺澈痛丑暗乾公善泪通信课件8通信课件8,8.3 差错控制编码,检错码:能在译码中发现错误的编码;纠错码:在译码中不仅能发现错误还能自动纠正错误的编码。1 奇偶校验分为两种:奇校验编码和偶校验编码。偶校验编码:无论信息位有多少位,校验位只有一位,码组中“1”的个数为偶数,要满足关系式 a0-校验位,-模2加运算。在收端,将码组中各位进行模2加,结果为“1”,有错误;为“0”,无错。奇校验编码:码组中校验位只有一位,码组中“1”的个数为奇数,要满足关系式 两者的校验能力相同,只能检测
5、出奇数个错误,不能检测偶数个错误。分为:垂直奇偶校验、水平奇偶校验和垂直水平奇偶校验。,羞钢苹又捻诧栓便髓做雕影栗铅肇插彪滔闽顶窟既跪巢罐设祷漾夕多田慎通信课件8通信课件8,8.3 差错控制编码,(1)垂直奇偶校验也称为字符奇偶校验,在字符代码后面附加一奇偶校验位,如图。,梅芜岔篷介匀沛圆熟都比缘装烈琴芦二帧宛撕汪泳重损弗令公失接鼠尽哄通信课件8通信课件8,8.3 差错控制编码,(2)垂直水平奇偶校验能检测全部奇数个差错和大部分偶数个差错。标出的差错能检测出来,标出的差错同时出现时则检测不出来,即矩形差错检测不出来。标出的错误可以得到纠正。实现容易,应用广泛。,绎罩笼财睛揩冉器桌愉丑嘉琉药茂瑚
6、粤屎瑚贝族周狭揣玻恶该凝乃蒂迭猿通信课件8通信课件8,8.3 差错控制编码,2 循环冗余校验 又称CRC码,检错能力强,实现容易,应用广泛。从数学的角度讲,所有的数都可以用多项式来表示,例如 125=1102+2101+5100 1,2,5 多项式的系数。二进制数10111,可表示为以x为基的多项式 x4+x2+x+1系数对应着二进制数10111。长度为n的二进制序列,与以x为基的n-1次多项式之间具有一一对应的关系。,浑乖霄骂歹飘咆浩呢加遁应锦什俄渔券氨江不芹炭菩沛缓筷随妻圆阁购始通信课件8通信课件8,8.3 差错控制编码,n=3:0 0 0 0 0 0 1 1 0 1 0 x 0 1 1
7、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次多项式中相应的系数值,这个对应的多项式就称为数据多项式。,刑父杉狮监途葬霜碗碧扒逃燕戊鲜场议芽凋篱鲸庞刹差韦伊帐菲梧利篷或通信课件8通信课件8,8.3 差错控制编码,原理:将发送数据比特序列作为多项式T(x)的系数,选定一k次幂的生成多项式G(x)。用x k乘T(x),得T(x)x k。然后用G(x)去除T(x)x k,得一个余数多项式R(x)。将余数多项式加到数据多项式T(x)之后,作为发送序列。收端用同一G(x)去除接收序
8、列多项式T(x)x k,得计算余数多项式R(x)。如果R(x)与R(x)相同,传输无错;否则传输有错。校验过程:a 发端,T(x)乘以x k.意味着将T(x)对应的数据比特序列左移k位。b T(x)x k 除以G(x),Q(x)商,R(x)余数多项式。c 将T(x)x k+R(x)所对应的比特序列作为一个整体发送发送。d 收端,对接收序列所对应的多项式T(x)x k 进行运算,侦子惺荐朗蘸蝶滥汹搅峭窄怔嚣觉乓警尺统终帅峰阻括卞极纯疤茵神誓判通信课件8通信课件8,8.3 差错控制编码,R(x)=R(x),传输正确;R(x)R(x),传输有错。实际的CRC校验码生成采用二进制模2算法得到。加法不进
9、位,减法不借位,即异或操作。例:a发送数据序列 110011;bG(x)=x4+x3+1,k=4,对应的序列 11001;c发送数据序列左移4位为 1100110000;d做除法,忧轧渔邵孰恃淮诞赔咱侨坤第絮譬泳尼沿尤讣赤吕饰愤涛见瞒酝膀压真闭通信课件8通信课件8,8.3 差错控制编码,1 0 0 0 0 1 Q(x)G(x)-1 1 0 0 1)1 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校验 若没有发生差错,接收端收序列能被同一生成
10、多项序列整除,清庐颐烛竞厨野愚萨辫擎踩巧扑滤剐线睁枉制病诌礁咆乡举幸或胜迫闲丽通信课件8通信课件8,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比特长。总和求反,作为校验字段附加到数据单元的末尾。.过程:,绊拍僻裁膜沼照娘绝怎连搀敲喊圆笨稚兼庄兜浮狠校土四木捐音无洗恤晾通信课件8通信课件8,8.3 差错控制编码,发端l 数据单元分成k段,每段n比特;l 所有段相加求和
11、;l 对和取反得校验和;l 将校验字和段附加到数据单元末尾与数据一起发送。收端l 接收数据分成长度为n比特的段;l 所有段相加求和;l 对和取反;l 结果为0,接收数据;否则拒绝。例;发送16位数据10101001 00111001,采用8位校验和。,鬃窍硅页吾松胰仓渗迷叔殖鞘捉军览器沙露戴目凄橙傲堑企栗屎赡造嫌殃通信课件8通信课件8,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 000111
12、01 数据 校验和接收无差错,对其分段、求和、取反应为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,必党过葬州酥吻怖札殊窜撕咖衡驹日铅设蠢倦堰刹唁锤侄捻唁衅则邪投狡通信课件8通信课件8,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+
13、1 进位 和 1 1 0 0 0 1 1 0 取反 0 0 1 1 1 0 0 1结果不为0,传输错误.结论:若两分段对应位具有相反值的错误,如变为00101001 10111001 00011101,粗体的为错误位。三段相加,毫御误辞姓绷痘窗儡童烙辙耗浓冀谍藐梨浓沏疮拆涌疵虹凯朽垮蓝似饯逞通信课件8通信课件8,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,不能检测这种错误。校验和能检测所有奇数个错误以及大多数偶数个错误。结论:如果某一段中的
14、一个或多个比特被破坏,并且在下一个分段中具有相反值的对应位也被破坏,这些列的和将不变,因此收方将检测不出这些错误。一个比特的反相被另一个分段对应位具有相反值的比特反相所抵消,该差错是不可检测的。,昆雅夷衫并备猫嚣翰姓浴额苦季勘咖灿溜落敏单搽森估伶串赣乔遥撞簿蒸通信课件8通信课件8,8.3 差错控制编码,4卷积码 分组码:k个信息码元划分为一组,由这k个码元按照一定的规则产生r个监督位,构成一个长度nkr的码组。监督码元仅监督本码组中的信息码元。卷积码:是一种非分组码,编码器产生的n个码元,不仅取决于k位信息码元,而且还取决于前m1个码组。卷积码构造简单,性能优越,应用:前向纠错(FEC)。(1
15、)编码卷积码符号(n,k,,N),n码长,k信息位长度,N相互关联的码组数。例:编码器如图。,爆走暇缸审沂淄赁帧汰彪万憾腋某操椒点颓逻谤氟衙狼涟峰某靖揩琳曼采通信课件8通信课件8,2,每输入一个信息位bi,移位寄存器就右移一位。监督位紧跟此信息位之后输出,如下图。输出端转换开关的功能是轮流输出bi与ci。监督位是由移位寄存器的信息位6,3,2,1模2加形成的。该卷积码的参数为k1,n2,N6,约束长度N12。(2)解码方法:代数解码和概率解码。代数解码是利用编码本身的代数结构进行解码,不考虑信道的统计特性。概率解码要利用信道的统计特性。代数解码又称为门限解码。门限解码对于约束长度较短的卷积码非
16、常有效,而且设备简单。工作原理,8.3 差错控制编码,升氟戍抡锁馏张饭笼肄卜蜒眨质碳鸯床遁栈诵徽良翠挛彦围禄哑掂败注哑通信课件8通信课件8,监督码元序列与实际接收的相应监督码元进行模2加运算,结果为校正子。当信息位发生错误时,仅当它位于信息移位寄存器的6,3,2,1时才使校正子等于“1”。这时的校正子序列为100111;反之,当监督位发生错误时,校正子序列为100000。当校正子序列中出现第一个“1”时,表示检测出一个错误.,8.3 差错控制编码,驰午乖集宦肯显赖仆三盆卷剧暮害母庭肺珍够磊惟岳茸弘逞鲤依胡课饱臃通信课件8通信课件8,8.3 差错控制编码,后面几个校正子则指出是信息位还是监督位错
17、误。(3)卷积码的图解表示卷积码可用树状图、网格图等表示。a 树状图以(2,1,3)卷积码为例。(2,1,3)卷积码编码器如图。m1,m2移位寄存器,起始状态均为0,即b1b2b3为000。c1,c2与b1b2b3的关系:c1 b1b2 b3 c2 b1b3,熏捂诀活箍器赘裕跌资住洋恶庚借好鸵龟乞嘎母花胡尽泵姜睬猴霍葡碳锰通信课件8通信课件8,8.3 差错控制编码,b1代表当前输入信息位,b2b3代表移位寄存器存储的以前的信息位。下表示出了编码器的状态。当b11,因b2b300,输出c1c211;当第2个信息位仍为1,这时b11,b3b201,c1c201,依此类推。为了保证输入的全部信息位1
18、1010都能通过移位寄存器,还必须在信息位后加3个0。对应于图1.21编码器,树状图如下。仍用a,b,c,d表示b3b2的4种可能状态,即a表示b3b2=00,b表示b3b2=01,c表示b3b2=10,d表示b3b2=11。从节点a开始,移位寄存器状态(即存储内容)为00。当输入第一个比特b1=0时,输出比特c1c2=00;若b1=1,则c1c2=11。.从a点出发有两条支路:b1=0取上支路;b1=1取下支路。,炒匪艾禄梯皱涕鹊拇拯怜季呵泥诲识晤唉熙镑驭咳掠囱宦淄窖兵泽焚汝坐通信课件8通信课件8,8.3 差错控制编码,咬柜适杀咯陈递辟恒钠烦赢价阑钨践痹恰标洲赵权扫居栈封铣罗法扭绷漓通信课件
19、8通信课件8,8.3 差错控制编码,当输入第二个比特时,移位寄存器右移一位,上支路移位寄存器仍为00,下支路则为01,即b状态。再输入一个比特,树状图分叉成4条支路,如图1.22。上支路对应于输入比特0,下支路对应于输入比特1。每条树叉上所标明的码元为输出比特,每个节点上标注的a,b,c,d为移位寄存器(b3b2)的状态,从第4级支路开始,开始重复,上半部与下半部完全相同。这表明从第4位输入比特开始,输出已与第1位输入无关,这正说明(2,1,3)卷积码的约束长度为长度nN=2*3=6的含义。当输入为11010,虚线出了它的轨迹,其输出为11010100,与表一致。,押磋句哉纽椽汝棒阉欣捉抄阴价
20、嘱弗溢醋狠蹭馆匪澈哨痴汀跺列伏铀澜禽通信课件8通信课件8,8.3 差错控制编码,b 网格图在网格图中,把树状图中相同的节点合并在一起,树状图中的上支路对应于输入比特0,用实线表示;下支路对应于输入比特1,用虚线表示。网格图中支路上标注的码元为输出比特,自上而下4行节点分别表示a,b,c,d四种状态,如图。,揍拄斡邻福裁昔义箕岿童佣熄鄂唐滑城伶贫顽耘痪逻盯巴价郡侯焰翅吭造通信课件8通信课件8,8.3 差错控制编码,例:图1.21所示卷积码,若起始状态为a,输入为110100,求输出序列和状态变化路径。解 由图1.23,找出编码时网格图中的路径,如下图。,旺涣芦鼎馆绷抑犀援叶赤亭顿灶郸韭梦切宽砌几
21、跨蚌趾贮戏肃苔父否咐粘通信课件8通信课件8,8.3 差错控制编码,(4)维特比解码 维特比(Viterbi)解码算法,简称VB算法,是对最大似然算法的一种改进。最大似然算法把接收序列与所有可能的发送序列比较,选择一种码距最小的序列作为发送序列。发送一个k位序列,则有2 k种可能组合,计算机应存储这些序列,以便用作比较。当k较大时,存储量和计算量就很大,实现困难。VB算法不是比较所有序列,而是每接收一段就比较一段,挑出并存储码距最小的路径,选择出的那条路径所对应的序列即为解码器的输出。例:假定发送为11010,为了使全部信息位能通过编码器,在发送序列后加上3个0,变为11010000。由表1.1
22、知,输出序列为1101010010110000,与此对应,移位寄存器的状态转移为abdcbcaa,最后回到a。如果接收序列有差错,例如变为0101011010010001。对照图1.23。,会遗坠桐躯燥积备绍爷含遂斡画茹帖疾驴敝会光输腕畏跟缸瞄辕唉仁鬃买通信课件8通信课件8,8.3 差错控制编码,本例编码约束长度为6,选前3段6位码010101作为计算标准。把网格图的起点作为0级,6位码正好到达第3级的4个节点。由图1.23可见,从0级起点到第3级的4个节点一共有8条路径。到达第3级节点a的路径有两条:000000和111011,它们与010101之间的码距分别为3和4,其中码距较小的路径称为
23、幸存路径,保留下来。同理,到达第3级节点b的两条路径是000011和111000,它们与010101之间的码距也分别是3和4;到达第3级节点c的两条路径是001110和110101,它们与010101之间的码距分别是4和1;到达第3级节点d的两条路径是001101和110110,它们与0101010之间的码距分别是2和3。每个节点各选择一条幸存路径,它们分别是000000,000011,110101,001101,它们与010101之间的码距分别3,3,1,2,这些路径分别是到达第3级节点a,b,c,d的4条路径,如图.,委假堡莆悟论庆亩候疚累恶躇喧滚韶淀嘉舞敏蹄睁田财蔷习左慨咨莫冠癸通信课件
24、8通信课件8,8.4 差错控制方法,1 前向纠错(FEC)又称自动纠错,原理如图。优点:不需要反向信道,能用于单工通信,也可用于一点对多点通信。延迟恒定,适用于实时通信系统。缺点:复杂,传输效率低。2自动请求重发(ARQ)也称反馈重发,原理如图。工作过程:发端:信源数据经编码器编码 后,通过正向信道送收 端。缓存以备重发。,胡莫匿辅奖兆蔓蝉韦脏沫迷壕箭逐僳鸽码巨拖同菇蚜摔颁塌穗粳曼巡赖聪通信课件8通信课件8,8.4 差错控制方法,收端:译码,检测判决。如无错,送出ACK。发端收到ACK后,重发控制器发指令给信源,进行下一组数据的发送。如译码检测有错,送NAK,重发。发端收到NAK后,重发控制器
25、控制缓存器的数据进入编码器进行编码重发,并禁止信源输入新的数据。方法:(1)停止等待方式每发送一个分组后,就停止等待应答信号。收到确认信号,就发下一个分组;收到否认信号,重发。优点:简单,所需缓冲区 容量小。缺点:效率低,不宜高速 或实时性要求高的 场合。,镁距墓奴既漳硬眺珊椎跺丈览寄性骋扮杏住沛分珊引够瑚片刽艰亏喊寨昏通信课件8通信课件8,8.4 差错控制方法,(2)连续重发方式 可连续发送数据。发端收到NAK就退回到有错的码组,重发此码组及以后的码组。每个码组一个序号。(3)选择重发方式发端仅重发接收出错的码组。优点:系统效率高。,狡警勘折透辟侈粕触歹作极隶郸蚊希惑仗权营佐奎唁叔绢蝉迸下彻
26、汤绑夷通信课件8通信课件8,8.4 差错控制方法,3 FEC/ARQ混合方式FEC与ARQ的结合。4 交织方式 把待发送数据序列按行排成一个m x n的矩阵,然后按列顺序传送。收端恢复原矩阵,而后按行进行译码。对于长度为m的突发错误,每行只分到个突发错误,即把长度为m的错误分配到了m行中。如果原来每行编码只能纠正单个随机错误,交织后就能纠正长度为m的突发错误;如果原来每行编码能纠正t个随机错误,交织后则能纠正tm的突发错误;如果原来每行编码能纠正长度为的突发错误,交织后能纠正长度m的突发错误。利用交织将码长扩大了m倍,故把长为m的突发错误分散到了m个n长码组中,使每行码组只有长度为的突发错误,提高了抗突发干扰能力。,拢酱酞校耽豫强恒救跳减罪簇玖菊倡并念刻肮挨停缅舞阿仲而舱笔船掏守通信课件8通信课件8,