为了避免信息传递发生的诸如0变成1的错误,利用校验码可以发现错误并且可以同时给出错误所在位置;这被称为数据校验码;
1.检错码
奇偶效验码:例如奇校验的编码规律是将校验码(包含有效信息和校验位)中1的个数为奇数;偶效验则相反;
2.纠错码有汉明码,循环码
汉明码:
只要使用足够的校验位,就可以达到对任何错误的检测和纠错的水平
例如校正字长K位的错误,则需要添加r位的校验位,它能够指出k+r个错误和无错误的情况,r的满足条件是2的r次方大于等于k+r+1
N=11,k=7,r=4,汉明码:
位号 1 2 3 4 5 6 7 8 9 10 11
pi占位 P1 P2 X P3 X X X P4 X X X
例子:有效信息:b1b2b3b4=1011;分别填入3,5,6,7位,若采用偶校验,例如第一组 P1b1b2b4,因为偶数个1,所以P1=0,同理P2=1,P3=0;
循环码(CRC):基于模2运算(异或同0异1)的校验码
2^r≥k+r+1 -------2^r-r-1>=k
例题:4位有效信息1100作循环校验码,选择生成的多项式G(x)=1011,求(7,4)码
1.M(x)=1100;
2.r=3 M(x)左移3位,空出r位,M(x)x3=1100000
3.模2除多项式G(x) M(x)x3/G(x)=1100+010/1011;
4.模2加 M(x)x3 +R(x)=1100000+010=1100010 //{(7,4)码}