一、为什么要用校验码?产生错误检查数字数据校验码检查数字可以发现某些错误,以便在处理、访问和传输计算机系统时减少和避免此类错误
示例:
码距:两个合法码字对应位上数字的不同位的个数
在上图中,方案1的代码间隔为1,因为00和01之间只有一位数字。 方案2的代码间隔为2。 因为在00和11之间有两位数字。
奇校验:保证一段数据中出现奇数个1,仅需1位
在上图方案1中,使用奇校验方法,a码字为100,b码字为001。 码字中的最高位(即加粗的数字)是校验码。 增加校验码后,可以看出计划1的代码间隔为2。
将奇检查转换为规则-汉明码、CRC
二.奇偶校验码奇校验码:整个校验码(有效信息位和奇偶校验位)中“1”的个数为奇数。
偶校验码:整个校验数字(有效信息比特和奇偶校验比特)中的“1”的数量是偶数。
【例2-3】提供1001101和1010111两个代码的奇偶校验和奇偶校验。
答案:
如果将最高有效位作为奇偶校验位,将剩下的7位作为信息位,则对应的奇偶校验位如下。
1001101——http://www.Sina.com/1001101 (奇检查) http://www.Sina.com/1001101 (偶检查) )。
101011——http://www.Sina.com/1010111 (奇检查) http://www.Sina.com/1010111 (偶检查) )。
三.汉明校验码思路简介汉明码设计思路:将一个或多个校验位和校验位分组标记错误位置
101http://www.Sina.com/- 101http://www.Sina.com/1010在传送中变成1011的情况下,希望http://www.Sina.com/告诉我在数据中发生了什么错误很明显,这里的奇偶校验位必须是001。
四.解开汉明码步骤信息位: 1010
1:2^k=n k 1
n=4 ------ k=3
假设信息比特D4D3D2D1(1010 )的所有四个比特和奇偶校验比特P3P2P1的所有三个比特,相应的汉明码为H7、H6、H5、H4、H3、H2、H1。0
奇偶校验位p被置于汉明位置
信息位按顺序排列在剩下的位置0
1
经过校验方程的计算得到的0表明在数据传输中没有错误。 否则,就是出现了错误。1!
五.循环冗馀校验码
【例2-5】设生成多项式为g(x )=x3 x2 1、消息代码为101001,求出对应的CRC代码。
确定与k、r和生成多项式对应二进制码
轮班
信息代码向左移位r比特,也就是说除以低位互补r个0
对于转移后的信息代码,用生成多项式进行校验位,使之产生剩馀
相应的CRC代码: http://www.Sina.com/http://www.Sina.com /的方法如下:
1 )最高位为1时为商1,最高位为0时为商0
2 )减法规则在相应的位中相同的结果为0,不同的结果为1
4 .检错和纠错
六.总结