ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:96.06KB ,
资源ID:15850353      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15850353.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CRC循环冗余校验码课设要点Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CRC循环冗余校验码课设要点Word格式.docx

1、指导教师:成 绩: 摘 要CRC即循环冗余校验码(Cyclic Redundancy Check)是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。本次课程设计研究了纠错码及循环冗余校验码的原理, 以及利用MATLAB对其进行了编码和译码仿真,实现了CRC循环冗余校验码的编码及校验,在接收端收到通过校验的码,从而确定传输过程是否出错,得到的结论和理论上是一致的。关键词:循环冗余校验码;检错码; matlab

2、软件目录前言 1第1章 循环冗余校验码(CRC)的基本原理 21.1 循环冗余校验码的基本介绍 21.2 循环冗余校验码的几个基本概念 21.3 循环冗余校验码的基本原理 3第2章 MATLAB软件基本介绍 52.1 MATLAB的介绍 52.2 MATLAB的组成部分 52.3 MATLAB的语言特点 52.4 MATLAB的优势 6第3章 循环冗余校验码(CRC)的详细设计 73.1 CRC循环冗余校验码的编码模块 73.2 CRC循环冗余校验码的译码模块 73.3 CRC循环冗余校验码的性能分析 83.4 CRC循环冗余校验码的生成器和校验器 83.5 CRC循环冗余校验码的程序流程图

3、93.6 运行结果及其分析 10总结 12参考文献 13附录 14致谢 16前言 数据通信中的编码可以分为两大类,分别是信源编码和信道编码。在实际应用中,为了提高数据通信的可靠性而采取的编码称为信道编码,也称做抗干扰编码。一般来讲,数据通信要求传输过程中的误码率应该足够低,这样才能真正符合实际应用的具体要求,为了降低数据通信线路传输的误码率,通常有改善数据通信线路传输质量和差错检测控制两种方法。实现差错检测控制的方法很多,CRC校验码是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC校验码,在早期的通信中运用广泛,因为早期的通信技术不够可靠(不可靠性的

4、来源是通信技术决定的,比如电磁波通信时受雷电等因素的影响),不可靠的通信就会带来“确认信息”的困惑,所以对通信的可靠性检查就需要“校验”,校验是从数据本身进行检查,它依靠某种数学上约定的形式进行检查,校验的结果是可靠或不可靠,如果可靠就对数据进行处理,如果不可靠,就丢弃重发或者进行修复。循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC。CRC校验码码的作用是:发送方发送的数据发送给了接收方,但是由于在传输过程中信号干扰,可能出现错误的码,造成的结果就是接收方不清楚收到的数据是否就是发送方要发的数据,所以就有了CRC校验码。保证了发送跟接受的数据是否一样,要

5、纠错的话,还需对软件进行设计,毕竟传输的是2进制,如果知道了哪一位出错了,可以把那一位取反,需要对软件进行优化。CRC也是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。它是利用除法及余数的原理来作错误侦测的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。本次课程设计主要设计(16,12)校验码的编码与解码,本次课程设计是介绍如何通过matlab软件,采用原理图输入法,分别完成相应的编码和解码;最后,检查编码解码过程是否发生错误,通过课程设计

6、验证CRC校验码的编码译码过程。第1章 循环冗余校验码(CRC)的基本原理1.1 循环冗余校验码的基本介绍 CRC码是由两部分组成的,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,就称为(n,k)码。CRC 校验的基本思想是利用线性编码理论,在发送端根据要传送的k 位二进制码序列,以一定的规则产生一个校验用的监督码(CRC 码)r 位,并附在信息后边,构成一个新的二进制码序列数共 (k+r) 位,最后发送出去。在接收端,则根据信息码和CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。 16 位的CRC 码产生的规则是先将要发送的二进

7、制序列数左移16 位后,再除以一个多项式,最后所得到的余数既是CRC 码。求CRC 码所采用模2 加减运算法则,既是不带进位和借位的按位加减,这种加减运算实际上就是逻辑上的异或运算,加法和减法等价,乘法和除法运算与普通代数式的乘除法运算是一样,符合同样的规律。接收方将接收到的二进制序列数(包括信息码和CRC 码)除以多项式,如果余数为0,则说明传输中无错误发生,否则说明传输有误。1.2 循环冗余校验码的几个基本概念 1.2.1 多项式与二进制数码 多项式和二进制数有直接对应关系:x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0。可以看出:x的最高

8、幂次为R,转换成对应的二进制数有R+1位。多项式包括生成多项式G(x)和信息多项式f(x)。如生成多项式为,可转换为二进制数码11011。而发送信息位 1111,可转换为数据多项式为。1.2.2 生成多项式 生成多项式是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。应满足以下条件: a、生成多项式的最高位和最低位必须为1; b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做模2除后应该使余数不为0; c、不同位发生错误时,

