前言
期末复习了,发现循环冗余码的计算方法老是忘,特此记录一下
计算步骤
-
计算冗余位的位数,即生成多项式的最高阶数
-
在信息位后补冗余位个数的0
-
将第二步的结果与生成多项式相除,这里采用的除法叫做模2除法,就是只要部分余数的高位为1便可让商
-
得到余数
将信息为后面补的0换成余数
实例练习
给定信息位为1010001 ,预先商定的多项式为X4+X2+X+1,求循环冗余码
我们根据计算步骤走一遍就可以了。
解:
- 生成多项式最高阶数是4,所以冗余位的位数是4.
- 信息位后补0,所以信息位变成了1010001 0000
- 用信息位除生成多项式,即1010001 0000 除 10111
计算过程如下:
最开始上1,上下相减,结果为00011 ,位数不够,商上两个0
够了,上1
上下相减 得01101,即1101
下来一个0,上1
上下相减,为01101 即1101
下来一个0,商1,剩下的类似,全部过程如下
这个余数1101就是我们要找的冗余位
- 将信息位后面补的4个0换成余数,信息位变成1010001 1101
即得到CRC循环冗余码
如何检测信息有没有差错
若循环冗余码可以将生成多项式整除,即没有差错,否则,存在错误。