1实验一数据链路层实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 数据链路层——检错与纠错
一实验任务
1通过【海明编码】和【CRC 检错】测试软件,验证纠错与检错功能和性能,掌握其工作原理;
2编写海明编码程序和 CRC 编码程序;
3总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。
二实验环境
1操作系统Windws 9x/NT/2000/XP/2003/2008/Vista/7
2软件Visual C++ 6.0/2005/2008/2010、Visual Basic 6.0/2005/2008/2010、Turbo C/C++
3软件 C++ Builder 6.0/2006/2007/2009/2010/XE/XE2、Java、C# 或其它
4数制转换与比较 (16进制、2进制转换;通过比较,找出差错个数、差错位置和突发差错长度)。
三海明编码实验
下载【海明编码】测试软件,运行:
1 验证纠错能力;
2 验证检错能力;
3 若数据=10011001,海明编码=?,校验位=?
4若接收端收到的信息=101010101001(海明编码),数据=?
5 尝试编写海明编码的程序。
四CRC编码实验
下载【CRC-8检错】测试软件,运行:
CRC8UndetectedErrors
1验证检错能力,能检几位错?
2 找出检错失败的信息码,并进行分析;
3 若数据=“Hello!”,采用生成多项式107H,CRC校验码=?
4若数据=“Hello!”,采用生成多项式131H,CRC校验码=?
5若接收端收到的信息=4F6F1DH,采用生成多项式107H进行校验,结果如何?6自定义生成多项式,实验其性能,如何选择生成多项式?
7试编写CRC-8编码程序;
8试编写CRC-16编码程序,参考【CRC-16 检错】测试软件。
CRC16UndetectedErrors
9 对比CRC-8、CRC-16、CRC-32的检错性能;
10 试编写CRC-32编码程序,参考【CRC-32 检错】测试软件。
CRC示例
1CRC-8 , Demo of CRC-8 Program of javascript.
2CRC-8 tester, Test of the CRC-8 Error Detection Capabilities (javascript). 3CRC calculator (javascript), The polynoms generator can be chosen, data input by string or hexadecimal values.
4 CRC calculator (java), The polynoms generator can be chosen, with division sum or the shift register is exclusive.(Microsoft Java VM 5.0.380
5 中文版) 5 【CRC-32,采用查表法/计算法的CRC对比】.
五参考
海明编码
CRC编码