第一篇:乐高实验指导书1(写写帮整理)
机电一体化 创新综合实验
目录
第一部分 课程总览..................................3 第二部分 综合实验..................................6 Lab1 光电传感器自动跟踪小车........................6 Lab2 光电传感器测距功能测试........................8 Lab3 光电传感器位移传感应用.......................12 Lab4 超声波传感器测试.............................13 Lab5 超声波传感器位移传感应用.....................17
第三部分 创新实验
a)b)c)d)
双轮自平衡机器人;
碰触传感机器人设计(基于Microsoft Robotics Studio平台); 寻线机器人的仿真和建模及实例(基于Lejos-Osek 设计一个机器人的实例); 自己提出一个合理的项目
第一部分
课程总览
1. 目的与意义
提倡“素质教育”、全面培养和提高学生的创新以及综合设计能力是当前高等工科院校实验教学改革的主要目标之一。为适应素质教育的要求,高等工科院校的实验课程正经历着从“单一型”“验证型”向“设计型”“开放型”的变革过程。我院测试及控制类课程《电工电子技术》《测试技术》《微机原理及接口技术》等课程涵盖了机械设备及加工过程测试控制相关的电子电路、传感器、信号处理、接口、控制原理、测控计算机软件等理论及技术,具有综合性、实践性强的特点,但目前各课程的实验教学存在着孤立、分散、缺乏系统性的问题。为促进机械工程学科学生对于计算机测控技术的工程创新设计能力、促进相关理论知识的理解和灵活应用,本机电一体化创新综合实验以丹麦乐高(LEGO)公司教育部开发的积木式教学组件-智力风暴(MINDSTORMS)为基础进行。
采用LEGO MINDSTORMS 为基础建立开放型创新实验室,并根据我院测试及控制类课程《电工电子技术》《测试技术》《微机原理及接口技术》等课程设计多层次的综合创新实验设计项目,具有技术综合性和趣味性以及挑战性,能有效激发学生的学习兴趣,使学生在实践项目的过程中激发和强化他们的创造力、动手能力、协作能力、综合能力和进取精神;可使学生在实施项目的过程中对材料、机械、电子、计算机硬件、软件均有直观的认知并掌握机械工程测试与控制的综合分析设计能力。
2. 实验基础
2.1 LEGO MINDSTORMS 控制器硬件
要求认识和理解RCX、NXT的基本结构,输入输出设备及接口,DCP传感器及接口,并熟练进行连接与操作。
2.2根据具体的实验要求选择适合的软件 Microsoft Robotics Studio基础 VPL编程
Microsoft Robotics Studio软件 Robolab软件 NXT软件 Matlab等等
2.3授课方式:
课堂讲授,编程以自学为主 参考书:
a)LEGO快速入门
b)乐高组件和ROBOLAB软件在工程学中的应用 c)ROBOLAB2.9编程指南 d)ROBOLAB研究者指南
e)各类有关乐高机器人的网站和论坛 附录:小车搭建步骤见“9797手册”
3. 综合实验任务及要求
Lego组件具有强大的灵活性,可根据我院教学任务分层次、分阶段的实验项目,根据涉及的技术层次以及难度拟分为指定项目实验(基础实验部分)以及创新综合实验两个层次,其中指定项目实验学生根据教师指定的参考项目设计方案完成指定对象的测试与控制的设计和实现;创新综合实验则仅给出某个测控主题及目标,由学生分组自行完成全部设计与构建。
4. 指定项目实验(基础实验部分)4.1.1 Lab1 光电传感器自动跟踪小车(必选)内容:搭建小车并使之自动跟踪黑色轨迹。目的:熟悉ROBOLAB 编程方法以及NXT使用。
4.1.2Lab2 光电传感器测距功能测试
内容:测试LEGO光电传感器的特性,并熟悉ROBOLAB测试环境的应用。目的:确定光电传感器用于测距的线性范围及特性。
4.1.3Lab3 光电传感器位移传感应用
内容:应用光感的局部线性特征搭建可与障碍物保持给定距离的小车,测试LEGO光电传感器的距离传感性能。
目的: 采用光电传感器进行距离测量。
4.1.4Lab4 超声波传感器测试
内容:应用超声波传感器线性特征搭建小车,并与障碍物保持一定的距离,测试其线性范围。
目的:确定超声波传感器用于测距的线性特性。
4.1.5Lab5 超声波传感器位移传感应用
内容:应用超声波传感器闪避障碍物,测试LEGO超声传感器的距离传感性能。
目的:
5. 创新实验设计
a.双轮自平衡机器人;
b.碰触传感机器人设计(基于Microsoft Robotics Studio平台);
c.寻线机器人的仿真和建模及实例(基于Lejos-Osek 设计一个机器人的实例); d.自己提出一个合理的项目
6. 综合实验说明书要求
编写说明书是综合实验的一个重要组成部分,它反映学生在整个设计过程中的工作表现和能力,编写设计说明书也是培养学生科技写作能力的一次训练,设计说明书应力求简洁、文理通顺、字迹工整。设计说明书的内容应
包括:
1)实验报告以小组为单位,每小组一份 2)实验目的 3)实验要求 4)小组成员分工
5)软件设计,程序流程图,ROBOLAB VI程序及截图 6)调试过程出现的问题及解决方案
7)结论(实验结果,体会与建议等,可附上有创意的小车图片)8)附机械结构图,算法流程图,数据处理表等等; 9)LEGO硬件结构的设计
10)测试与控制算法以及软件编程; 11)实验结果,测试数据记录,分析; 12)收获、体会,意见及建议;
7. 时间安排
《机电一体化创新综合实验》教学计划时间为: 日上午,为了使课程设计能按时完成,其时间安排如下:
1)阅读综合实验指导书,了解设计任务和要求,查阅参考资料,2~3天; 2)各班与老师联系上机调试时间
课程设计成绩的评定
1)成绩的评定,根据学生在整个设计过程中的表现、设计和制作水平,动手操作能力,设计说明书的编写质量等项目的评分综合评定。2)答辩成绩分优秀、良好、中等、合格和不合格五级。
第二部分
基础实验
Lab1 光电传感器自动跟踪小车
1.实验目的:
了解光电传感器感光特性; 掌握LEGO基本模型的搭建; 基本掌握ROBOLAB软件; 2.实验要求:
能做搭建比较牢靠的小车模型,能够实现小车沿着黑线行走(实际上是沿着黑线走Z字形)。3.软件设计:
编写程序流程图并写出程序。程序可参考下图:
4.测试环境:
如图所示:
5.实验步骤:
1)搭建小车模型,参考附录步骤或自行设计(创新可加分)。2)用ROBOLAB编写上述程序。(也可以自己编程序)3)将小车与电脑用USB数据线连接,并打开NXT的电源。点击ROBOLAB的RUN按钮,传送程序。
4)取有黑线的白板,运行程序,观察小车的运动情况,不断的调试,力求沿黑线走得越快越好。
6.实验报告要求:
实验目的 实验要求 小组成员分工
软件设计,程序流程图,ROBOLAB VI程序及截图 调试过程出现的问题及解决方案
结论(实验结果,体会与建议等,可附上有创意的小车图片)
7.注意事项:
光电传感器对环境光较为敏感,现采用直接采光装置,提高对环境的适应度。另外,采用光电传感器的自身光源,最大限度的减少环境光对实验的不利影响。 小车在行进之中,并不能保证轨迹完全沿着黑线行走,而是沿着黑线走Z字形。
Lab2 光电传感器测距功能测试
1.实验目的:
了解光电传感器测距的特性曲线; 掌握LEGO基本模型的搭建; 熟练掌握ROBOLAB软件。
2.实验要求:
能够用LEGO积木搭建小车模式,并在车头安置光电传感器。能在光电传感器紧贴红板,以垂直红板的方向作匀速直线倒车运动过程中进行光强值采集,绘制出时间-光强曲线,然后推导出位移-光强曲线及方程。
3.软件设计:
编写程序流程图并写出程序。程序可参考下图:
4.测试环境:
如图所示:
红板 光电传感器
直尺
注意事项:实验应尽量降低环境干扰因素,同时小车的设计宜使速度尽量低。(如何在马达的能量一定的情况下,降低小车的速度?)
可参考左图传动机构设计。
5.实验步骤:
1)搭建小车模型,参考附录步骤或自行设计(创新可加分)。2)用ROBOLAB编写上述程序。3)将小车与电脑用USB数据线连接,并打开NXT的电源。点击ROBOLAB的RUN按钮,传送程序。
4)取一红颜色的纸板(或其他红板)竖直摆放,并在桌面平面与纸板垂直方向放置直尺,用于记录小车行走的位移。
5)将小车的光电传感器紧贴红板放置,用电脑或NXT的红色按钮启动小车,进行光强信号的采样。从直尺上读取小车的位移。
6)待小车发出音乐后,点击ROBOLAB的数据采集按钮,进行数据采集,将数据放入红色容器。共进行四次数据采集。如下图所示:
6)点击ROBOLAB的计算按钮,分别对四次采集的数据进行同时显示、平均线及拟和线处理。
数据显示
平均线
拟和线
7)利用数据处理结果及图表,得出时间同光强的对应关系。再利用小车位移同时间的关系(近似为匀速直线运动),推导出小车位移同光强的关系表达式(从上面的图中你能读出什么?对比拟合线和平均线你可以从中知道什么?)。
8. 实验报告要求:
实验目的 实验要求 小组成员分工
软件设计,程序流程图,ROBOLAB VI程序及截图 调试过程出现的问题及解决方案 实验数据表格
实验数据曲线图截图
位移与光强拟合函数及在图中可以看出和推导出的物理量。 结论(实验结果,体会与建议等,可附上有创意的小车图片)
9. 注意事项:
光电传感器对环境光较为敏感,故应采用一定的遮光措施,使环境尽量的暗,增大光强变化范围,提高定位准确度。另外,采用光电传感器的自身光源,最大限度的减少环境光对实验的不利影响。
小车在行进之中,并不能保证轨迹完全与红板垂直,可以采取固定后轮 的方式,强制小车直线运动。
由于光电传感器的自身光源为红色光,故采用红板反射效果最好。在同等条件下,白板的反射光强曲线较陡。
由于线性区域很窄,故只
用低速档并可以考虑采用齿轮减速机构,使速度尽量的慢,得到较为理想的曲线
Lab3 光电传感器位移传感应用
1. 实验目的:
掌握利用光感的局部线性特征进行测距的方法。
2. 实验要求:
小车由出发点向障碍物方向匀速行进,距离3CM、2CM、1CM时各停止5秒钟并以不同音调提示到达指定位置。回程亦然并停止在3CM位置。测量小车到达各目标位置的实际位置。重复实验三次并记录相关数据。
3. 软件设计:
自行设计软件流程图及程序。
4.测试环境: 如图所示:
红板 光电传感器
直尺
5. 实验步骤:
1)搭建小车模型,参考附录步骤或自行设计(创新可加分)。2)用ROBOLAB编写程序(控制阈值需要修改)。3)将小车与电脑用USB数据线连接,并打开NXT的电源。点击ROBOLAB 的RUN按钮,下载程序。
4)取一红颜色的纸板(或其他红板)竖直摆放,并在桌面平面与纸板垂直方向放置直尺,用于记录小车与红板之间的距离。
5)将小车的正对红板放置,与红板距离约为4cm。用电脑或NXT的红色按钮启动小车。每逢小车停顿,从直尺上读取小车的位移。重复三次。6)将记录的数据记录在自制的表格中。(可以用办公软件绘制表格和图形)
6. 实验报告要求:
实验目的 实验要求 小组成员分工
软件设计,程序流程图,ROBOLAB VI程序及截图
调试过程出现的问题及解决方案,至少提供一种解决方案。 实验数据表格(可截图) 实验数据曲线(可截图)
结论(实验结果,体会与建议等,可附上创意部分的图片)
你能把光电传感器的光感和位移的关系应用到其它方面吗?请把你的想法用Lego表达出来。
7. 注意事项: 光电传感器对环境光较为敏感,故应采用一定的遮光措施,使环境尽量的暗,增大光强变化范围,提高定位准确度。另外,本实验采用光电传感器的自身光源,最大限度的减少环境光对实验的不利影响。
小车在行进之中,并不能保证轨迹完全与红板垂直,可以采取固定后轮的方式,强制小车直线运动。
由于光电传感器的自身光源为红色光,故采用红板反射效果最好。在同等条件下,白板的反射光强曲线较陡。
由于控制的位移很小,故尽量采用低速档及齿轮减速机构,使速度尽量的慢。另外一开始摆放的距离也不宜太大,尽量减小惯性,才能得到较为精确的控制。
读取直尺数值时尽量保持以垂直桌面的角度,减小误差。
Lab4 超声波传感器测试
1.实验目的:
了解确定超声波传感器用于测距的线性特性; 掌握LEGO基本模型的搭建; 熟练掌握ROBOLAB软件;
2.实验要求:
测试LEGO超声波传感器的特性,并熟悉ROBOLAB测试环境的应用。超声波传感器其工作原理是把特殊的声波发送出去,声波经过障碍物后反射回来,控制器把发送与接收的时间进行计算和分析,把距离算出来。
3.软件设计:
编写程序流程图并写出程序。程序可参考下图:
4.测试环境:
如图所示:在小车前面是平面墙。
注意事项:实验应尽量降低环境干扰因素,把超声波传感器对准障碍物,障碍物要尽量大。
5.实验步骤:
1)把采样总数设为50,运行小车获取测试数据;
2)在ROBOLAB的数据分析环境中得到超声波感器特性曲线,如下图所示;光电传感器
直尺
3)分析超声波传感器特性曲线,是否存在线性或近似线性范围?
4)在同等条件下重复实验三次,得到相应实验曲线图片保存下来;如图所示
5)在ROBOLAB计算环境中选取compute tools 3, 得到三次实验的平均值曲线,如下图所示;
6)取三次实验小车位移的平均值,分析与ROBOLAB中的距离值与测数值的拟合程度。
7)根据线性范围修改采样数,如20,再进行上述实验;比较两次的结果,你得到什么结论,你从图中可以得到哪些其它的结论。8)分析该超声波电传感器用作位移传感器的可行性。
9)对比分析光电传感器与超声波传感器在测量距离时的优点与缺点。10)用实验求出自己用的超声波传感器的最小测量距离,要求把程序与数据采样截图写在实验报告上。
6.实验报告要求:
实验目的 实验要求
小组成员分工
软件设计,程序流程图,ROBOLAB VI程序及截图 调试过程出现的问题及解决方案 实验数据表格
实验数据曲线图截图 位移与光强拟合函数
结论(实验结果,体会与建议等,可附上有创意的小车图片)
你知道超声波还有其它的应用吗?请把你的想法和创意用Lego表达出来。
Lab5 超声波传感器位移传感应用
1.实验目的:
掌握及确定超声波传感器用于测距以及把测出的数据控制电机的转动的应用,以及感性认识超声波传感器的工作原理。
测试LEGO超声波传感器的特性,并熟悉ROBOLAB中容器和跳转语句以及判断语句的应用。
2.实验要求:
设计小车能根据障碍物的距离进行速度反应,如果距离高于设定值,小车会向前运动,而且速度会根据离设定地点的距离的大小而变化,距离越大,速度越大;如果距离低于设定值,小车会向后运动,而且速度会根据离设定地点的距离的大小而变化,距离越大,速度越大。(提示:设计时要注意容器的使用,要把超声波反馈回来的数据放到容器里面,调用容器来确定电机的转速。容器存放的数值是整数,如果是小数会四舍五入取整。)
3.软件设计:
自行设计软件流程图及程序。
4.测试环境:
如图所示,在小车前一定距离用手移动障碍物,障碍物要尽量大,可以用大的课本代替。
5.调试与分析
1)运行小车,移动障碍物,观察小车的运动,并做纪录; 2)改变设定的距离,按(1)进行观察;
3)分析小车是否会根据距离的无穷远而电机的速度会变得无穷大,为什
么?
4)把自己的算法写出来,并加以分析;
5)如果障碍物突然消失了,超声波不能返回而小车一直往后,设计一个方案使小车的电机不受损坏;(提示:加上一个触动传感器)
6)分析自己的程序在离设定距离多远处开始小车的速度不再受距离影响; 7)分析光电传感器能否换成超声波传感器,为什么?(写一下自己的看法,理由)
6.实验步骤:
1搭建小车模型,沿用LAB2的小车结构。可以自己设计。
2编写程序。
a.设定距离(如75cm)
b.把超声波的数据存放到容器里面,接着在容器中运算,把与设定距离 的差额L算出来。
c.把差额L进行运算转化为马达的转速。d.用跳转指令把上述的动作循环。
(特别提示:电机的转速范围为0~5,大于5的都只能按5的速度来运动,同学们可以进行试验。)下载并开始实验。
7.实验报告要求:
实验项目目标
项目小组成员及分工
硬件结构(采用LEGO 摄像头拍摄结构照片) 软件设计,程序流程图,ROBOLAB VI程序及截图 回答调试与分析中的问题 写出自己的算法并分析
调试过程出现的问题及解决方案 实验数据表格 实验数据曲线图
结论(实验结果,体会与建议等)
第三部分 创新实验
机电一体化创新设计实验
一、概述及背景
机电一体化创新设计(Mechanical & Electrical Integration Creative Design,MEICD)是指在机构的主功能,动力功能,信息处理功能和控制功能上引进电子技术,将机械设计与电子化设计及软件结合起来
示所构成系统的总称。
机电一体化发展至今已经发展成一门有自身体系的新型学科,随着科学技术的不断发展,还将被赋予新的内容。但其基本的特征可概括为:机电一体化是从系统的观点出发,综合运用机械技术,微电子技术,自动控制技术,计算机技术,信息技术,传感测控技术,电力电子技术,接口技术,信息变换技术以及软件编程技术等群体技术,根据系统功能目标和优化组织目标,合理配置和布局各功能单元,在多功能,多质量,高可靠性,低能耗的意义上实现特定的功能价值,并使整修系统功能最优化的系统工程实验。
针对学院测试及控制类课程《电工电子技术》、《测试技术》、《微机原理及接口技术》等课程涵盖了机械设备及加工过程测试控制相关的电子电路、传感器、信号处理、接口、控制原理、测控计算机软件等理论及技术,具有综合性、实践性强的特点,但目前各课程的实验教学存在着孤立、分散、缺乏系统性的问题。为促进机械工程学科学生对于计算机测控技术的工程创新设计能力、促进相关理论知识的理解和灵活应用,本机电一体化创新综合实验正是适应了机电一体化技术的要示,以丹麦乐高(LEGO)公司教育部开发的积木式教学组件-智力风暴(MINDSTORMS)为基础进行。采用LEGO MINDSTORMS 为基础建立开放型创新实验室,并根据学院测试及控制类课程《电工电子技术》、《测试技术》、《微机原理及接口技术》等课程设计多层次的综合创新实验设计项目,具有技术综合性和趣味性以及挑战性,能有效激发学生的学习兴趣,使学生在实践项目的过程中激发和强化学生的创造力、动手能力、协作能力、综合能力和进取精神;可使学生在实施项目的过程中对材料、机械、电子、计算机硬件、软件均有直观的认知并掌握机械工程测试与控制的综合分析设计能力。
机电一体化创新设计(MCD)的一般过程分为四个阶段,见图1.1所。
机电一体化创新实验的任务和要求选定感兴趣的课题,确定研究方向(考虑硬件的实现和软件的选择)否是改变软件类型?根据功能要求选定适合软件,学习编程知识,进行算法研究计算机技术否是改变机械结构类型?机械结构类型及其优选机械结构学调试改进机械结构,优化算法测试和接口技术否满足预定的目标?是确定最优方案 图1.1机电一体化创新设计的一般过程
1、确定(选定或发明)研究课题和方向
它涉及机电学对象的不同层次、不同类型的机构组合,或不同学科知识、技术的问题。对机器人软硬件的认识,和控制类知识。
2、根据功能要求选定适合软件,学习编程知识,进行算法研究
Lego机器人提供了多种的编程平台,有官方的NXT,RABOLAB,和第三方的软件比如微软Microsoft Robotics Studio, Matlab中的Lejos-osek等等,同样也提供了多种编程的语言,有G语言(图形化语言),C#等等,还有模块化设计的理论等等,涉及到计算机和控制的综合。
3、机械结构类型及其优选
其难点在于求得完成预定任务的最佳机械结构方案,利用学到的机械结构,不断的优化,不断改进。引入优化法、代数消元法等数学方法分析机构学,使该问题有了突破性进展。
4、调试机器人,优化机械结构和算法
其中涉及到了计算机接口技术,数据处理等学科领域。其难点在于动力参数量大、参数值变化域广的多维非线性动力学方程组的求解。
完成上述课题选择、软件和算法研究、运动学、动力学分析与综合的四个阶
段,便形成了机器人实现特定功能的优选方案。然后,即可进入机电一体化创新设计阶段,该阶段主要解决基于机器人灵活性、稳定性、精确性设计问题。
综上所述,机电一体化创新化设计有如下特点:
1、涉及多学科,如机械、、电力、电子、信息、蓝牙及控制等多种科技的交叉、渗透与融合;
2、设计过程中相当部分工作是非数据性、非计算性的,必须依靠在知识和经验积累基础上思考、推理、判断,以及创造性发散思维(灵感、形象的突发性思维)相结合的方法;
3、尽可能在较多方案中进行方案优选。即在大的设计空间内,基于知识、经验、灵感与想象力的系统中搜索并优化设计方案;
4、机电一体化创新设计是多次反复、多级筛选过程,每一设计阶段有其特定内容与方法、但各阶段之间又密切相关,形成一个整体的系统设计。
机电一体化创新设计技术和机械系统设计(SD)、计算机辅助设计(CAD)、优化设计(OD)、可靠性设计(RD)、控制元设计(CD)等一起构成现代机电设计方法学库,并吸收邻近学科有益的设计思想与方法。随着认识科学、思维科学、人工智能、专家系统及人脑研究的发展,认识科学、思维科学、人工智能、设计方法学、科学技术哲学等已为MEICD提供了一定的理论基础及方法。
可以说,机电一体化创新设计是建立在现有机械设计学和电子计算机理论基础上,吸收科技哲学、认识科学、思维科学、设计方法学、发明学、创造学等相关学科的有益成份,经过综合交叉而成的一种设计技术和方法。
二、课题简介
1.双轮自平衡机器人
搭建一个双轮自平衡的机器人,选定一种可以实现机器人自平衡的算法(PID算法),确定适用的传感器(建议用光电传感器),选定实现这种算法的编程平台和编程语言(RobotC).2.碰触传感机器人设计(基于Microsoft Robotics Studio)
建议在Microsoft Robotics Studio 1.5 版(2008技术预览版已经推出,有兴趣可以试着使用)平台上,充分利用网上资源,在这里推荐1个(http://msdn.microsoft.com/robotics/)
其实在Google搜Microsoft Robotics Studio这个关键词会得到所要的资料。入门最重要一点是看安装软件随带的教程。
这个平台提供的实例,认识模块化设计理论,设计出一个基于建模
控制机器人的实例。Microsoft Robotics Studio是微软一个战略性计划,它不拘于硬件平台,是一个通用的设计平台,甚至可以自己设计硬件,而使用Microsoft Robotics Studio编程,在这里,使用的硬件是LEGO的NXT系列,要求使用NXT与Microsoft Robotics Studio(当然还可以结合其它软件,这就突出了Microsoft Robotics Studio的兼容性)设计出属于自己的东西。例如走迷宫机器人。
3.寻线机器人的仿真和建模及实例(基于Lejos-Osek 设计一个机器人的实例);
nxtOSEK、ECRobotNXT与MATLAB简介:
nxtOSEK是一个提供给NXT的RTOS(实时操作系统)和C/C++编程环境。不仅如此,nxtOSEK也可以被用作图形化编程和仿真模拟环境平台,它由设备驱动、C汇编源代码、实时操作系统代码构成。NXTOSKE可提供:
i.使用GCC系列工具的ANSI C/C++语言开发环境
ii.NXT 电机,传感器和其他装置的实时控制的C语言的API与C++语言的API iii.符合汽车电子控制系统标准的(TOPPERS)OSEK提供的实时多任务调度
NXT的一些其他编程语言是通过一个虚拟机解释执行的,而nxtOSEK的应用程序是于本地运行的。并且NXTOSEK固件消耗的ROM存储器空间共仅占约10 kb。
Embedded Coder Robot NXT是一个为LEGO MINDSTORMS NXT设计的基于MATLAB 和Simulink的开发环境。Embedded Coder Robot NXT提供了一个编程建模功能,用来完成NXT的控制策略、设备的动态特性和在3D图形虚拟环境中模拟呈现这些模型部件。它也提供了nxtOSEK对于真实NXT硬件的对象调度,它是基于Real-Time Workshop Embedded Code的。这意味着可以完全体会LEGO的建模、仿真、代码生成、目标对象的建立以及在真实的NXT上进行测试。MATLAB和Simulink是由The MathWorks生产的专有软件,目前主要被广泛地应用在控制工程中。
MATLAB是一个高性能的科学计算软件,一种简单、高效、功能极强的高级语言,具有强大的矩阵运算能力和极高的编程效率,这一方面使得MATLAB程序可以被高度向量化,另一方面使得程序易读易懂。它广泛应用于数学计算、算法开发、数学建模、系统仿真、数据分析处理及可视化、科学和工程绘图、应用系统开发(包括建立用户界面)等。当前它的使用范围涵盖了工业、电子。医疗、建筑等领域。
附件为四个课题的入门指导及实现简介:
附件1:双轮自平衡机器人
附件2:碰触传感机器人设计(基于Microsoft Robotics Studio)
附件3:寻线机器人的仿真和建模及实例(基于Lejos-Osek 设计一个机器人的实例)
光电一体化创新实验指导书
附件1:
双轮自平衡机器人
一、目的
了解LEGO传感器的相关功能并熟练应用,掌握LEGO基本模型的搭建,熟练掌握ROBOT C软件,探索机器人的自动控制调节算法研究。
二、要求
能够利用LEGO积木搭建一辆两轮机器人小车,并配置所需传感器;利用ROBOTC编写控制程序,建议选择PID控制算法,选择合适的kp,ki,kd等参数使该机器人能够在较长一段时间内实现自动平衡(当有外界扰动时,机器人小车也能快速做出反应使自己处于一个平衡状态)。
三、过程简介
1.利用LEGO积木搭建实验所需的机器人小车并安装必要的传感器;
2.选择控制算法,设计程序流程图;
3.学习ROBOCTC的编程方法,初步掌握一些功能函数的调用,并利用ROBOTC编写控制程序;
4.下载程序到NXT小车中进行调试、收集必要的数据,据此来不断改善算法参数,使得小车能够长时间保持平衡状态; 5.编写课程设计说明书,完成该实验。
四、拓展
机器人只能在较暗的环境下、纯色的白纸板上才能维持较长时间不倒。在调试过程中,传感器应尽可能的缩短与地面的距离,因为传感器在5~30mm内才是近似线性相关。机器人初始平衡点如果没有找好,机器人很难保持平稳。由于会受到周围环境的影响,可以适当修改kp,ki,kd等参数,使机器人具有良好的自动调节功能。
此次实验的最终目标是希望能实现两轮机器人的行走,以及利用摇杆控制两轮机器人转向或前行后退等。在行走过程中如何计算及调节机器人的重心,都是非常关键的困难点。
光电一体化创新实验指导书
附件2:
碰触传感机器人设计
-----基于Microsoft Robotics Studio平台
一、目的
学习基于Microsoft Robotics Studio平台的建模和仿真方法,对乐高机器人进行相关的控制和算法实现的研究。
二、要求
设计一个碰触传感机器人,也就是说触动该机器人的触碰传感器则驱动电机马达使机器人能够前行,一旦当从触碰传感器上撤去外部压力时,则电机马达停止转动,机器人停止前行。首先充分利用MSRS的丰富扩展功能,为机器人增添一个计算机报数功能,即每按下一次触碰传感器时,机器人不但向前运新,而且还能够将信号通过蓝牙无线传输给远端控制计算机,在电脑上语音播报当前碰触传感器的按键次数。
在开始变成前,要对Microsoft Robotics Studio作充分学习了解。
三、过程简介
1.在开始动手编程前,需要对所要设计的机器人程序有一个大致的流程框架和思路;
2.在VPL编程环境中设计碰触传感器的判断;而后数据流分为两路,一路控制语音播报,一路控制乐高电机马达。
3.利用VPL提供的TTS服务实现计算机语音朗读; 4.乐高 NXT 机器人马达控制。除了在碰触传感器被按下时使计算机能朗读数据以外,还有另一个重要的工作就是要让机器人能够启动电机旋转并前行; 5.下载程序,运行机器人。
四、拓展
利用Microsoft Robotics Studio可视化编程环境(VPL),可以轻松的d&d(drag&drop)编写图形化程序。Microsoft Robotics Studio有多个乐高NXT机器人服务供编程者使用,发挥创造力,就会设计出各种各样的乐高机器人应用程序,如设计走迷宫的机器人。除此之外,结合其可视化虚拟环境(VSE),可以完成各项不具备硬件条件的机器人应用程序开发。
光电一体化创新实验指导书
附件3:
寻线机器人设计
-----基于matlab-nxtOsek平台
一、目的
熟悉了解nxt--osek软件以及matlab的工具包的使用,能够利用已有的实例来仿真模拟以及下载到nxt中运行,从而掌握建模、仿真的实际应用。
二、要求
利用nxtosek和matlab设计出一个能追踪黑线行走的机器小车,可以是沿着黑线走Z字形,也可以优化其算法,让小车在黑线中走段直线,利用matlab、simulink和ecrobotnxt来模拟仿真小车追踪黑线行走这一个过程,能够实现利用matlab(其实是利用cygwin以及GNU等第三方软件)编译并上传目标文件到NXT中,让NXT小车能在现实中追踪任何形状的黑线。
三、过程简介
1.下载所需用到的各种软件(cygwin、GNU等)并安装,详细安装过程见2.3.4.5.lejos-osek官方网页,安装过程有点繁杂,仔细阅读安装说明书;
利用cygwin编译并上传部分lejos-osek中附带的实例到NXT中,熟悉了解下cygwin以及lejos-osek的使用方法(例如nxtgt程序就是利用摇杆通过蓝牙来控制NXT小车);
Ecrobotnxt中含有自平衡、走迷宫以及追踪黑线行走等许多实例,仔细阅读说明书,了解如何运行这些实例;
根据所提供的这些实例,修改参数或者优化算法,使这些实例更好的能够进行模拟仿真并能在实际中运行(至少要修改或优化其中一种实例算法); 编译所修改的程序并上传到NXT中,查看程序是否能正常运行;
四、拓展
Matlab具有非常强大的建模仿真功能,基于nxtosek的matlab可以虚拟仿真出nxt在现实中的运行状态;同时,matlab的编程效率也是非常的高,而且简单易懂,利用它可以解决很多的nxt程序问题。可以利用matlab simulink来完成nxt小车走迷宫以及两轮小车自平衡的设计并进行一系列的模拟仿真。
例如:可以制作一个使用乐高小车来控制平衡架平衡的实验装置。有一个通过弧形塑料管与地面接触的支架,并且一辆带有悬挂摆的小车在这个支架平台上运行。通过各种控制算法和试凑法的组合来控制小车的运动,使得该支架能够趋于平衡。使用自动控制原理中的PID算法和观察器来对小车进行控制,通过支架上小车的直线运动来保持支架的平衡。研究系统模型的推导和PID控制器参数的计算,并使用MATLAB对该系统进行仿真实验。
第二篇:数据结构 实验指导书
数 据 结 构 实 验 指 导 书
数据结构实验指导书
目录
数据结构实验指导书.......................................................................................................................1
目录...........................................................................................................................................1 实验指导书概述...............................................................................................................................2 上机实验题目...................................................................................................................................3
实验一 C语言相关知识复习................................................................................................3
一、实验目的...................................................................................................................3
二、实验内容...................................................................................................................3 实验二 单链表的插入、删除...............................................................................................3
一、实验目的...................................................................................................................3
二、实验内容...................................................................................................................3
三、实现提示...................................................................................................................4 实验三 栈及其应用.................................................................................................................5
一、实验目的...................................................................................................................5
二、实验内容...................................................................................................................5 实验四 二叉树的递归算法.....................................................................................................6
一、实验目的...................................................................................................................6
二、实验内容...................................................................................................................6 实验五 图的遍历.....................................................................................................................7
一、实验目的...................................................................................................................7
二、实验内容...................................................................................................................7 实验六 有序表的查找.............................................................................................................7
一、实验目的...................................................................................................................7
二、实验内容...................................................................................................................7 实验七 哈希表.........................................................................................................................7
一、实验目的...................................................................................................................7
二、实验内容...................................................................................................................7 实验八 内部排序算法的应用.................................................................................................8
一、实验目的...................................................................................................................8
二、实验内容...................................................................................................................8
实验指导书概述
“数据结构”是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。本课程系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了多种常用的查找和排序技术,并对其进行了性能分析和比较,内容非常丰富。本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。
由于以下原因,使得掌握这门课程具有较大难度: 内容多,时间短,给学习带来困难;
贯穿全书的动态链表存储结构和递归技术是学习中的重点和难点; 隐含在各部分的技术和方法丰富,也是学习的重点和难点; 先修课程中所介绍的专业性知识不多,加大了学习难度。
由于数据结构课程的技术性与实践性,《数据结构课程实验》的设置十分必要。为了帮助学生更好地学习本课程,理解和掌握算法设计所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握所用到的一些技术。
上机实践是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通过上机实践,使学生在可能短的时间内对数据结构知识的实践和应用有一个比较全面和系统的认识,达到理论与实践相结合的目的。
为了达到上述目的,本指导书安排了8个实验题目,它们与教科书的各章有紧密的关系,使学生在实验后能加深对课程内容的理解,增强动手能力。
每个实验题目采取了统一的格式,由问题描述、基本要求、测试数据、实现提示等部分组成。
问题描述旨在为读者建立问题提出的背景环境,指明问题“是什么”;
要求则对问题进一步求精,划出问题的边界,指出具体的参量或前提条件,并规定该题的最低限度要求;
测试部分旨在为检查学生上机作业提供方便,在完成实习题时应自己设计完整和 严格的测试方案,当数据输入量较大时,提倡以文件形式向程序提供输入数据;
实现提示对实现中的难点及其解法思路等问题作了简要提示,个别问题给出了参考实现。
下面带*的题目为选做题目。
上机实验题目
实验一 C语言相关知识复习
一、实验目的
复习C语言中函数、数组、结构体、文件等概念,掌握它们的描述与操作方法;熟悉掌握C++中typedef、引用参数调用(&)的概念及使用方法,为理解数据结构课程的后续内容以及算法书写奠定基础。
二、实验内容 问题描述:编写一个函数,求一个整数数组中的最大、最小值。
要求:在函数声明中采用引用参数传递方式实现最大、最小值的返回。测试:在主函数中输入10个数,调用此函数,打印输出最大和最小值。2 关于指针的使用:
用malloc方式分别申请两个指针,并实现两个指针内容的比较大小操作。要求:此功能在一个函数内实现,该函数接受两个整数值,存储到两个指针内容中,输出两者中的最大值。
测试:从主函数中输入两个数,调用该函数,打印输出交换后的值。
实验二 单链表的插入、删除
一、实验目的
1、熟悉某种数据结构在计算机上实现的方法。
2、掌握单链表的定义、创建、插入、删除、遍历等基本操作的实现。
3、体会单链表操作、有序表插入、删除的一般方法。
二、实验内容
问题描述:已知递增有序的单链表A,编写算法实现向A中插入或删除一个元素,并保持A的有序性。
实验要求:
1、结点的数据均为整型。
2、若表中已经存在此元素,则不插入
三、实现提示
1.在已知的线性表中插入或删除,需要下面的辅助函数:线性表的创建、线性表的遍历
2.在单链表表中插入或删除,需依次实现:
a)单链表结构的定义
b)单链表的创建(头插法或尾插法建表)c)单链表的遍历
d)单链表的插入、删除(采用顺序查找方法,顺头指针往后,查找插入或删除位置,再修改指针)
//头文件
#include “stdlib.h” //预定义常量 #define NULL 0
//单链表的定义
typedef struct LNode{ int data;struct LNode *next;}LNode,*LinkList;//单链表的创建
void Create_List(LinkList &L){ int data;LinkList p,q;L=(LinkList)malloc(sizeof(LNode));L->next=NULL;
q=L;
scanf(“%d”,&data);while(data!=0){
p=(LinkList)malloc(sizeof(LNode));
p->data=data;
p->next=q->next;
q->next=p;
q=p;
scanf(“%d”,&data);} }
//单链表的遍历
void TranverseList(LinkList L){
LinkList p;
p=L->next;
if(p==NULL)
{
printf(“niln”);
return;
}
while(p!=NULL)
{
printf(“%d ”,p->data);
p=p->next;
}
printf(“n”);}
实验三 栈及其应用
一、实验目的
1、熟悉栈的顺序表示与实现。
2、熟悉栈的应用。
3、理解并掌握递归函数的设计与实现。
二、实验内容 问题描述:利用栈实现十进制数n转化为d进制数 要求:
1)输入一个n和d,打印输出d进制数序列。
2)利用顺序栈来实现十进制数n转化为其他d进制数。此时,需要同时实现初始化空栈、入栈、出栈、判栈空等辅助功能。测试数据:
(1)输入n:1348
d:8 输出:2504(2)输入n:9
d:8 输出:11(3)输入n:0
d:8 输出:0 2 问题描述:利用栈实现算术表达式求值。要求:
1)参与运算的操作数为10以内的数值。测试数据:
自拟。
实验四 二叉树的递归算法
一、实验目的
1、掌握二叉树的表示与实现。
2、掌握二叉树的定义、创建、遍历等基本操作的实现。
3、熟悉求二叉树深度等递归算法的设计与实现。
二、实验内容
问题描述:已知二叉树t,分别采用顺序存储结构、二叉链表存储结构实现求二叉树的深度,并对二叉树分别进行中序遍历。要求:
1、二叉树分别采用顺序或二叉链表存储。
2、树中的数据类型约定为整型。测试数据:
1、输入序列:-+aØØ*bØØ-cØØdØØ/eØØfØØ创建二叉树; 输出:深度:5
前序序列:-+a*b-cd/ef
中序序列:a+b*c-d-e/f
后序序列:abcd-*+ef/-T:d / e f
2、t=nil
输入:Ø
输出:深度:0 实验五 图的遍历
一、实验目的
熟悉图的基本操作,掌握图遍历的设计与实现。
二、实验内容
问题描述:已知的描述校园景点的图,实现对该图的深度优先和广度优先遍历。要求:
图采用邻接矩阵存储,顶点信息包括景点的名称和简单描述。
实验六 有序表的查找
一、实验目的
1、理解各种查找方法的基本思想
2、熟悉有序表查找方法的算法实现
二、实验内容 已知一有序的序列{1,3,5,7,9},采用折半法分别查找3和6。
2已知输入一无序的序列{5,1,3,9,7},创建一棵二叉排序树,然后对其遍历,输出递增有序的序列。
实验七 哈希表
一、实验目的
理解哈希表的概念和基本操作;熟悉哈希表的创建、查找、插入的算法实现。
二、实验内容
问题描述:已知11位好友的名字各不相同,设计并实现一个哈希表,根据好友的名字,可以取得其生日。要求:
1、好友的信息包含名字和生日两个数据项,其中好友的名字为主键,用汉语拼音形式存放;
2、哈希函数采取:好友名字中所有拼音字母ASCII码值的和 MOD 11(除以1取余);
3、采取线性探测再散列的方式处理冲突。
实验八 内部排序算法的应用
一、实验目的
理解各种内部排序方法的基本思想;熟悉各种内部排序方法的算法实现
二、实验内容
问题描述:已知一序列{503,087,512,061,908,170,897,275,653,426},分别采取下列排序方法对其进行排序:
(1)直接插入排序;
(2)简单选择排序;
(3)起泡排序;(4)快速排序;(5)堆排序。
第三篇:数据结构实验指导书
目 录
实验规则················································2 实验环境················································2 实验报告要求············································3 实验一 单链表
(一)······································4 实验二 单链表
(二)······································5 实验三 栈···············································6 实验四 二叉树···········································7 实验五 最短路径·········································8 实验六 内部排序·········································9
实 验 规 则
为了顺利完成实验教学任务,确保人身、设备的安全,培养严谨、踏实、实事求是的科学作风和爱护国家财产的优良品质,特制定以下实验规则:
1、实验前必须充分预习,完成指定的预习任务。预习要求如下:
(1)认真阅读指导书,进行必要的设计与计算。(2)熟悉实验内容。
(3)预先复习,并按要求编写程序。(4)未完成预习任务者不得进入实验室。
2、遵守以下纪律:
(1)在实验室不得做和实验无关的事情。
(2)进行任课老师指定内容以外的实验,必须经指导教师同意。(3)遵守纪律,不迟到。
(4)保持实验室内安静、整洁,爱护公物,不许乱写乱画。
实 验 环 境
本实验在386以上的微机上进行,运行环境为VC6.0。
实验报告要求
1、实验题目 2.实验目的 3.实验环境
4.实验内容与完成情况(可以附上自主设计的源程序)5.出现的问题及对问题的解决方案 6.实验思考:(学生对本次实验的收获的总结)
实验一 单链表
(一)一、实验目的
掌握线性表的链式存储结构及其基本操作。
二、预习要求
1、看懂书上的算法,深入理解链表的物理存储模式和逻辑模式。
2、根据要求,编写程序准备上机调试。
三、实验内容
实现一个简单的学生信息管理系统,该系统的功能有:
1、利用单链表建立学生基本信息表
2、浏览每个学生的信息
3、根据学号查询某个学生的基本信息
4、添加学生信息到单链表中
5、删除一个学生的信息
四、实现提示
设计结点的结构体类型,包括学生的学号、姓名、年龄、性别;要求设计一个简单的菜单界面,根据需要选择所要进行的操作;构造函数,每一个函数实现上述的一个功能。
实验二 单链表
(二)一、实验目的
掌握线性表的链式存储结构及其基本操作。
二、预习要求
1、看懂书上的算法,深入理解链表的物理存储模式和逻辑模式。
2、根据要求,编写程序准备上机调试。
三、实验内容
1、实现单链表的就地逆置。
2、建立两个非递减有序单链表,然后合并成一个非递减链表。
3、建立两个非递减有序单链表,然后合并成一个非递增链表。
4、编写一个主函数,调试上述算法。
四、选做题、思考题
1、如何用带表头结点的单链表作为多项式的存储表示,实现两个多项式的相加。
2、约毖夫环的实现。
3、如何利用文件实现学生信息的存取。
实验三 栈
一、实验目的
深入了解并掌握栈的特性及其在实际中的应用;熟练掌握栈的算法实现;运用栈操作求解实际问题。
二、预习要求
1、看懂书上的算法,深入理解栈的特性和存储结构,以便在实际问题背景下灵活运用。
2、根据要求,编写程序准备上机调试。
三、实验内容
利用栈实现数据的分类,要求当输入为偶数时进栈1,当输入为奇数时进栈2,最后分别从栈1和栈2输出偶数和奇数序列。
四、实现提示
1、开辟一个连续的存储空间,实现两个栈顺序存储空间的共享;分别在两端设置栈顶指针,并按要求实现栈操作。
2、采用顺序存储实现栈的初始化、入栈、出栈操作。
五、选做题、思考题
1、两栈空间共享时,栈满的条件是什么?
2、为停车场编制进行管理的模拟程序(习题集P96,2.1)。
3、编写程序,利用栈实现表达式求值。
实验四 二叉树
一、实验目的
通过实践掌握二叉树的存储结构和遍历思想;掌握二叉树的常见算法的程序实现。
二、预习要求
二叉树的三种遍历方法。
三、实验内容
1、输入字符序列,建立二叉链表。
2、利用栈,编写非递归算法,编程实现二叉树的中序遍历。
3、求二叉树的叶子结点个数。
4、在主函数中设计一个简单的菜单,分别调试上述算法。
四、选做题、思考题
1、如何实现二叉树的后序遍历(非递归)。
2、如何求二叉树的高度。
实验五 最短路径(旅游景点导游咨询模拟)
一、实验目的
利用图的最短路径原理为用户提供路径咨询,掌握求最短路径的算法并编程实现。
二、预习要求
学习了解图的存储结构,掌握求最短路径的两种算法。
三、实验内容
设计一个旅游景点导游模拟程序,为来访的客人提供景点最短路径的信息查询服务,任意选取n城市,构成一个有向带权图,图中顶点表示城市,边上的权值表示两点间的距离,根据用户指定的始点和终点输出相应的最短路径。
四、实现提示
咨询以用户和计算机的对话方式进行,由用户输入起始点和终点,输出信息:最短路径是多少?并指出所经过的城市。存储结构可选用邻接矩阵。
五、选做题、思考题
1.如何实现对城市信息进行编辑(如:添加或删除)的功能。
2.用邻接表作存储结构,求一指定景点出发,到其余各景点的最短路径。
实验六 内部排序
一、实验目的
直观感受算法的关键字比较次数和关键字移动次数。
二、预习要求
1、常见的排序算法(插入排序、交换排序、选择排序、归并排序、基数排序等)的思想、特点及其适用条件。
2、根据要求,编写程序准备上机调试。
三、实验内容
1、对直接插入排序和简单选择排序算法进行关键字比较次数和关键字移动次数的比较。
2、利用链式存储结构,编写程序,实现直接插入排序和冒泡排序。
四、实现提示
测试数据可以为几组典型的数据:正序、逆序、乱序。
五、选做题、思考题
1、快速排序算法的非递归实现。
2、结合实验,理解针对不同待排元素的特点而选择不同排序方法的重要性。
3、如何对本实验进行时间、空间的复杂度分析。
第四篇:液压实验指导书
液压与气压传动实验指导书
张铁平
编
应用技术学院机械系
2012年 2 月
目 录
实验1:液压系统的认识与液压泵类元件拆装
一、实验目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2
二、实验仪器„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2
三、实验台结构与实验原理„„„„„„„„„„„„„„„„„„„„„„„2
四、实验步骤„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2
五、实验操作注意事项„„„„„„„„„„„„„„„„„„„„„„„„„2
六、实验报告及思考题„„„„„„„„„„„„„„„„„„„„„„„„„2 实验2:液压阀类元件的结构、工作原理的认识及元件的拆装„„„„„„„„„„„3
一、实验目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3
二、实验仪器„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3
三、实验台结构与实验原理„„„„„„„„„„„„„„„„„„„„„„„3
四、实验步骤„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3
五、实验操作注意事项„„„„„„„„„„„„„„„„„„„„„„„„„3
六、实验报告及思考题„„„„„„„„„„„„„„„„„„„„„„„„„3 实验3:液压系统调速回路性能实验
一、实验目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„4
二、实验仪器„„„„„„„„„„„„„„„„„„„„„„„„„„„„„4
三、实验台结构与实验原理„„„„„„„„„„„„„„„„„„„„„„„4
四、实验步骤„„„„„„„„„„„„„„„„„„„„„„„„„„„„„4
五、实验操作注意事项„„„„„„„„„„„„„„„„„„„„„„„„„4
六、实验报告及思考题„„„„„„„„„„„„„„„„„„„„„„„„„4 实验4:液压传动系统顺序动作回路组装
一、实验目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„5
二、实验仪器„„„„„„„„„„„„„„„„„„„„„„„„„„„„„5
三、实验台结构与实验原理„„„„„„„„„„„„„„„„„„„„„„„5
四、实验步骤„„„„„„„„„„„„„„„„„„„„„„„„„„„„„6
五、实验操作注意事项„„„„„„„„„„„„„„„„„„„„„„„„„6
六、实验报告及思考题„„„„„„„„„„„„„„„„„„„„„„„„„6 实验5:液压系统基本回路综合实验
一、实验目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„7
二、实验仪器„„„„„„„„„„„„„„„„„„„„„„„„„„„„„7
三、实验台结构与实验原理„„„„„„„„„„„„„„„„„„„„„„„7
四、实验步骤„„„„„„„„„„„„„„„„„„„„„„„„„„„„„8
五、实验操作注意事项„„„„„„„„„„„„„„„„„„„„„„„„„8
六、实验报告及思考题„„„„„„„„„„„„„„„„„„„„„„„„„8实验1:液压系统的认识与液压泵类元件拆装
一、实验目的
熟悉和掌握液压系统中各元件的结构、工作原理及元件性能;能够完成各种泵的拆装,掌握齿轮泵和叶片泵的结构、特点以及工作原理。
二、实验仪器
内六角扳手、改锥、螺丝刀、尖嘴钳子等
三、实验台结构与实验原理
拆装实验操作台
对齿轮泵和叶片泵进行拆解,观察内部结构。掌握其工作原理。
四、实验步骤
1.将实验中给出的液压元件分别拆开,观察各元件的组成零件、结构特征、工作原理,并记录拆装顺序以便于正确组装。
2.齿轮泵的拆装:将齿轮泵按顺序拆开,观察泵的密封容积由哪些零件组成,困油区、卸荷槽在什么位置,泵内压力油的泄漏情况,如何提高容积效率。
3.叶片泵的拆装:将叶片泵按顺序拆开,观察泵的密封容积由哪些零件组成,如何区分配油盘上的配油窗口,分析配油盘上的三角沟槽有什么作用,叶片能否反装,泵在工作时叶片一端靠什么力始终顶住定子内圆表面而不产生脱空现象。
五、实验操作注意事项
1.因实验元器件结构和用材的特殊性,在实验的过程中务必注意稳拿轻放防止碰撞。2.学生做实验之前一定要了解本实验的操作规章,在实验指导老师的指导下进行,切勿盲目进行实验。
3.实验完毕后,要清理好元器件,注意搞好元器件的保养和实验台的清洁。
六、实验报告及思考题
1.实验报告 1)本实验目的;
2)本实验设备及参数测试原理;
3)已知条件和实验数据记录(问题等); 4)实验结果及分析。2.思考题
1)写出所拆齿轮泵和叶片泵的工作原理。
2)所拆的齿轮泵和叶片泵哪些是变量泵?哪些是非变量泵?写出其是怎样调节变量的?
3)液压系统的组成有哪些?实验2:液压阀类元件的结构、工作原理的认识及元件的拆装
一、实验目的
熟悉和掌握液压系统中各元件的结构、工作原理及元件性能;能够完成各种液压阀的拆装,掌握所拆液压阀的结构、特点以及工作原理。
二、实验仪器
内六角扳手、改锥、螺丝刀、尖嘴钳子等
三、实验台结构与实验原理
1.拆装实验操作台
2.对本实验给出的液压阀进行拆解,观察内部结构。掌握其工作原理。
压力阀的工作原理是通过作用在阀体端面上的液体压力与阀体另一端面上作用的弹簧力进行平衡来控制阀体的运动,实现阀的开启和关闭。
四、实验步骤
1.单向阀的拆装,对所给出的单向阀进行拆卸,拆开紧固螺栓,卸下阀芯和压紧弹簧,观察阀的内部结构,掌握其工作原理及单向阀的特性。
2.压力控制阀的拆卸,拆卸本实验所给的压力控制阀,卸下阀芯和调节弹簧,观察其结构。掌握调节弹簧是如何和油压共同作用控制阀体的运动以实现阀的开启和关闭的。并掌握其调节压力原理。
3.流量控制阀的拆卸,拆卸本实验所给的流量控制阀,卸下阀芯,观察内部结构,掌握阀体的运动如何改变通流面积的大小以改变流量的。
4.方向控制阀的拆卸,拆解方向控制阀的芯,观察其结构,掌握阀芯的位置变化如何改变油路的通断。
五、实验操作注意事项
1.因实验元器件结构和用材的特殊性,在实验的过程中务必注意稳拿轻放防止碰撞。2.做实验之前必须熟悉元器件的工作原理和动作的条件,绝对禁止强行拆卸,不要强行旋转各种元件的手柄,以免造成人为损坏。
3.学生做实验之前一定要了解本实验的操作规章,在实验指导老师的指导下进行,切勿盲目进行实验。
六、实验报告及思考题
1.实验报告 1)本实验目的; 2)本实验所用设备;
3)已知条件和实验过程记录(拆卸过程中遇到的问题和疑惑); 4)实验结果及分析。2.思考题
1)写出直动型溢流阀和先导型溢流阀的工作原理和他们的异同。
2)溢流阀出油口压力不为零和溢流阀出油口压力为零时,其调节的进油口压力是否相同,为什么?
3)三位四通换向阀哪种类型的中位机能具有卸荷作用? 实验3:液压系统调速回路性能实验
一、实验目的
1.了解和熟悉液压元器件的工作原理 2.熟悉调速回路的工作原理
3.加强学生的动手能力和创新能力
二、实验仪器
1.液压传动综合教学实验台 1台 2.液压泵站 1台
3.二位二通电磁阀 1个 4.节流阀
1个 5.调速阀
1个
6.二位四通电磁换向阀 1个 7.溢流阀
1个 8.液压缸
1个
9.接近开关及其支架
3只
10.油管、四通、压力表
若干
三、实验台结构与实验原理
S1F=0S2S375A6标识 元件描述 1 液压源,简略符号 3 压力表 4 三位四通换向阀 5 可调单向节流阀 6 二位二通换向阀 7 单作用缸 8 溢流阀 8 油箱 9 油箱50%PAB43PT8PT129系统原理图
系统原理如上图,实用三个行程开关S1、S2、S3分别实现系统快进、慢进、快退的调速功能。
四、实验步骤
1.熟悉该液压回路的原理图。;
2.按照原理图连接好回路,确认回路连接无误,3.打开溢流阀,开启电液,气动泵站电机。通过溢流阀调节系统压力,电磁阀4左边电磁铁得电时,电磁阀4的左位开始工作,液压缸有杆腔的油直接从二位二通阀快速流回油箱,当活塞杆运动到接近开关S2位置时,二位二通电磁阀得电由常开变为常闭,回油经调速阀5流回油箱。液压缸做工进运动。当活塞杆运动到接近开关S3位置时,三位四通电磁阀4右位得电,电磁阀4右位工作进行换向。液压缸快速复位。调节溢流阀,让回路在不同的系统压力下反复允许多次,观察他们之间的运动情况。
4.实验完毕后,清理实验台,将各元器件放回原来的位置。
五、实验操作注意事项
1.因实验元器件结构和用材的特殊性,在实验的过程中务必注意稳拿轻放防止碰撞;在回路实验过程中确认安装稳妥无误才能进行加压实验。
2.做实验之前必须熟悉元器件的工作原理和动作条件,掌握快速组合的方法,绝对禁止强行拆卸,不要强行旋转各种元器件的手柄,以免造成人为损坏。
3.实验中的行程开关为感应式,开关头部距离感应金属约4mm之内即可感应信号。4.严禁带负载启动(要将溢流阀逆时针旋松动),以免造成安全事故。5.学生做实验时,系统压力不得超过额定压力6.3MPa。
6.实验之前一定要了解本实验系统的操作规程,在老师的指导下进行,切勿盲目进行实验。
7.实验过程中,发现回路中任何一处有问题时,应立即切断泵站电源,并向老师汇报情况,只有当回路释压后才能重新进行实验。
8.实验完毕后,要清理好元器件,注意搞好元器件的保养和实验台的清洁
六、实验报告及思考题
1.实验报告 1)本实验目的;
2)本实验设备及原理图; 4)结果及分析。2.思考题
1)简述系统如何实现调速功能的,即慢进的速度如何调节
2)速度的换接是通过哪些元件一同实现的。速度换接的时刻能够通过哪些元件来改变。
3)电磁阀4和电磁阀6的只要作用分别是什么?实验4:液压传动系统顺序动作回路组装
一、实验目的
1.了解电路控制液压回路工作原理
2.掌握接近开关的使用方法与职能符号及其运用;
二、实验仪器
1.液压传动综合教学实验台 1台 2.换向阀(阀芯机能“O”)2只 3.液压缸
2只 4.接近开关及其支架 4只 5.溢流阀
1只 6.四通油路过渡板 3只
7.压力表(量程10MPa)
2只 8.油泵 1台
9.油管
若干
三、实验台结构与实验原理
43126F=07F=0AY1BAY2BY443TPT28Y35PT标识 元件描述 1 液压源,简略符号 10 油箱 2 压力表 3 溢流阀 4 三位四通电磁换向阀 5 三位四通电磁换向阀 6 单作用缸 7 单作用缸 8 油箱 9 油箱制图:吴德旺10P91系统原理图
四、实验步骤
1.根据实验内容,设计实验所需的回路,所设计的回路必须经过认真的检查,确保正确无误。
2.按照检查无误后的回路要求,选择所需的液压元件,并且检查其性能的完好性。3.将检查好的液压元件安装在插件板适当的位置,通过快速接头和软管按照回路要求,把各个元件连接起来(包括压力表),(注:并联油路可用多孔油路板);
4.将电磁阀及行程开关与控制线连接 5.确认安装连接正确后,旋松泵出口溢流阀,然后启动油泵,按要求调压(3-5MPa)。6.系统溢流阀做安全阀使用,不得随意调整
7.根据回路要求,调节液压缸的速度,必要时可以加装流量阀进行调节。使液压缸 活塞杆的速度适中。
8.实验完毕后,应先旋松溢流阀手柄,然后停止油泵工作。确认回路中的压力为零后,取下连接油管和元件,归类放入规定的抽屉或规定地方。
五、实验操作注意事项
1.因实验元器件结构和用材的特殊性,在实验的过程中务必注意稳拿轻放防止碰撞;在回路实验过程中确认安装稳妥无误才能进行加压实验。
2.做实验之前必须熟悉元器件的工作原理和动作条件,掌握快速组合的方法,绝对禁止强行拆卸,不要强行旋转各种元器件的手柄,以免造成人为损坏。
3.实验中的行程开关为感应式,开关头部距离感应金属约4mm之内即可感应信号。4.严禁带负载启动(要将溢流阀逆时针旋松动),以免造成安全事故。5.学生做实验时,系统压力不得超过额定压力6.3MPa。
6.实验之前一定要了解本实验系统的操作规程,在老师的指导下进行,切勿盲目进行实验。
7.实验过程中,发现回路中任何一处有问题时,应立即切断泵站电源,并向老师汇报情况,只有当回路释压后才能重新进行实验。
8.实验完毕后,要清理好元器件,注意搞好元器件的保养和实验台的清洁。
六、实验报告及思考题
1.实验报告 1)本实验目的;
2)本实验设备及实验原理; 3)已知条件和实验记录; 4)结果及分析。2.思考题
1)改用顺序阀取代行程开关实现同样的功能,实验成功后画出实验原理图。
2)本实验中如果行程开关2损坏后,有什么样的结果?如果是行程开关4损坏呢,结果又如何? 实验5:液压系统基本回路综合实验
一、实验目的
1.了解压力控制阀的特点
2.掌握顺序阀的工作原理、职能符号及其应用; 3.会用顺序阀或行程开关实现顺序动作回路。
4.对比实验4自己改进的回路,理解顺序动作回路的特点及实现方法。5.在完成所给实验的基础上,改进系统原理图实现双缸同步功能。
二、实验仪器
1.液压传动综合教学实验台 1台 2.换向阀(阀芯机能“O”)1只 3.顺序阀
2只 4.液压缸
2只
5.接近开关及其支架
2只 6.溢流阀
1只
7.四通油路过渡底板
3只 8.压力表(量程:10MPa)2只 9.油泵
1台 10.油管 若干
三、实验台结构与实验原理
7F=0821F=0T69T5PPABY23PY1PT4标识 元件描述 1 液压源,简略符号 10 单向阀 11 油箱 12 油箱 2 溢流阀10 3 压力表 4 三位四通电磁换向阀 5 溢流阀 6 溢流阀 7 单作用缸 8 单作用缸 9 单向阀制图:吴德旺2T1211系统原理图1
四、实验步骤
1.根据实验内容,设计实验所需的回路,所设计的回路必须经过认真检查,确保正确 无误;
2.按照检查无误的回路要求,选择所需的液压元件,并且检查其性能的完好性; 3.将检查好的液压元件安装在插件板的适当位置,通过快速接头和软管按照回路要求,把各个元件连接起来(包括压力表)。(注:并联油路可用多孔油路板)。
4.将电磁阀及行程开关与控制线连接;
5.按照回路图,确认安装连接正确后,旋松泵出口自行安装的溢流阀。经过检查确认正确无误后,再启动油泵,按要求调压。
6.系统溢流阀作安全阀使用,不得随意调整。
7.根据回路要求,调节顺序阀,使液压油缸左右运动速度适中; 8.实验完毕后,应先旋松溢流阀手柄,然后停止油泵工作。经确认回路中压力为零后,取下连接油管和元件,归类放入规定的抽屉中或规定地方。
五、实验操作注意事项
1.因实验元器件结构和用材的特殊性,在实验的过程中务必注意稳拿轻放防止碰撞;在回路实验过程中确认安装稳妥无误才能进行加压实验。
2.做实验之前必须熟悉元器件的工作原理和动作条件,掌握快速组合的方法,绝对禁止强行拆卸,不要强行旋转各种元器件的手柄,以免造成人为损坏。
3.实验中的行程开关为感应式,开关头部距离感应金属约4mm之内即可感应信号。4.严禁带负载启动(要将溢流阀逆时针旋松动),以免造成安全事故。5.学生做实验时,系统压力不得超过额定压力6.3MPa。
6.实验之前一定要了解本实验系统的操作规程,在老师的指导下进行,切勿盲目进行实验。
7.实验过程中,发现回路中任何一处有问题时,应立即切断泵站电源,并向老师汇报情况,只有当回路释压后才能重新进行实验。
8.实验完毕后,要清理好元器件,注意搞好元器件的保养和实验台的清洁。
六、实验报告及思考题
1.实验报告 1)本实验目的;
2)本实验设备及参数测试原理; 3)已知条件和实验数据记录; 4)结果分析与探索。2.思考题
1)分别说明当系统中顺序阀5和顺序阀6的调节压力高于溢流阀2的调节压力(即系统压力)时,两个液压缸的工作情况如何变化
2)系统图中单向阀
9、单向阀10的作用是什么?
3)本实验中对两个液压缸顺序动作的控制与实验四中的有何不同?
第五篇:数据通信实验指导书
数 据 通 信
验 指 导 书
信息技术学院
实
目 录
实验一 数字通信的基带码型................................................................3实验二 2ASK数字调制与解调.................................................................7
实验三 2FSK数字调制与解调...............................................................12实验四 2PSK数字调制与解调...............................................................18
实验一 数字通信的基带码型
一、实验目的:
1.了解几种常见的数字基本信号
2.掌握常用数字基带传输码型的编码规则
3.掌握用MATLAB仿真技术实现目前用于数字通信的基带码型
二、实验仪器:
安装Matlab软件的PC机一台
三、实验原理:
1、单极性不归零码NRZ(Non Return Zero)
脉冲宽度等于码元宽度T 特点:(1)有直流,零频附近的低频分量一般信道难传输。
(2)收端判决门限与信号功率有关,不方便。(3)要求传输线一端接地。
(4)不能用滤波法直接提取位定时信号。
2、双极性非归零码(BNRZ)
T,有正负电平
特点:不能用滤波直接提取位定时信号。
3、单极性归零码(RZ)
T
特点:(1)可用滤波法提取位同步信号
(2)NRZ的缺点都存在
4、双极性归零码(BRZ)
特点:(1)整流后可用滤波提取位同步信号
(2)NRZ的缺点都不存在
四、实验步骤:
1、单极性不归零码NRZ(Non Return Zero)
(1)建立M文件,MATLAB实现程序如下:
function y=snrz(x)
%本函数实现将输入的一段二进制代码编为相应的单极性不归零码输出 %输入x为二进制码,输出y为编好的码 t0=200;t=0:1/t0:length(x);
%给出相应的时间序列 for i=1:length(x)
%计算码元的值
if x(i)==1
%如果输入信息为1
for j=1:t0
%该码元对应的点值取1
y((i-1)*t0+j)=1;
end
else
for j=1:t0
%如果输入信息为0,码元对应的点值取0
y((i-1)*t0+j)=0;
end
end
end y=[y,x(i)];plot(t,y);
%采用title命令来实现标记出各码元对应的二元信息 title('1
0
0
0
0');
grid on;axis([0,i,-0.1,1.1]);(2)在命令窗口中键入x的二进制代码和函数名,就可以得到所对应的单极性不归零码输出,如输入以下指令,将出现图1-2所示结果。
x=[1 0 1 1 0 0 1 0];snrz(x)
图1-2 单极性不归零码
2、双极性非归零码(BNRZ)
双极性非归零码的实现同单极性基本一样,只需将snrz.m中的判断得到0信息后的语句y((i-1)*t0+j)=0;中的0改为-1即可,将axis([0,i,-0.1,1.1]);中的-0.1改为-1.1即可,即axis([0,i,-1.1,1.1]);所以就不再给出MATLAB函数文件了,波形图如图1-3所示。
图1-3 双极性不归零码
3、单极性归零码(RZ)
function y=srz(x)%本函数实现将输入的一段二进制代码编为相应的单极性归零码输出
%输入x为二进制码,输出y为编好的码 t0=200;t=0:1/t0:length(x);
%给出相应的时间序列 for i=1:length(x)
%计算码元的值
if x(i)==1
%如果输入信息为1
for j=1:t0/2
y((2*i-2)*t0/2+j)=1;
%定义前半段时间值为1
y((2*i-1)*t0/2+j)=0;
%定义后半段时间值为0
end else
for j=1:t0
%如果输入信息为0
y((i-1)*t0+j)=0;
%定义所有时间值为0
end
end end y=[y,x(i)];plot(t,y);title('1
0
0
0
0');grid on;axis([0,i,-0.1,1.1]);
同理,在命令窗口中键入x的二进制代码和函数名,就可以得到所对应的单极性归零码输出,如输入以下指令,将出现图7-4所示结果。
x=[1 0 1 1 0 0 1 0];
srz(x)
图1-4 单极性归零码
4、双极性归零码(BRZ)
双极性归零码的MATLAB实现同单极性也基本一样,只需将srz.m中的判断得到0信息后的语句 for j=1:t0
y((i-1)*t0+j)=0;改为for j=1:t0/2
y((2*i-2)*t0/2+j)=-1;
y((2*i-1)*t0/2+j)=0;即可,所以也就不再给出MATLAB函数文件了,其波形图如图1-5所示。
图1-5 双极性归零码
五、实验报告要求:
用如下码型重复步骤,并做出相应的波形记录:
a 单极性不归零码
b 单极性归零码 c 双极性不归零码
d 双极性归零码
实验二 2ASK数字调制与解调
一、实验目的:
1.用MATLAB仿真技术实现数字调制与解调、基带数字调制与解调。2.掌握用键控法产生2ASK信号的方法.
3.了解2ASK信号的频谱与数字基带信号频谱之间的关系。
二、实验仪器:
安装Matlab软件的PC机一台
三、实验原理:
本次设计采用的流程图如图2-1所示。
s(t)乘法器++乘法器低通滤波器抽样判决器 cosctn(t)cosct
图 2-1 2ASK调制解调框图
1.ASK调制原理
2ASK二进制振幅调制就是用二进制数字基带信号控制正弦载波的幅度,使载波振幅随着二进制数字基带信号而变化,而其频率和初始相位保持不变。信息比特是通过载波的幅度来传递的。其信号表达式为:e0(t)S(t)cosct,S(t)为单极性数字基带信号。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号“1”时,传输载波;当调制的数字信号为“0”时,不传输载波。2ASK信号的时间波形e2ASK(t)随二进制基带信号S(t)通断变化。所以又被称为通断键控信号。典型波形如图2-2所示。
图 2-2 典型2ASK波形
e2ASK(t)为已调信号,它的幅度受s(t)控制,也就是说它的幅度上携带有s(t)的信息。2ASK信号的产生方法通常有两种:模拟调制法(相乘器法)和键控法。模拟调制法就是用基带信号与载波相乘,进而把基带信号调制到载波上进行传输。键控法由s(t)来控制电路的开关进而进行调制。两种方法的调制如图2-3和图2-4所示。
图 2-3 模拟调制法(相乘器法)
图 2-4 键控法
2.ASK解调原理
2ASK有两种基本解调方法:相干解调法(同步检测法)和非相干解调法(包络检波法)。相干解调需要将载频位置的已调信号频谱重新搬回原始基带位置,因此用相乘器与载波相乘来实现。相乘后的信号只要滤除高频部分就可以了。为确保无失真还原信号,必须在接收端提供一个与调制载波严格同步的本地载波,这是整个解调过程能否顺利完好进行的关键。本次设计采用相干解调法。两种解调原理图如图2-5和图2-6所示。
图 2-5 相干解调法(同步检测法)
图 2-6 非相干解调法(包络检波法)
四、实验步骤:
通过编写M文件程序,产生随机信号,按图2-1顺序对每一模块编程后。程序中注有需注意语句及解释。运行程序,实现2ASK的调制与解调过程。本次设计采用模拟调制法(相乘器法)和相干解调法。
2ASK调制解调程序及注释 clear all close all i=10;%10个码元 j=5000;t=linspace(0,5,j);%0-5之间产生5000个点行矢量,即分成5000份 fc=10;%载波频率 fm=i/5;%码元速率
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号 x=(rand(1,i))%rand函数产生在0-1之间随机数,共1-10个 figure(2)plot(x)a=round(x);%随机序列,round取最接近小数的整数 figure(3)stem(a)%火柴梗状图 st=t;for n=1:10
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n
st(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st(m)=1;
end
end end figure(1);subplot(421);plot(t,st);axis([0,5,-1,2]);title('基带信号st');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波 s1=cos(2*pi*fc*t);subplot(422);plot(s1);title('载波信号s1');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制 e_2ask=st.*s1;subplot(423);plot(t,e_2ask);title('已调信号');noise =rand(1,j);e_2ask=e_2ask+noise;%加入噪声 subplot(424);plot(t,e_2ask);title('加入噪声的信号');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 at=e_2ask.*cos(2*pi*fc*t);at=at-mean(at);%因为是单极性波形,还有直流分量,应去掉 subplot(425);plot(t,at);title('与载波相乘后信号');[f,af] = T2F(t,at);%通过低通滤波器 [t,at] = lpf(f,af,2*fm);subplot(426);plot(t,at);title('相干解调后波形');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决 for m=0:i-1;
if at(1,m*500+250)+0.5<0.5;
for j=m*500+1:(m+1)*500;
at(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
at(1,j)=1;
end
end end subplot(427);plot(t,at);axis([0,5,-1,2]);title('抽样判决后波形')
五、实验报告要求:
1.根据实验仿真结果,画出相应波形图 2.对仿真结果加以分析说明 实验三 2FSK数字调制与解调
一、实验目的:
1.用MATLAB仿真技术实现数字调制与解调、基带数字调制与解调。2.掌握用键控法产生2FSK信号的方法;
3.了解2FSK信号的频谱与数字基带信号频谱之间的关系。
二、实验仪器:
安装Matlab软件的PC机一台
三、实验原理:
本次设计所用流程图如图 2-9所示。s(t)键控法FSK发生器乘法器低通滤波器抽样判决器 n(t)图 2-9 2FSK调制解调框图
1.FSK调制原理
一个FSK信号可以看成是两个不同载波的2ASK信号的叠加。其解调和解调方法和FSK差不多。2FSK信号的频谱可以看成是f1和f2的两个2ASK频谱的组合。
频移键控是利用载波的频率来传递数字信号,在2FSK中,载波的频率随着二进制基带信号在f1和f2两个频率点间变化,频移键控是利用载波的频移变化来传递数字信息的。在2FSK中,载波的频率随基带信号在f1和f2两个频率点间变化。故其表达式为:
Acos(1tn)e2FSK(t)Acos(2tn)典型波形如图 2-10所示。
cosctak s1(t)1011001t s2(t)tcos(w1t+θn)tcos(w2t+φn)ts1(t)cos(w1t+θn)t s2(t)cos(w2t+φn)t2FSK信号t
图 2-10 2FSK典型波形图
2FSK的调制方式有两种,即模拟调频法和键控法。本次设计采用键控法。键控法中可以用二进制“1”来对应于载频f1,而“0”用来对应于另一频率f2,而这个可以用受矩形脉冲序列控制的开关电路对两个不同的独立的频率源f1、f2进行选择通。键控法原理图如图2-11示
载波 f12FSK输出信号载波 f2二进制数据2FSK的调制原理图图 2-11 2FSK键控法原理图
2.FSK解调原理
2FSK的解调方式有两种:相干解调方式和非相干解调方式。
非相干解调是经过调制后的2FSK数字信号通过两个频率不同的带通滤波器f1、f2滤出不需要的信号,然后再将这两种经过滤波的信号分别通过包络检波器检波,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来的信号就是调制前的输入信号。其原理图如图2-12所示。
带通滤波器 F1输入包络检波器抽样脉冲抽样判决器输出带通滤波器 F2包络检波器
图 2-12 2FSK非相干解调原理图
相干解调是根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。原理图如图3-14所示。
cos2π f1t非相干方式原理图带通滤波器 F1输入相乘器抽样脉冲低通滤波器抽样判决器低通滤波器输出带通滤波器 F2相乘器cos2π f2t
图 2-13 2FSK相干解调原理图
相干方式原理图
四、实验步骤:
通过编写M文件程序,产生随机信号,按流程图2.2.1顺序对每一模块编程后。程序中注有需注意语句及解释。运行程序,实现2FSK的调制与解调过程。本次设计中采用键控法调制法和相干解调法。
2FSK调制解调程序及注释 clear all close all
i=10;%基带信号码元数 j=5000;a=round(rand(1,i));%产生随机序列 t=linspace(0,5,j);f1=10;%载波1频率 f2=5;%载波2频率 fm=i/5;%基带信号频率
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号 st1=t;for n=1:10
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n
st1(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st1(m)=1;
end
end end st2=t;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%基带信号求反 for n=1:j;
if st1(n)>=1;
st2(n)=0;
else
st2(n)=1;
end end;figure(1);subplot(411);plot(t,st1);title('基带信号st1');axis([0,5,-1,2]);subplot(412);plot(t,st2);title('基带信号反码st2');axis([0,5,-1,2]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波信号 s1=cos(2*pi*f1*t)s2=cos(2*pi*f2*t)subplot(413),plot(s1);title('载波信号s1');subplot(414),plot(s2);title('载波信号s2');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制 F1=st1.*s1;%加入载波1 F2=st2.*s2;%加入载波2 figure(2);subplot(411);plot(t,F1);title('F1=s1*st1');subplot(412);plot(t,F2);title('F2=s2*st2');e_fsk=F1+F2;subplot(413);plot(t,e_fsk);title('2FSK信号')%键控法产生的信号在相邻码元之间相位不一定连续 nosie=rand(1,j);fsk=e_fsk+nosie;subplot(414);plot(t,fsk);title('加噪声后信号')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 st1=fsk.*s1;%与载波1相乘
[f,sf1] = T2F(t,st1);%通过低通滤波器 [t,st1] = lpf(f,sf1,2*fm);figure(3);subplot(311);plot(t,st1);title('与s1相乘后波形');st2=fsk.*s2;%与载波2相乘
[f,sf2] = T2F(t,st2);%通过低通滤波器 [t,st2] = lpf(f,sf2,2*fm);subplot(312);plot(t,st2);title('与s2相乘后波形');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决 for m=0:i-1;
if st1(1,m*500+250) for j=m*500+1:(m+1)*500; at(1,j)=0; end else for j=m*500+1:(m+1)*500; at(1,j)=1; end end end;subplot(313);plot(t,at);axis([0,5,-1,2]);title('抽样判决后波形') 五、实验报告要求: 1.根据实验仿真结果,画出相应波形图 2.对仿真结果加以分析说明 实验四 2PSK数字调制与解调 一、实验目的: 1.用MATLAB仿真技术实现数字调制与解调、基带数字调制与解调。2.掌握用键控法产生2PSK信号的方法; 3.了解2PSK信号的频谱与数字基带信号频谱之间的关系。 二、实验仪器: 安装Matlab软件的PC机一台 三、实验原理: 本次设计所用流程图如图2-17所示。 s(t)乘法器++乘法器低通滤波器抽样判决器 cosctn(t)cosct 图 2-17 2PSK调制解调框图 1.PSK调制原理 在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。2PSK信号调制有两种方法,即模拟调制法和键控法。通常用已调信号载波的 0°和 180°分别表示二进制数字基带信号的 1 和 0,模拟调制法用两个反相的载波信号进行调制。2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0°,当基带信号为1时相对于初始相位为180°。 键控法,是用载波的相位来携带二进制信息的调制方式。通常用0°和180°来分别代表0和1。其时域表达式为: e2PSKang(tnTs)cosct n其中,2PSK的调制中an必须为双极性码。本次设计中采用模拟调制法。两种方法原理图分别如图2-18和图2-19所示。 图 2-18 模拟调制法原理图 图 2-19 键控法原理图 2.PSK解调原理 由于2PSK的幅度是恒定的,必须进行相干解调。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。2PSK信号的相干解调原理图如图2-20所示,各点的波形如图2-21所示。 由于2PSK信号的载波回复过程中存在着180°的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。这种现象称为2PSK方式的“倒π”现象或“反相工作”。但在本次仿真中是直接给其同频同相的载波信号,所以不存在此问题。 e2PSK(t)带通滤波器a相乘器c低通滤波器d抽样判决器定时脉冲e输出cosctb 图 2-20 2PSK的相干解调原理图 10011atTsbtctdte10011t 图 2-21 相干解调中各点波形图 四、实验步骤: 通过编写M文件程序(见附录),产生随机信号,按流程图2-17所示顺序对每一模块编程后。程序中注有需注意语句及解释。运行程序,实现2PSK的调制与解调过程。 2PSK调制解调程序及注释 clear all close all i=10;j=5000;fc=4;%载波频率 fm=i/5;%码元速率 B=2*fm;t=linspace(0,5,j);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号 a=round(rand(1,i));%随机序列,基带信号 figure(3);stem(a);st1=t;for n=1:10 if a(n)<1; for m=j/i*(n-1)+1:j/i*n st1(m)=0; end else for m=j/i*(n-1)+1:j/i*n st1(m)=1; end end end figure(1);subplot(411);plot(t,st1);title('基带信号st1');axis([0,5,-1,2]);%%%%%%%%%%%&&&&&&%%%%%%%%%%%%%%%%%基带信号求反 %由于PSK中的是双极性信号,因此对上面所求单极性信号取反来与之一起构成双极性码 st2=t; for k=1:j; if st1(k)>=1; st2(k)=0; else st2(k)=1; end end;subplot(412);plot(t,st2);title('基带信号反码st2');axis([0,5,-1,2]);st3=st1-st2;subplot(413);plot(t,st3);title('双极性基带信号st3');axis([0,5,-2,2]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波信号 s1=sin(2*pi*fc*t);subplot(414);plot(s1);title('载波信号s1');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制 e_psk=st3.*s1;figure(2);subplot(511);plot(t,e_psk);title('e_2psk');noise=rand(1,j);psk=e_psk+noise;%加入噪声 subplot(512);plot(t,psk);title('加噪后波形');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 psk=psk.*s1;%与载波相乘 subplot(513);plot(t,psk);title('与载波s1相乘后波形');[f,af] = T2F(t,psk);%%%%%%%%%%%通过低通滤波器 [t,psk] = lpf(f,af,B);subplot(514);plot(t,psk);title('低通滤波后波形');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决 for m=0:i-1; if psk(1,m*500+250)<0; for j=m*500+1:(m+1)*500; psk(1,j)=0; end else for j=m*500+1:(m+1)*500; psk(1,j)=1; end end end subplot(515);plot(t,psk);axis([0,5,-1,2]);title('抽样判决后波形') 五、实验报告要求: 1.根据实验仿真结果,画出相应波形图 2.对仿真结果加以分析说明 附录 实验二、三、四 用到的傅立叶T2F函数 %利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。%脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。function [f,sf]= T2F(t,st)%This is a function using the FFT function to calculate a signal's Fourier %Translation %Input is the time and the signal vectors,the length of time must greater %than 2 %Output is the frequency and the signal spectrum dt = t(2)-t(1);T=t(end);df = 1/T;N = length(st);f=-N/2*df:df:N/2*df-df; sf = fft(st);sf = T/N*fftshift(sf);用到的低通滤波器函数 function [t,st]=lpf(f,sf,B)%This function filter an input data using a lowpass filter %Inputs: f: frequency samples % sf: input data spectrum samples % B: lowpass's bandwidth with a rectangle lowpass %Outputs: t: time samples % st: output data's time samples df = f(2)-f(1);T = 1/df;hf = zeros(1,length(f));%全零矩阵 bf = [-floor(B/df): floor(B/df)] + floor(length(f)/2);hf(bf)=1;yf=hf.*sf;[t,st]=F2T(f,yf);st = real(st);用到的反傅立叶函数 %脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。function [t,st]=F2T(f,sf)%This function calculate the time signal using ifft function for the input %signal's spectrum df = f(2)-f(1);Fmx =(f(end)-f(1)+df);dt = 1/Fmx;N = length(sf);T = dt*N;%t=-T/2:dt:T/2-dt;t = 0:dt:T-dt;sff = fftshift(sf);st = Fmx*ifft(sff);