常用校验码
2020 年 11 月 02 日 227 548 字 暂无评论

01.奇偶校验码

  • 奇偶校验码最简单,但只能检测出奇数位出错.。
  • 如果发生偶数位错误就无法检测。
  • 但经研究是奇数位发生错误的概率大很多。而且奇偶校验码无法检测出哪位出错。所以属于无法矫正错误的校验码。
  • 奇偶校验码是奇校验码偶校验码的统称。它们都是通过在要校验的编码上加一位校验位组成。
  • 如果是奇校验加上校验位后,编码中1的个数为奇数个
  • 如果是偶校验加上校验位后,编码中1的个数为偶数个

02.海明校验码

  • 海明码也是利用奇偶性来校验数据的.。
  • 它是一种多重奇偶校验检错系统,它通过在数据位之间插入k个校验位,来扩大码距,从而实现检错和纠错

需要多少个校验位

  • 信息位n,校验位k,信息位加校验位n+k,校验位k对于pow(2,k)种状态
  • k满足pow(2,k) >= n+k+1

校验位的位置

  • 设 k个校验码为 Pk,...,P1,Pi在海明码的第pow(2,i-1)位置;
  • n个数据位为D(n-1),...,D1,D0数据位Di则依序从低到高占据海明码中剩下位置。

校验位的值

校验码纠错

海明码的检错、纠错能力

  • 纠错能力:1位
  • 检错能力:2位

03.循环冗余校验码(CRC)

  • CRC码利用生成多项式为k个数据位产生r个校验位进行编码,其编码长度为n=k+r所以又称 (n,k)码CRC码广泛应用于数据通信领域和磁介质存储系统中.。
  • 循环冗余校验码的思想:

    • 数据发送、接受方约定一个“除数”。
    • K个信息位+R个校验位作为“被除数”,添加校验位后需保证除法的余数为0
    • 收到数据后,进行除法检查余数是否为0

检错和纠错

循环冗余校验码的检错能力特点

  • 若生成多项式选择得当,CRC码可纠正1位错
  • 可以检测出所有奇数个错误
  • 可以检测出所有双比特错误
  • 可以检测出所有小于等于校验长度的连续错误

版权属于:zfh

本文链接:http://zfhblog.com/index.php/archives/173/



评论已关闭