校验码:奇偶校验,CRC循环冗余校验,海明校验码

奇偶校验码

码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据检验码的码距。
奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。

奇校验:整个校验码中1的个数为奇数
偶校验:整个校验码中1的个数为偶数
奇偶校验,可检测1位(奇数位)的错误,不可纠错。

CRC循环冗余校验码

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

把接受到地CRC码用约定的生成多项式G(X)去除(模二除法),如果正确,则余数为0,如果某一位出错,则余数不为0.不同地位数出错其余位数不同。余数和出错位序号之间有唯一地对应关系。

海明校验码

海明校验码的原理是:在有效信息位中加入几个校验位形成海明码,使码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验位地值发生变化。这不但可以发现错误,还能指出错误地位置,为自动纠错提供了依据。

2K-1 >= N+K
数据位是N位,校验位是K位

校验码位数 校验码位置 检错 纠错 校验方式
奇偶检验 1 一般拼接在头部 可检奇数位错 不可纠错 奇校验:最终1的个数是奇数个。偶校验最终1的个数是偶数个
CRC循环冗余校验 生成多项式是最高次幂决定 拼接在信息位的尾部 可检错 不可纠错 模二除法求余数,拼接作为校验位
海明校验码 2k -1 >=n +k 插入在信息位中间 可检错 可纠错 分组奇偶校验

猜你喜欢

转载自blog.csdn.net/qq_43611366/article/details/142024289