微信搜索:编程笔记本。获取更多干货!
微信搜索:编程笔记本。获取更多干货!
点击上方蓝字关注我,我们一起学编程
欢迎小伙伴们分享、转载、私信、赞赏
循环冗余码(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
,取对应系数即可。
步骤:
-
- 假设生成多项式为 m 位,则在需要发送的数据帧后增加 m-1 个 0 。
-
- 将增广后的数