1.2.7检错与纠错
在数据传输过程中,由于信道受到噪声或干扰的影响,信号的波形传到接收方就可 能会发生错误。为了把这些错误减少到人们预期要求的最低限度,就需要进行差错控制。
差错控制的原理很简单。在被传送的k位信息后附加r位冗余位,被传送的数据共 k+r位,而这r位冗余位是用某种明确定义的算法直接从it位信息导出的,接收方对收到 的信息应用同一算法,将结果与发送方给它的结果进行比较,若不相等则数据出现了差 错。如果接收方知道有差错发生,但不知道是怎样的差错,然后向发送方请求重传,这种策略称为检错。如果接收方知道有差错发生,而且知道是怎样的差错,这种策略称为 纠错。
1.二维奇偶校验
二维奇偶校验基于一维的奇偶校验,除了把额外的1个比特附加到7个比特编码上来平衡字节中1的个数外,还对数据中每一字节的每一比特位置进行类似的计算,产生 一个额外的奇偶校验字节。如图1-38所示的例子,对42位数据进行二维偶校验,产生 6个字节数据和一个奇偶校验字节。加入了 14位的冗余信息。
2.循环冗余校验
循环冗余校验(Cyclic Redundancy Check. CRC)是一种通过多项式除法检测错误 的方法,将每个比特串看作一个多项式,采用模2运算。通常它将比特串
对m位的数据M(x)要进行循环兀余校验,发送方的处理过程如下:
(1)设G(x)为r阶,在数据的末尾附加r个0,使数据为m+r位,则相应的多项式 B(x)=xгM(x)。
(2)按模2除法用对应于G(x)的位串去除对应于B(x)的位串,求出余数R(x)。
(3)按模2减法从对应于B(x)的位串中减去余数,结果就是要传送带循环冗余校验的帧T(x)=B(x)-R(x)
如图1-39所示的例子,顿为1101011011B,所选的生成多项式G(x)=x4+x+l,则r=4, 在帧后附加4个0.
图1-39循环冗余校验码的
很显然,7W能被除尽。因此当接收方收到的比特流相应的多项式为r(x)时, 接收方将r’(;c)除以g(x),若余数为0,则接收方认为r(x)= iix),否则接收方认为发生了错误并要求重传。
3.检错重发(Automatic Repeat reQuest,ARQ)
检错重发方式中,发送端经信道编码后可以发出具有检错能力的码组,接收端收到 后经检测如果发现传输中有错误,则通过反馈信道把这一判断结果反馈给发送方,然后 发送端把前面发出的信息重新传送一次,直到接收端认为已经正确为止。常用的检错重 发系统有停发等候重发、返回重发和选择重发三种。
1)停发等候重发
停发等候重发系统的发送端在某一时刻向接收端发送一个码组,接收端收到后经检 测若未发现传输错误,则发送一个确认信号(ACK)给发送端,发送端收到ACK信号 后再发送下一个码组;如果接收端检测出错误,则发送一个否认信号(NAK),发送端 收到NAK信号后重发前一个码组,并再次等待ACK或NAK信号。这种方法效率不高, 但工作方式简单。
2)返回重发
在返回重发系统中,发送端无停顿地送出一个又一个码组,不再等待ACK信号, 一旦接收端发现错误并发回NAK信号,则发送端开始重发检测出错误的码组以及该错 误码组之后的码组。
3)选择重发
在选择重发系统中,发送端也是连续不断地发送码组,接收端发现错误发回NAK 信号。与返回重发系统不同的是,发送端不是重发前面的所有码组,而是只重发有错误 的那一组。显然,这种选择重发系统传输效率最高。,但控制最复杂。
各省软考办 | ||||||||||