重庆大学CAD实验报告(通用8篇)
预习报告
1、实验目的
(1)了解完整的PCB板设计工序及方法;(2)掌握制作元件原理图库、封装库的方法;(3)掌握PCB板设计方法及其后处理。
2、实验用仪器设备、器材或软件环境
(1)微机(最低配置: Pentium 4 CPU, 128M内存);(2)Protel DXP软件(最低版本:V7.0);
(3)Windows2000/XP环境、MS Office 2000以上版、Adobe Acrobat 5.0以上版。
3、设计要求
本实验要求在Protel DXP软件平台上设计GPS定位系统电路的PCB板,GPS定位系统电路图见附录1。具体要求如下:
(1)采用双面板设计PCB(外形及尺寸根据具体电子系统合理布局);(2)PCB板中的过孔为穿透式、元件安装方式为单面安装;
(3)PCB板中的信号导线的宽度≥10mil、电源导线宽度≥30mil,其他参数自定。
4、芯片封装信息
查找ATmega32芯片,在美国atmel公司http:///dyn/products/product_card.asp?part_id=2014网上查阅了芯片封装信息,详细数据如下:
内蒙古工业大学信息工程学院
内蒙古工业大学信息工程学院
实验报告成绩: 指导教师审核(签名): 年 月 日
实验报告
一、仪器设备型号及编号 LENOVO F41
二、实验器材或软件环境
(1)Protel DXP2004(2)Windows2002环境、MS Office 2007、Adobe Acrobat 5.0
三、实验步骤、程序调试方法
1、设计原理图元件
Protel DXP提供了丰富的原理图元件库,没有元件ATMEGA32,建立自己的元件库。
2、绘制原理图
找到所有需要的原理元件后,开始原理图绘制。完成原理图后,用 ERC(电气法则检查)工具查错。找到出错原因并修改原理图电路,重新查错到没有原则性错误为止。
3、设计元件封装
和原理图元件库一样,Protel DXP部分元件的封装。没有得元件须自行设计并建立新的元件装库。
4、设计 PCB板
确认原理图没有错误之后,开始 PCB板的绘制。首先绘出 PCB板的轮廓,确定工艺要求。然后将原理图传输到 PCB板中来,在网络表(简单介绍来历功能).设计规则和原理图的引导下布局和布线。
5、元器件的布局
Protel DXP 提供了强大的自动布局功能,在预放置元件锁定的情况下,可用自动布局放置其他元件。在Auto Place 对话框中选择自动布局器。Protel DXP提供布局。
6、自动布线
在布线质量满足设计要求的情况下,可使用自动布线器以提高工作效率装。
7、布线后的调整完善
布通之后,对布线进行手工初步调整。调整的内容有:需加粗的地线、电源线、功率输出线等进行手动加粗;某几根绕得太多,太过繁琐的线重布;消除部分不必要的过孔。
另外,我们还要切换到单层显示模式下将每个布线层的线拉整齐和美观。手工调整时应经常进行DRC,因为有时有些线会断开。快完成时可将每个布线层单独打印出来以方便改线。调整完毕后用VIEW3D功能查看实际效果。
四、实验数据处理及结果分析(1)GPS定位系统电路原理图
内蒙古工业大学信息工程学院
(2)ATMEGA32元件封装图
(3)PCB板正面
内蒙古工业大学信息工程学院
PCB板反面
(4)3D效果图
内蒙古工业大学信息工程学院
五、实验中存在的问题
protel 2004 dxp 在pcb布线时,手工放置几个焊盘后,想从其他元器件引线连接到焊盘上,导线变红,变红就是报错了,因为这时候放的焊盘和将要跟它连接到一起的元器件不在一个网络上。现在状态下修改的方法就是双击焊盘修改它的网络与将要跟它连接到一起的元器件网络一致,关闭设置对话框就可以了。再有就是把现在的焊盘删除,重新在导线上直接放置焊盘,之后载调节焊盘到合适位置。
六、体会及思考题
在实训的一周里我不仅了解到了实在的学习内容,并且对专业以外的知识做了很深的了解,当我们要去学习或研究一门技术或学问时,去了解有关这门技术或学问的历史背景是非常重要的,这也就是“寻根”。欲学习一门技术或学问却不去了解它的历史,将有如无根之萍,无法深入并获得其中的乐趣!我们每画的一个零件图就好象跟CAD的历史一样,一步一步的渐进,自己从中吸取很多的精华,例如,当尺寸没有按照标准画时,在标注尺寸的时候就需要修改数据,不仅影响到了图的雅观,还直接影响了图的真实性,所以在画图过程中就要很细心,一步一步慢慢来,做到精确,无误差,在比如,在修剪多余直线的时候很有可能会出先剪不掉的现象,我经常遇到,那是因为连线的时候线与线之间根本就没有连接在一起,表现出作图不扎实的意思,在老师的帮助下,我改正了这个不好的习惯,作图,就要用心去做,扎扎实实的完成任务!
学生实验报告
课程名称:电子线路 CAD
专业班级:11 级电信*班
学
号: **************
姓
名:
所属院部:湘南学院物电系 指导老师: 戴勤
2012---2013 学年
第 2学期
湘南学院物电系 实验报告书写要求
实验报告要求书写工整,若因课程特点需要打印,要遵照以下字 体,字号,间距等地要求,纸张一律采用 4 纸
实验报告书写要求
实验报告中一至四内容为必填项,包括实验目的和要求; 实验仪器和设备,实验内容与过程,实验结果与分析,各院部可根据 学科特点和实验的具体要求增加项 填写注意事项
(1)细致的观察,及时,准确,如实的记录
(2)准确说明,层次清晰
(3)尽量采用专业术语来说明事物
(4)外文,符号,公式要准确,应使用统一的名词和符号
(5)应独立的完成实验报告的书写,严禁抄袭,复制,一经发
现,零分处理
实验报告批改说明
试验报告批改要及时,认真,仔细,一律用红笔批改,实验报告 的批改成绩采用百分制,具体评分由各院部自行制定 实验报告装订要求
实验报告改完后,任课老师将每门课程的每个实验项目以自然班 为单位,按学号升序排列,装订成册,并附上一份该门课程的实验大 纲 实验项目名称:Protel使用基础 实验学时:2 学生姓名:*** 实验地点:4-214 试验时间:2012-2-27 实验成绩: 批改老师:戴勤 批改时间:2012-3-6
实验项目1
Protel使用基础
一、实验目的和要求
**************************
二、实验仪器和设备
********************************
三、实验内容
******************************
四、实验结果与分析
************************************
五、思考题:
*****************************************
实验项目名称:原理图设计
实验学时:4 学生姓名:***
实验地点:4-214 试验时间:2012-3-6
实验成绩:
批改老师:戴勤
批改时间:2012-3-20
实验项目2
原理图设计
一、实验目的和要求
**************************
二、实验仪器和设备
********************************
三、实验内容
******************************
四、实验结果与分析
************************************
五、思考题:
实验项目名称:印刷电路板的设计
实验学时:4 学生姓名:***
实验地点:4-214 试验时间:2012-3-20
实验成绩:
批改老师:戴勤
批改时间:2012-4-3
实验项目4 印刷电路板的设计
一、实验目的和要求
**************************
二、实验仪器和设备
********************************
三、实验内容
******************************
四、实验结果与分析
************************************
五、思考题:
实验项目名称:印刷电路板的布局与布线
实验学时:2 学生姓名:***
实验地点:4-214 试验时间:2012-4-实验成绩:
批改老师:戴勤
批改时间:2012-4-10
实验项目3 印刷电路板的布局与布线
一、实验目的和要求
**************************
二、实验仪器和设备
********************************
三、实验内容
******************************
四、实验结果与分析
************************************
五、思考题:
实验项目名称:单片机最小系统的设计
实验学时:4 学生姓名:***
实验地点:4-214 试验时间:2012-4-10
实验成绩:
批改老师:戴勤
批改时间:2012-4-20
实验项目4 单片机最小系统的设计
一、实验目的和要求
**************************
二、实验仪器和设备
********************************
三、实验内容
******************************
四、实验结果与分析
************************************
学生姓名:学生学号:指导教师:日
期:
___ ________ _________ __________
2015年1月5日
目
录
1、课程设计目的„„„„„„„„„„„„„„„„„„1
2、设计步骤„„„„„„„„„„„„„„„„„„„„1
3、问题解决„„„„„„„„„„„„„„„„„„„„7
4、设计体会„„„„„„„„„„„„„„„„„„„„8 参考书目„„„„„„„„„„„„„„„„„„„„„8
一、课程设计目的
本课程设计是《电子线路CAD》的实践课程,使学生正确掌握电子线路设计与仿真软件Altium Designer的电子线路原理图绘制、PCB图设计。通过电路设计,掌握硬件设计中原理图设计、器件布局、等硬件设计的重要环节。
二、设计步骤
3.1总体操作流程
1.打开Altium Designer 09,文件——新建——工程——PCB工程,新建后,保存工程到指定文件。如图1:
图1 2.给工程添加原理图、PCB:鼠标选中,右键,给工程添加新的——Schematic,则在工程下就会出现xx.SchDoc的文件名,如图1中所示。
3.在左侧页面双击工程项目下的原理图,主页面则显示原理图界面。
4.绘制原理图。从系统自带的库中找元件,如图2。可用鼠标双击元件,即可选中元件。库中找不到的元件可以自行建立原理图库文件,绘制元件,具体步骤下面说明。可用
工具栏上的图标快接连线画图,如图3。原理图超出图纸时,可通过设计——文档选项——标准类型,重新定义图纸大小。图4为原理图绘制结果。
图2
图3
图4 5.从原理图生成PCB。
1查看,工具——封装管理器,确定每个元件都带有封装,若有文件未封装,可通○过弹出的对话框中,如图4,点击添加——浏览,从已有的PCB库中寻找封装。
图5 2生成PCB,设计——Update Pcb Doucment Pcb1.PcbDoc。在弹出的对话框中,依次生○效更改、执行更改、只提示错误,若无错误,则PCB导入成功。
6.画PCB。布板时,各元件之间尽量布置整齐、紧凑,为后面的布线带来方便。图
5、图6为布线、敷铜后的PCB图。
图5
图6
3.2建立原理图库与PCB文件。
绘制继电器原理图以及元件库里找不到的元件:新建——库——原理图库;建立PCB库元件,绘制继电器的PCB封装以及封装库里找不到的封装:新建——库——PCB。
继电器原理图
继电器封装
3.3题目要求
1使原理图中的元器件编号按“从左到右,从上到下”的顺序自动排列: ○工具——注解,弹出如下对话框,选择编号顺序方式,更新。
解
图6
2在原理图中一次性把所有电阻的封装改为AXIAL-0.4,阻值改为10K: ○ 打开封装管理器,用Ctrl+鼠标左键,选中所有电阻,统一改变封装。
3设定PCB布线规则:电源线和地线的最大、最小、最优线宽分别为60、20、40mil,○其它线的最大、最小、最优线宽分别为30、10、20mil.A.打开,设计——规则,弹出如下对话框,选中Width,可在对话框右侧改变线宽规则,如下图。
B.设计——规则向导——下一步,鼠标选中,修改规则名称。
选择规则应用于多条线,如下图。
点击每条线的下拉框,可以选择不同的线。
规则添加完后,则会在设计——规则——Width中添加新的规则,如下图,在对话框的右侧即可改变线规则的线宽大小。
三、问题解决
设计过程中常遇到的问题和注意事项:
1在设计过程中,记得随时保存,防止死机,防止在从原理图导入PCB的过程中出现○错误。
2生成PCB图时,常出现未知的元件、线,原因是由于误操作在原理图中出现多余的○元件和线。
3注意防止器件编号重复,避免出现不易查出的错误。○
四、设计体会
这次的课设设计,学会了许多,主要体现在:
1、完成课程设计的质量明显提高。
由于这次的课程设计有充足的时间,再加上前几次的课程设计所积淀下来的经验,以及老师悉心的指导,有力地指导了这次课程设计的进行,提高了这次课程设计任务的质量和速度,进一步地增强了自己完成任务的能力,巩固了所学的理论知识。
2、独立完成任务能力增强。
几个人集体完成任务,必然存在弊端的,尤其体现在合作的分工不明确和对任务的消极怠工。这次课程设计独立地进行,从头至尾,完全独立地操作,增强了独立完成任务的能力,一定程度地摆脱了依赖和消极怠工。
3、增强了搜索资料的能力。
很显然,任何的实践活动,都不可能闭门造车,是必须去吸取前人的实践经验,这就要求在课程设计的过程中,从网络上,从图书馆,借寻相关资料书籍,向他人请教等,有力地指导课程设计。
参考书目:
【实验内容】
1.基于s3c2440 开发板编写led 驱动程序。2.将编写好的led驱动加入linux内核中,修改makefile和kconfig文件,配置和编译内核。3.编写关于led 的测试程序,交叉编译后运行,控制led 灯的亮灭。
【预备知识】
1.了解ARM9处理器结构和Linux 系统结构
2.熟练掌握C语言。
【实验设备和工具】
硬件:ARM嵌入式开发平台,PC机Pentium100 以上。
软件:PC机Linux操作系统+MINICOM+AMRLINUX 开发环境
【实验原理】
linux设备驱动程序 驱动的模块式加载和卸载
编译模块
装载和卸载模块
led 驱动的原理
在本开发板上有八个led指示灯,从下往上分别为LED0-LED7。这八个led灯都是接的芯片上的gpio口(通用功能输入输出口)。在本实验的开发板硬件设计中,当led 灯对应的gpio的电平为低时,led灯被点亮;当led灯对应的gpio的电平为高时,led灯灭。本驱动的作用就是通过设置对应gpio口的电平来控制led 的亮灭。
因为ARM 芯片内的GPIO口都是复用的,即它可以被配置为多种不同的功能,本实
验是使用它的普通的I/O口的输出功能,故需要对每个GPIO口进行配置。在内核中已经定义了对GPIO口进行配置的函数,我们只需要调用这些函数就可以完成对GPIO口的配置。
【实验步骤】实验程
序运行效果:
程序会提示:“pleaseenterthe led status”
输入与希望显示的led状态对应的ledstatus值(输入十进制值即可),观察led 的显示情况。例如:
输入数字“3”,对应的二进制数字为00000011
故点亮LED2~LED7
输入数字“4”,对应的二进制数字为00000100
故点亮LED0,LED1,LED3~LED7
【实验结果和程序】
C语言程序:
#include
static intLedMajor=231;
staticintLedMinor=0;
static charledstatus=0xff;staticstructclass*s3c2440_class;staticstructcdev *s3c2440_led_cdev;
/*
******************************************************************************* ************************
** Function name:Update_led()**Descriptions **Input :NONE **Output :NONE :update the led status
******************************************************************************* ************************
*/ staticvoid Update_led(void)
{
if(ledstatus&0x01)
s3c2410_gpio_setpin(S3C2410_GPC7,1);//LED0灭
else
s3c2410_gpio_setpin(S3C2410_GPC7,0);//LED0亮
if(ledstatus&0x02)
s3c2410_gpio_setpin(S3C2410_GPC5,1);//LED1灭
else
s3c2410_gpio_setpin(S3C2410_GPC5,0);//LED1亮
if(ledstatus&0x04)
s3c2410_gpio_setpin(S3C2410_GPH9,1);//LED2灭
else
s3c2410_gpio_setpin(S3C2410_GPH9,0);//LED2亮
if(ledstatus&0x08)
s3c2410_gpio_setpin(S3C2410_GPB4,1);//LED3灭
else
s3c2410_gpio_setpin(S3C2410_GPB4,0);//LED3亮
if(ledstatus&0x10)
s3c2410_gpio_setpin(S3C2410_GPG5,1);//LED4灭
else
s3c2410_gpio_setpin(S3C2410_GPG5,0);//LED4亮
if(ledstatus&0x20)
s3c2410_gpio_setpin(S3C2410_GPG6,1);//LED5灭
else
s3c2410_gpio_setpin(S3C2410_GPG6,0);//LED5亮
if(ledstatus&0x40)
s3c2410_gpio_setpin(S3C2410_GPG7,1);//LED6灭elses3c2410_gpio_setpin(S3C2410_GPG7,0);//LED6亮
if(ledstatus&0x80)
s3c2410_gpio_setpin(S3C2410_GPG8,1);//LED7灭
else
s3c2410_gpio_setpin(S3C2410_GPG8,0);//LED7亮
}
staticssize_ts3c2440_Led_write(structfile*file,constchar*buffer,size_tcount,loff_t*ppos){
copy_from_user(&ledstatus,buffer,sizeof(ledstatus));
Update_led();
printk(“write: led=0x%x,count=%dn”,ledstatus,count);returnsizeof(ledstatus);} staticints3c2440_Led_open(structinode*inode,struct file *filp)
{
printk(“led device openn”);
return 0;
} staticints3c2440_Led_release(structinode*inode,struct file*filp)
{
printk(“led device releasen”);
return 0;} staticstructfile_operationss3c2440_fops={.owner=THIS_MODULE,.open=s3c2440_Led_open,.write=s3c2440_Led_write,.release=s3c2440_Led_release, };
staticintinits3c2440_Led_init(void)
{
dev_ts3c2440_leds_devno;
/*configure the gpiofor leds*/
s3c2410_gpio_cfgpin(S3C2410_GPG5,S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin(S3C2410_GPG6,S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin(S3C2410_GPG7,S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin(S3C2410_GPG8,S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin(S3C2410_GPC7,S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin(S3C2410_GPC5,S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin(S3C2410_GPH9,S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin(S3C2410_GPB4,S3C2410_GPIO_OUTPUT);
Update_led();/*registerthe devnumber*/ s3c2440_leds_devno=MKDEV(LedMajor,LedMinor);ret=register_chrdev_region(s3c2440_leds_devno, 1,DEVICE_NAME);
/*registerthe chardevice*/
s3c2440_led_cdev=cdev_alloc();if
(s3c2440_led_cdev!= NULL)
{ cdev_init(s3c2440_led_cdev, &s3c2440_fops);s3c2440_led_cdev->owner=THIS_MODULE;if(cdev_add(s3c2440_led_cdev, s3c2440_leds_devno, 1))
printk(KERN_NOTICE “Something wrong when addings3c2440_led_cdev!n”);
else
printk(“Success addings3c2440_led_cdev!n”);} /*create the device node in /dev*/ s3c2440_class =class_create(THIS_MODULE, “led_class”);class_device_create(s3c2440_class, NULL, s3c2440_leds_devno, NULL, DEVICE_NAME);
printk(DEVICE_NAME “ initializedn”);
return 0;
}
staticvoid exits3c2440_Led_exit(void)
cdev_del(s3c2440_led_cdev);class_device_destroy(s3c2440_class, MKDEV(LedMajor,LedMinor));class_destroy(s3c2440_class);printk(DEVICE_NAME “ removedn”);
}
module_init(s3c2440_Led_init);
module_exit(s3c2440_Led_exit);
【思考题】
1.设备驱动程序的功能是什么?答:设备驱动的功能就是将系统提供的调用映射到作用于实际硬件的和设备相关的操作上。
2.模块化的最大优点是什么?答:可以在系统正在运行着的时候给内核增加模块
提供的功能(也可以移除功能)。
3.如果在驱动模块中删除module_exit(s3c2440_Led_exit);后会有什么影响?
答:这个模块将不能被移除。
4.驱动代码中调用的宏MKDEV 的作用是什么?答:获取设备在设备表中的位置。输入主设备号,从设备号,返回位置号。
【实验结论】
图形
Auto CAD实验心得
马上就到了CAD结束的时候,经过这两个多月的学习,我掌握了CAD制作的基本操作,简单了解了CAD的实际用途。CAD即计算机辅助设计(CAD-Computer Aided Design),是利用计算机及其图形设备帮助设计人员进行设计工作的一种软件。它是Auto desk公司出品的一款著名的专业制图设计软件,功能非常强大,已经成为国际制图设计的标准软件。在机械、建筑、服装、电子等各个方面都有应用。尤其在机械行业是离不开这个软件的。CAD可以绘制机械、建筑、航空、石油等多方面的二维平面图形和三维立体图形等等,它的使用性是非常之广泛的。我们在绘制图形的时候要注意线条的宽度,字体的美观、尺寸也相当准确,在命令提示行里输入多少就是多少,方便简洁。
我作为一名工业工程的学生,之后到了工作岗位上,也许会从事设计方面的工作,这时学习CAD就至关重要了。CAD可以将图示清晰明了的体现出来,让人一目了然,尺寸大小形状都有体现,是设计者和实施者的桥梁,从一张CAD图纸可以看出设计者的构思,简单明了。CAD实际用途的广泛性不仅体现在我们工业工程这个专业上,在其他的专业也有体现。可以说CAD是今后我们软件应用的一个基础,无论是设计还是施工都要看懂CAD图,学会应用和绘制CAD图。
本学期的CAD课程学习的时间很短很紧,虽然内容不是特别多,但是如果要熟练的掌握,需要练习的时间比较多,而且很多软件的特点需要摸索和思考,期间免不了需要老师的耐心讲解和同学的帮助。除了上课认真听课下课后多练习课程内容外,也需要对CAD的别的功能进行探索,勇于尝试和失败。在作图的过程中我遇到了不少的难题,而且其中很多问题别的同学也遇到了,我们一起探讨研究,结果也比较让人比较满意。通过CAD的学习,不仅让我掌握了一门技术,更是让我懂得了团队合作的重要。
对于平时作业和绘图时遇到的问题,主要是对于软件很多绘图修改命令的不熟练。就拿绘制直线为例,如果不打开正交的命令则会导致直线的不平整,对于绘制水平竖直的图形有很大的不便,使之不能很好的对齐,又如不打开线宽的命令就不会体现线条的粗细等等。还有图层的建立和应用的问题,需要将要绘制的图层设置为当前,很多时候就是因为忘记设置当前,造成了很多不必要的麻烦。而且图层绘制时也要好好的选择线性和颜色才不会造成后来返工的局面。
用CAD画图,打开对象捕捉就能把有特征的点标出来,但是很多时候要适时地使用。CAD中尺寸标注也很快捷,两个点一拉,左键一点就完成一个标注,不用画箭头,不用标文字,只要自己设计好标注格式,计算机就能按要求标出来。插入文字也很方便,但是要注意字的格式要提前设好,防止不必要的麻烦。老师会拿一些图作为平时作业,既给我们创造了练习的条件,也让我们更加形象的懂得CAD绘制的图像是怎么样的,也加深了我们的理解。
总之,如果要我用三个字来表达我对AUTO CAD的感觉,就是快、准、美!结合我自身的情况,我将继续练习使用AUTOCAD,做到能够把它运用得得心应手、挥洒自如,使它成为我今后学习和工作的助手。同时,也要培养良好的绘图习惯,保持严谨的态度,运用科学的学习方法,这样才能游刃有余!
CAD经验
1、基础很重要
实践证明,“手工图板”绘图能力是计算机绘图能力的基础,学习《Auto CAD》,需要一定的画法几何的知识和能力,需要一定的识图能力,尤其是几何作图能力,一般来说,我所在的班级中,《工程制图》水平好的学员,学起来较容易些,效果较好!
2、循序渐进
整个学习过程应采用循序渐进的方式,先了解计算机绘图的基本知识,如相对直角坐标和相对极坐标等,使自己能由浅入深,由简到繁地掌握Auto CAD 2000的使用技术。
3、学以致用
在学习Auto CAD 2000命令时始终要与实际应用相结合,不要把主要精力花费在各个命令孤立地学习上;要把学以致用的原则贯穿整个学习过程,以使自己对绘图命令有深刻和形象的理解,有利于培养自己应用Auto CAD 2000独立完成绘图的能力。
4、熟能生巧
大学物理演示实验报告--雅格布天梯
大学物理演示实验七年级上册地理试卷报告--雅格布天梯实验目的:通过演示来了解弧光放电的原理 实验原理:给存在一定距离的两电极之间加上高压,若两电极间的电场达到空气的击穿电场时,两电极间的空气将被击穿,并产生大规模的放电,形成气体的弧光放电。雅格布天梯的两极构成一梯形,下端间距小,因而场强大(因)。其下端的空气最先被击穿而放电。由于电弧加热(空气的温度升高,空气就越易被电离, 击穿场强就下降),使其上部的空气也被击。
电弧比羽毛还轻。
羽毛是实体,有质量,密度比空气大。而电弧是等离子体,本质黄牛课件网就是空气,我们看到的电弧是空气中的原子核外电子从激发态跃迁回基态时,多余的能量以光子的形式放出。所以,电弧所在区域内的密度其实就是空气密度,所以会被热空气带动上升。
希腊神话中有这样一个故事:雅各布做梦沿着登天的梯子取得了“圣火”。后人便把这梦想中的梯子,称之为雅各布天梯
雅各布天梯则展示了电弧产生和消失的过程。二根呈羊角形的管状电极,一极接高压电,另一个接地。当电压升高到5万伏时,管状电极底部产生电弧,电弧逐级激荡而起,如一簇簇圣火似地高中物理试卷分析向上爬升,犹如古希腊神话故事中的雅各布天梯。
该展品由变压器、羊角电极等部分组成。由变压器提供数十万伏的高压,在羊角电极间击穿空气,形成弓形电弧,产生磁场,使电弧向上运动,其运动过程类似于爬梯。当电弧被拉长到600mm左右,所施加的电压再不能维持产生电弧所需的条件,电弧就消失,此时羊角电极底部又会产生新的电弧,形成周而复始的电弧爬梯现象。在2-5万伏高压下,两电极最近处的空气首先被击穿,形成大量的正负等离子体,即产生电弧放电。
空气对流加上电动力的驱使,使中泰化学 煤矿电弧向上升,随着电弧被拉长,电弧通过的电阻加大,当电流送给电弧的能量小于由弧道向周围空气散出的热量时,电弧就会自行熄灭。
说明:在高压下,电极间距最小处的空气还会再次被击穿,发生第二次电弧放电,如此周而复始。
二、实验目的 1、了解常用周期信号的傅里叶级数表示。、了解周期脉搏信号、语音信号及图像信号的傅里叶分析过程 3、理解体会傅里叶分析的理论及现实意义 三、实验仪器 脉搏语音实验仪器,数字信号发生器,示波器 四、实验原理 1、周期信号傅里叶分析的数学基础 任意一个周期为 T 的函数 f(t)都可以表示为傅里叶级数:
(a n cosn 0 t b n sinn 0 t)n 1
其中 o 为角频率,称为基频,a o 为常数,a n 和 b n 称为第 n 次谐波的幅值。任何 周期性非简谐交变信号均可用上述傅里叶级数进行展开,即分解为一系列不同
f(t)1 2 a。
a 0 f(o t)d(o t)1 a n f(o t)cos(n o t)d(o t)b n f(o t)sin(n o t)d(o t)
次谐波的叠加 对于如图 1 所示的方波,一个周期内的函数表达式为(-2 t 0)
其傅里叶级数展开为: f(t)他(仁 n 1 2 n 1 4h 1 1 ——(sin 0 t sin3 0 t sin5 0 t L)3 5 同理:对于如图 2 所示的三角波,函数表达式为:
其傅里叶级数展开为:
从以上各式可知,任何周期信号都可以表示为无限多次谐波的叠加,谐波 次数越高,振幅越小,它对叠加波的贡献就越小,当小至一定程度时(谐波振幅 小于基波振幅的 5%), 则高次的谐波就可以忽略而变成有限次数谐波的叠加,这 对设计仪器电路是很有意义的。
实验内容 f(t)(0 t <2))sin(2 n 1)0 t f(t)4 h t 2h(1 T t)(-T
t<)4 4 T 3T、(t——)4 4 8h f
(t)一2 1)n1(2 2n 1)Sin(2n 1)0t)n 1、傅里叶级数的合成(1)利用数字信号发生器产生频率分别为 100Hz、300Hz 500Hz 的正弦信 号,并使其位相相同,振幅比为:
1:1/3: 1/5, 将上述三个信号,分别通过加法器输 入到傅里叶分析仪,观察并记录其波形。
(2)利用数字信号发生器产生方波,输入到 傅里叶分析仪,并将其与上述 合成后的信号相比较。两者有何差异?试分析引起的原因,应如何消除?(3)
利用数字信号发生器产生频率分别为 200Hz、600Hz、1000Hz 的正弦 信号 , 振幅比为:
1:1/3 2 :1/5 2,并且保证其相位相差 180 °,然后通过加法器输入 到傅里叶分析仪,观察并记录其波形,并与数字信号发生器产生的三角波相比 较。
(4)利用 傅里叶分析仪 分别产生 方波与三角波,进行傅里叶分析,记录各 正弦波频率以及相对的幅度之间的关系,并与上述加法器输入信号相比较。
2.滤波与选频分析:
对上述(4)傅里叶分析的频谱,分别选择低频段和高频段信号通过傅 里叶反变换,观察它们图像并导出保存,试分析 低通滤波 和高通滤波图像的区 别 3.周期信号傅里叶分析的应用:
(1)“脉搏信号”的傅里叶分析 1)用傅里叶分析仪 软件中提供的“脉搏信号”模块和压电晶体测试自己 脉搏波的信号,观察你的脉搏信号。
2)选择完整的周期信号进行频谱分析,并选择合适的频段,测量其中心 频率)你深呼吸后,重复上述实验,请比较两次中心频率的变化。
(2)图像信号的傅里叶分析 1)用傅里叶分析仪 软件提供的“图片分析”模块,分别选择图片“双缝 干涉”、“彩色十字”、“光字”以及“箭头”进行空域的 傅里叶 频谱分析。)分别选择低通和高通滤波器进行滤波,记录所用滤波器的参数并将滤 波后的图片导出保存。)将滤波后的图像与原图像作对比,你能作何结论?(3)语音信号的傅里叶分析与识别 1)用傅里叶分析仪 软件提供的“语音信号”模块,通过外置麦克风采集 语音信号,并选择合适的频段,记录该频段语音信号的 傅里叶分析频谱 2)利用“选择频谱”功能,滤除噪声频率后,进行频率合成;将合成后 的结果与 1)中采集的原语音信号对比,为语音识别打下基础。)利用软件提供的“语音识别”模块,通过麦克风采集两次相同或不同 元音的信号,重复上述过程,分别记录两次频谱的分布,并利用“语音识 别”模块体验语音识别功能。、利用软件中提供的“长时语音”模块,通过外置麦克风采集一段语音信 号,并观察 傅里叶分析频谱 实时频谱变化。
六.实验结果及分析 1、傅里叶级数的合成(1)合成方波(2)合成方波低频段
(1)(2)对比可以看出低频波主要决定了叠加波的大致形状,而高频波主要修 饰边界,让边界趋于平直。
(3)标准方波
-10D ■
■ 1
1--------------“ 1(1 ・・・
・・1 ・
时间悩
-_他
对比(1)(3),两者波形大体相似,但标准波的边界平直,是无限多次谐波的叠加的结果,而(1)中叠加次数过少。
上述结论同样适用于三角波。
(4)合成三角波
(5)合成三角波低频I I I H
I i fa i i i iii i i i i i i li ” i it i i ―心・.」 * I 皿 J-i IT] E,I 】
u 1 Jg I 返回
C 痘乖低.JCQ(6)标准三角波 F 面用傅里叶分析仪输入波形(7)方波低频
(8)方波高频
(7)(8)对比得出,在叠加正弦波中,频率越大,对应的相对振幅就越小,对波 形的贡献率就越小。
上述结论同样适用于三角波(9)三角波低频
:會辂?甸 X-_fj Ji-Sjn
(10)三角波高频
2.脉搏信号”的傅里叶分析 (11)脉搏信号
由上图可以看出脉搏信号具有中心频率为 7.7Hz(12)深呼吸后的脉搏信号
由上图可以看出深呼吸后的脉搏信号具有中心频率为 4.1Hz
|<1 [ 1«
isr 豆血
0_・
0-*■ MB
:险
对比上两幅图,第二次中心频率比第一次变低 3• 图像信号的傅里叶分析(13)彩十字低通(14)彩十字高通
严旳°
■ 1
“ 戸 拗审曼换 返回(16)光字低通
(17)光字高通
打幵 rem 磁转 换 9* 斯猜业楼
(18)箭头低频
0 返回 L----
-二:.—3
•_
--J
(19)箭头高通
瞅鞍|(3 返回
(20)双缝低频
打”出理 环
屍应转喪 频瞒蚯換 * 岛
(21)双缝高频
俾谑论 U 返回
(22)双缝高频
it ” 闿詰 “
ft IfJl^^Lftt
打;灿;年知乩转换阳.Wlifi 虫换睁團惟曲股 _____ 丿 _______ 】、_ 」 1_ ________________________________-” 好开图” |珍 屣嗔技換卩$ 蝴谓盘换 用躲悄淄 返回 将滤波后的图像与原图像作对比得出结论: 低频波主要决定了图形的形状,高频波主要决定了图形的轮廓边界。这是由于 在边界处颜色突变,频率大;而在同一色块上,频率小。 4• 语音信号的傅里叶分析与识别(22)语音信号 (23)语音识别之同一声音相同音节 (24)语音识别之同一声音相同音节 A“ 7 lb / 4iAn % 4.那 L 丄亠丄亠手 • •.•亲生題;『上検 4*:1 ; ]^u 1 — .-1 r~c *” -■4 舸辭 怕号林 凰戎;“ 11...............■ $ U MiJiM仙门门 RWr IfltUt 为俺阪 |音节]相颐为 ffT.1 岳 可 1 ■为 Hf A)) 叮判斷舟 n 牛吝刊” 7 ■> MiRM 审罐对比 坟 0 返回 对比酩出 i => I k » 对比费果 i Mi 蚀度为】 oo.g LlihllhHlih— ............1 •严.......一 ・ 2 •严 0 领 4KHx 实验一 MATLAB 中矩阵与多项式的基本运算 实验任务 1.了解 MATLAB 命令窗口和程序文件的调用。•熟悉如下 MATLAB 的基本运算: ① 矩阵的产生、数据的输入、相关元素的显示; ② 矩阵的加法、乘法、左除、右除; ③ 特殊矩阵:单位矩阵、“ 1 ”矩阵、“ 0 ”矩阵、对角阵、随机矩阵的产生和 运算; ④ 多项式的运算:多项式求根、多项式之间的乘除。 基本命令训练 1、>> eye(2)ans = 1 0 0 1 >> eye(4)ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2、>> ones(2)1 1 ans =1 >> ones(4)ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> ones(2,2)ans = 1 1 1 1 >> ones(2,3)ans = 1 1 1 1 1 1 >> ones(4,3)ans = 1 1 1 1 1 1 1 1 1 1 1 1 3、>> zeros(2) 0 0 0 0 >> zeros(4)ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> zeros(2,2)ans = 0 0 0 0 >> zeros(2,3)ans = 0 0 0 0 0 0 >> zeros(3,2)ans = 0 0 0 0 00 4、随机阵 >> rand(2,3)ans = 0.2785 0.9575 0.1576 0.5469 0.9649 0.9706 >> rand(2,3) ans = 0.9572 0.8003 0.4218 0.4854 0.1419 0.9157 5、>> diag(5)ans = 5 >> diag(5,5)ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> diag(2,3)ans = 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 6、(inv(A)为求 A 的逆矩阵)>> B=[5 3 1;2 3 8;1 1 1],inv(B)3 1 1 ans = 0.6250 0.2500-2.6250-0.7500-0.5000 4.7500 0.1250 0.2500-1.1250 >> A=[2 3;4 4],B=[5 3;3 8],inv(A),inv(B);AB,A/B,inv(A)*B,B*inv(A)A = 2 3 4 4 B = 5 3 3 8 ans =-1.0000 0.7500 1.0000-0.5000 ans =-2.7500 3.0000 3.5000-1.0000 ans = 0.2258 0.2903 0.6452 0.2581 ans =-2.7500 3.0000 3.5000 -1.0000 ans =-2.0000 2.2500 5.0000-1.7500 7、>> p =[1,-6,-72,-27], roots(p)p = 1-6-72-27 ans = 12.1229-5.7345-0.3884 >> p=[2,3,6],roots(p)p = 2 3 6 ans =-0.7500 + 1.5612i-0.7500-1.5612i 8、(A 为 n*n 的方阵)>> A=[0 1 0;-4 4 0;-2 1 2],poly(A),B=sym(A),poly(B)A = 0 1 0-4 4 0-2 1 2 ans =-6 12-8 B = [ 0, 1, 0] [-4, 4, 0] [-2, 1, 2] ans = x A 3-6*x A 2+12*x-8 9,、(conv 是多项式相乘,deconv 是多项式相除)>> u=[1 2 4 6 ],v=[5 0 0-6 7],conv(u,v)u = 1 2 4 6 v =0 0-6 7 ans =10 20 24-5-10-8 42 >> v=[1 2 4 6 ],u=[5 0 0-6 7],deconv(u,v)v = 1 2 4 6 u = 5 0 0-6 7 ans = 5-10 10、(点乘是数组的运算,没有点的乘是矩阵运算) >> a = [2 5;3 4], b =[3 1;4 7],a.*b,a*b a = 2 5 3 4 b = 3 1 4 7 ans = 6 5 12 28 ans = 26 37 25 31 >> a = [2 3];b = [4 7];a.*b = [8 21];a*b %错误 a*b“ = 29;11、(who 可以看到你用过的一些变量,来了) >> who Your variables are: A B a ans b p u >> whos Name Size Bytes whos 是把该变量及所存储的大小等信息都显示出 Class Attributes 2x2 32 double B 2x2 32 double a 1x2 16 double ans 1x2 16 double b 1x2 16 double p 1x3 24 double u 1x5 40 double v 1x4 32 double12、>> A=[2 5 3;6 5 4],disp(A),size(A),length(A)A = 2 5 3 6 5 4 2 5 3 6 5 4 ans = 2 3 ans = 3 实验二 MATLAB 绘图命令 实验任务 熟悉 MATLAB 基本绘图命令,掌握如下绘图方法:.坐标系的选择、图形的绘制;•图形注解(题目、标号、说明、分格线)的加入;3 •图形线型、符号、颜色的选取 基本命令训练 1、>>t=[0:pi/360:2*pi];x=cos(t)+ cos(t*4);y=si n(t)+ sin(t*4);xlabel(”x 轴“);ylabel(”y 轴“);plot(y,x),grid;2、>> t=0:0.1:100;x=3*t;y=4*t;z=si n(2*t);plot3(x,y,z, ”g:“) ■15 i 0 5 0 05 1 1 5 2 3、>>x = linspace(-2*pi,2*pi,40);y=si n(x);stairs(x,y)4、>> t=[0:pi/360:2*pi];x=cos(t)+ cos(t*4)+ sin(t*4);y=si n(t)+ si n(t*4);plot(y,x, ”r:“); xlabel(”x 轴“);ylabel(”y 轴“); 6、>>th=[0:pi/20:2*pi];x=exp(j*th);plot(real(x),imag(x),”r-.“);grid;text(0,0,”中心“); 5、>> th=[0:pi/1000:2*pi]”;r=cos(2*th);polar(th,r);title(“四叶草图”)270 四叶草图 7、>>x=-2:0.01:2;8、y=-2:0.01:2;9、[X,Y] = meshgrid(x,y);Z = Y.*exp(-X.A 2-Y.A 2);[C,h] = con tour(X, YZ);set(h,“ShowText”,“o n”,“TextStep”,get(h,“LevelStep”)*2)_ 1OS •I ,5 2 ■n.s o o.s 8、>>x = 0:0.2:10;y = 2*x+3;subplot(411);plot(x,y);grid;title(“y 的原函数”);subplot(412);semilogy(x,y);grid;title(“对 y 取对数”);丫的原画数 40----------1------------------------------------------1--------------------1--------------------1-----------------------------------------1--------------------1-------------------1-------- l| I p | il ■ | i| I 九 _____ 1-___ — ___ I ____ L ___ :…… : ___ J _ _______ L ___ u i| I |l I , il _-■」 “ j I ■I __ h-_____________ I I ■ Q 」 【 I 1 F I I I I II I I IT 10 1 □ 1 2 3 4 5 6 r 6 9 10 , 对 y 取对数 对弋观对数 subplot(413);semilogx(x,y);10 10 id 10 1lZ 10 w 10 10 40 20 0 对好对数 •掌握循环、分支语句的编写,学会使用 look for、help 命令 grid;title(”对 x 取对数“);subplot(414);loglog(x,y);grid;title(”对 xy 均取对数“);9、>>x =-3:0.3:3;bar(x,exp(-x.*x),”g“)实验三 MATLAB 程序设计 实验任务 1 •熟悉 MATLAB 程序设计的方法和思路; 程序举例 1、>> f=[1,1];i=1;while f(i)+f(i+1)<1000 f(i+2)=f(i)+f(i+1);i=i+1;end f,i f = Columns 1 through 14 1 1 2 3 5 8 13 21 34 55 89 144 233 377 Columns 15 through 16 610 987 i = 15 2、>> m=3;n=4;for i=1:m for j=1:n a(i,j)=1/(i+j-1);end end format rat1/2 1/3 1/2 1/3 1/4 1/3 1/4 1/5(分数格式形式。用有理数逼近显示数据)>>m=5;n=4;for i=1:m for j=1:n a(i,j)=1/(i+j-1);end end format rat a a = 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 1/4 1/5 1/6 1/7 1/5 1/6 1/7 1/8 3、程序中没有 format rat 命令时,如果上次运行结果没有清除,输出的结果就是上次运行的 结果!但是运用 clear 命令清楚之前的运行结果之后就会正常运行。 4、>> x=input(”请输入 x 的值:’);if x==10 y=cos(x+1)+sqrt(x*x+1);else y=x*sqrt(x+sqrt(x));1/4 1/5 1/6 end y 请输入 x 的值 :2 y = 2391/647 x=input(“请输入 x 的值:’);if x==10 y= fprintf(” 不在定义域内,请重新输入: “);return else y=1/(x-10);end y 请输入 x 的值 :2-1/8 5、>> p=[0 0 0 1 3 0 2 0 0 9];for i=1:length(p), if p(1)==0,p=p(2:length(p));end;end;p p = Columns 1 through 5 3 0 0 Columns 6 through 7 0 9 >>p=[0 0 0 1 3 0 2 0 0 9];p(p==0)=[];p p =3 6、>> e2(500) ans =1 2 3 5 8 13 21 34 55 89 144 233 377 >> lookfor ffibno e2-ffibno 计算斐波那契亚数列的函数文件 >> help e2 ffibno 计算斐波那契亚数列的函数文件 n 可取任意自然数 程序如下(用法: lookfor 关键词 在所有 M 文件中找 “关键词 ”,比如: lookfor max(即寻找关键词 “ max”) 其实就和我们平时用 CTRL+F 来查找关键词”是一样的 而 help 是显示 matlab 内置的帮助信息 用法: help 命令,比如 help inv,作用就是调用 inv 这个命令的帮助) 程序设计题 用一个 MATLAB 语言编写一个程序:输入一个自然数,判断它是否是素数,如果是,输出“ It is one prime ”,如果不是,输出“ It is n ot o ne prime.”。要求通 过调用子函数实现。 最好能具有如下功能: ①设计较好的人机对话界面,程序中 含有提示 性的输入输出语句。 ②能实现循环操作,由操作者输入相关命令来控制 是否继续进行素数的判断。 如果操作者希望停止这种判断,则可以退出程序。 ③ 如果所输入的自然数是一个合数,除了给出其不是素数的结论外,还应给出至少 一种其因数分解形式。例:输入 6,因为 6 不是素数。则程序中除了有“ It is not one prime ”的结论外,还应有:“ 6=2*3 ”的说明。 function sushu while 1 x=input(” 请输入一个自然数 “);if x<2 disp(” 既不是质数又不是合数 “);Else if isprime(x)==1 disp(” 这是一个素数 “);Else disp(” 这是一个合数,可以因式分解为: “)for n=2:sqrt(x)if rem(x,n)==0 num3=x;num1=n;num2=x/n;disp([num2str(num3),”=“,num2str(num1),”x“,num2str(num2)])End End End end y=input(” 是否继续判断?继续请按 1 ,按任意键退出 : “); if y~=1 break end end 实验四 MATLAB 的符号计算与 SIMULINK 的使用 实验任务 1.掌握 MATLAB 符号计算的特点和常用基本命令;2.掌握 SIMULINK 的使用。 程序举例 1.求矩阵对应的行列式和特征根 >> a=sym(”[a11 a12;a21 a22]“);da=det(a)ea=eig(a)da = a11*a22-a12*a21 ea = 1/2*a11+1/2*a22+1/2*(a11 A 2-2*a11*a22+a22 A 2+4*a12*a21)A(1 /2)1/2*a11+1/2*a22-1/2*(a11 A 2-2*a11*a22+a22 A 2+4*a12*a21)A(1 /2)a=sym(”[2 3;1 5]“); da=det(a)ea=eig(a)da = 7 ea = 7/2+1/2*21A(1/2)7/2-1/2*21A(1/2)2.求方程的解(包括精确解和一定精度的解)>> r1=solve(”xA2+x-1“)rv=vpa(r1)rv4=vpa(r1,4) rv20=vpa(r1,20)r1 = 1/2*5 八(1/2)-1/2-1/2*5 八(1/2)-1/2 rv =.6894848260-1.689484826 rv4 =.6180-1.618 rv20 =.689484820-1.68948482 3 . a=sym(”a“);b=sym(”b“);c=sym(w=10;x=5;y=-8;z=11;A=[a,b;c,d] B=[w,x;y,z] det(A)det(B)A = [ a, b] ”c“);d=sym(”d“);%定义 4 个符号变量 %定义 4 个数值变量 %建立符号矩阵 A %建立数值矩阵 B %计算符号矩阵 A 的行列式 %计算数值矩阵 B 的行列式 [ c, d] X 10-8 11 ans = a*d-b*c ans = 150 4.» syms x y;s=(-7*x A 2-8*y A 2)*(-x A 2+3*y A 2);expand(s)% 对 s 展开 collect(s,x)% 对 s 按变量 x 合并同类项(无同类项) factor(ans)% 对 ans 分解因式 ans = 7*xA4-13*xA2*yA2-24*yA4 ans = 7*xA4-13*xA2*yA2-24*yA4 ans =(8*yA2+7*xA2)*(xA2-3*yA2)5.对方程 AX=b 求解 >> A=[34,8,4;3,34,3;3,6,8];b=[4;6;2];X=linsolve(A,b)% 调用 linsolve 函数求解 Ab % 用另一种方法求解 0.0675 0.1614 diff(f)%未指定求导变量和阶数,按缺省规则处理 0.1037 ans = 0.0675 0.1614 0.1037 6 . 对方程组求解 a11*x1+a12*x2+a13*x3=b1 a21*x1+a22*x2+a23*x3=b2 a31*x1+a32*x2+a33*x3=b3 >>syms a11 a12 a13 a21 a22 a23 a31 a32 a33 b1 b2 b3;A=[a11,a12,a13;a21,a22,a23;a31,a32,a33];b=[b1;b2;b3];XX=Ab %用左除运算求解(X=linsolve(A,b)%调用 linsolve 函数求的解)XX =(a12*a23*b3-a12*b2*a33+a13*a32*b2-a13*a22*b3+b1*a22*a33-b1*a32*a23)/(a11*a22*a33-a11*a32*a23-a12*a21*a33+a32*a21*a13-a22*a31*a13+a31*a12*a 23)-(a11*a23*b3-a11*b2*a33-a21*a13*b3-a23*a31*b1+b2*a31*a13+a21*b1*a33)/(a11*a22*a33-a11*a32*a23-a12*a21*a33+a32*a21*a13-a22*a31*a13+a31*a12* a23)(a32*a21*b1-a11*a32*b2+a11*a22*b3-a22*a31*b1-a12*a21*b3+a31*a12*b2)/(a11*a22*a33-a11*a32*a23-a12*a21*a33+a32*a21*a13-a22*a31*a13+a31*a12*a 23)7 . syms a b t x y z;f=sqrt(1+exp(x)); %求 f 对 x 的二阶导数 %求 f 对 x 的三阶导数 %按参数方程求导公式求 y 对 x 的导数 ans = 1/2/(1+exp(x))A(1/2)*exp(x)ans =-2*si n(x)-x*cos(x)ans =-3*cos(x)+x*si n(x)ans =-b*cos(t)/a/si n(t)三、SIMULINK 的使用 f=x*cos(x);diff(f,x,2)diff(f,x,3)f1=a*cos(t);f2=b*si n(t);diff(f2)/diff(f1) diff(f)%未指定求导变量和阶数,按缺省规则处理 仿真图: 波形图: 其中: G i(R 0.14 实验五 MATLAB 在控制系统分析中的应用 实验任务 1.掌握 MATLAB 在控制系统时间响应分析中的应用;2.掌握 MATLAB 在系统根轨迹分析中的应用; 3.掌握 MATLAB 控制系统频率分析中的应用; 4.掌握 MATLAB 在控制系统稳定性分析中的应用 基本命令 1.step 2.impulse 3.in itial 4.Isim 5.rlocfi nd 6.bode 7.margin 8.nyquist 9.Nichols 10.cloop 程序举例 1.求下面系统的单位阶跃响应 1.5 G(s) t >> num=[4];den=[1 , 1 , 4];step(num , den)[y , x , t]=step(num , den);tp=spli ne(y , t , max(y))% 计算峰值时间 max(y)% 计算峰值 tp = Step Response 0.5 Time(sec)p m 1.6062 ans = 1.4441 0.18 0.16 2.求如下系统的单位阶跃响应 X i 0 1 X i 0 u X 2 6 5 X 2 1 >> a=[0,1;-6,-5];b=[0;1];c=[1,0];d=0;[y,x]=step(a,b,c,d);Plot(y) 1,0 X i X 2 3.求下面系统的单位脉冲响应: G(s)儿 >> num=[4];den=[1 , 1 ,4];impulse(nu m,de n)Time(sec)Response to Initial Conditions 4.已知二阶系统的状态方程为: e u p m A 0.25 0.2 0.15 0.1 0.05 0-0.05 L I 1- r -厂、、/ Impulse Response c=[1 , 0] ; d=[0];xO=[1 ,0] ; subplot(1 , 2,1);in itial(a , b , c ,d,x0)subplot(1 , 2,2);impulse(a , b , c , d):系统传递函数为: G(s)占 输入正弦信号时,观察输出 信号的相位差。 >> num=[1];den=[1 ,1];t=0 : 0.01 : 10;u=s in(2*t);hold on plot(t,u, ”r“)lsim(nu m,de n,u,t) Real Axis 6.有一二阶系统,求出周期为 4 秒的方波的输出响应 2s 2 5s 1 ~2 s 2s 3 >>num=[2 5 1];den=[1 2 3];t=(0:.1:10);period=4;u=(rem(t,period)>=period./2);% 看 rem 函数功能 lsim(nu m,de n,u,t);7.已知开环系统传递函数,绘制系统的根轨迹,并分析其稳定性 G(s)k(s 2)(s 2 4s 3)2 >>num=[1 2];den 仁 [1 4 3];den=conv(de n1,de n1);figure(1)-6 rlocus(num,den)[k,p]= rlocfi nd(nu m,de n)l L l ■ 匚一 L — C-------------------- --------- -r t r r -10-8-6-4-2 4 6 Root Locus 0 2 2 2 0 0 2 2--CPXA vyanma n-8 2.5 G(s)Lin ear Simulati on Results1.5 e 0.5-0.5-1-1.5-2 Time(sec)p m impulse response(k=55) 5 figure(2)k=55;num 仁 k*[1 2];den=[1 4 3];den 1=c onv(de n,den);[nu m,de n]=cloop(nu m1,de n1,-1);impulse(nu m,de n)title(”impulse resp onse(k=55)“)-1.5-1 0 200 400 600 Time(sec)800 1000 1200 5 5 0 05 0 0 o --x 10 8!------- impulse resp on se(k=56)figure(3)k=56;num 仁 k*[1 2];den=[1 4 3];den 1=c onv(de n,den);[nu m,de n]=cloop(nu m1,de n1,-1);impulse(nu m,de n)-2-4-6-8 L 0 500 1000 Time(sec)title(”impulse resp on se(k=56)“)1500 2000 2500 Select a point in the graphics win dow selected_po int =-2.5924-0.0248i 0.7133-3.4160-2.5918-0.9961 + 0.4306i-0.9961-0.4306i Bode Diagram 8.作如下系统的 bode 图 G(s)>> n=[1 , 1];d=[1 , 4,11 , 7];bode(n , d),grid on Frequency(rad/sec)s 1 s 3 4s 2 11s 7 9.系统传函如下 G(s)s 1 0.5s e(s 2)3 求有理传函的频率响应,然后在同一张图上绘出以四阶伯德近似表示的系统频 率响应 >> num=[1];de n=co nv([1 2],co nv([1 2],[1 2])); w=logspace(-1,2);t=0.5; ylabel(”gai n“);subplot(2,1,2);semilogx(w,p1,w,p2,”g--“);grid on;xlabel(”freque ncy“);ylabel(”phase“);10.已知系统模型为 求它的幅值裕度和相角裕度 >> n=[3.5];d=[1 2 3 2];[Gm,Pm,Wcg,Wcp]=margi n(n,d) G(s)3.5 s 3 2s 2 3s 2 bode plot [m1,p1]=bode(nu m,de n, 2);p1=p1-t*w”*180/pi;[n 2,d2]=pade(t,4);nu mt=c onv(n2,nu m);den t=(c onv(de n, d2));2 freque xlabel(“freque Gm = 1.1433 Pm = 7.1688 Wcg = 1.7323 Wcp = 1.6541 nyq uist(n, d1);hold on nyq uist(n, d2);nyq uist(n, d3);nyq uist(n, d4);Nyquist Diagram 80 |-------------------- --------------------[--------------------[--------- 11.二阶系统为: G(s)n s 2n S S 令 wn=1, 分别作出 E =2,1 , 0.707 , C A 5 y a 时的 nyquist 曲线。 m >> n=[1];d 仁 [1 , 4,1];d2=[1 , 2 , 1] ; d3=[1 , 1.414,1];d4=[1,1,1];Nyquist Diagram Real Axis 12.已知系统的开环传递函数为 _一-”—一 一-一_一_ ~-60 005 S S 2) S S32 S S v vr ra an nk ky ya a 14.一多环系统,其结构图如下,使用 Nyquist 频率曲线判断系统的稳定性。 16.7s(0.85s 1)(0.25s 1)(0.0625s 1)绘制系统的 Nyqusit 图, 并讨论系统的稳定性.>> G=tf(1000,co nv([1,3,2],[1,5]));nyquist(G);axis(”square“)13.分别由 w 的自动变量和人工变量作下列系统的 nyquisF 曲线: m G(s)1 s(s 1)>> n=[1];d=[1 , 1 ,0];nyquist(n ,d);% 自动变量 n=[1];d=[1 , 1 ,0];w=[0.5 : 0.1 : 3];nyq uist(n , d , w);% 人工变量-2-1-1.5-0.9-0.8-0.7-0.6-0.5 Real Axis-0.4-0.3-0.2-0.1 5 5 --0 0 S SI IX XA A u u^ ^a an nT T9 9a a 卩 G(s) 30 20 10 0 figure(2)[nu m2,de n2]=cloop(nu m,de n);impulse(nu m2,de n2); >> k1=16.70.0125;z1=[0];p1=[-1.25-4-16];[nu m1,de n1]=zp2tf(z1,p1,k1);[nu m,de n]=cloop(nu m1,de n1);[z,p,k]=tf2zp(nu m,de n);p figure(1)nyq uist(nu m,de n)-2-1 Nyquist Diagram-0.5 0 0.5 Real Axis 1 1.5 1 0.5 s a 0 n g m-0.5-1-1.5 1.5 20 Impulse Resp onse-10.5969 +36.2148i-10.5969-36.2148i-0.0562 15.已知系统为: eanML—pm -5-10-15 0 0.1 0.2 0.3 Time(sec)Nichols Chart 0.4 0.5 0.6-2 10 0 10 2 Open-Loop Phase(deg)Frequency(rad/sec) G(s)s(s 1)作该系统的 nichols 曲线。 >> n=[1];d=[1 , 1 , 0];ni chols(n , d);16.已知系统的开环传递函数为: G(s)k s(s 1)(s 2)当 k=2 时,分别作 nichols 曲线和波特图 >> num=1;den=conv(co nv([1 0],[1 1]),[0.5 1]);subplot(1,2,1);ni chols(nu m,de n);grid;B % n ichols 曲线 G subplot(1,2,2);2 g=tf(nu m,de n);bode(feedback(g,1,-1));grid;Nichols Chart koflr ea M^hnaaM msuvesaB— 50 -- 00 -270 Bode Diagram 90-- % 波特图 17.系统的开环传递函数为: 分别确定 k=2 和 k=10 时闭环系统的稳定性 >> d 仁 [1 , 3,2,0];n 仁 [2];[nc1 , dc1]=cloop(n1 , d1 ,-1);roots(dc1)d2=d1;n2=[10];[nc2 , dc2]=cloop(n2 , d2,-1);roots(dc2)ans =-2.5214-0.2393 + 0.8579i-0.2393-0.8579i ans =-3.3089 0.1545 + 1.7316i 0.1545-1.7316i 18.系统的状态方程为: X 1 4 3 0 X 1 1 X 2 1 0 0 X 2 0 u X 3 0 1 0 X 3 0 X 1 y 0 1 2 x 2 X 3 G(s)k s(s 1)(s 2) 试确定系统的稳定性。 >> a=[-4,-3,0;1,0,0;0,1,0];b=[1;0;0];c=[0,1,2];d=0;eig(a)% 求特征根 ran k(ctrb(a,b))ans = 0-1-3 ans = 3 实验六连续系统数字仿真的基本算法 实验任务 1.理解欧拉法和龙格-库塔法的基本思想; 2 •理解数值积分算法的计算精度、速度、稳定性与步长的关系;程序举例 1.取 h=0.2 ,试分别用欧拉法、RK2 法和 RK4 法求解微分方程的数值解,并 比较计算精度。 注:解析解:y(t).1 2t >> clear t(1)=0 ; y(1)=1;y_euler(1)=1;y_rk2(1)=1;y_rk4(1)=1;h=0.001;% 步长修改为 0.001 for k=1:5 y(t)y(t)y(0)2t y(t)1 t(k+1)=t(k)+h;y(k+1)=sqrt(1+2*t(k+1));end for k=1:5 y_euler(k+1)=y_euler(k)+h*(y_euler(k)-2*t(k)/y_euler(k));end for k=1:5 k1= y_rk2(k)-2*t(k)/y_rk2(k);k2=(y_rk2(k)+h*k1)-2*(t(k)+h)/(y_rk2(k)+h*k1);y_rk2(k+1)=y_rk2(k)+h*(k1+k2)/2;end for k=1:5 k1= y_rk4(k)-2*t(k)/y_rk4(k);k2=(y_rk4(k)+h*k1/2)-2*(t(k)+h/2)/(y_rk4(k)+h*k1/2);k3=(y_rk4(k)+h*k22)-2*(t(k)+h/2)/(y_rk4(k)+h*k2/2);k4=(y_rk4(k)+h*k3)-2*(t(k)+h)/(y_rk4(k)+h*k3); y_rk4(k+1)=y_rk4(k)+h*(k1+2*k2+2*k3+k4)/6;end disp(” 时间 解析解 yt=[t“, y”, y_euler“, y_rk2”, y_rk4“];disp(yt)欧拉法 RK2 法 RK4 法 ”)时间 解析解 欧拉法 RK2 法 RK4法0 1.0000 1.0000 1.0000 1.0000 0.0010 1.0010 1.0010 1.0010 1.0010 0.0020 1.0020 1.0020 1.0020 1.0020 0.0030 1.0030 1.0030 1.0030 1.0030 0.0040 1.0040 1.0040 1.0040 1.0040 0.0050 1.0050 1.0050 1.0050 1.0050 y(t)2Ry(t)y(t)0 在 0 t 10 上的数字仿真解(已知: y(0)y(0)0),并将不同步长下的仿真结果与解析解进行精度比较。 说明: 已知该微分方程的解析解分别为: 100,yt y t 100cost(当 R 0)100e 2t c°s 仝 t 10 ^ e*s in 仝 t 2 3 2(当 R 0.5)采用 RK4 法进行计算,选择状态变量: 2.考虑如下二阶系统: x 1 y x 2 y 则有如下状态空间模型及初值条件 x 1 x 2 x 1(0)100 x 2 x 1 2Rx 2 x 2(0)0 y x 1 采用 RK4 法进行计算。 >> clear h=input(“ 请输入步长 h=”);M=round(10/h);t(1)=0;y_0(1)=100;y_05(1)=100;和 y_05 分别对应于为 R=0 和 R=0.5)x1(1)=100;x2(1)=0;y_rk4_0(1)=x1(1);y_rk4_05(1)=x1(1);% 求解析解 for k=1:M t(k+1)=t(k)+h;y_0(k+1)=100*cos(t(k+1));y_05(k+1)=100*exp(-t(k+1)/2).*cos(sqrt(3)/2*t(k+1))+100*sqrt(3)/3*exp(-t(k+1)/2).*si n(sqrt(3)/2*t(k+1));end% 输入步长 % 置总计算步数 % 置自变量初值 % 置解析解的初始值(y_0 % 置状态向量初值 % 置数值解的初值 % 利用 RK4 法求解 % R=0 for k=1:M k11=x2(k);k12=-x1(k);k21=x2(k)+h*k12/2;k22=-(x1(k)+h*k11/2);k31=x2(k)+h*k22/2;k32=-(x1(k)+h*k21/2);k41=x2(k)+h*k32;k42=-(x1(k)+h*k31);x1(k+1)=x1(k)+h*(k11+2*k21+2*k31+k41)/6;x2(k+1)=x2(k)+h*(k12+2*k22+2*k32+k42)/6;y_rk4_0(k+1)=x1(k+1);end % R=0.5 for k=1:M k11=x2(k);k12=-x1(k)-x2(k);k21=x2(k)+h*k12/2;k22=-(x1(k)+h*k11/2)-(x2(k)+h*k12/2);k31=x2(k)+h*k22/2;k32=-(x1(k)+h*k21/2)-(x2(k)+h*k22/2);k41=x2(k)+h*k32;k42=-(x1(k)+h*k31)-(x2(k)+h*k32);x1(k+1)=x1(k)+h*(k11+2*k21+2*k31+k41)/6;x2(k+1)=x2(k)+h*(k12+2*k22+2*k32+k42)/6;y_rk4_05(k+1)=x1(k+1);end % 求出误差最大值 err_0=max(abs(y_0-y_rk4_0));err_05=max(abs(y_05-y_rk4_05));% 输出结果 disp(“ 最大误差(R=0) 最大误差(R=0.5)”) err_max=[err_0,err_05];disp(err_max) 请输入步长 h=0.5 最大误差(R=0) 最大误差(R=0.5) 0.4299 0.0460 没运行一次程序,输入一个步长,记得可到相应的最大误差,将结果可列表如 下: 步长 h 0.0001 0.0005 0.001 0.005 0.01 0.05 0.1 0.5 F =0 5.4330 1.6969 1.0574 4.1107 6.6029 4.1439 6.6602 4.2988 差 最大误 X 10-10 X 10-10 X 10-10 X 10-9 X 10-8 X 10-5 X 10-4 X 10-1 【重庆大学CAD实验报告】推荐阅读: 中南大学实验报告11-03 中国石油大学实验报告09-14 重庆所有大学重庆有哪些大学10-22 电子科技大学 实验报告 创新学分 实验课10-18 上海理工大学实验报告封面06-16 大学生创新实验项目中期报告11-20 重庆大学校史07-22 福州大学数据结构实验报告-线性表06-24 重庆医科大学09-25 重庆大学审计考试06-04中南大学系统仿真实验报告 篇8