1、MATLAB 论 文基于 MATLAB 的自动控制系统及案例分析姓 名学 号指导老师物理与电子工程学院I基于 MATLAB 的自动控制系统及案例分析引言摘要:MATLAB 是一种数值计算型科技应用软件,其全称是 Matrix Laboratory,也即矩阵实验室。MATLAB 具有编程直观简单,用户界面友善,开放性强等优点,因此自面世以来,在国际上很快得到推广和应用。MATLAB 具有强大的数值计算与符号计算功能,以及强大的数据可视化、人机智能交互能力,其发展不断推陈出新。现今的 MATLAB 拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精美的图形可视、更广泛的数学和数据分析资源、更
2、多的应用开发工具。这里主要介绍 MATLAB 在控制器设计、仿真和分析方面的功能,即 MATLAB 的控制工具箱。目前 MATLAB 软件已经成为控制领域最流行的设计和计算的工具之一。本文将主要介绍运用 MATLAB 进行控制系统分析与设计的全过程,并结合具体实例深入探讨1。关键词:MATLAB 自动控制系统时域频域IntroductionAbstract:MATLAB is a numerical computing technology application software, and its full name is Matrix Laboratory, which is called
3、 the matrix laboratory. MATLAB has many advantages, such as simple programming, simple interface, friendly user interface and strong openness, so it has been popularized and applied quickly in the world since it came out. MATLAB has powerful functions of numerical calculation and symbolic computatio
4、n, as well as powerful data visualization and human-computer intelligent interactive ability, and its development is constantly bringing forth new ideas. Todays MATLAB has a richer data type and structure, a more friendly object-oriented, faster, more beautiful graphics visualization, a wider range
5、of mathematical and data analysis resources, and more application development IItools. This article mainly introduces the function of MATLAB in controller design, simulation and analysis, that is MATLAB control toolbox. At present, MATLAB software has become one of the most popular design and calcul
6、ation tools in the field of control. This paper mainly introduces the whole process of the analysis and design of the control system by using MATLAB.Keywords:MATLABAutomatic control system Time domain Frequency domain目录一绪论- 1 -1.1 MATLAB 基础介绍- 1 -1.2 研究内容- 1 -二自动控制系统基础- 2 -2.1 自动控制系统的概述- 2 -2.2 开环、闭
7、环控制系统- 2 -2.3 控制系统的性能要求- 3 -III三自动控制系统的时域分析- 4 -3.1 时域分析简介- 4 -3.2 动态过程与动态性能- 4 -3.3 稳态过程与稳态性能- 5 -3.4 控制系统的稳定性- 5 -3.5 时域分析法的 MATLAB 实现- 6 -3.5.1 控制系统的动态性能分析- 6 -3.5.2 控制系统的稳定性分析- 7 -四自动控制系统的频域分析- 8 -4.1 频域分析法简介- 8 -4.2 有关频率分析法的几个概念- 8 -4.3 频率特性的性能指标- 9 -4.4 频域分析法的 MATLAB 实现- 10 -4.4.1 BODE图的绘制- 10
8、 -4.4.2 BODE图分析控制系统的稳定性- 11 -五总结- 13 -参考文献- 14 - 1 -一绪论1.1MATLAB 基础介绍MATLAB 程序设计语言是 MathWorks 公司于 20 世纪 80 年代推出的高性能的数值矩阵计算软件。其功能强大,适用范围广泛,提供了丰富的库函数,编程简单、易懂、效率高。MATLAB 无论作为科学研究与工程运算的工具,还是作为控制系统方阵的教学工具,都是必不可少的。目前,MATLAB 已经成为国际学术界公认的最流行的科学计算软件。MATLAB 主要由以下三个部分组成,下面分别加以介绍 2。1、MATLAB 图形处理系统这是 MATLAB 图形系统
9、的基础,它包括生成二维数据和三维数据可视化、图像处理、动画及演示图形和创建完整的图形用户接口的命令。2、MATLAB 数学函数库MATLAB 提供了非常丰富的数学计算函数,可以进行简单和复杂的数学计算,比如矩阵求逆、级数求和、贝塞尔函数和快速傅里叶变换等。3、MATLAB 应用程序接口MATLAB 用户能够在 MATLAB 环境中使用其它程序,也可以从 MATLAB 中调用其它程序。1.2 研究内容1、熟悉自动控制系统理论和 MATLAB 软件。2、了解 MATLAB 软件的编程思路与方法。3、完成使用 MATLAB 软件对自动控制系统进行时域、频域分析与仿真和线性系统状态空间分析的方法,编写
10、相关程序。4、对仿真结果进行分析,评价控制系统的性能。- 2 -二 自动控制系统基础2.1 自动控制系统的概述在现代社会生产过程中,为了提高产品的质量,需要对生产设备和生产过程进行自动控制,使被控的量按照期望的规律去变化。这些被控制的设备称为控制对象,被控制的量称为被控量或输出量。生产设备或生产过程中,一般只考虑对输出量影响最大的物理量,这些量称为输入量。输入量可以分为两种类型,一种保证对象的行为达到所要求的目标,这类输入量称为控制量。另一种是妨碍对象的行为达到目标,这一类输入量称为扰动量。自动控制系统是在无人直接参与的情况下,可使生产过程按照期望的运行规律去运行的控制系统。系统是完成要求和任
11、务的部分的组合2。2.2 开环、闭环控制系统如果控制系统的输出量对系统运行过程或结果没有控制作用,这种系统称为开环控制系统。图 2-1 表示了开环控制系统输入量与输出量之间的关系。图 2-1 开环控制系统示意图这里,输入量直接作用于控制对象,不需要将输出量反馈到输入端与输入量进行比较,所以只有输入量影响输出量。当出现扰动时,若没有人的干预,输出量将不能按照输入量所希望的状态工作。闭环控制系统是把输出量检测出来,再反馈到输入端与输入量进行相减或者相加,利用比较后的偏差信号,经过控制器对控制对象进行控制的系统。图 2-2 表示了闭环控制系统输入量、输出量和反馈量之间的关系。- 3 -图 2-2 闭
12、环控制系统示意图这种系统把输出量经检查后,变成输入量相同的物理量反馈到输入端形成闭环,参与系统的控制,所以称为闭环控制系统。由于系统是根据负反馈原理按偏差进行控制的,所以也称为反馈系统或偏差控制系统。2.3 控制系统的性能要求在控制过程中,当扰动量发生变化时,通过反馈控制的作用,经过短暂的过渡过程,被控量又恢复到原来的稳定值,或按照新的给定量稳定下来,这时系统从原来的平衡状态过渡到新的平衡状态,我们把被控量处于变化的状态称为动态或暂态,而把被控量在相对稳定的状态称为静态或稳态。对控制系统性能有三个方面的要求3。1、稳定性稳定性定义为系统受到外扰或内扰作用以后,恢复原来状态或形成新的平衡状态的能
13、力。稳定是系统正常工作的首要条件。2、快速性自动控制系统不仅要满足动态性能的要求,还应能满足暂态性能的要求。为了满足生产过程中的要求,往往要求系统暂态过程不但是稳定的,而且进行得越快越好,振荡程度越小越好。3、准确性稳态误差是指系统达到稳定时,输出量的实际值和期望值之间的误差。这一性能反映了稳定时系统的控制精度,稳态误差越小,系统性能越好。给定稳态误差是在参考输入信号的作用下,当系统达到稳定后,其稳态输出与参考输入所要求的期望输出之差。- 4 -三 自动控制系统的时域分析3.1 时域分析简介时域分析法是根据微分方程,利用拉氏变换直接求出系统的时间响应,然后按照响应曲线来分析系统的性能,是一种直
14、接在时域中对系统进行分析的方法,具有直观和准确的优点。控制系统时域分析法最常用的方法有两种:一是当输入为单位阶跃信号时,求出系统的响应;二是当输入为单位冲激信号时,求出系统的响应 3。3.2 动态过程与动态性能动态过程又称为过渡过程或瞬态过程,是指系统在典型输入信号作用下,其输出量从初始状态到最终状态的响应过程。通常,在单位阶跃信号作用下,稳定系统的动态过程随时间 t 变化的指标称为动态性能指标。控制系统的动态性能指标一般有以下几个:1、上升时间 rt系统响应从零首次上升到稳态值 h()所需的时间定义为上升时间。2、延时时间 dt从输入信号开始施加时起,系统输出时间响应第一次达到稳态值 50%
15、所需要的时间定义为延时时间。3、峰值时间 pt系统响应超过其终值达到第一个峰值所需要的时间定义为峰值时间。它反映了系统对输入信号反应的快速性,值越小,系统对输入信号反映越快。4、调整时间 st响应达到并保持在终值2%或5%误差内所需要的最短时间定义为调节时间。在默认情况下 MATLAB 计算动态性能时,取误差范围为 2%。它反应了动态过程进行得快慢,是系统快速性指标,值越小,系统的快速性就越好。5、超调量 %响应的最大偏差量 h(t )与终值 h()的差与终值 h()之比的百分数,定义为超调量,p即:- 5 -(3-1)%10)(%htp它反应了动态过程的平稳性,值越小,平稳性越好。3.3 稳
16、态过程与稳态性能稳态过程又称为稳态响应,指系统在典型输入信号作用下,当时间 t 趋于无穷大时,系统输出量的表现方式。它表现系统输出量最终复现输入量的程度,提供系统有关稳态误差的信息 4。稳态误差是控制系统控制准确度的一种量度,也称为稳态性能,若时间趋于无穷大时系统的输出量不等于输入量或输入量的确定函数,则系统存在稳态误差。对于图 3-2所示的控制系统,输入信号 至误差信号 之间的误差传递函数为)(sR)(sE(3-2)1)(HGEse则系统的误差信号为(3-3)()()(11sRsEtee当 的极点均位于 左半平面时,应用拉普拉斯变换的终值定理可求出系统的稳)(sEs态误差为(3-4)(1li
17、m)(li)(lim00 sHGstests 3.4 控制系统的稳定性稳定性是控制系统的重要性能,也是系统能正常运行的首要条件。系统原处于某一平衡状态,若它受到瞬间的某一扰动作用而偏离原来的平衡状态,当扰动撤消后,系统仍能回到原有的平衡状态,则称该系统是稳定的。反之,系统为不稳定的。线性系统的稳定性只取决于系统本身,与外界无关。- 6 -若系统是连续时间控制系统,其闭环传递函数的极点均严格位于 s 左半平面,则此系统是稳定系统。若系统是离散时间控制系统,其闭环特征根位于 z 平面上的单位圆周内部,即其闭环特征根的模小于 1。3.5 时域分析法的 MATLAB 实现3.5.1 控制系统的动态性能
18、分析MATLAB 提供了线性定常系统的各种时间响应函数和各种动态性能分析函数,部分函数如下表所示 5。本文主要介绍 step()函数和 impulse()函数。表 3-1 部分时域响应分析函数函数名称 功能step 计算并绘制线性定常系统阶跃响应impulse 计算并绘制连续时间系统冲激响应initial 计算并绘制连续系统零输入响应lism 仿真线性定常连续模型对任意输入的响应dstep 计算并绘制离散时间系统阶跃响应1、step()函数功能:求线性定常系统的单位阶跃响应。其调用格式如下:step(sys) %绘制系统 sys 的单位阶跃响应曲线【例 3-1】 已知典型系统的传递函数为 ,求
19、系统的单位阶跃182)(1ssG响应。MATLAB 编程:sys=tf(2,conv(2,1,8,1);step(sys);xlabel(t);ylabel(y);title(单位阶跃响应);grid on;图 3-1 系统的单位阶跃响应图形- 7 -由图可知:上升时间 =18.5s;峰值时间 45s,此值大,说明系统对输入信号反应rtpt慢;调节时间 =33.6s,此值较大,系统的快速性差,输出信号复现输入信号的能力弱;st超调量 %=0%,此值小,说明系统的平稳性较好。2、impulse()函数功能:求线性定常系统的单位冲激响应。其调用格式若下:impulse(sys) %绘制系统的单位冲
20、激响应曲线【例 3-2】 已知典型系统的传递函数为 ,求系统的冲激1025)(2 ssG响应。MATLAB 编程:sys=tf(conv(20,1,1),conv(1,0,conv(1,5,1,2,10);impulse(sys);xlabel(t);ylabel(y);title(单位冲激响应);grid on;图 3-2 系统的冲激响应图形3.5.2 控制系统的稳定性分析应用 MATLAB 可以方便快捷的对控制系统进行时域分析。由于控制系统的闭环极点在 s 平面上的分布决定了控制系统的稳定性,所以要判断控制系统的稳定性,只需要确定控制系统闭环极点在 s 平面上的分布。在 MATLAB 中,
21、可以使用函数 pzmap()绘制系统的零极点图判断系统的稳定性。- 8 -【例 3-3】 已知系统的传输函数为 ,判断该系统的稳定性。102)(3ssGMATLAB 编程:sys=tf(200,conv(1,0,0,conv(1,5,1,2,10);pzmap(sys);xlabel(实轴);ylabel(虚轴);title(系统的零极点图);grid on;图 3-3 系统零极点分布图由图 3-3 可知,该系统所有极点位于 s 的左半平面,所以该系统是稳定系统。四 自动控制系统的频域分析4.1 频域分析法简介频域分析法是自动控制领域中应用又一种数学工具频率特性来研究控制系统过程性能,即稳定性
22、、快速性及稳定精度的方法。这种方法可以直观地表达出系统频率特性,而且分析方法简单,物理概念明确,可以从系统的频率特性上直接地看出物理实质。频域分析法里主要用到 2 种曲线:Bode 图、Nyquist 曲线图。Bode 图在频域分析法里占有重要的地位 6。- 9 -4.2 有关频率分析法的几个概念1、频率响应当线性系统受到正弦信号作用时,系统稳定后输出的稳态分量仍然是同频率的正弦信号,这种过程叫做系统的频率响应。2、频率特性正弦信号的作用下,系统输出的稳态分量为同频率的正弦信号,其振幅与输入正弦信号振幅的比相对于正弦信号角频率间的关系 叫做幅频特性,其相位与输入正弦信)(wA号的相位之差相对于
23、正弦信号角频率间的关系 叫做相频特性。系统频率响应与输入正弦信号的复数比叫做系统的频率特性。记作:(4-1) jweAjG)(系统的频率特性与系统的传递函数之间有着简单而直接的关系:(4-2)jwsj|)(3、Bode 图Bode 图即对数频率特性曲线。Bode 图有两条曲线,分别是对数幅频特性曲线和对数相频特性曲线。横坐标都是角频率 ,是按常用对数(以 10 为底的对数)刻度的,即,其单位是弧度每秒。对数相频特性的纵坐标是 ,等分刻度,其单位为度或弧wlg )(w度;而对数幅频特性的纵坐标是 =20lg ,也是等分刻度,其单位为分贝。)(wL)(A4、幅相特性系统的频率特性 里既有振幅信息又
24、有相位信息,所以又叫做系统)()(jejG的幅相特性。幅相特性图形化的形式,即是幅相特性曲线。4.3 频率特性的性能指标采用频域方法进行线性控制系统设计时,时域内采用的诸如超调量,调整时间等描述系统性能的指标不能使用,需要在频域内定义频域性能指标 7,主要有以下几个:1、峰值它是幅频特性 的最大值,一般来说,峰值的大小表明闭环控制系统相对稳定性)(wA的好坏,峰值越大,表明系统对某个频率的正弦信号反映强烈。2、带宽- 10 -它是幅频特性 的数值衰减到 0.707 时对应的角频率。带宽用于衡量控制系)(wA)0(A统的快速性,带宽越宽,表明系统复现快速变化信号的能力越强,阶跃响应的上升时间和调
25、整时间就越短。3、相频宽它是相频特性 等于 时对应的角频率。相频宽也用于衡量系统的快速性。)(w2/相频宽高,表明输入信号的频率越高,即系统反应快速,快速性好。4、剪切频率:系统开环对数幅频特性曲线 20lg|G|与横坐标轴 交点的角频率,常用w来表示。cw5、 穿越频率:系统开环对数相频特性曲线 与 线交点所对应的角频率, )(常用 来表示。g6、稳定欲度(1) 相角稳定欲度系统开环幅相特性曲线 上模值等于 1 的向量与负实轴的夹角,常用 表示,)(jwG即: = (4-3)(cw(2) 幅值稳定裕度系统开环幅相特性曲线 与负实轴交点 模值 的倒数,常用 来表示,即:)(jc)(cwGh(4
26、-4)(1cwGh4.4 频域分析法的 MATLAB 实现4.4.1 Bode 图的绘制MATLAB 提供的频域分析函数如表 4-1 所示。本文主要介绍函数 bode(),其基本调用格式为:bode(sys)bode(sys,w)mag,phase,w=bode(sys)表 4-1 频域分析函数函数名 功能bode 绘制 Bode 图- 11 -nyquist 绘制 Nyquist 图margin 计算系统的增益和相位裕度Bode()函数用来计算并绘制系统的 Bode 图,当函数命令为等式左边输出变量的格式时,函数在当前窗口中直接绘制出系统的 Bode 图。线性时不变系统对象 sys 可以是由
27、函数 tf()、zpk()、ss()中的任何一个函数建立的系统模型 12。w 用来定义绘制 Bode 图时的频率范围或者频率点。第三条语句只计算系统Bode 图的输出数据,而不绘制曲线。mag 为系统 Bode 图的振幅值,phase 为 Bode 图的相位值。【例 4-1】 已知系统的传递函数为 ,绘制系统的 Bode14.0)(24 ssG图。MATLAB 编程:num=conv(1,0,1/0.1,1);den=conv(1,0,conv(1,1,1,1/4,1);sys=tf(num,den);bode(sys);grid on;图 4-1 系统的 bode 图4.4.2 Bode 图
28、分析控制系统的稳定性MATLAB 提供了直接求解系统的幅值稳定裕度和相位稳定裕度的函数 margin(),其调用格式为:Gm,Pm,Wcg,Wcp=margin(sys)Gm,Pm,Wcg,Wcp=margin(mag,phase,w)- 12 -这些语句只计算系统 Bode 图的输出数据,而不绘制曲线。 margin()函数可以从频率响应数据中计算出幅值稳定裕度、相位稳定裕度及其对应的角频率。有了控制系统的Bode 图,就可以计算频域性能指标。当计算出的相角稳定裕度 0 时,则系统闭环稳定,否则不稳定。【例 4-2】 已知系统开环传递函数为 ,试用 Bode 图判1025)(2 ssG断闭环
29、系统的稳定性,并绘制系统的单位阶跃响应曲线来验证。MATLAB 编程:sys=tf(conv(20,1,1),conv(1,0,conv(1,5,1,2,10);margin (sys);grid on;Gm,Pm,Wcg,Wcp=margin(sys)程序执行结果为:G m =3.1369; Pm =103.6573; Wcg =4.0132; Wcp =0.4426; 模值稳定裕度 Lh=20lg3.1369dB;穿越频率 wg=4.0132rad/s。相角稳定裕度 。截止频率6573.10wc=0.4426。由奈氏判据知,系统闭环稳定。图 4-2 开环系统的 Bode 图绘制系统的单位阶
30、跃响应曲线来验证系统的稳定性。MATLAB 编程:s=tf(conv(20,1,1),conv(1,0,conv(1,5,1,2,10);sys=feedback(s,1);t=0:0.01:10;step(sys,t);grid on;title(单位阶跃响应);ylabel(y);xlabel(t);- 13 -运行程序,绘制出系统的单位阶跃响应曲线如图 4-3 所示。系统的单位阶跃响应曲线是汇聚的振荡,说明系统稳定,验证了用 Bode 图判断系统稳定的结论。图 4-3 系统的单位阶跃响应曲线五 总结本文对自动控制系统进行了初步的分析,在本文中我用到了时域与频域分析法;时域分析法是一种直接
31、法,它以传递函数为系统的数学模型,以拉氏变换为数学工具,可以直接求出系统的响应;这种方法虽然直观,分析控制系统的动态性能十分有用。而频域分析法不仅是一种通过开环传递函数研究系统闭环传递函数性能的分析方法,而且当系统的数学模型未知时,还可以通过实验的方法建立;此外,大量丰富的图形方法使得频域分析法分析高阶系统时,分析的复杂性并不随阶次的增加而显著增加。时域分析法和频域分析法是经典控制理论的基础,但经典控制理论存在一定的局限性,即不宜用来解决多输入多输出系统,特别是对非线性、时变系统更无能为力,所以查阅相关资料可知,我们可以通过现代控制理论里的状态空间分析理论,可以分析系统的可控性和可观性,还可以
32、进行极点配置,在很大的程度上可以改变系统品质特性,但这种方法我还未学习,所以在本文中没有进行相关的描述分析。综上可得我们在进行控制系统分析时,可以根据实际情况,针对不同数学模型选用最简洁、合适的方法,从而使用相应的分析方法,达到预期的实验目的。- 14 -参考文献1胡寿松.自动控制原理基础教程第三版.科技出版社.20152姚俊,马松辉.Simulink 建模与仿真M.西安电子科技大学出版社,2008.3张晓江,黄云志.MATLAB 在自动控制系统中的应用M.武汉:机械工业出版社,2010.4 吴晓燕.自动控制系统计算机仿真J .电信技术,2009 ,(1):64-67.5 刘永,彭正洪.MATLAB 的控制系统的设计与仿真J.自动控制技术,2008,(3):41-45 .6 陈怀深,吴大正等.MATLAB 在控制系统中的应用M.北京:清华大学出版社,2004.7谢仕宏.MATLAB R2008 控制系统动态仿真实例教程 M.北京:化学工业出版社,2009.