校验码巧解之完整版.docVIP

  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文档。上传文档
查看更多
校验码巧解之完整版   摘要 作为几大热门专业之一,计算机考研的人数越来越多,但是关于校验码这方面的计算总是困扰着历届学员,同时这方面的知识不光在组成原理里面出现,在网络里面也涉及到。所以本论文认真总结了校验码(奇偶校验码、海明码、循环冗余检验码)计算的详细过程,希望能帮各位学员或初学者解决这方面困扰。   关键词 解决;计算机;校验码;计算   中图分类号TP39 文献标识码A 文章编号 1674-6708(2011)35-0187-02   1相关背景介绍   1.1海明码:(Hanming)   1)海明码的用途:在计算机计算过程中,由于种种原因致使数据在存储过程中出现差错。为了能及时发现错误并及时纠正错误,通常可将原数据配成海明码。   2)海明码的引入:海明码是由Richard Hanming于1950年提出的,它具有一位纠错能力。由纠错编码理论得知,任何一种编码是否具有检错能力和纠错能力,都与编码的最小距离有关。所谓编码最小距离,是指编码系统中,任意两组合法代码之间的最小二进制位数的差异。   根据纠错理论得:   L-1=D+C 且D=C   即编码的最小距离L越大,则其检测错误的位数越多、纠正错误的位数也越多,且纠错能力恒小于等于检错能力。   1.2循环冗余校验码:(Cyclic Redundancy Check)   引入:磁表面存储器由于磁介质表面的缺陷、尘埃等原因,致使出现许多个错误位,循环冗余检验码可以发现和纠错数据在存储或传送过程中出现的多位错误代码,因此CRC码在磁介质存储器和计算机通信方面得到广泛应用。   2例子精讲   2.1设置一个信息流的海明码   2.1.1题目设计:分别按“配偶原则”和“配奇原则”设置信息码1100101的海明校验码,要求能指出和纠正一位错。   【解析】   1)确定海明码的校验位的位数:设r为校验位的位数,则整个码字的位数应满足不等式:2r=k+r+1,其中k为信息位数,这里k=7,所以可计算出r=4,所以至少需要4位校验位。   2)确定校验位的位置:用位号(1-11)为2的权值的那些位,即20,21,22,23的位置作为校验位,分别记作P1,P2,P3,P4,余下的位有效信息位。   3)分组:有4个校验位,须将11位分成4组 ,第i位由校验位序号之和等于i的那些校验位所校验,如第11位D6由P1 (序号为1),P2 (序号为2),P4 (序号为8)校验,因为11=1+2+8。   同理D5由P4、P2校验,D4由P4、P1校验,D3由P1、P2 、P3校验,D2由P3、P2校验,D1由P1、P3校验,D0由P1、P2校验。   4)校验位的形成(按配偶原则):   P1= D0 ?D1? D3 ? D4 ? D6 =1 ?0?0?0?1=0   P2= D0 ?D2? D3 ?D5 ? D6 =1 ?1?0?1?1=0   P3= D1 ?D2? D3=0?1?0=1   P4= D4 ?D5? D6=1?1?0=0   综上题目中所给信息码的能检错一位并纠错一位的海明码为11000101100。   【注】上面第(4)步,如果按配奇原则,则只需将所得每个异或结果取反即可,具体过程如下:   P1= D0 ?D1? D3 ? D4 ? D6 =1 ?0?0?0?1 =1。   P2= D0 ?D2? D3 ?D5 ? D6 =1 ?1?0?1?1 =1。   P3=D1 ?D2? D3=0?1?0 =0。   P4= D4 ?D5? D6=1?1?0 =1。   从而得到相应的海明码是11010100111。   为了帮读者方便确定校验位的位数,以下给出了不同代码长度n所需检测位的位数k,如下表所示:   2.2如何设置一个信息流的循环冗余校验码(CRC)及进行纠错   题目设计:已知有效信息为1101。试用生成多项式G(X)=1011将其编成循环冗余校验码(CRC);   【解析】   由于生成多项式为4位,故根据题意,最终的CRC码由4位数据位加3位校验位组成。校验位的生成方式为:将数据位乘以2r(其中r的值由生成多项式的位数减1得到),相当于将数据位右边添加3个0,即1101000,模2除以G(X),得到的三位余数即为校验码,模2除的过程如下:   故生成的CRC码为1101001。   【注】题中用到了模2除和模2减,其运算规则如下:   模2减:不考虑借位,当两个相同的数相减得0,当两个相异的数相减得1;   模2除:按模2减来计算,每上商一次使余数减少一位。上商的原则是:当余数的首位是1时上1,当余数的首位是0时上0,当余数的位数小于除数时,预算结束。   2.

文档评论(0)

小马过河 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档