CRC循环冗余校验原理

原理解释

原理是找出一个能整除多项式的编码(即校验码),最终发送的数据由两部分组成,原始数据+校验码。校验码越长检验错误的能力越强,只能校验错误,无法纠正错误。

生成多项式的概念

类型为无系数的一元多次方程,例如X^{3}+X+1,将其转换为二级制编码才能进行计算,转换的规则是:依次从低位到高位依次写出方程中未知数的n次幂的有无情况,有的记为'1',没有的记为'0',上面的多项式就可以转换为1011,如表格所示。

3次幂2次幂1次幂0次幂
多项式X^{3}  X  1
编码1011

再例如X^{5}+X^{3}+X,转换编码为101010。

校验码计算步骤

假设有n位原始数据,生成多项式为k位,首先将n位原始数据左移k-1位,然后用得到的数据与生成多项式进行模2运算(也可以用抑或运算代替),最终得到的k-1位余数即为校验码。将其加在原始数据的后面产生要发送的数据。接收方收到数据后判断能否整除生成多项式,若能整除则数据正确,不能整除则数据错误。

例:原始数据为111000110,生成多项式为X^{5}+X^{3}+X+1(即编码101011),首先将原始数据左移5位,然后除以生成多项式的编码,进行模2运算(不产生借位和进位),计算所得余数为5位的11001。将其添加到原始数据之后,所以发送的数据为11100011011001。下图为计算过程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值