9、应该使余数不同; d、对余数继续做模2除,应使余数循环。1.2.3 模2除(按位除) 第一步,要在数据位(被除数)后边补 0 ,0 的个数比除数(生成多项式)少一位;第二步,做除法,从被除数的头五位减去五位的除数。除数的每一位都与被除数的对应位在不涉及上一位的情况下独立进行减法(实际进行的是模 2 加)。在本此课程设计中,除数11101 与被除数的前五位10111进行的是模 2 加,得到1010 (余数 1 前面的 0 被省略)。在被除数中下一个没有使用过的比特接着被抄录下来,使得余数的位数和除数的位数相同。如果位数不够,在商位补0(这与一般除法相同),因此,下一步就是 11110 11001

10、 ,结果是 111 ,依次类推。在二进制除法中,除数总是以 1 开头的,然后从上一次的被除数 / 余数中与除数位数相同的部分中减去除数,并且只能从最左位是 1 的被除数 / 余数中减去除数。每当被除数 / 余数的最左位是 0 时,就在该步骤中把 0 丢弃,再把被除数中的下一个未使用比特抄录下来填充余数,同时对应的商数位补一个零,并按上述方法进行二进制除法运算,一直重复这个过程直到被除数中所有比特都被使用过。1.3 循环冗余校验码的基本原理1.3.1循环冗余校验码的编码规则CRC码是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,

11、就称为(n,k)码。 它的编码规则是:1移位将原信息码序列(kbit)左移r位(k+r=n) 2相除运用一个生成多项式G(x)(也可看成二进制数)用模2除上面的式子,得到的余数就是校验码。非常简单,要说明的是:模2除就是在除的过程中用模2加,模2加实际上就是我们熟悉的异或运算,就是加法不考虑进位,公式是:0+0=1+1=0,1+0=0+1=1 即异则真,非异则假。由此得到定理:a+b+b=a 也就是模2减和模2加真值表完全相同。有了加减法就可以用来定义模2除法,于是就可以用生成多项式G(x)生成CRC校验码。1.3.2 CRC码生成和校验1.CRC码生成第一步:在数据单元(k位)的末尾加上r个

12、0。r是一个比预定除数的比特位数(r十1)少1的数。第二步:采用二进制除法将新的加长的数据单元(k+r位)除以除数。由此除法产生的余数就是循环冗余码校验码第三步:用从第二步得到的r个比特的CRC码替换数据单元末尾附加的r个0。如果余数位数小于r,最左的缺省位数为0。如果除法过程根本未产生余数(也就是说,原始的数据单元本身就可以被除数整除)那么以r个0作为CRC码替换余数所在的位置。产生的比特模式正好能被除数整除。2.CRC码校验到达接收方的数据单元首先到达的是数据,然后是CRC校验码。接收方将整个数据串当作一个整体去除以用来产生循环冗余校验余数的同一个除数。如果数据串无差错地到达接收方,循环冗

13、余校验器将产生余数0。因此数据单元将通过检验。如果在传输中数据单元被改变,除法将产生非零余数,因此数据单元将通不过检验。3应用举例发送端:例如:已知:信息码:1 1 0 1 0 0 1 1 0 1信息多项式:,生成码:1 1 0 0 1 0生成多项式:解: 1)* 的积是对应的码字是1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 02) 积G(X)(按模二算法) 由计算结果知冗余码是1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 0,CRC码(码字)就是1 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0

14、 1 1 1 0 1 0接收端:接受码字:1 0 1 0 0 1 1多项式:生成码:1011 生成多项式: (r=3) 求:码字的正确性。若正确,则指出冗余码和信息码。1) 用CRC 码(码字)除以生成码,余数为0 ,所以CRC 码(码字)正确。2) 因r=3,所以冗余码是:011,信息码是:1010。第2章 MATLAB软件基本介绍2.1 MATLAB的介绍在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类。一类是数值计算型软件,如 MATLAB、Xmath、Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,如Mathematica

15、、Maple等,这类软件以符号计算见长,能给出解析解和任意精度解,其缺点是处理大量数据时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算、文字处理、可视化建模和实时控制能力,开发了适合多学科、多部门要求的新一代科技应用软件MATLAB。经过多年的国际竞争,MATLAB 已经占据了数值型软件市场的主导地位。在MATLAB进入市场前,国际上的许多应用软件包都是直接以FORTRAN和C语言等编程语言开发的。这种软件的缺点是使用面窄、接口简陋、程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的20世纪80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。2.2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1