crc校验原理包括c++源码教案资料.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CRC 校验原理 包括( C++ 源码 ) 现在此说明下什么是 CRC :循环冗余码校验 英文名称为 Cyclical Redundancy Check ,简称 CRC ,它是利用除法及余数的原理来作错误侦测 (Error Detecting )的。实际应用时,发送装置计算出 CRC 值并随数据一同发 送给接收装置,接收装置对收到的数据重新计算 CRC 并与收到的 CRC 相比较, 若两个 CRC 值不同,则说明数据通讯出现错误 那么其实 CRC 有比较多种, 比如 CRC16 、CRC32 ,为什么叫 16、32 呢。 在这里并非与位有和关系。而是由所确定的多项式最高次幂确定的。如下所示。 理论上讲幂次越高校验效果越好。 CRC(12 位 ) =X12+X11+X3+X2+X+1 CRC(16 位) = X16+X15+X2+1 CRC(CCITT) = X16+X12 +X5+1 CRC(32 位) = X32+X26+X23+X16+X12+X11+X10+ X8+X7+X5+X4+X2+X+1 循环冗余校验码( 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) 得到的余数就是校验码。 几个基本概念 1、多项式与二进制数码 多项式和二进制数有直接对应关系: x 的最高幂次对应二进制数的最高位, 以下各位对应多项式的各幂次,有此幂次项对应 1,无此幂次项对应 0 。可以看 出:x 的最高幂次为 R ,转换成对应的二进制数有 R+1 位。 多项式包括生成多项式 G(x) 和信息多项式 C(x) 。 如生成多项式为 G(x)=x4+x3+x+1 ,可转换为二进制数码 11011 。 而发送信息位 1111 ,可转换为数据多项式为 C(x)=x3+x2+x+1 。 2 、生成多项式 是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中, 这个数始终保持不变。 在发送方 ,利用生成多项式对信息多项式做模 2 除生成校验码。在接受方利 用生成多项式对收到的编码多项式做模 2 除检测和确定错误位置。 应满足以下条件: a 、生成多项式的最高位和最低位必须为 1。 b 、当被传送信息( CRC 码)任何一位发生错误时,被生成多项式做模 2 除后应该使余数不为 0 。 c 、不同位发生错误时,应该使余数不同。 d 、对余数继续做模 2 除,应使余数循环。 将这些要求反映为数学关系是比较复杂的。 但可以从有关资料查到常用的对 应

文档评论(0)

zjq110 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档