CRC编码多项式生成.docxVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CRC编码多项式生成 CRC编码多项式生成 5. 循环冗余校验法 循环冗余校验(CRC ,Cyclic Redundancy Check)法由分组线性码的分支而来,主要应用于二元码组。它是利用除法及余数的原理来作错误侦测(Error Detecting)的。 这是一种比较精确、安全的检错方法,能够以很大的可靠性识别传输错误,并且编码简单,误判概率很低,但是这种方法不能够校正错误。循环冗余校验法在通信系统中得到了广泛的应用,特别适用于传输数据经过有线或无线接口时识别错误的场合。下面重点介绍循环冗余校验法 6. CRC 法的工作原理 循环冗余校验法是一种较为复杂的校验方法,它不产生奇偶校验码,而是将整个数据块当成一个连续的二进制数据M (x ),在发送时将多项式M (x )用另一个多项式(被称为生成多项式G (x ))来除,然后利用余数进行校验。从代数的角度可将M (x )看成是一个多项式,即M (x )可被看作系数是0或1的多项式,一个长度为昭的数据块可以看成是x m-1到x 0的m 次多项式的系数序列。例如一个8位二迸制以表示为:1x 7+0x 6+1x 5+1x 4十0x 3+1x 2+0x +1。 实际应用时,发送装置计算出CRC 校验码,并将CRC 校验码附加在二进制数据M (x )后面一起发送给接收装置,接收装置根据接收到的数据重新计算CRC 校验码,并将计算出的CRC 校验码与收到的CRC 校验码进行比较,若两个CRC 校验码不同,则说明数据通信出现错误,要求发送装置重新发送数据。该过程也可以表述为:发送装置利用生成多项式G (x )来除以二进制数据M (x ),将相除结果的余数作为CRC 校验码附在数据块之后发送出去,接收时先对传送过来的二进制数据用同一个生成多项式G (x )去除,若能除尽即余数为0,说明传输正确;若除不尽说明传输有差错,可要求发送方重新发送一次。其工作过程如图7所示。 图7 循环冗余校验法的工作方法 采用循环冗余校验法,能检查出所有的单位错误和双位错误,以及所有具有奇数位的差错和所有长度小于等于校验位长度的突发错误,能查出99%以上比校验位长度稍长的突发性错误。其误码率比水平垂直奇偶校验法还可降低1~3个数量级,因而得到了广泛采用。 7. 相关计算 CRC 校验码的计算是一种循环过程。CRC 校验的计算包括了要计算其CRC 值的数据字节以及所有前面的数据字节的CRC 值。数据块中的每一被校验过的字节都用来计算整个数据块的CRC 值。 从数学角度来看,CRC 校验码就是利用所谓的生成多项式G (x )去除一个多项式M (x )(数据字节)来获取的。CRC 校验码就是相除后所得的余项。 要计算阴位数据块M (x )的CRC 校验码,生成多项式G (x )必须比该多项式短,且生成多项式G (x )的高位和低位必须为1。CRC 的基本思想是:将CRC 校验码加在数据块的尾部,使这个带CRC 校验码的多项式能够被生成多项式除尽。当接收设各收到带校验码的数据块时,用生成多项式去除,如果有余数,则数据传输出错。 计算CRC 校验码和带CRC 校验码的发送数据T {x }的算法如下: (1)设G (x )为r 阶,在数据块M (x )的末尾附加r 个零,使数据块变为m +r 位,则相应的多项式为xrM (x ); (2)按模2除法用对应于G (x )的位串去除对应于x r M (x )的位串。 (3)按模2减法从对应于x r M (x )的位串中减去余数(总是小于等于1)。结果就是要传送的带循环冗余校验码的数据块,即多项式T (X )。 8. 计算举例 下面举例说明CRC 校验码和带CRC 校验码的发送数据T (X )的计算过程,如图8所示。 图8 CRC校验码以及发送数据T (X )的计算 设数据块M (x )的二进制表示形式为1101011011,生成多项式G (x )=x4+x +1,则G (x )的二进制表示形式为:10011,数据块:1101011011,除数:10011,附加4个零以后形成的数据块:[1**********]000,传输的数据块为:1 10101 101 1 1 1 10。 显然,如果利用G (x )对发送数据T (X )执行新的CRC 计算,所得结果为零。CRC 校验的这种独特性质可以用来检测串行数据传输中的错误。CRC 校验的—大优点是识别错误的可靠性,即使有多重错误,也只需要少量的操作就可以识别。16位的CRC 就适用于校验4000字节长的数据块的完整性。超过此长度时,性能明显下降。射

您可能关注的文档

文档评论(0)

软件开发 + 关注
官方认证
服务提供商

十余年的软件行业耕耘,可承接各类需求

认证主体深圳鼎云文化有限公司
IP属地湖南
统一社会信用代码/组织机构代码
91440300MA5G24KH9F

1亿VIP精品文档

相关文档