CRC 循环冗余码

循环冗余码(CRC)是一种广泛用于数据通信领域的差错校验码,通过模2运算和生成多项式来校验信息的正确性。在发送端,信息字段与冗余码结合;在接收端,通过相同算法校验,判断数据是否出错。CRC通过多项式除法找到余数,若接收端校验得余数不为0,则表明数据错误。
摘要由CSDN通过智能技术生成

微信搜索:编程笔记本。获取更多干货!
微信搜索:编程笔记本。获取更多干货!

点击上方蓝字关注我,我们一起学编程
欢迎小伙伴们分享、转载、私信、赞赏

循环冗余码(CRC)

微信搜索:编程笔记本。获取更多干货!
微信搜索:编程笔记本。获取更多干货!


概念:

循环冗余码(CRC),又称为多项式码,是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC 的工作方法是在发送端产生一个冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循冗余码同样的算法进行校验,如果发现错误,则通知发送端重发。

模 2 运算:

模 2 运算的加减乘除与常规二进制运算类似,不同的一点是:无进位、不借位

一个例子:

    1001
  - 1100
-----------
    0101

生成多项式:

比如,G(x) = x^4 + x^3 + 1 是一个生成多项式,那么该生成多项式对应的二进制比特串就是:11001 。即:G(x) = 1*x^4 + 1*x^3 + 0*x^2 + 0*x^1 + 1*x^0 ,取对应系数即可。

步骤:

    1. 假设生成多项式为 m 位,则在需要发送的数据帧后增加 m-1 个 0
    1. 将增广后的数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值