MATLAB论文-基于MATLAB的自动控制系统及案例分析
MATLAB 论 文
基于MATLAB 的自动控制系统及案例分析
姓 名
学 号
指导老师
物理与电子工程学院
基于MATLAB 的自动控制系统及案例分析
引言
摘要:
MATLAB 是一种数值计算型科技应用软件,其全称是Matrix Laboratory,也即矩阵实验室。MATLAB 具有编程直观简单,用户界面友善,开放性强等优点,因此自面世以来,在国际上很快得到推广和应用。
MATLAB 具有强大的数值计算与符号计算功能,以及强大的数据可视化、人机智能交互能力,其发展不断推陈出新。现今的MATLAB 拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精美的图形可视、更广泛的数学和数据分析资源、更多的应用开发工具。
这里主要介绍MATLAB 在控制器设计、仿真和分析方面的功能,即MATLAB 的控制工具箱。目前MATLAB 软件已经成为控制领域最流行的设计和计算的工具之一。本文将主要介绍运用MATLAB 进行控制系统分析与设计的全过程,并结合具体实例深入探讨[1]。
关键词:
MATLAB 自动控制系统 时域 频域
Introduction
Abstract :
MATLAB is a numerical computing technology application software, and its full name is Matrix Laboratory, which is called 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 computation, as well as powerful data visualization and human-computer intelligent interactive ability, and its development is constantly bringing forth new ideas. Today's MATLAB has a richer data type and structure, a more friendly object-oriented, faster, more beautiful graphics visualization, a wider range of mathematical and data analysis resources, and more application development tools.
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 calculation 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.
Key words:
MATLAB Automatic control system Time domain Frequency domain
目 录
一 绪论 . .............................................................. - 1 -
1.1 MATLAB基础介绍 ................................................. - 1 -
1.2 研究内容 ....................................................... - 1 -
二 自动控制系统基础 ................................................... - 2 -
2.1 自动控制系统的概述.............................................. - 2 -
2.2 开环、闭环控制系统.............................................. - 2 -
2.3 控制系统的性能要求.............................................. - 3 -
三 自动控制系统的时域分析 ............................................. - 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 B ODE 图的绘制 . .................................................. - 10 -
4.4.2 B ODE 图分析控制系统的稳定性 ..................................... - 11 -
五 总结 . ............................................................. - 13 - 参考文献 . ............................................................. - 14 -
一 绪论
1.1 MATLAB基础介绍
MATLAB 程序设计语言是MathWorks 公司于20世纪80年代推出的高性能的数值矩阵计算软件。其功能强大,适用范围广泛,提供了丰富的库函数,编程简单、易懂、效率高。MATLAB 无论作为科学研究与工程运算的工具,还是作为控制系统方阵的教学工具,都是必不可少的。目前,MATLAB 已经成为国际学术界公认的最流行的科学计算软件。MATLAB 主要由以下三个部分组成,下面分别加以介绍[2]。
1、MATLAB 图形处理系统
这是MATLAB 图形系统的基础,它包括生成二维数据和三维数据可视化、图像处理、动画及演示图形和创建完整的图形用户接口的命令。
2、MATLAB 数学函数库
MATLAB 提供了非常丰富的数学计算函数,可以进行简单和复杂的数学计算,比如矩阵求逆、级数求和、贝塞尔函数和快速傅里叶变换等。
3、MATLAB 应用程序接口
MATLAB 用户能够在MATLAB 环境中使用其它程序,也可以从MATLAB 中调用其它程序。
1.2 研究内容
1、熟悉自动控制系统理论和MATLAB 软件。
2、了解MATLAB 软件的编程思路与方法。
3、完成使用MATLAB 软件对自动控制系统进行时域、频域分析与仿真和线性系统状态空间分析的方法,编写相关程序。
4、对仿真结果进行分析,评价控制系统的性能。
二 自动控制系统基础
2.1 自动控制系统的概述
在现代社会生产过程中,为了提高产品的质量,需要对生产设备和生产过程进行自动控制,使被控的量按照期望的规律去变化。这些被控制的设备称为控制对象,被控制的量称为被控量或输出量。
生产设备或生产过程中,一般只考虑对输出量影响最大的物理量,这些量称为输入量。 输入量可以分为两种类型, 一种保证对象的行为达到所要求的目标,这类输入量称为控制量。另一种是妨碍对象的行为达到目标,这一类输入量称为扰动量。
自动控制系统是在无人直接参与的情况下,可使生产过程按照期望的运行规律去运行的控制系统。系统是完成要求和任务的部分的组合[2]。
2.2 开环、闭环控制系统
如果控制系统的输出量对系统运行过程或结果没有控制作用,这种系统称为开环控制系统。图2-1表示了开环控制系统输入量与输出量之间的关系。
图2-1 开环控制系统示意图
这里,输入量直接作用于控制对象,不需要将输出量反馈到输入端与输入量进行比较,所以只有输入量影响输出量。当出现扰动时,若没有人的干预,输出量将不能按照输入量所希望的状态工作。
闭环控制系统是把输出量检测出来,再反馈到输入端与输入量进行相减或者相加,利用比较后的偏差信号,经过控制器对控制对象进行控制的系统。图2-2表示了闭环控制系统输入量、输出量和反馈量之间的关系。
图2-2 闭环控制系统示意图
这种系统把输出量经检查后,变成输入量相同的物理量反馈到输入端形成闭环,参与系统的控制,所以称为闭环控制系统。由于系统是根据负反馈原理按偏差进行控制的,所以也称为反馈系统或偏差控制系统。
2.3 控制系统的性能要求
在控制过程中,当扰动量发生变化时,通过反馈控制的作用,经过短暂的过渡过程,被控量又恢复到原来的稳定值,或按照新的给定量稳定下来,这时系统从原来的平衡状态过渡到新的平衡状态,我们把被控量处于变化的状态称为动态或暂态,而把被控量在相对稳定的状态称为静态或稳态。对控制系统性能有三个方面的要求[3]。
1、稳定性
稳定性定义为系统受到外扰或内扰作用以后,恢复原来状态或形成新的平衡状态的能力。稳定是系统正常工作的首要条件。
2、快速性
自动控制系统不仅要满足动态性能的要求,还应能满足暂态性能的要求。为了满足生产过程中的要求,往往要求系统暂态过程不但是稳定的,而且进行得越快越好,振荡程度越小越好。
3、准确性
稳态误差是指系统达到稳定时,输出量的实际值和期望值之间的误差。这一性能反映了稳定时系统的控制精度,稳态误差越小,系统性能越好。
给定稳态误差是在参考输入信号的作用下,当系统达到稳定后,其稳态输出与参考输入所要求的期望输出之差。
三 自动控制系统的时域分析
3.1 时域分析简介
时域分析法是根据微分方程,利用拉氏变换直接求出系统的时间响应,然后按照响应曲线来分析系统的性能,是一种直接在时域中对系统进行分析的方法,具有直观和准确的优点。控制系统时域分析法最常用的方法有两种:一是当输入为单位阶跃信号时,求出系统的响应;二是当输入为单位冲激信号时,求出系统的响应[3]。
3.2 动态过程与动态性能
动态过程又称为过渡过程或瞬态过程,是指系统在典型输入信号作用下,其输出量从初始状态到最终状态的响应过程。通常,在单位阶跃信号作用下,稳定系统的动态过程随时间t 变化的指标称为动态性能指标。控制系统的动态性能指标一般有以下几个:
1、上升时间t r
系统响应从零首次上升到稳态值h(∞)所需的时间定义为上升时间。
2、延时时间t d
从输入信号开始施加时起,系统输出时间响应第一次达到稳态值50%所需要的时间定义为延时时间。
3、峰值时间t p
系统响应超过其终值达到第一个峰值所需要的时间定义为峰值时间。它反映了系统对输入信号反应的快速性,值越小,系统对输入信号反映越快。
4、调整时间t s
响应达到并保持在终值±2%或±5%误差内所需要的最短时间定义为调节时间。在默认情况下MATLAB 计算动态性能时,取误差范围为±2%。它反应了动态过程进行得快慢,是系统快速性指标,值越小,系统的快速性就越好。
5、超调量 %
响应的最大偏差量h(tp ) 与终值h (∞)的差与终值h (∞)之比的百分数,定义为超调量,即:
σ%=
h (t p ) -h (∞) h (∞) ⨯100%
(3-1)
它反应了动态过程的平稳性,值越小,平稳性越好。
3.3 稳态过程与稳态性能
稳态过程又称为稳态响应,指系统在典型输入信号作用下,当时间t 趋于无穷大时,系统输出量的表现方式。它表现系统输出量最终复现输入量的程度,提供系统有关稳态误差的信息[4]。
稳态误差是控制系统控制准确度的一种量度,也称为稳态性能,若时间趋于无穷大时系统的输出量不等于输入量或输入量的确定函数,则系统存在稳态误差。对于图3-2所示的控制系统,输入信号R (s ) 至误差信号E (s ) 之间的误差传递函数为
φe (s ) =E (s ) 1=R (s ) 1+G (s ) H (s ) (3-2)
则系统的误差信号为
e (t ) =ϕ-1[E (s )]=ϕ-1[φe (s ) R (s )] (3-3)
当sE (s ) 的极点均位于s 左半平面时,应用拉普拉斯变换的终值定理可求出系统的稳态误差为 e ss =lim e (t ) =lim sE (s ) =lim t →∞s →0sR (s ) (3-4) s →01+G (s ) H (s )
3.4 控制系统的稳定性
稳定性是控制系统的重要性能,也是系统能正常运行的首要条件。系统原处于某一平衡状态,若它受到瞬间的某一扰动作用而偏离原来的平衡状态,当扰动撤消后,系统仍能回到原有的平衡状态,则称该系统是稳定的。反之,系统为不稳定的。线性系统的稳定性只取决于系统本身,与外界无关。
若系统是连续时间控制系统,其闭环传递函数的极点均严格位于s 左半平面,则此系统是稳定系统。若系统是离散时间控制系统,其闭环特征根位于z 平面上的单位圆周内部,即其闭环特征根的模小于1。
3.5 时域分析法的MATLAB 实现
3.5.1 控制系统的动态性能分析
MATLAB 提供了线性定常系统的各种时间响应函数和各种动态性能分析函数,部分函数如下表所示[5]。本文主要介绍step()函数和impulse()函数。
功能:求线性定常系统的单位阶跃响应。 其调用格式如下:
step(sys) %绘制系统sys 的单位阶跃响应曲线 【例3-1】 已知典型系统的传递函数为G 1(s ) =应。
MATLAB 编程: sys=tf(2,conv([2,1],[8,1]));
2
, 求系统的单位阶跃响
2s +18s +1
step(sys); xlabel('t'); ylabel('y');
title('单位阶跃响应'); grid on;
图3-1 系统的单位阶跃响应图形
由图可知:上升时间t r =18.5s;峰值时间
t p
>45s,此值大,说明系统对输入信号反应
慢;调节时间t s =33.6s,此值较大,系统的快速性差,输出信号复现输入信号的能力弱;超调量σ%=0%,此值小,说明系统的平稳性较好。
2、impulse()函数
功能:求线性定常系统的单位冲激响应。 其调用格式若下:
impulse(sys) %绘制系统的单位冲激响应曲线 【例3-2】 已知典型系统的传递函数为G 2(s ) =响应。
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;
20(s +1), 求系统的冲激2
s s +5s +2s +10
图3-2 系统的冲激响应图形
3.5.2 控制系统的稳定性分析
应用MATLAB 可以方便快捷的对控制系统进行时域分析。由于控制系统的闭环极点在s 平面上的分布决定了控制系统的稳定性,所以要判断控制系统的稳定性,只需要确定控制系统闭环极点在s 平面上的分布。在MATLAB 中,可以使用函数pzmap()绘制系统的零极点图判断系统的稳定性。
【例3-3】 已知系统的传输函数为G 3(s ) =
200
,判断该系统的稳定性。
s 2s +110s +1MATLAB 编程: 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 频域分析法简介
频域分析法是自动控制领域中应用又一种数学工具频率特性来研究控制系统过程性能,即稳定性、快速性及稳定精度的方法。这种方法可以直观地表达出系统频率特性,而且分析方法简单,物理概念明确,可以从系统的频率特性上直接地看出物理实质。频域分析法里主要用到2种曲线:Bode 图、Nyquist 曲线图。Bode 图在频域分析法里占有重要的地位[6]。
4.2 有关频率分析法的几个概念
1、频率响应
当线性系统受到正弦信号作用时,系统稳定后输出的稳态分量仍然是同频率的正弦信号,这种过程叫做系统的频率响应。
2、频率特性
正弦信号的作用下,系统输出的稳态分量为同频率的正弦信号,其振幅与输入正弦信号振幅的比相对于正弦信号角频率间的关系A (w ) 叫做幅频特性,其相位与输入正弦信号的相位之差相对于正弦信号角频率间的关系ϕ(w ) 叫做相频特性。
系统频率响应与输入正弦信号的复数比叫做系统的频率特性。记作:
jw
G (jw ) =A (w ) e (4-1)
系统的频率特性与系统的传递函数之间有着简单而直接的关系: 3、Bode 图
Bode 图即对数频率特性曲线。Bode 图有两条曲线,分别是对数幅频特性曲线和对数相频特性曲线。横坐标都是角频率w ,是按常用对数(以10为底的对数)刻度的,即lg w ,其单位是弧度每秒。对数相频特性的纵坐标是ϕ(w ) ,等分刻度,其单位为度或弧度;而对数幅频特性的纵坐标是L (w ) =20lgA (w ) , 也是等分刻度,其单位为分贝。
4、幅相特性
j ϕ(w )
G (jw ) =A (jw ) e 系统的频率特性里既有振幅信息又有相位信息,所以又叫做系统
G (jw ) =G (s ) |s =jw
(4-2)
的幅相特性。幅相特性图形化的形式,即是幅相特性曲线。
4.3 频率特性的性能指标
采用频域方法进行线性控制系统设计时,时域内采用的诸如超调量,调整时间等描述系统性能的指标不能使用,需要在频域内定义频域性能指标[7],主要有以下几个:
1、峰值
它是幅频特性A (w ) 的最大值,一般来说,峰值的大小表明闭环控制系统相对稳定性的好坏,峰值越大,表明系统对某个频率的正弦信号反映强烈。
2、带宽
它是幅频特性A (w ) 的数值衰减到0.707A (0) 时对应的角频率。带宽用于衡量控制系统的快速性,带宽越宽,表明系统复现快速变化信号的能力越强,阶跃响应的上升时间和调
整时间就越短。
3、相频宽
它是相频特性ϕ(w ) 等于-π/2时对应的角频率。相频宽也用于衡量系统的快速性。相频宽高,表明输入信号的频率越高,即系统反应快速,快速性好。
4、剪切频率:系统开环对数幅频特性曲线20lg|G|与横坐标轴w 交点的角频率,常用w c
来表示。
5、-π穿越频率:系统开环对数相频特性曲线ϕ(w ) 与-π线交点所对应的角频率,常用
w g
来表示。
6、稳定欲度 (1) 相角稳定欲度
系统开环幅相特性曲线G (jw ) 上模值等于1的向量与负实轴的夹角,常用γ 表示,即:
γ=ϕ(w c ) -(-π) (4-3)
(2) 幅值稳定裕度
系统开环幅相特性曲线G (jw ) 与负实轴交点w c 模值G (w c ) 的倒数,常用h 来表示,即:
h =
1
G (w c ) (4-4)
4.4 频域分析法的MATLAB 实现
4.4.1 Bode图的绘制
MATLAB 提供的频域分析函数如表4-1所示。本文主要介绍函数bode(),其基本调用格式为:bode(sys)
bode(sys,w)
[mag,phase,w]=bode(sys)
Bode()函数用来计算并绘制系统的Bode 图,当函数命令为等式左边输出变量的格式时,函数在当前窗口中直接绘制出系统的Bode 图。
线性时不变系统对象sys 可以是由函数tf()、zpk()、ss()中的任何一个函数建立的系统模型[12]。w 用来定义绘制Bode 图时的频率范围或者频率点。第三条语句只计算系统Bode 图的输出数据,而不绘制曲线。mag 为系统Bode 图的振幅值,phase 为Bode 图的相位值。
【例4-1】 已知系统的传递函数为
G 4(s ) =
s s (s 2
⎛s ⎫
+1⎪⎪
⎝0. 1⎭
⎛s ⎫
⎪+s +1 +1 4⎪
⎝⎭
, 绘制系统的Bode
)
图。
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图分析控制系统的稳定性
MATLAB 提供了直接求解系统的幅值稳定裕度和相位稳定裕度的函数margin(),其调用格式为:
[Gm,Pm,Wcg,Wcp]=margin(sys)
[Gm,Pm,Wcg,Wcp]=margin(mag,phase,w)
这些语句只计算系统Bode 图的输出数据,而不绘制曲线。margin()函数可以从频率响应数据中计算出幅值稳定裕度、相位稳定裕度及其对应的角频率。有了控制系统的Bode
图,就可以计算频域性能指标。当计算出的相角稳定裕度γ>0时,则系统闭环稳定,否则不稳定。
【例4-2】 已知系统开环传递函数为G 2(s ) =
20(s +1), 试用Bode 图判断2
s s +5s +2s +10
闭环系统的稳定性,并绘制系统的单位阶跃响应曲线来验证。
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; 模值稳定裕度L h =20lg3.1369dB;穿越频率w g =4.0132rad/s。相角稳定裕度γ=103. 6573︒。截止频率w c =0.4426。由奈氏判据知,系统闭环稳定。
图4-2 开环系统的Bode 图
绘制系统的单位阶跃响应曲线来验证系统的稳定性。
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');
运行程序,绘制出系统的单位阶跃响应曲线如图4-3所示。系统的单位阶跃响应曲线是汇聚的振荡,说明系统稳定,验证了用Bode 图判断系统稳定的结论。
图4-3 系统的单位阶跃响应曲线
五 总结
本文对自动控制系统进行了初步的分析,在本文中我用到了时域与频域分析法;时域分析法是一种直接法,它以传递函数为系统的数学模型,以拉氏变换为数学工具,可以直接求出系统的响应;这种方法虽然直观,分析控制系统的动态性能十分有用。而频域分析法不仅是一种通过开环传递函数研究系统闭环传递函数性能的分析方法,而且当系统的数学模型未知时,还可以通过实验的方法建立;此外,大量丰富的图形方法使得频域分析法分析高阶系统时,分析的复杂性并不随阶次的增加而显著增加。
时域分析法和频域分析法是经典控制理论的基础,但经典控制理论存在一定的局限性,即不宜用来解决多输入多输出系统,特别是对非线性、时变系统更无能为力,所以查阅相关资料可知,我们可以通过现代控制理论里的状态空间分析理论,可以分析系统的可控性和可观性,还可以进行极点配置,在很大的程度上可以改变系统品质特性,但这种方法我还未学习,所以在本文中没有进行相关的描述分析。
综上可得我们在进行控制系统分析时,可以根据实际情况,针对不同数学模型选用最简洁、合适的方法,从而使用相应的分析方法,达到预期的实验目的。
参考文献
[1]胡寿松. 自动控制原理基础教程[第三版].科技出版社.2015
[2] 姚俊,马松辉. Simulink 建模与仿真[M]. 西安电子科技大学出版社,2008.
[3] 张晓江,黄云志. MA TLAB 在自动控制系统中的应用[M]. 武汉:机械工业出版社,2010. [4] 吴晓燕. 自动控制系统计算机仿真[J]. 电信技术,2009,(1):64-67.
[5] 刘永,彭正洪. MA TLAB 的控制系统的设计与仿真[J]. 自动控制技术,2008,(3):41-45. [6] 陈怀深,吴大正等. MA TLAB 在控制系统中的应用[M]. 北京:清华大学出版社,2004. [7] 谢仕宏. MATLAB R2008控制系统动态仿真实例教程[M]. 北京:化学工业出版社,2009.