- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉理工大学
计算机网络课程论文
题目
循环冗余校验(CRC)算法的实现
作者
学院
信息工程学院
专业
电子信息工程
学号
指导教师
二〇一六年四月十四日
武汉理工大学信息工程学院课程论文诚信声明
本人声明:所呈交的课程论文,是本人在指导老师的指导下,独立开展工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本课程论文不含任何其他个人或集体已经发表或创作过的作品成果。对本文工作做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。
本科课程论文作者签名:
二○一六年四月十四日
课程论文成绩评定表
质量评价指标(在相应栏目打√)
评 价 项 目
论文与设计评价质量
按对应项目打分
工作量和态度(10分)
分析问题能力(10分)
解决问题能力(10分)
内容完整层次分明(10分)
设计、实验正确性(10分)
书写规范(10分)
流程图或拓扑图(10分)
论证充分(10分)
测试结果情况(10分)
总体评价(10分)
评定成绩(100分制)
指导教师签名
年 月 日
目 录
一、选题背景 1
1.设计要求 1
2.循环冗余CRC简介 1
3.应解决的主要问题 2
二、方案论证 2
1.循环冗余检验的原理 2
2.方案的选择及特点 4
三、过程论述 8
1.第一部分 8
2.第二部分 9
3.第三部分 11
4.第四部分 11
四、结果分析 12
1.CRC算法的实现 12
2.突变的产生和校验结果 13
3.无法检错的实例 14
五、总结 15
心得体会 17
参考文献 17
附件一:程序源代码 18
一、一、选题背景
题目17 循环冗余校验(CRC)算法的实现
1、设计要求
(1)利用结构体或数组模拟网络数据包结构。
(2)编码实现CRC算法,并将得到的校验位附加到网络数据包相应的位置。
(3)根据数据包的长度,随机生成一个数据包产生突变的位置,并对该位置的bit位模拟突变的产生。
(4)重新利用CRC算法校验该数据包,并指出产生的结果。
(5)CRC能够检出所有的错误吗?如果不能,你能构造出无法检错的实例吗?
2、循环冗余CRC简介
循环冗余校验码(CRC码,CRC=Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC码是由两部分组成,前部分是信息码,就是需要检验的信息,后部分是检验码,采用的是一种多项式的编码方法。循环码和码字多项式是CRC中的两个基本概念。CRC 校验的基本思想是利用线性编码理论,在发送端根据要传送的k 位二进制码序列,以一定的规则产生一个校验用的监督码(CRC 码)n 位,并附在信息后边,构成一个新的二进制码序列数共 (k+n) 位,最后发送出去。在接收端,则根据信息码和CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。
循环冗余校验码CRC是一种高效率且可靠的方法, 由线性分组码分支而来的, 是一种通过多项式除法检测错误的很不寻常而又巧妙的方法, 一方面它有很强的检测能力, 二是它的编码器电路及错误检测器电路都很容易实现, 它的优点使它在通信系统中得到了广泛的应用。现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这就叫做比特差错。比特差错是传输差错中的一种。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BEG。误码率与信噪比有很大的关系。如果设法提高信噪比,就可以使误码率减小。实际的通信链路并非是理想的,它不可能使误码率下降到零。因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC的检错技术。
3、应解决的主要问题
(1)选用哪种软件实现编程:
MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩阵对象时,不要求明确的维数说明。与利用C语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。本次大作业采用数组模拟网络数据包结构,采用MATLAB操作简单,结果明了,故用MATLAB程序语言实现CRC校验的程序设计。
(2)理想的循环冗余校验算法应具有以下特征:
CRC相同的数据多次,每次得到的CRC值应该相同。这也是通信过程中通过CRC校验数据在收发过程中是否出错的基本依据。
CRC不同的数据得到的CRC值应该不等。(尽管通过估计伪造可能得到相同的CRC值,但要确保这种概率很小)
对于32位的CRC来说,它能区分2^3
您可能关注的文档
- 第3章_结构抗震计算01重点.ppt
- 湘教版二年级下册《树根》重点.ppt
- 第3章_决策树学习重点.ppt
- 材料力学电测实验重点.ppt
- 第3章_数据类型重点.ppt
- 第3章MATLAB语言的基础知识重点.ppt
- 应用谷歌地球实现螺情资料的电子化重点.pptx
- 第3章PHP操作数据库_教学设计重点.doc
- 用cnn处理自然语言处理nlp重点.docx
- 第3章SQLServer数据库管理重点.ppt
- 2025年重庆电讯职业学院单招(语文)测试题库最新.docx
- 2025年海南健康管理职业技术学院单招(语文)测试题库附答案.docx
- 2025年开封职业学院单招(语文)测试模拟题库附答案.docx
- 2025年云南省思茅市单招语文测试题库附答案.docx
- 2025年西安高新科技职业学院单招(语文)测试题库附答案.docx
- 2025年河南省焦作市单招语文测试题库最新.docx
- 2025年青海省玉树藏族自治州单招(语文)测试题库最新.docx
- 2025年广东环境保护工程职业学院单招(语文)测试题库附答案.docx
- 2025年福建省龙岩单招(语文)测试题库附答案.docx
- 2025年无锡商业职业技术学院单招(语文)测试模拟题库最新.docx
文档评论(0)