内容发布更新时间 : 2024/11/8 19:59:47星期一 下面是文章的全部内容请认真阅读。
《数据通信原理》 课程实验指导书 (Experiments for Data Communication)
2005 年 12 月
摘 要
本课程实验内容由三个上机实验组成:循环码的编码实验、基于socket的数据通信实验、采用TCP的 Client/Server模式的数据通信实验。
1
循环码的编码实验:2实验学时,主要目的是基本掌握一种数据通信编码的纠错检错方法。基于socket的数据通信实验:4实验学时;采用TCP的 Client/Server模式的数据通信实验:4实验学时;这两个实验主要是培养学生在网络环境下的数据通信程序的开发能力,加深对本门课程的学习理解。
前 言
《数据通信原理》是网络工程专业本科生必修的一门专业基础课程。通过本课程
2
的学习使学生对数据通信获得较完整的概念,并掌握数据通信的基本理论,为以后学习相关网络课程打下必备的基础,为从事数据通信和计算机网络工作提供一定的技术支持。数据通信主要包括数据传输、数据交换和数据通信网以及相关的通信协议。
《数据通信原理》也是一门实践性较强的课程,为了理论联系实际,安排了三个实验,实验内容基本突出了《数据通信原理》的重点部分。从而能帮助学生加深对《数据通信原理》学习和理解。
为帮助学生熟悉掌握《数据通信原理》的基本理论与技术知识。特编写本课程实验指导书,由于水平有限,错误和不妥之处在所难免,恳请各位批评指正。
3
实验一 循环码的编码实验
一、目的和要求
1、实验目的
基本掌握循环码的编码过程及用程序实现的方法。 2、实验学时:2学时 3、实验要求
(1)熟悉循环码的编码方法、译码方法。
(2)选取一个生成多项式,采用C/C++编写循环码的编码程序。 (3)上机调试通过,并用相关代码测试。
二、实验内容
国际上推荐使用的循环码生成多项式有以下三种:
CRC-12=x12 + x11 + x3+ x2+ x+ 1 CRC-16=x16+ x15+ x2+ 1 CRC-CTU-T=x16+ x12+ x3+ 1
选取其中一种,采用C/C++语言设计出一个通用的循环码生成程序,并上机调试通过。并用设计的程序为下列代码生成循环码: 1、1100110100010101
2、10001100111011110001001000110110
三、仪器、设备和材料
1、PC微机
2、DOS操作系统或 Windows 操作系统
3、Turbo C 程序集成开发环境或 Visual C++ 程序集成开发环境 四、实验原理
循环码是一种线性码,是在严格的代数学理论基础上建立起来的,具有较强的检
错纠错能力。在循环码中一般用码多项式表示码组,也就是把码组中各码元当作一个多项式的系数。
一个长度为n的循环码(n,k)的每一个多项式,它必定是按模(xn+1)运算的一个余式。在(n,k)循环码中,存在一个n-k=r次的码多项式g(x)——生成多项式。
(n,k)循环码的编码可按下列步骤进行: 1、选择生成多项式g(x);
2、将待编码的信息多项式M(x)乘以xn-k ; 3、用g(x)去除xr M(x),得到商式Q(x)和余式r(x);
4、以r(x)作为监督多项式附加在xr M(x)之后,得到所需的码组。
1
五、实验步骤
1、根据要求选取生成多项式;
2、采用C/C++语言,设计循环码生成函数; 3、编制测试程序(主函数main)。 4、调试程序:输入一组编码,检查输出结果。 六、实验注意事项
1、实验报告应包括以下几个部分:
(1)循环码的生成原理、生成步骤; (2)循环码编码的实现算法。 2、测试数据: 测试下列码组:
1100110100010101,10001100111011110001001000110110 3、思考题:
(1)循环码在数据通信中如何检错? (2)循环码在数据通信中如何纠错?
2