1、 1 课程设计报告课程设计报告 计算机网络计算机网络 题题 目:目: 差分曼彻斯特模拟编码差分曼彻斯特模拟编码 姓姓 名名: 专专 业:业: 班班 级级: 学学 号:号: 指导教师指导教师: 2013.12.212013.12.21 1 目目 录录 1.课程设计目的01 2.课程设计要求01 3.实验要求01 4.差分曼彻斯特编码简介01 5.设计思路02 6.图像示意02 7.算法流程图02 8.实验模块分析03 9.运行结果10 10.实验总结 11 (1)结果分析 11 (2)实验感想 12 11.附录代码 13 1 一、一、课程设计目的:课程设计目的: 通过课程设计,巩固计算机网络课程
2、学习的内容,强化上机 动手能力,为后续各门计算机相关课程的学习打下坚实基础。课程设 计为学生提供了一个独立实践的机会, 将课本上的理论知识和实际应 用问题进行有机结合,锻炼综合分析、解决实际问题的能力。 二、二、课程设计要求:课程设计要求: 1、对系统进行功能模块分析、控制模块分析正确; 2、系统设计要实用; 3、编程简练,可用,功能全面,具有较好的健壮性; 4、说明书、流程图要清楚。 三、三、实验要求:实验要求: 通过编译语言实现一个输入十六进制数输出差分曼彻斯特编码 模拟图像实验。 四、四、差分曼彻斯特编码差分曼彻斯特编码简介:简介: 差分曼彻斯特编码是对曼彻斯特编码的一种改进,保留了曼彻
3、 斯特编码作为“自含时钟编码”的优点,仍将每比特中间的跳变作为 同步之用, 但是每比特的取值则根据其开始处是否出现电平的跳变来 决定。其原理是:每一位中间都有一个跳变,每位开始时有跳变表示 “0” ,无跳变表示“1” 。位中间跳变表示时钟,位前跳变表示数据。 其优点是:时钟、数据分离,便于提取。 2 五、五、设计思路:设计思路: 输入 16 进制数据,能够输出差分曼却斯特波形图,通过数组转 变,将十六进制数据转化成二进制数据,转化过程中,必须将一位十 六进制数据转化成四位二进制数据, 并判断差分曼彻斯特编码, 输出 模拟图像。 六、六、图像示意:图像示意: 七、七、算法流程图:算法流程图: 判
4、 断 输入 数 据进制 不是二进制数, 则 运行结束 是二进制组成的数 据 输入一个十六进制数 开 始 将十六进制转换四位二进制数 表示 3 八、八、实验模块分析:实验模块分析: 将一个十六进制数转化为二进制数 void test() char cMAX; int a16=0; int i=0,j; coutc; while(ci) if(ci0 输出差分曼彻斯特编码 波形 结 束 4 else couttemp; if(temp!=y) exit(1); flag=false; break; index+; return flag; 差分曼彻斯特编码。第一个数据若是 1,则用 10 代替;若
5、是 0,则用 01 代替。其他数据,后一个数据若是 1,则数据起始位置不跳变;若 是 0, 则数据起始位置产生跳变。 并且, 每个数据中间都会产生跳变。 7 void Differential_Manchester_Encody(char *ch) int index=1; char temp; /用 temp 来记录前一个数据后半部分是 0 还是 1 couttemp; getchar(); /这个 getchar()是必须存在的,否则 gets 函数会读取 cintemp 中的回车 return 0; 九、九、运行结果:运行结果: 11 十、十、实验总结:实验总结: 1 1、结果分析:、结果分析: (1)差分曼彻斯特码编码规则: 从上图可看出差分曼彻斯特码的编码规则,即: i.每个单位周期内,以 1/2 周期的时刻处,分为高低两个等时长 电平。有两种:上升(先高后低)或下降(先低后高) 。 ii.数据流的二进制编码中,第一个数据位是