打印

有没有谁能讲清CRC校验

[复制链接]
2202|39
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
Thorald| | 2016-8-31 21:21 | 只看该作者
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设要发送的信息用多项式C(X)表示,将C(x)左移R位(可表示成C(x)*2R),这样C(x)的右边就会空出R位,这就是校验码的位置。用 C(x)*2R 除以生成多项式G(x)得到的余数就是校验码。
任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。

使用特权

评论回复
板凳
qwer0145|  楼主 | 2016-9-1 08:55 | 只看该作者
Thorald 发表于 2016-8-31 21:21
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码 ...

基本原理我懂,但就是程序实现过程不是太懂,有的初始值设为0xffff,有的是0,有的左移,有的右移

使用特权

评论回复
地板
selongli| | 2016-9-2 23:19 | 只看该作者
CRC不是都是左移吗?

使用特权

评论回复
5
selongli| | 2016-9-2 23:20 | 只看该作者
6
chenci2013| | 2016-9-3 11:05 | 只看该作者
自己直接移位然后与比较。

使用特权

评论回复
7
chenci2013| | 2016-9-3 11:10 | 只看该作者
你可以使用简单的测试一下,就是从左边开始遇到1就异或

使用特权

评论回复
8
qwer0145|  楼主 | 2016-9-3 11:22 | 只看该作者
selongli 发表于 2016-9-2 23:19
CRC不是都是左移吗?

有的是右移

使用特权

评论回复
9
isseed| | 2016-9-4 22:45 | 只看该作者
Thorald 发表于 2016-8-31 21:21
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码 ...

想左移位的

使用特权

评论回复
10
isseed| | 2016-9-4 22:47 | 只看该作者
最后的几位是校验位

使用特权

评论回复
11
10299823| | 2016-9-6 23:06 | 只看该作者
从左到右移位比较。

使用特权

评论回复
12
10299823| | 2016-9-6 23:06 | 只看该作者
你可以弄个校验码试试。

使用特权

评论回复
13
Rangar| | 2016-9-10 21:04 | 只看该作者
CRC怎么移位的,是左移的吧

使用特权

评论回复
14
lwsn| | 2016-9-12 21:45 | 只看该作者
任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。

使用特权

评论回复
15
zhangmangui| | 2016-9-12 22:39 | 只看该作者
这个我还真研究过   写了个上位机软件

使用特权

评论回复
16
firstblood| | 2016-9-16 16:27 | 只看该作者
Thorald 发表于 2016-8-31 21:21
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码 ...

这个讲解的就非常详细的,可以自己用个简单的数据包的验证下的

使用特权

评论回复
17
tongbu2015| | 2016-9-16 17:21 | 只看该作者
Thorald 发表于 2016-8-31 21:21
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码 ...

循环冗余校验的,,只是一种很简单的位操作算法的处理的

使用特权

评论回复
18
米尔豪斯| | 2016-9-16 20:37 | 只看该作者
生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。

使用特权

评论回复
19
hotpower| | 2016-11-20 06:13 | 只看该作者
本帖最后由 hotpower 于 2017-8-31 16:11 编辑

http://www.21ic.com/tools/HotWC3_V1.23.html

HotWC3_V1.23.png (427.9 KB )

HotWC3_V1.23.png

使用特权

评论回复
20
zhangmangui| | 2016-11-21 22:47 | 只看该作者
这个我有专门研究过     有几种标准  看你用哪个了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

51

帖子

3

粉丝