差错控制
- 格式:doc
- 大小:98.00 KB
- 文档页数:13
差错控制的四种基本方式差错控制是计算机通信中非常重要的一项技术,其目的是在数据传输过程中发现并纠正错误,保证数据的可靠性和完整性。
常见的差错控制方式有四种:1. 奇偶校验码奇偶校验码是最简单的差错控制方式之一,它通过在数据中添加一个奇偶位来检测错误。
具体来说,将每个字节中所有位的值相加,如果结果为奇数,则奇偶位为1;如果结果为偶数,则奇偶位为0。
接收方在接收到数据后也进行相同的计算,并将计算结果与发送方发送的奇偶位进行比较,如果不一致则说明出现了错误。
2. 校验和校验和是一种更复杂但更可靠的差错控制方式。
它将数据分成若干个固定长度(通常为16位或32位)的块,并对每个块进行求和运算得到一个校验和。
发送方将这个校验和添加到数据末尾发送给接收方,在接收方收到数据后也进行相同的操作,并将计算出来的校验和与发送方发送过来的校验和进行比较,如果不一致则说明出现了错误。
3. 循环冗余检测(CRC)循环冗余检测是一种更高级的差错控制方式,它通过生成一个多项式来检测错误。
具体来说,发送方将数据按照一定的规则转换成一个二进制数,并将这个数与一个预设的多项式进行除法运算得到一个余数,这个余数就是CRC校验码。
接收方在接收到数据后也进行相同的操作,并将计算出来的CRC校验码与发送方发送过来的CRC校验码进行比较,如果不一致则说明出现了错误。
4. 奇偶校验位组合奇偶校验位组合是一种将奇偶校验和校验和两种方式结合起来使用的差错控制方式。
具体来说,在每个字节中添加一个奇偶位用于奇偶校验,并对每个块进行求和运算得到一个校验和用于校验和。
发送方将这两个值添加到数据末尾发送给接收方,在接收方收到数据后也进行相同的操作,并将计算出来的奇偶位和校验和与发送方发送过来的值进行比较,如果不一致则说明出现了错误。
总之,不同的差错控制方式有各自优缺点,在实际应用中需要选择适合自己需求的方式。
第六章差错控制第六章差错控制1 差错控制的基本概念1.1 差错的特点由于通信线路上总有噪声存在,噪声和有⽤信息中的结果,就会出现差错。
噪声可分为两类,⼀类是热噪声,另⼀类是冲击噪声,热噪声引起的差错是⼀种随机差错,亦即某个码元的出错具有独⽴性,与前后码元⽆关。
冲击噪声是由短暂原因造成的,例如电机的启动、停⽌,电器设备的放弧等,冲击噪声引起的差错是成群的,其差错持续时间称为突发错的长度。
衡量信道传输性能的指标之⼀是误码率po。
po=错误接收的码元数/接收的总码元数⽬前普通电话线路中,当传输速率在600~2400bit/s时,po在之间,对于⼤多数通信系统,po在之间,⽽计算机之间的数据传输则要求误码率低于。
1.2 差错控制的基本⽅式差错控制⽅式基本上分为两类,⼀类称为“反馈纠错”,另⼀类称为“前向纠错”。
在这两类基础上⼜派⽣出⼀种称为“混合纠错”。
(1)反馈纠错这种⽅式在是发信端采⽤某种能发现⼀定程度传输差错的简单编码⽅法对所传信息进⾏编码,加⼊少量监督码元,在接收端则根据编码规则收到的编码信号进⾏检查,⼀量检测出(发现)有错码时,即向发信端发出询问的信号,要求重发。
发信端收到询问信号时,⽴即重发已发⽣传输差错的那部分发信息,直到正确收到为⽌。
所谓发现差错是指在若⼲接收码元中知道有⼀个或⼀些是错的,但不⼀定知道错误的准确位置。
图6-1给出了“差错控制”的⽰意⽅框图。
オ(2)前向纠错这种⽅式是发信端采⽤某种在解码时能纠正⼀定程度传输差错的较复杂的编码⽅法,使接收端在收到信码中不仅能发现错码,还能够纠正错码。
在图6-1中,除去虚线所框部分就是前向纠错的⽅框⽰意图。
采⽤前向纠错⽅式时,不需要反馈信道,也⽆需反复重发⽽延误传输时间,对实时传输有利,但是纠错设备⽐较复杂。
(3)混合纠错混合纠错的⽅式是:少量纠错在接收端⾃动纠正,差错较严重,超出⾃⾏纠正能⼒时,就向发信端发出询问信号,要求重发。
因此,“混合纠错”是“前向纠错”及“反馈纠错”两种⽅式的混合。
差错控制的四种基本方式差错控制是指在信息传输或存储过程中,为了保证数据的可靠性和正确性而采取的一系列措施。
下面将介绍差错控制的四种基本方式。
一、重传机制重传机制是一种常见的差错控制方式。
当发送方将数据发送给接收方后,接收方会对接收到的数据进行校验,如果发现数据错误,则会向发送方发送一个重传请求。
发送方接收到重传请求后,会重新发送数据,直到接收方正确接收为止。
二、冗余校验码冗余校验码是一种常用的差错控制方式。
发送方在发送数据时,会附加一些冗余的校验码,接收方在接收到数据后,会对数据进行校验,如果校验码不匹配,则说明数据发生了错误。
常见的冗余校验码有循环冗余校验码(CRC)和奇偶校验码。
三、前向纠错码前向纠错码是一种可以纠正错误的差错控制方式。
发送方在发送数据时,会附加一些冗余的校验码,接收方在接收到数据后,会对数据进行校验和纠错。
常见的前向纠错码有海明码和纠删码。
四、确认应答机制确认应答机制是一种常用的差错控制方式。
在数据传输过程中,发送方在发送数据后会等待接收方的确认应答,如果接收方正确接收到数据,则发送一个确认应答给发送方;如果接收方发现数据错误,则发送一个否定应答给发送方,要求发送方重新发送数据。
差错控制的四种基本方式各有优缺点。
重传机制可以确保数据的可靠性,但会增加传输时间;冗余校验码可以检测错误,但无法纠正错误;前向纠错码可以纠正错误,但会增加传输开销;确认应答机制可以及时纠正错误,但会增加传输延迟。
在实际应用中,通常会综合使用多种差错控制方式,以达到更好的效果。
例如,在无线通信中,常常会结合使用重传机制和前向纠错码,以提高数据传输的可靠性和效率。
总结来说,差错控制是保证数据传输和存储过程中数据可靠性和正确性的重要手段。
重传机制、冗余校验码、前向纠错码和确认应答机制是差错控制的四种基本方式,各有优缺点,可以根据实际情况选择合适的方式或综合使用多种方式。
通过合理使用差错控制,可以有效提高数据传输的可靠性和正确性。
5.1 差错控制概念及原理一差错控制的基本概念差错控制:是指发送端通过信道编码在信息中增加一些监督信息,用这些附加的信息来检测或纠正传输中发生的错误的技术。
信息码监督码二差错的类型☐随机差错:指误码的出现是随机的且独立的,也称为独立差错;存在这种差错的信道称为随机信道(如微波接力和卫星转发信道);☐突发差错:指成串集中出现的误码;存在这种差错的信道称为突发信道(如短波、散射等信道);既存在随机差错又存在突发差错的信道称为混合信道。
差错控制的原理三编码信息1位误码2位误码检、纠错能力111 晴000 阴一位二位三位晴1阴0晴11阴00晴111阴0000X 阴1X 晴10 X 01 X 11 X 01 X 11010101100101010000 阴11 晴100 X 010 X 001 X 011 X 101 X 110 X 不能检查纠错检一不纠检二纠一☐码字的汉明重量:汉明重量即一个信息码字中非零码元的位数,用HW表示。
例:HW(11)=2,HW(000)=0;☐码间距离:码间距离又叫汉明距离,指一个码组中任意两个码字之间的对应位上码元取值不同的个数,用d表示,即:d(Ci,Cj)=∑( Ci,Cj),此式表示码间距离d等于两个码字对应位模2相加后“1”的个数。
例:d(1101,0111)=2,d(10101,11010)=4;最小码距(d0):在一个码组Z中包含若干个码字(Z1,Z2,…Zn)各码字之间的距离可能会不相等,称码组中最小的码距为最小距离,用d0表示。
例:码组Z=(0111100,1011011,1101001)的d0=3;五d 0与检错和纠错能力的关系定理1、若一种码的最小距离为d 0,则它能检查传输差错个数e 应满足:d 0≥e +1定理3、若一种码的最小距离为d 0,则它能检查e 个错误,同时又能纠正t 个以下错误的条件是:d 0≥t +e +1定理2、若一种码的最小距离为d 0,则它能纠正传输差错个数t 应满足:d 0≥2t +1谢谢。
第三章差错控制3.1 差错控制的基本概念和原理(重点)1、哪种情况下引入差错控制?或者说它的引入背景是什么?答:数据通信的可靠性要求高,即用误码率来衡量。
造成误码的原因:信道的不理想(波形畸变,接收端误判,导致误码。
均衡的方法消除)、噪声干扰(噪声与波形叠加,接收端误判。
差错控制,也是学习的重点)2、差错控制的基本概念噪声:随机、脉冲随机噪声导致随机差错:指独立、稀疏、互不相关地发生的差错。
脉冲噪声导致突发差错:成片、成段、有关联性(举例说明00000000000)实际信道很复杂,那么产生的差错也就不是单一的,所以实际中,两种差错是同时存在的。
3、差错控制的基本思路核心:抗干扰编码,或称差错控制编码、纠错编码、信道编码都可以。
思路:在发送端发送的信息码元中,加入一定的规则、且与原信息码元存在某种确定的约束关系的监督码元。
数学模型:信息码(k位)+监督码(r位)=码组(n位)即:k+r=n问题:为什么说用纠错控制差错的方法来提高可靠性是以牺牲有效性为代价的?答:因为加入了一定数量的监督码,使得传输的数据量增加,从而实际传输的信息量就下降了。
另外,纠正突发差错的设备复杂,成本高,所以要根据错误的性质来选择编码方式(编码理论要学,此处不多讲)和差错控制方式。
那么有哪些差错控制方式呢?4、差错控制方式(4种):检错重发(ARQ)、前向纠错(FEC)、混合纠错检错(HEC)、信息反馈(IRQ)检错重发思路:首先对发送的数据进行分组编码,加入监督码,接收后按一定规则进行判断,返回一个判别信号,要求是否重发。
3种重发方式:停发等候重发、返回重发、选择重发(通过示图来讲解)个人要求掌握其思路、了解优缺点信息反馈有一个问题就是:要是在反馈的码元中出现了错误呢?5、差错控制的基本原理(重点)首先举例引出问题。
差错控制差错控制在数据通信过程中能发现或纠正差错,把差错限制在尽可能小的允许范围内的技术和方法。
信号在物理信道中传输时,线路本身电器特性造成的随机噪声、信号幅度的衰减、频率和相位的畸变、电器信号在线路上产生反射造成的回音效应、相邻线路间的串扰以及各种外界因素(如大气中的闪电、开关的跳火、外界强电流磁场的变化、电源的波动等)都会造成信号的失真。
在数据通信中,将会使接受端收到的二进制数位和发送端实际发送的二进制数位不一致,从而造成由“0”变成“1”或由“1”变成“0”的差错。
1.热噪声和冲击噪声传输中的差错都是由噪声引起的。
噪声有两大类,一类是信道固有的、持续存在的随机热噪声;另一类是由外界特定的短暂原因所造成的冲击噪声。
热噪声引起的差错称为随机差错所引起的某位码元的差错是孤立的,与前后码元没有关系。
它导致的随机错通常较少。
冲击噪声呈突发状,由其引起的差错称为突发错。
冲击噪声幅度可能相当大,无法靠提高幅度来避免冲击噪声造成的差错,它是传输中产生差错的主要原因。
冲击噪声虽然持续时间较短,但在一定的数据速率条件下,仍然会影响到一串码元。
2.差错的控制方法最常用的差错控制方法是差错控制编码。
数据信息位在向信道发送之前,先按照某种关系附加上一定的冗余位,构成一个码字后再发送,这个过程称为差错控制编码过程。
接收端收到该码字后,检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生,这个过程称为检验过程。
差错控制编码可分为检错码和纠错码。
①检错码--能自动发现差错的编码;②纠错码--不仅能发现差错而且能自动纠正差错的编码。
差错控制方法分两类,一类是自动请求重发ARQ,另一类是前向纠错FEC。
在ARQ方式中,当接收端发现差错时,就设法通知发送端重发,直到收到正确的码字为止。
ARQ方式只使用检错码。
在FEC方式中,接收端不但能发现差错,而且能确定二进制码元发生错误的位置,从而加以纠正。
FEC方式必须使用纠错码。
3.编码效率衡量编码性能好坏的一个重要参数是编码效率R,它是码字中信息位所占的比例。
编码效率越高,即R越大,信道中用来传送信息码元的有效利用率就越高。
编码效率计算公式为:R=k/n=k/(k+r)式中k为码字中的信息位位数r为编码时外加冗余位位数n为编码后的码字长度2.5.2 奇偶校验码奇偶校验码是一种通过增加冗余位使得码字中“1”的个数为奇数或偶数的编码方法,它是一种检错码。
1.垂直奇偶校验的特点及编码规则发送顺序↑││││I11 I12 ... I1q┐│││┘信息位I21 I22 ... I2q......I p1 I p2 ... I pqr1 r2... r q冗余位1)编码规则:偶校验:r i=I1i+I2i+...+I pi(i=1,2,...,q)奇校验:r i=I1i+I2i+...+I pi+1(i=1,2,...,q)式中p为码字的定长位数q为码字的个数垂直奇偶校验的编码效率为R=p/(p+1)。
2)特点:垂直奇偶校验又称纵向奇偶校验,它能检测出每列中所有奇数个错,但检测不出偶数个的错。
因而对差错的漏检率接近1/2。
2.水平奇偶校验的特点及编码规则1)编码规则:发送顺序↑││││I11 I12 ... I1q r1r2....r pI21 I22 ... I2q......I p1 I p2 ... I pq└──────┘↑信息位冗余位偶校验:r i=I i1+I i2+...+I iq(i=1,2,...,p) 奇校验:r i=I i1+I i2+...+I iq+1(i=1,2,...,p)式中 p 为码字的定长位数 q 为码字的个数水平奇偶校验的编码效率为R=q/(q+1)。
2)特点:水平奇偶校验又称横向奇偶校验,它不但能检测出各段同一位上的奇数个错,而且还能检测出突发长度<=p 的所有突发错误。
其漏检率要比垂直奇偶校验方法低,但实现水平奇偶校验时,一定要使用数据缓冲器。
3.水平垂直奇偶校验的特点及编码规则 1)编码规则:发送顺序 ↑ │ │ │ │I 11 I 12 ... I 1q r 1,q+1 I 21 I 22...I 2qr 2,q+1 ...... ... I p1I p2...I pqr p,q+1 r p+1,1 r p+1,2 ... r p+1,qr p+1,q+1若水平垂直都用偶校验,则r i,q+1=I i1+I i2+...+I iq (i=1,2,...,p)r p+1,j=I1j+I2j+...+I pj (j=1,2,...,q)r p+1,q+1=r p+1,1+r p+1,2+...+r p+1,q=r1,q+1+r2,q+1+...+r p,q+1水平垂直奇偶校验的编码效率为R=pq/[(p+1)(q+1)]。
2)特点:水平垂直奇偶校验又称纵横奇偶校验。
它能检测出所有3位或3位以下的错误、奇数个错、大部分偶数个错以及突发长度<=p+1的突发错。
可使误码率降至原误码率的百分之一到万分之一。
还可以用来纠正部分差错。
有部分偶数个错不能测出。
适用于中、低速传输系统和反馈重传系统。
2.5.3 循环冗余码(CRC)1.CRC的工作方法在发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循环冗余码同样的算法进行校验,若有错,需重发。
2.循环冗余码的产生与码字正确性检验例子。
例1.已知:信息码:110011信息多项式:K(X)=X5+X4+X+1生成码:11001 生成多项式:G(X)=X4+X3+1(r=4) 求:循环冗余码和码字。
解:1)(X5+X4+X+1)*X4的积是X9+X8+X5+X4对应的码是1100110 000。
2)积/G(X)(按模二算法)。
由计算结果知冗余码是1001,码字就是1100111001。
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←F(X)*X r1 1 0 0 1,1 0 0 0 01 1 0 0 11 0 0 1←R(X)(冗余码)例2.已知:接收码字:1100111001多项式:T(X)=X9+X8+X5+X4+X3+1 生成码:11001 生成多项式:G(X)=X4+X3+1(r=4)求:码字的正确性。
若正确,则指出冗余码和信息码。
解:1)用字码除以生成码,余数为0,所以码字正确。
1 0 0 0 0 1←Q(X)G(x)→1 1 0 0 1 )1 1 0 0 1 1 1 0 0 1←F(X)*X r+R(x)1 1 0 0 11 1 0 0 11 1 0 0 10←S(X)(余数)2)因r=4,所以冗余码是:11001,信息码是:1100113.循环冗余码的工作原理循环冗余码CRC在发送端编码和接收端校验时,都可以利用事先约定的生成多项式G(X)来得到,K位要发送的信息位可对应于一个(k-1)次多项式K (X),r位冗余位则对应于一个(r-1)次多项式R(X),由r位冗余位组成的n=k+r位码字则对应于一个(n-1)次多项式T(X)=Xr*K (X) +R(X)。
4.循环冗余校验码的特点1)可检测出所有奇数位错;2)可检测出所有双比特的错;3)可检测出所有小于、等于校验位长度的突发错。
5.4种生成码(P44)2.5.4 海明码1.海明码的概念海明码是一种可以纠正一位差错的编码。
它是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。
它必需满足以下关系式:2r>=n+1 或2r>=k+r+1海明码的编码效率为:R=k/(k+r)式中k为信息位位数r为增加冗余位位数2.海明码的生成与接收方法一:(按教科书)1)海明码的生成。
例1.已知:信息码为:"0010"。
海明码的监督关系式为:S2=a2+a4+a5+a6S1=a1+a3+a5+a6S0=a0+a3+a4+a6求:海明码码字。
解:1)由监督关系式知冗余码为a2a1a0。
2)冗余码与信息码合成的海明码是:"0010a2a1a0"。
设S2=S1=S0=0,由监督关系式得:a2=a4+a5+a6=1a1=a3+a5+a6=0a0=a3+a4+a6=1因此,海明码码字为:"0010101"2)海明码的接收。
例2.已知:海明码的监督关系式为:S2=a2+a4+a5+a6S1=a1+a3+a5+a6S0=a0+a3+a4+a6接收码字为:"0011101"(n=7)求:发送端的信息码。
解:1)由海明码的监督关系式计算得S2S1S0=011。
2)由监督关系式可构造出下面错码位置关系表:3)由S2S1S0=011查表得知错码位置是a3。
4)纠错--对码字的a3位取反得正确码字:"0 0 1 0 1 0 1"5)把冗余码a2a1a0删除得发送端的信息码:"0010"方法二:(不用查表,方便编程)1)海明码的生成(顺序生成法)。
例3.已知:信息码为:" 1 1 0 0 1 1 0 0 "(k=8)求:海明码码字。
解:1)把冗余码A、B、C、…,顺序插入信息码中,得海明码码字:" A B1 C1 0 0 D1 1 0 0 "码位: 1 23 45 6 7 8910 11 12其中A,B,C,D分别插于2k位(k=0,1,2,3)。
码位分别为1,2,4,8。
2)冗余码A,B,C,D的线性码位是:(相当于监督关系式)A->1,3,5,7,9,11;B->2,3,6,7,10,11;C->4,5,6,7,12;(注5=4+1;6=4+2;7=4+2+1;12=8+4)D->8,9,10,11,12。
3)把线性码位的值的偶校验作为冗余码的值(设冗余码初值为0):A=∑(0,1,1,0,1,0)=1B=∑(0,1,0,0,1,0)=0C=∑(0,1,0,0,0)=1D=∑(0,1,1,0,0)=04)海明码为:"1 0 1 1 1 0 0 0 1 1 0 0"2)海明码的接收。
例4.已知:接收的码字为:"1 0 0 1 1 0 0 0 1 1 0 0"(k=8) 求:发送端的信息码。
解:1)设错误累加器(err)初值=02)求出冗余码的偶校验和,并按码位累加到err中:A=∑(1,0,1,0,1,0)=1err=err+20=1B=∑(0,0,0,0,1,0)=1err=err+21=3C=∑(1,1,0,0,0)=0err=err+0=3D=∑(0,1,1,0,0)=0err=err+0=3由err≠0可知接收码字有错,3)码字的错误位置就是错误累加器(err)的值3。