0%

校验码

校验码

校验码中的概念

码距

任何一种编码都由许多码字构成,任意两个码字之间的最小距离就称为数据检验码的码距

检错

检错就是可以检查出错误

纠错

纠错就是可以在检查出错误的基础上纠正错误

常用的校验码

奇偶检验码

编码方法是 由若干位有效信息,再加上一个二进制位(校验位)组成校验码,奇校验就是整个校验码中1的个数为奇数,偶检验就是整个校验码中1的个数为偶数

只能做简单的检查错误(只能检查奇数个数据位出错),不可以进行纠错

CRC循环冗余校验码

编码方法是 在k位信息码之后拼接r位检验码。应用CRC码的关键是如何从k位信息位简便的得到r位校验码,以及如何从k+r位信息码判断是否出错

用约定的生成多项式G(X)使用模二除法来进行判断的,如果正确,则余数为0;如果某一位出错,则余数不为0。不同的位数出错余数不同,余数和出错位序号之间有唯一的对应关系

可以进行检查错误,但不可以进行纠错

海明校验码

编码方式是 在有效信息位中加入几个检验位形成海明码,使码距均匀地拉大,并把海明码的每个二进制位分配到几个奇偶检验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化

由于是通过扩大码距来进行检验的,所以码距肯定大于1

既可检错,也可纠错

设数据位是n位,校验位是k位,n和k的关系需要满足$2^k>=n+k+1$

欢迎关注我的其它发布渠道