毕业论文-基于MATLAB的系统的时域响应分析_第1页
毕业论文-基于MATLAB的系统的时域响应分析_第2页
毕业论文-基于MATLAB的系统的时域响应分析_第3页
毕业论文-基于MATLAB的系统的时域响应分析_第4页
毕业论文-基于MATLAB的系统的时域响应分析_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE23摘要系统的时域响应分析是衡量控制系统的重要指标。所谓控制系统的时域响应分析就是在时间域内求解系统的微分方程,然后根据绘制出来的曲线分析系统的性能和各主要参数对系统性能的影响。不过这里的响应曲线一般是指典型的响应曲线,即所谓的阶跃响应和脉冲响应。求解系统典型响应的思路是首先列出微分方程组,对方程两边同时取拉普拉斯变换得到系统传递函数,然后根据绘制出来的图形进行系统分析。利用MATLAB提供的系统时域响应分析函数可以方便、快捷地观察到系统的输出是否满足要求。经过系统仿真后得出诸如系统传递函数等的上升时间、调节时间、超调量和稳态误差等参数。此次综合实践所选的系统经过MATLAB软件进行系统仿真后,得到系统的输出函数,可以直观的看到系统个状态量变化情况。关键词:MATLAB软件;系统时域响应分析;系统的响应曲线AbstractThesystemtimedomainresponseanalysisisanimportantindicatortomeasurecontrolsystem.Theso-calledcontrolsystemisthetime-domainresponseofthesystemintimedomainforsolvingdifferentialequations,andthendrawouttheperformancecurveanalysissystemandthemainparametersonsystemperformance.Buthere,generallyreferstoatypicalresponsecurveoftheresponsecurve,theso-calledstepresponseandpulseresponse.Atypicalresponsetotheideaofsolvingthesystemislistedfirstdifferentialequations,bothsidesoftheequationatthesametimetakingtheLaplacetransformofthesystemtransferfunction,andthendrawoutasystematicanalysisofthegraphic.MATLABprovidesasystemusingtimedomainresponseanalysisfunctioncanbequicklyandeasilyobservewhethertheoutputofthesystemtomeettherequirements.Afterthesystemobtainedaftersimulationofthesystemtransferfunction,etc.,suchasrisetime,adjustingtime,overshootandsteady-stateerrorandotherparameters.ThepracticeoftheselectedsystemisanintegratedMATLABsystemsimulationsoftware,gotthesystemoutputfunction,youcanseevisualchangesintheamountofsystem-state.Keywords:MATLABsoftware;thesystemtimedomainresponseanalysis;systemresponsecurves目录TOC\o"1-3"\f\h\z\u摘要 IAbstract II第1章绪论 11.1概述 11.2时域响应分析 11.2.1系统响应的输入信号 11.2.2根据模型获得响应曲线 11.3本次综合实践2的意义 2第2章MATLAB软件简介 32.1MATLAB 32.2MATLAB概述 32.2.1MATLAB软件 32.2.2Matlab的优势和特点 3第3章系统的软件设计思路 63.1典型信号的生成 63.2系统直流增益 73.3系统的固有频率和阻尼系数 73.4系统零输入响应 73.5典型系统传递函数分析 83.6任意给定输入的系统时域响应 93.7典型系统传递函数分析应用举例 9第4章 系统函数的仿真及分析 114.1系统传递函数的模型建立及仿真 114.2系统传递函数的仿真结果分析 13结论 14参考文献 15致谢 16第1章绪论1.1概述在控制系统分析和设计中,常采用典型响应特性来描述系统的动态性能。响应是指在系统输人信号作用下,系统输出量的变化特性。典型响应是指采用零初值条件时典型信号作用下,系统输出量的变化特性。常用的典型响应有阶跃响应、脉冲响应和频率响应等。1.2时域响应分析系统的时域响应分析是衡量控制系统的重要指标,也是系统分析不可缺少的组成部分。1.2.1系统响应的输入信号1.用于系统响应的输入信号应具有下列特性:能使系统的输出有足够显著的变化;在存在其他外扰作用下,能从系统的输出中分离出高的输入信号影响;易于实现;能激发系统特性的所有模态,包括低频和高频特性;对生产过程的影响要小。2.常用的输入信号常用的输入信号有非周期函数、周期函数、非周期随机函数、周期随机函数等。非周期函数包含所有频带,因此能激发系统的所有模态,但对生产过程影响较大,常用的非周期函数是阶跃函数和脉冲函数。周期函数要在不同频率下检测系统的输入和输出,费时且数据后处理工作量大,但能直接得到系统的频率特性曲线,常用的周期函数有正弦函数、方波函数。非周期随机函数采用生产过程的数据,对生产过程影响最小,但数据处理较复杂。周期随机函数是人为的随机函数,它以一定的周期重复,但又有随机函数的统计特性,函数的发生较方便,常用的周期随机函数有伪随机双位函数。本节讨论非周期函数信号作为输入信号时系统的输出响应分析。1.2.2根据模型获得响应曲线根据系统的模型和输入信号,可以获得系统的输出响应,常用的方法有拉氏反变换法、部分分式展开法和直接计算法等。分别介绍如下。系统输入信号是阶跃信号时,系统的输出特性是阶跃响应。1.3本次综合实践2的意义目前,系统的时域响应分析是衡量控制系统的重要指标,与人工手动计算相比,大大提高了运行效率。本实验正是利用MATLAB自带的系统仿真软件进行系统仿真设计的。第2章MATLAB软件简介2.1MATLAB利用MATLAB软件自带的模块集和工具箱经行控制系统的设计,经系统仿真后得出控制系统传函的个项指标。2.2MATLAB概述MATLAB是矩阵实验室(MatrixLaboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。2.2.1MATLAB软件MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.在新的版本中也加入了对C,FORTRAN,c++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用,非常的方便。MATLAB的基础是矩阵计算,但是由于他的开放性,并且mathwork也吸收了像maple等软件的优点,使MATLAB成为一个强大的数学软件。当前流行的MATLAB6.5/7.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox),工具包又可以分为功能性工具包和学科工具包,功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。开放性使MATLAB广受用户欢迎,除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。2.2.2Matlab的优势和特点1.友好的工作平台和编程环境MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。2.简单易用的程序语言Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。3.强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如距阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。4.出色的图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和距阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使他不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。5.应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,他们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。6.实用的程序接口和发布平台新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是他有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。7.应用软件开发(包括用户界面)在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5。第3章系统的软件设计思路3.1典型信号的生成[u,t0]=gensig(type,tp,te)生成典型信号并返回信号数据,type=‘square’时生成方波;type=‘sin’时生成正弦波;type=‘pulse’时生成脉冲序列。tp为信号周期,单位为秒;te为信号持续时间,单位为秒;t0为时间向量,单位为秒;ts为信号采样向量。[u,t0]=gensig(type,tp,te)生成典型信号。ts为采样周期,单位为秒。例:生成一周期为10秒、持续时间50秒、采样周期为0.3秒的正弦波和一周期为10秒,持续时间为100秒的方波。[u,t0]=gensig('sin',10,50,0.3);%生成一周期为10秒、持续时间50秒、采样周期为0.3秒的正弦波figure;plot(t0,u);%显示生成信号的曲线,如图3-1所示[u,t0]=gensig('square',10,100);%生成一周期为10秒的方波figure;plot(t0,u);%显示生成信号的曲线,如图3-2所示图3-1生成信号曲线图3-2生成信号曲线3.2系统直流增益k=dcgain(num,den)得到由传递函数模型所描述系统的直流增益k。k=dcgain(a,b,c,d)得到由状态空间模型所描述系统的直流增益k。3.3系统的固有频率和阻尼系数[wnks]=damp(den)得到由传递函数模型所描述系统的固有频率wn向量和阻尼系数ks向量。den为系统传递函数的分母多项式向量。[wnks]=damp(a)得到由状态空间模型所描述系统的固有频率wn向量和阻尼系数ks向量。a为系统矩阵。e=damp(den)得到由传递函数模型所描述系统的特征值向量e。e=damp(a)得到由状态空间模型所描述系统的特征值向量e。例:给系统模型G(s)=SKIPIF1<0求系统的固有频率、阻尼系数、特征值域直流增益。3.4系统零输入响应通过initial()函数为系统状态空间模型提供状态的初始值。为对状态观测器和状态变量反馈控制的研究、分析提供了方便。initial(a,b,c,d,e,x,0,t)显示给定系统初始化状态时系统的零输入响应曲线。x0为系统初始化状态值向量,长度为状态个数。t为给定的终止时间值,也可以给定时间向量,单位为秒,如果不选择t,时间坐标由系统自动生成。[y,x,t0]=initial(a,b,c,d,x0,t)--得到给定系统初始状态时系统的零输入响应数据。y为系统输出向量;x为状态变化数据矩阵,每一列为一个状态变化数据。为时间向量,单位为秒。3.5典型系统传递函数分析step(num,den)--对由传递函数模型所描述系统施加阶跃输入,显示系统阶跃响应曲线。step(num,den,t)按给定时间t,单位为秒,显示系统在0~t时间内的阶跃响应曲线。step(a,b,c,d)对于状态空间模型所描述系统施加阶跃输入,显示系统阶跃响应曲线。step(a,b,c,d,l,t)对于状态空间模型所描述系统施加阶跃输入,显示系统阶跃响应曲线。t为时间向量,单位为秒y=step(···)返回函数阶跃响应,数据赋给向量y。[y,x,t0]=tep(···)返回系统冲激响应,数据赋飞、给向量y。如果输入参数为传递函数模型,则向量x为空。如果输入参数为状态空间模型,则向量x为一矩阵,矩阵的每一列对系统一个状态的变化数据。向量to为时间范围,单位为秒。Impulse(num,den)对由传递函数模型所描述吸系统施加阶跃输入,显示系统冲激应曲线。Impulse(num,den,t)按给定时间t(单位为秒),显示系统在0~t时间内的冲激响应曲线。Impulse(a,b,c,d)对由状态空间模型所描述吸系统施加阶跃输入,显示系统冲激应曲线。Impulse(a,b,c,d,l,t)对由状态空间模型所描述吸系统施加阶跃输入,显示系统冲激应曲线。y=impulse(···)返回系统冲激响应,数据赋给向量y。[y,x,t0]=impulse(···)返回系统冲激响应,数据赋给向量y;如果输入参数为传递函数模型,则向量x为空;如果输入参数为状态空间模型,则向量x为一矩阵,矩阵每一列对应系统一个状态的变化数据,向量t0为时间范围,单位为秒。3.6任意给定输入的系统时域响应lsim(num,den,u,t)显示由传递函数模型所描述系统对给输入u,在时间范围t内的系统输出曲线。u为输输入向量,t为时间向量,单位为秒。u,v两向量长度应相等。lsim(a,b,c,d,u,t)显示由状态空间模型所描述系统对给输入u,在时间范围t内的系统输出曲线。u为输输入向量,t为时间向量,单位为秒。u,v两向量长度应相等。lsim(a,b,c,d,u,t,x0)显示由状态空间模型所描述系统对给输入u,在时间范围t内的系统输出曲线。u为输输入向量,t为时间向量,单位为秒。u,v两向量长度应相等。X0为系统状态初始值向量。如果省略,系统初始化状态为0.y=lsim(···)返回系统在给定输入参数时的时域响应数据向量y。[y,x,t0]=lsim(···)返回系统在给定输入参数时的时域响应数据向量y。如果输入参数为传递函数模型,则向量x为空;如果输入参数为状态空间模型,则向量x为一矩阵,矩阵的每一列对应系统一个状态的变化数据,向量t0为时间范围。3.7典型系统传递函数分析应用举例例:给定系统的状态空间模型为SKIPIF1<0观察系统各状态的阶跃响应和冲激响应情况。closeall;a=[-1,0,0;2,-7,-3.1623;0,3.1623,0];b=[1;1;0];c=[0,0,1.8974];d=0;[y,x,t]=step(a,b,c,d);%得到阶跃响应状态变化数据figure;plot(t,x(:,1),t,x(:,2),t,x(:,3));grid;%显示系统各状态变化,如图3-3所示title('StepResponse');xlabel('Time(sec)');ylabel('Amplitude');legend('x1','x2','x3');%增加系统状态标识[y,x,t]=impulse(a,b,c,d);%得到冲激响应状态变化数据figure;plot(t,x(:,1),t,x(:,2),t,x(:,3));grid;%显示各状态变化,如图3-4所示title('ImpulseResponse');xlabel('Time(sec)');ylabel('Amplitude');legend('x1','x2','x3');%增加系统状态标识图3-3系统各状态变化图3-4系统各状态变化系统函数的仿真及分析4.1系统传递函数的模型建立及仿真控制系统的方框图如下图所示,由4个环节串联而成的单位反馈系统。观察系统的阶跃响应与冲激响应。G1G2GSKIPIF1<0SKIPIF1<0SKIPIF1<0SKIPIF1<0SKIPIF1<0eq\o\ac(○,X)SKIPIF1<0SKIPIF1<0SKIPIF1<0SKIPIF1<0-图4-1单位反馈系统closeall;num1=[1,0.5];den1=[1,0.1];num2=[1];den2=[1.0];%构成各环节的传递函数表达式num3=[2];den3=[1,2];num4=[10];den4=[1,10];[numx,denx]=series(num1,den1,num2,den2);%环节串联计算[numx,denx]=series(numx,denx,num3,den3);[numx,denx]=series(numx,denx,num4,den4);[num,den]=cloop(numx,denx);%得到最终闭环系统的传递函数figure;step(num,den);%显示阶跃响应曲线,如图4-2所示figure;impulse(num,den);%显示冲激响应曲线,如图4-3所示printsys(mun,den);%显示最终闭环系统的传递函数图4-2阶跃响应曲线图4-3冲激响应曲线观察输入为如图4-4所示的信号时,系统输出。closeall;num1=[1,0.5];den1=[1,0.1];num2=[1];den2=[1.0];%构造各环节的传递函数表达num3=[2];den3=[1,2];num4=[10];den4=[1,10];[numx,denx]=series(num1,den1,num2,den2);%环节串联计算[numx,denx]=series(numx,denx,num3,den3);[numx,denx]=series(numx,denx,num4,den4);[num,den]=cloop(numx,denx);%得到最终闭环系统的传递函数tx=0:0.1:60;%设定时间向量、时间起止点及步长ux=30*tx/length(tx);%构造给定输入向量ux(tx>20)=1;ux(tx>40)=0;figure;plot(tx,ux,'r');%显示系统输入曲线,如图4-4所示figure;lsim(num,den,ux,tx)%显示系统输出曲线,如图4-5中的折线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论