首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据长度与CRC长度

数据长度与CRC长度
EN

Stack Overflow用户
提问于 2010-02-23 21:02:04
回答 7查看 83.4K关注 0票数 46

我见过8位,16位和32位的CRCs。

在什么时候需要跳到更宽的CRC?

我的直觉反应是基于数据长度:

  1. 1~100字节:8位CRC
  2. 101-1000字节:16位CRC
  3. 1001?字节:32位CRC

编辑:看看维基百科关于CRC和Lott的答案,这里有:

<64字节:8位CRC

<16K字节:16位CRC

<512 m字节:32位CRC

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-02-23 21:13:11

这不是个研究课题。这是很好理解的:http://en.wikipedia.org/wiki/Cyclic_redundancy_check

数学很简单。8位CRC将所有消息归结为256个值中的一个.如果您的消息长度超过几个字节,则具有相同哈希值的多条消息的可能性越来越高。

类似地,一个16位的CRC为您提供了65,536个可用哈希值中的一个.有这些值之一的任何两条消息的概率是多少?

32位CRC为您提供了大约40亿可用的哈希值.

维基百科的文章中写道:“最大总封锁长度等于2**r − 1”。是零碎的。你不需要做太多的研究就能看到2**9 - 1是511位。使用CRC-8,超过64个字节的多条消息将具有相同的CRC校验和值。

票数 45
EN

Stack Overflow用户

发布于 2012-01-16 23:58:40

儿童权利委员会的有效性取决于多种因素。您不仅需要选择CRC的大小,还要选择要使用的生成多项式。有复杂和非直观的权衡取决于:

channel.

  • Whether的预期误码率错误倾向于突发或扩展(突发是常见的)

  • 要保护的数据的长度-最大长度、最小长度和分布。

论文由Philip Koopman和Tridib Chakravarty撰写,发表在2004年国际可靠系统和网络会议记录中,给出了一个很好的概述,并作了一些参考。它还为进一步了解提供了参考书目。

http://www.ece.cmu.edu/~koopman/roses/dsn04/koopman04_crc_poly_embedded.pdf

票数 21
EN

Stack Overflow用户

发布于 2016-09-14 19:23:55

CRC长度与文件大小的选择主要是在一个输入与“正确”输入有三位或更少位不同的情况下,而不是在一个大不相同的情况下。如果两种输入有很大的不同,那么在大多数形式的8位校验值(包括CRC)、1/65536与大多数16位校验值的形式(包括CRC)的情况下,错误匹配的可能性约为1/256。CRC的优势来自于对非常相似的输入的处理。

对于一个8位CRC,其多项式产生两个长度为128的周期,在短于未被检测的数据包中,单个、双或三比特错误的分数不会是1/256--它将为零。同样地,使用周期为32768的16位CRC,使用32768比特或更少的分组.

但是,如果分组比CRC周期长,那么如果错误位之间的距离是CRC周期的倍数,则将无法检测到双比特错误。虽然这似乎不是一个非常可能的情况,但CRC8在捕获长数据包中的双位错误时比捕获“数据包完全扰码”错误时要差一些。如果双位错误是第二大最常见的故障模式(仅次于单位错误),那将是糟糕的。然而,如果有什么东西破坏了某些数据,那么带有双比特错误的CRCs的劣等行为可能不是问题。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2321676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档