CRC校验算法

CRC校验是一种通信中常见的差错检测方法,通过在数据后附加k位校验序列进行检测。本文介绍了CRC的基本原理,包括生成多项式、模2算法以及计算帧检验序列FCS的过程。在数据发送前,双方约定生成多项式,并对原始数据进行补0和模2运算得到FCS。接收端再用相同方法验证,判断数据是否正确。
摘要由CSDN通过智能技术生成

基本原理及概念


CRC校验算法是在通信方面常用的一种差错检测的手段。原理是在将原始帧数据发送之前,在n个bit位的原始数据后面再加上通过特定运算得到的k位校验序列,组成新的帧再发送给接受端。接受端会根据原始数据后的校验序列再次进行特定运算,若结果正确,则接受;若结果错误,则丢弃。
这里写图片描述
我们将上面所述的k位校验序列称为帧检验序列FCS
特定运算为多项式模2运算。(我更喜欢将它理解为异或运算)

CRC校验算法的重点是如何得到这k位帧检验序列,以及如何进行检测运算。

算法



生成多项式

一般在数据传输之前,发送端与接收端会相互约定好一个除数(也是一个二进制序列,用来进行模2算法)。这个除数就是生成多项式。称为G(X),这个多项式的最高位和最低位必须为1。我们可以定义自己的多项式,也有规定好的。常用的有:
CRC8=X8+X5+X4+1(100110001)

CRC-CCITT=X16+X12+X5+1(10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值