CRC校验原理和推导过程.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CRC校验原理及推导过程1代数引论参考文献[1]对伽罗华域、线性码、循环码、缩短循环码进行了很好的论述。1.1伽罗华域在伽罗华域中的元素由上的本原多项式构造,域中的元素两两运算之后的结果依然是该域中的元素,域中运算是基于模2的。例如当,本原多项式为:,中的元素集合,转换为十六进制数依次对应为,转换为多项式依次对应为。于是:1.2模运算法则模运算与基本四则运算有些相似,但是除法例外。其规则如下(a+b) % p = (a % p + b % p) % p(1-1)(a-b) % p = (a % p - b % p) % p(1-2)(ab) % p = ((a % p)(b % p))% p(1-3)ab% p = ((a % p)b) % p(1-4)结合率:((a+b) % p+c) % p = (a+(b+c) % p) % p (1-5)((ab) % pc)% p = (a(bc) % p) % p (1-6)交换率:(a+b) % p = (b+a) % p (1-7)(ab) % p = (ba) % p (1-8)分配率:((a +b)% pc) % p = ((ac) % p + (bc) % p) % p (1-9)1.3 线性分组码和循环码一个长度为,有个码字的分组码,当且仅当其个码字构成域上所有维向量组成的向量空间的一个维子空间是被称为线性码。 线性码的码字由位消息部分和位冗余校验部分组成。循环码事线性分组码的一个重要的子类,其有两个引入注目的原因:一是通过带反馈连接的移位寄存器(一般称为线性时序电路),其编码和校正计算能够很容易的实现;二是由于其具有固有的代数机构,都能找到很多种实用的方法进行译码。一个线性码C,如果每个码字的循环移位后的数仍是C的码字,则成为其为循环码。给定一个循环码的生成多项式,假设待编码的消息为,则相应的消息多项式为: (1-10)用乘以,得到次数不大于的多项式为: (1-11)用生成多项式除得到: (1-12)其中,和分别为商式和余式。由于的最高次数为,则的次数必不大于。从而有 (1-13)整理得到次数不大于的多项式: (1-14)该多项式能被多项式整除。相应的完整码字为: (1-15)1.4缩短的循环码在系统设计中,如不能找到一个具有合适的自然长度的或者信息位数目的码字,缩短码是一种有效的解决方案。对一个循环码,其中信息位的高位均为零的码字共有个,构成了的线性子码。若从这些码字中删除这个零信息位,将得到个长度为的向量,这些向量组成了 线性码。这种码被称为缩短循环码,但不是循环码。缩短循环码的纠错能力与差错检测能力至少与原码相同。1.5冗余码所用符号数或信号码元数比表示信息所必需的数目多的代码叫冗余码。1.6循环冗余检验循环冗余检验英文名称为Cyclical Redundancy Check,简称CRC。它是利用多项式除法及余数的原理来做错误检测的。它将要发送的数据比特序列当作一个信息多项式的系数,发送时去除以约定的生成多项式,得到一个余数多项式,将余数多项式加到信息多项式之后发送到接收端,接收端同样用去除接收到的接收多项式,进行计算,然后把计算结果与由生成多项式决定的固定序列比较,来检测传输错误。由此可以看出其同时具有循环码和冗余码的特征,所以这种错误检测方法叫循环冗余校验,编码叫循环冗余校验码,即如式1-15所示。理论上可以证明循环冗余校验码的检错能力有以下特点:??? (1)可检测出所有奇数位错。??(2)可检测出所有双比特的错。??(3)可检测出所有小于、等于校验位长度的突发错。2 CRC码编码在1.3节《线性分组码和循环码》中得到算式1-15的计算过程就是循环冗余校验码的编码步骤,归纳起来有以下三步骤:第1步 预先用乘以信息多项式,得到;第2步 用生成多项式去除,获得余式;第3步 整合余式和,获得码多项式。对于一个循环码,生成多项式,编码电路有两种方式:一,信息位由高位到低位的顺序从循环移位寄存器体左侧依次输入,信息位完全进入循环体后继续输入个0,最后循环体中寄存器的值就是余式码字;图1 左侧串行输入循环移位寄存器体二,信息位由高位到低位的顺序从循环移位寄存器体右侧依次输入,信息位完全进入循环体后寄存器的值就是余式码字。图2 右侧串行输入循环移位寄存器体注:1,移位寄存器循环体中余式码字低位在左侧,高位在右侧。以CRC4为例,其生成多项式为:,当信息多项式时用两种方法计算得到得余式码字是一样的:,编码后完整地码字为:(1010110100)。图三所示的两种计算余式码字的方法对应于数字电路中D触发器、加法器、乘法器的组成的循环体结

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档