循环冗余码的计算方法

时间:2024-04-07 15:20:38

前言

期末复习了,发现循环冗余码的计算方法老是忘,特此记录一下

计算步骤

  1. 计算冗余位的位数,即生成多项式的最高阶数

  2. 在信息位后补冗余位个数的0

  3. 将第二步的结果与生成多项式相除,这里采用的除法叫做模2除法,就是只要部分余数的高位为1便可让商

  4. 得到余数
    将信息为后面补的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循环冗余码

如何检测信息有没有差错

若循环冗余码可以将生成多项式整除,即没有差错,否则,存在错误。