CRC编码器及设计.docVIP

  1. 1、本文档共26页,可阅读全部内容。
  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编码器及设计

目录 一、设计目的: 3 二、设计要求 3 三、 CRC循环冗余校验简介 3 四、 CRC的编码原理 3 五、 CRC校验原理 6 (1)CRC码的检错方法 6 (2)模2除法器 6 (3)校验位的生成 7 (4)CRC码的纠错 8 (5)生成多项式的选取 8 六、设计方案 8 (1)采用标准 8 (2)系统结构设计 9 (3)模块代码 11 七、波形结果 25 八、心得及体会 25 (1)关于CRC的了解 25 (2)关于期待的改进 26 (3)课程设计总结 26 九、参考文献: 26 CRC编码器的设计 设计目的: 掌握CRC的编码原理及作用, 并进行设计。 二、设计要求 1、阐述CRC的编码原理及作用 2、基于VHDL语言实现CRC的编码 3、写出详细的设计报告(不少于5000字) CRC循环冗余校验简介 循环冗余校验(CRC)是一种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。 而且CRC码是目前通信系统中最常用的一种差错控制编码,利用其进行检错的过程可简单描述为:在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码,附在原始信息后边,构成一个新的二进制码序列数,然后发送出去。在接收端根据信息码和CRC 码之间所遵循的规则进行检验,一旦传输过程中发生差错,则信息码元与监督码元之间的关系遭到破坏,从而可以发现错误,乃至纠正错误。 CRC的编码原理 循环冗余校验码(cyclic redundancy check,CRC)简称为循环码或CRC码。二进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC码常用于串行传送过程中的检错与纠错。 CRC码由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码。其中任意一个二进制位码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为,而多项式为对应的代码101111。 由上可以看出,CRC 多项式是线性结构,可以非常容易地故意改变量据而维持 CRC 不变。所以尽管在错误检测中非常有用,CRC 并不能可靠地校验数据完整性。 CRC码的编码格式如图4.1所示,是在k位有效数据之后添加r位校验码,形成总长度为n的CRC码,简写作C(n,k)码。CRC编码的关键技术在于如何从k位信息简便的得到r位校验码,并根据总长度为n的CRC码进行纠错。 图4.1 设被校验的数据是一个k位的二进制代码,将它表示为一个(k-1)阶的多项式 (1-1) 多项式(1-1)中的系数D的取值为0或1,与被校验的数据M一一对应;式中的x是一个伪变量,用指明各位的位置。 设校验码P长度为r,将被校验数据D左移r位后的结果为 将D左移r位的目的是给D右边添加r个0,形成(k+r)位长度二进制代码,其多项式形式为M(x)×。如图4.1所示,CRC码由k位数据D和r位校验码P组成,求校验码P的多项式R(X)的方法如下: ? (4-2) Q(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码P。可以证明存在一个最高次幂为n- k=r 的多项式G(x) ,即式(4-2)中G(x),称为生成多项式。 由式(4-2)可以推导出 (4-3) 由式(4-3)可知,CRC码可被G(x)整除,余数必然为0.。根据这一特性,接收方将收到的CRC码被G(x)除,若余数为0,则表明传送过程中没有错误发生,若出现一位错,根据余数与出错位一一对应的关系,可利用余数对错误码进行定位。因此,接收方可根据表4.1发现并纠正1位错。 Q6 Q5 Q4 Q3 Q2 Q1 Q0 余数 出错位 正确 1 1 0 0 0 1 0 0 0 0 无 错误 1 1 0 0 0 1 1 0 0 1 Q0 1 1 0 0 0 0 0 0 1 0 Q1 1 1 0 0 1 1 0 1 0 0 Q2 1 1 0 1 0 1 0 0 1 1 Q3 1 1 1 0 0 1 0 1 1 0 Q4 1 0 0 0 0 1 0 1 1 1 Q5 0 1 0 0 0 1 0 1 0 1 Q6 表4.1 循环校验码的出错模式 对于其验证码,它的编码规则是,如果CRC码共长个bit,信息码长个bit,就称为码: 1、首先将原信息码( bit)左移位(); 2、运用一个生成多项式(也可看成二进制数)用模2除上面的式子,得到的余数就是利用生成多项式生成CRC校验码。 而在构建一个新的 CRC 多项式或者改进现有的 CRC 时,一个通用的数

文档评论(0)

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

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

1亿VIP精品文档

相关文档