循环冗余校验码举例(计算机原理-循环冗余校验码)(1)

校验码主要应用在通信和存储之中,把这些错误找出来。之前的奇偶校验码以及分组校验码,也就是海明码。已经感受到了基本的检验原理。这里再介绍一种新的模式,叫做循环冗余校验码。他是由K位的信息位以及R位的校验位组成。对于这种编码,我们主要掌握他的求解方法就可以。我们来看一道例题。

设生成多项式为G(x)=X^3 X^2 1,信息码为101001,求对应的CRC码

生成多项式,是用来计算校验位的。第一步:确定K,R以及生成多项式对应的二进制码

K=信息码的长度=6,R=生成多项式的最高次幂=3

校验码位数N=K R=9

生成多项式G(x)=1*X^3 1*X^2 0*X^1 1*X^0,对应的二进制码1101

第二步:移位 信息码左移R位,低位补0

第三步:相除

对移位后的信息码,用生成多项式进行模2除法,产生余数就是校验位

第四步:检错和纠错

发送:101001001 记为C9C8C7C6C5C4C3C2C1

接收:101001001 用1101进行模2除 余数为000,代表没出错

现在强制1位变错

接收:101001011 用1101进行模2除 余数为010,代表C2出错

细心的人可能会发现这里的余数是三位,如果是C9出错了。就不能发现了

,