(2)CRC校验码的原理


前言

这是CRC码原理与实现系列的第二篇文章。第一篇为:
(1)CRC码简介及其与汉明码的区别


3. CRC校验码的原理

下面举例说明CRC校验码的原理。
若要传输的原始信息序列为:11010011。
使用CRC8生成校验码,生成多项式为x^8 + x^2 + x + 1,生成多项式对应的比特序列为100000111。

生成CRC校验码的步骤如下:
首先,在原始信息序列后增加8个0,得到新序列:1101001100000000。

其次,将这个新序列作为被除数,对生成多项式序列进行“模二除”,计算如下:

在这里插入图片描述

所得到的余数就是生成的CRC8校验码。

最后,将所得到的余数附加到原始信息序列后面,得到新序列:1101001100110111。至此,就完成了CRC校验码的编码。

接收端,使用相同的CRC8生成多项式对接收到的序列进行校验(模二除以生成多项式序列),就能指导传输过程中有没有产生误码,若模二除的余数为0则表示没有错码,若余数非0则表示有错码。

需要特别注意的是,计算CRC校验码的时候,若使用不同的生成多项式,则得到的CRC校验结果也是不同的。所以,收发双方一般需要事先约定好所用的生成多项式。


后续

关于CRC校验码这个主题,后续将给出以下内容:
(3)CRC校验码的生成多项式表示
(4)MATLAB生成CRC校验码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值