循环冗余校验(CRC)算法的 实现

循环冗余校验(CRC)算法的 实现

ID:44186584

大小:261.38 KB

页数:32页

时间:2019-10-19

循环冗余校验(CRC)算法的 实现_第1页
循环冗余校验(CRC)算法的 实现_第2页
循环冗余校验(CRC)算法的 实现_第3页
循环冗余校验(CRC)算法的 实现_第4页
循环冗余校验(CRC)算法的 实现_第5页
资源描述:

《循环冗余校验(CRC)算法的 实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、武汉理工大学《计算机网络》课程论文武汉理工大学计算机网络课程论文题目循环冗余校验(CRC)算法的实现作者学院信息工程学院专业电子信息工程学号指导教师二〇一六年四月十四日武汉理工大学《计算机网络》课程论文武汉理工大学信息工程学院课程论文诚信声明本人声明:所呈交的课程论文,是本人在指导老师的指导下,独立开展工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本课程论文不含任何其他个人或集体已经发表或创作过的作品成果。对本文工作做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。本科课程论文作者签名:二○一六年四

2、月十四日VI武汉理工大学《计算机网络》课程论文VI武汉理工大学《计算机网络》课程论文课程论文成绩评定表质量评价指标(在相应栏目打√)评价项目论文与设计评价质量按对应项目打分工作量和态度(10分)分析问题能力(10分)解决问题能力(10分)内容完整层次分明(10分)设计、实验正确性(10分)书写规范(10分)流程图或拓扑图(10分)论证充分(10分)测试结果情况(10分)总体评价(10分)评定成绩(100分制)指导教师签名VI武汉理工大学《计算机网络》课程论文年月日VI武汉理工大学《计算机网络》课程论文目录一、选题背景11.设计要求12.循环冗余CRC简介13.应解

3、决的主要问题2二、方案论证21.循环冗余检验的原理22.方案的选择及特点4三、过程论述81.第一部分82.第二部分93.第三部分114.第四部分11四、结果分析121.CRC算法的实现122.突变的产生和校验结果133.无法检错的实例14五、总结15心得体会17VI武汉理工大学《计算机网络》课程论文参考文献17附件一:程序源代码18一、VI武汉理工大学《计算机网络》课程论文一、选题背景题目17循环冗余校验(CRC)算法的实现1、设计要求(1)利用结构体或数组模拟网络数据包结构。(2)编码实现CRC算法,并将得到的校验位附加到网络数据包相应的位置。(3)根据数据包的

4、长度,随机生成一个数据包产生突变的位置,并对该位置的bit位模拟突变的产生。(4)重新利用CRC算法校验该数据包,并指出产生的结果。(5)CRC能够检出所有的错误吗?如果不能,你能构造出无法检错的实例吗?2、循环冗余CRC简介循环冗余校验码(CRC码,CRC=CyclicRedundancyCheck):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC码是由两部分组成,前部分是信息码,就是需要检验的信息,后部分是检验码,采用的是一种多项式的编码方法。循环码和码字多项式是CRC中的两个基本概念。CRC校验的基本思想是利用线

5、性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(CRC码)n位,并附在信息后边,构成一个新的二进制码序列数共(k+n)位,最后发送出去。在接收端,则根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。循环冗余校验码CRC是一种高效率且可靠的方法,由线性分组码分支而来的,是一种通过多项式除法检测错误的很不寻常而又巧妙的方法,一方面它有很强的检测能力,二是它的编码器电路及错误检测器电路都很容易实现,25武汉理工大学《计算机网络》课程论文它的优点使它在通信系统中得到了广泛的应用。现实的通信链路都不会是理想的。这就是说

6、,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这就叫做比特差错。比特差错是传输差错中的一种。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BEG。误码率与信噪比有很大的关系。如果设法提高信噪比,就可以使误码率减小。实际的通信链路并非是理想的,它不可能使误码率下降到零。因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC的检错技术。3、应解决的主要问题(1)选用哪种软件实现编程:MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特

7、征,而且简单易学、编程效率高。MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩阵对象时,不要求明确的维数说明。与利用C语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。本次大作业采用数组模拟网络数据包结构,采用MATLAB操作简单,结果明了,故用MATLAB程序语言实现CRC校验的程序设计。(2)理想的循环冗余校验算法应具有以下特征:CRC相同的数据多次,每次得到的CRC值应该相同。这也是通信过程中通过CRC校验数据在收发过程中是否出错的基本依据。CRC不同的数据得到的CRC值应该不等。(尽管通过估计伪造可能得

8、到相同的C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。