差错控制

两类差错

  在传输过程中,主要有两类操作:一种是信道固有的、持续存在的随机热噪声,可以通过提高信噪比来避免;另一种是外界特定的短暂原因造成的冲击噪声,这个时候我们需要差错控制。

差错控制机制

  自动重传请求(ARQ) :接收端检测出错误时,通知发送端,只掉接受正确的码字为止。

  前向纠错(FEC):接收端不仅能检错,还能纠错,确定错误的位置,并加以改正。

检错码

  检验码的原理是通过增加一些冗余码来纠错或者检错。

   奇偶校验码

  信息位加一个校验位。只能发现奇数个出错的情况。

  奇数+奇数=偶数;偶数+奇数=奇数;偶数+偶数=偶数;奇数+偶数=奇数;

  所以可以得知:一个数加上一个奇数可以改变其原有的奇偶行,然而偶数不可以。所以,只有出现了奇数个错误,才会改变整个数据中的1的个数,

  才可以被发现;而发生了偶数个错误,即使发生了也不能发现,因为奇偶校验不能时通过观察1个数的变化来发现错误的,而是通过奇偶行的变化来发现错误的。

  所以,只能发现数据代码中奇数位出错的情况。

  CRC校验码(循环冗余)

  信息码是 101001,生成多项式是 G(x)= x+ x2+ 1,对应的是 1101

  (1)信息码左移 R位,X3,故 101001000

  (2)相除:101001000 除 1101,余数是001。余数相加,故最终报文是 101100001

  (3)检错和纠错:接受端拿到后,用模2除法,若余数为0,则码字无错。

    若余数为010,说明倒数第二位出错,取反即可。

  海明码

  多重奇偶校验码

 

  

  

 

posted @ 2020-04-21 16:53  天凉好个秋秋  阅读(497)  评论(0编辑  收藏  举报