- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环冗余校验码汇编
循环冗余校验码
概述
循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式g(X)计算,并将得到的结果附在要传输的信息的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。出现循环冗余检查错误的可能原因非常多,硬件软件的故障都有可能。接收方如何检查收到的信息有无错误? 首先接收方和发送方约定一个“生成多项式”g(x)。相当于两方传递信息需要对的口令。
引言
CRC(Cyclic Redundancy Check)循环冗余校验码,是常用的校验码,在早期的通信中运用广泛,因为早期的通信技术不够可靠(不可靠性的来源是通信技术决定的,比如电磁波通信时受雷电等因素的影响),不可靠的通信就会带来‘确认信息’的困惑。
简介
对通信的可靠性检查就需要‘校验’,校验是从数据本身进行检查,它依靠某种数学上约定的形式进行检查,校验的结果是可靠或不可靠,如果可靠就对数据进行处理,如果不可靠,就丢弃重发或者进行修复。
(倒推法):发送方发送的是T(x),接收方接收到的是R(x),若T(x)和R(X)相等,则传输的过程中没有出现错误。如何判断T(x)和R(X)是否相等?若R(X)能够被g(x)整除,则接收方认为T(x)和R(X)相等,即传输的过程中没有出现错误。发送方要传输的信息info包含在T(x)里,info是T(x)的一部分,但不能说info就是T(x)。
实际应用中,g(x)的取值是有限制的,它受限于以下国际标准:
CRC-CCITT=x^16+x^12+x^5+1
CRC-16=x^16+x^15+x^2+1
CRC-12=x^12+x^11+x^3+x^2+x+1
关于g(x)的国际标准还有一些,这里不一一介绍。
人工计算循环冗余校验码需要先弄清的知识:多项式除法、异或运算。
编码规则
CRC码是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,就称为(n,k)码。它的编码规则是:
移位
将原信息码(kbit)左移r位(k+r=n),而后尾巴上添r个0。
相除
运用一个生成多项式g(x)(必须转换成二进制数)用模2除上面的式子,得到的余数就是校验码。
移位后的信息码mod多项式g(x)=校验码
编码规则
非常简单,要说明的:模2除就是在除的过程中用模2加,模2加实际上就是我们熟悉的异或运算,就是加法不考虑进位,公式是:
0+0=1+1=0,1+0=0+1=1
即‘异’则真,‘非异’则假。
由此得到定理:a+b+b=a 也就是‘模2减’和‘模2加’直值表完全相同。
有了加减法就可以用来定义模2除法,于是就可以用生成多项式g(x)生成CRC校验码。
CRC码生成和校验基本分为三步:
第一步:在数据单元(k位)的末尾加上r个0。r是一个比预定除数g(x)的比特位数(r+1)少1的数。
第二步:采用二进制除法将新的加长的数据单元(k+r位)除以除数g(x) 。由此除法产生的余数就是循环冗余码校验码。
3.CRC码的生成
第三步:求CRC循环冗余校验码
(K+r)被除数+r(余数)
如果余数位数小于r,最左的缺省位数为0。
如果余数为0,则r=0。
CRC码的生成
生成多项式g(x)要满足的原则
生成多项式应满足以下原则
a、生成多项式的最高位和最低位必须为1。
b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做模2除后应该使余数不为0。
c、不同位发生错误时,应该使余数不同。
d、对余数继续做模2除,应使余数循环。
任何一个二进制数序列可以和一个只含有0和1两个系数的代数多项式建立起一一对应的关系。因此,用来求CRC码的那个除数通常用多项式来表示。原因如下:
代数多项式很短
可以通过多项式来进行概念的数学证明。
5.多项式
多项式
任何一个n位的二进制数都可以用一个n-1 次的多项式来表示,这种多项式叫码多项式(又叫信息多项式) 。
码多项式与二进制序列之间的一一对应关系:
(an-1 an-2……a1a0)N
A (x)= an-1Xn-1+an-2Xn-2 +……+a1X+a0X0
码多项式
多项式 二进制序列实例
以n=3位二进制数为例
二进制数 对应多项式
000
001
010
011
100
101?????
111?????
0
1
x
x+1
x2
x2+1
x2+ x+1
1011011 ? x6+x4+x3+x+1
x5+x4+x2+x
您可能关注的文档
- 弟子规总叙汇编.pptx
- 异常心电图的识别及处理心室性快速心律失常汇编.pptx
- 张发锐凌子豪课程设计(出租车计价器)汇编.doc
- 张学良简介汇编.docx
- 弗兰克盖瑞汇编.pptx
- 开业及园内氛围包装汇编.pptx
- 张延虎武科大毕业论文汇编.doc
- 张家港市2014~2015学年第二学期期末调研测试卷初二历史汇编.doc
- 张家口市20152016学年度第二学期期末考试高二地理试题(含答案)汇编.doc
- 张俊培训师简介2016.6汇编.pptx
- 2025民航职业技能鉴定经典例题带答案详解(培优).docx
- 人工智能辅助下的初中地理、生物、历史跨学科教学课程体系构建教学研究课题报告.docx
- 《社区老年人慢性病管理中的健康教育模式创新与效果评价》教学研究课题报告.docx
- 《建筑防水工程渗漏风险评估与预警系统构建研究》教学研究课题报告.docx
- 人工智能辅助下的小学英语教育故事编写与语音语调矫正研究教学研究课题报告.docx
- 1 《新冠肺炎康复者肺功能恢复过程中的呼吸力学变化研究》教学研究课题报告.docx
- 《量子通信与量子生物信息学的交叉研究及其在生物医学领域的应用》教学研究课题报告.docx
- 智能教学系统在高中生物课堂中的应用与教学行为预测分析教学研究课题报告.docx
- 《挥发性有机物(VOCs)污染控制与室内空气质量改善关系研究》教学研究课题报告.docx
- 《数字孪生在城市能源系统规划与节能减排中的应用创新》教学研究课题报告.docx
文档评论(0)