基于MATLAB自动控制系统时域频域分析与仿真
更新时间:2024-05-23 14:06:01 阅读量: 综合文库 文档下载
合肥师范学院2012届本科生毕业论文(设计)
基于MATLAB的自动控制系统时域频域分析与仿真
摘 要
自动控制系统就是在无人直接操作或干预的条件下,通过控制装置使控制对象自动的按照给定的规律运行,使被控量按照给定的规律去变化的系统。在现代工业生产中,自动控制系统已经遍布每一个角落,对于线性时不变控制系统,可以通过时域、频域分析法来分析系统的性能,但是对于多输入多输出的控制系统,时域、频域分析已经无能为力,鉴于这样的控制系统,可以通过线性系统的状态空间分析法来分析。本文针对自动控制系统的设计很大程度上还依赖于实际系统的反复实验,结合具体的实例,介绍了利用先进的MATLAB软件对自动控制系统进行时域、频域分析与仿真和线性系统状态空间分析的方法,通过快速直观的仿真和分析达到自动控制系统的优化。
关键词:MATLAB 自动控制系统 时域 频域 状态空间
I
合肥师范学院2012届本科生毕业论文(设计)
ABSTRACT
Automatic control system makes object operate according to a certain law automatically to let the controlled quantity change by given law on the condition that nobody operate and control directly. Automatic control system exists every corner of the world in the modern industrialized production, which can analyze the performance of the system by time domain and frequency domain for the linear time-invariant control systems. However, to the system with multiple inputs and multiple outputs, the way to analyze through time domain and frequency domain can not do anything . Due to the control system, it can analyze through linear system state space. Due to this point that the design of automatic control system largely depends on repeated practice and modification, combined with the concrete example,this paper introduces the ways to analyze and simulate the time domain and frequency domain and linear system state space of automatic control system by advanced MATLAB,it can reach the optimal of automatic control system by direct and fast.
Key words: MATLAB Automatic control system Time domain Frequency domain State
space
II
合肥师范学院2012届本科生毕业论文(设计)
目 录
一 绪论 ..................................................................................................... 1
1.1 题目背景、研究意义 .................................................................................. 1 1.2 国内外研究现状 .......................................................................................... 1 1.3 研究内容 ...................................................................................................... 1
二 自动控制系统基础 ............................................................................. 2
2.1 自动控制系统的概述 .................................................................................. 2 2.2 开环、闭环控制系统 .................................................................................. 2 2.3 控制系统的性能要求 .................................................................................. 3
三 MATLAB基础介绍 ........................................................................... 4
3.1 MATLAB简介 ............................................................................................. 4 3.2 Simulink简介 ............................................................................................... 4 3.3 Simulink仿真过程 ....................................................................................... 4 3.4 Simulink仿真实例 ....................................................................................... 5
四 自动控制系统的时域分析 ................................................................. 7
4.1 时域分析简介 ........................................................................................ 7 4.2 动态过程与动态性能 .................................................................................. 7 4.3 稳态过程与稳态性能 .................................................................................. 7 4.4 控制系统的稳定性 ...................................................................................... 8 4.5 时域分析法的MATLAB实现 ................................................................... 8 4.5.1 控制系统的动态性能分析 ....................................................................... 8 4.5.2 控制系统的稳态性能分析 ................................................................ 10 4.5.3 控制系统的稳定性分析 .......................................................................... 11
五 自动控制系统的频域分析 ............................................................... 13
5.1 频域分析法简介 .................................................................................. 13 5.2 有关频率分析法的几个概念 .................................................................... 13 5.3 频率特性的性能指标 ................................................................................ 13 5.4 频域分析法的MATLAB实现 ................................................................. 14 5.4.1 Bode图的绘制 ........................................................................................ 14 5.4.2 Bode图分析控制系统的稳定性 ............................................................ 15
III
合肥师范学院2012届本科生毕业论文(设计)
六 线性系统的状态空间分析 ............................................................... 18
6.1 状态空间模型 ............................................................................................ 18 6.2 状态反馈 .................................................................................................... 18 6.3 控制系统的可控性和可观性 .................................................................... 19 6.3.1 控制系统的可控性 ................................................................................. 19 6.3.2 控制系统的可观性 ................................................................................. 20 6.4 极点配置 .................................................................................................... 21 6.4.1 极点配置简介 ......................................................................................... 21 6.4.2 单输入单输出系统的极点配置 ............................................................. 21
七 总结 ................................................................................................... 24 参考文献 ................................................................................................... 25
IV
合肥师范学院2012届本科生毕业论文(设计)
一 绪论
1.1 题目背景、研究意义
自动控制技术在航空航天、机器人控制、导弹制造及等高新技术领域中的应用越来越深入广泛,自动控制理论和技术必将进一步发挥更加重要的作用。由于有些系统不可能直接进行实验,只能对其进行仿真,MATLAB语言的出现为控制系统的仿真和分析带来全新的手段,MATLAB仿真已经成为控制系统分析和设计的重要应用手段,利用MATLAB软件中的仿真工具箱来实现自动控制系统时域和频域分析、状态空间分析,能够直观、快速地分析达到系统的正确评价。
1.2 国内外研究现状
自动控制理论是随着人类的发展而发展的,并随着生产力的提高和科技的进步而不断完善的。
1868年,麦克斯韦开辟了用数学途径研究控制系统的方法,奠定了时域分析法的基础。1932年,美国物理学家建立了稳定性判断准则,奠定了频率分析法的基础。随后伯德进一步加以发展,形成了经典控制理论中的频域分析法。到20世纪60年代,以状态方程为系统的数学模型,最优控制为核心的控制方法确定,现代控制理论由此而产生,控制理论目前还在向更深的领域发展,在控制科学研究中注入了蓬勃的生命力[1]。
MATLAB是一种面向科学和工程计算的高级软件,它提供了丰富的函数和矩阵处理功能,使用极其方便,因而很快引起控制理论领域研究人员的重视。MATLAB中的Simulink使复杂系统的仿真成为可能,MATLAB把一般目的的应用和高深的专业应用完美的结合在一起,成为国际性的计算软件。
1.3 研究内容
1、熟悉自动控制系统理论和MATLAB软件。
2、了解MATLAB软件的编程思路与方法,并熟悉Simulink建模和仿真过程。 3、完成使用MATLAB软件对自动控制系统进行时域、频域分析与仿真和线性系统状态空间分析的方法,编写相关程序。
4、对仿真结果进行分析,评价控制系统的性能。
1
合肥师范学院2012届本科生毕业论文(设计)
二 自动控制系统基础
2.1 自动控制系统的概述
在现代社会生产过程中,为了提高产品的质量,需要对生产设备和生产过程进行自动控制,使被控的量按照期望的规律去变化。这些被控制的设备称为控制对象,被控制的量称为被控量或输出量。
生产设备或生产过程中,一般只考虑对输出量影响最大的物理量,这些量称为输入量。 输入量可以分为两种类型,一种保证对象的行为达到所要求的目标,这类输入量称为控制量。另一种是妨碍对象的行为达到目标,这一类输入量称为扰动量。
自动控制系统是在无人直接参与的情况下,可使生产过程按照期望的运行规律去运行的控制系统。系统是完成要求和任务的部分的组合。
[2]
2.2 开环、闭环控制系统
如果控制系统的输出量对系统运行过程或结果没有控制作用,这种系统称为开环控制系统。图2-1表示了开环控制系统输入量与输出量之间的关系。
扰动量 输入量 控制器 控制对象 输出量
图2-1 开环控制系统示意图
这里,输入量直接作用于控制对象,不需要将输出量反馈到输入端与输入量进行比较,所以只有输入量影响输出量。当出现扰动时,若没有人的干预,输出量将不能按照输入量所希望的状态工作。
闭环控制系统是把输出量检测出来,再反馈到输入端与输入量进行相减或者相加,利用比较后的偏差信号,经过控制器对控制对象进行控制的系统。图2-2表示了闭环控制系统输入量、输出量和反馈量之间的关系。
扰动量 输入量 偏差 —— 反馈量 检测装置 控制器 控制对象 输出量
图2-2 闭环控制系统示意图
2
合肥师范学院2012届本科生毕业论文(设计)
这种系统把输出量经检查后,变成输入量相同的物理量反馈到输入端形成闭环,参与系统的控制,所以称为闭环控制系统。由于系统是根据负反馈原理按偏差进行控制的,所以也称为反馈系统或偏差控制系统。
2.3 控制系统的性能要求
在控制过程中,当扰动量发生变化时,通过反馈控制的作用,经过短暂的过渡过程,被控量又恢复到原来的稳定值,或按照新的给定量稳定下来,这时系统从原来的平衡状态过渡到新的平衡状态,我们把被控量处于变化的状态称为动态或暂态,而把被控量在相对稳定的状态称为静态或稳态。对控制系统性能有三个方面的要求[3]。
1、稳定性
稳定性定义为系统受到外扰或内扰作用以后,恢复原来状态或形成新的平衡状态的能力。稳定是系统正常工作的首要条件。
2、快速性
自动控制系统不仅要满足动态性能的要求,还应能满足暂态性能的要求。为了满足生产过程中的要求,往往要求系统暂态过程不但是稳定的,而且进行得越快越好,振荡程度越小越好。
3、准确性
稳态误差是指系统达到稳定时,输出量的实际值和期望值之间的误差。这一性能反映了稳定时系统的控制精度,稳态误差越小,系统性能越好。
给定稳态误差是在参考输入信号的作用下,当系统达到稳定后,其稳态输出与参考输入所要求的期望输出之差。
3
合肥师范学院2012届本科生毕业论文(设计)
三 MATLAB基础介绍
3.1 MATLAB简介
MATLAB程序设计语言是MathWorks公司于20世纪80年代推出的高性能的数值矩阵计算软件。其功能强大,适用范围广泛,提供了丰富的库函数,编程简单、易懂、效率高。MATLAB无论作为科学研究与工程运算的工具,还是作为控制系统方阵的教学工具,都是必不可少的。目前,MATLAB已经成为国际学术界公认的最流行的科学计算软件。MATLAB主要由以下三个部分组成,下面分别加以介绍[4]。
1、MATLAB图形处理系统
这是MATLAB图形系统的基础,它包括生成二维数据和三维数据可视化、图像处理、动画及演示图形和创建完整的图形用户接口的命令。
2、MATLAB数学函数库
MATLAB提供了非常丰富的数学计算函数,可以进行简单和复杂的数学计算,比如矩阵求逆、级数求和、贝塞尔函数和快速傅里叶变换等。
3、MATLAB应用程序接口
MATLAB用户能够在MATLAB环境中使用其它程序,也可以从MATLAB中调用其它程序。
3.2 Simulink简介
MATLAB除了在工具箱中提供一些具有特殊功能的函数命令供用户使用外,还为用户提供一个建模与仿真的工作平台Simulink。Simulink采用模块组合的方法来创建系统的计算机模型,在这个环境中,用户无需大量的书写程序,而只需通过简单的鼠标操作,选取所需要的库模块,就可以构造出复杂的仿真系统。其主要特点是快速、准确。对于复杂的非线性系统,效果更为明显。
3.3 Simulink仿真过程
在Simulink模块库中选取所需的模块,按照要求把所选模块连接好,就可以进行仿真实验,其仿真过程分为两个阶段。
1、初始化阶段
(1) 对模型的参数进行有效的评估,得到它们实际的计算值。 (2) 展开模型中的各个层次。
(3) 按照更新的层次对模型进行排序。 2、模型执行阶段
(1) 按照次序依次计算每个模块的积分。
(2) 根据输入来决定状态的微分,得到微分矢量,以计算下一个采样点的状态矢量。
4
合肥师范学院2012届本科生毕业论文(设计)
3.4 Simulink仿真实例
在社会中,控制系统的结构是复杂,如果不借用控制系统建模与仿真软件,则很难把一个控制系统的复杂模型输入给计算机[5]。下面结合具体的实例,介绍Simulink中控制系统建模和仿真的一般方法。
【例3-1】 用Simulink建立一个如图3-1所示的典型PID控制系统的模型,并进行仿真。方框图中第一个方框为PID控制器的积分和微分环节,这些环节可以用比例加积分和比例加微分的方式来实现。
R(t) + _ KKp+i+Kds ss3?5s2?26s?20 432s?9s?36s?45s?20y(t)
图3-1 典型PID控制系统的方框图
仿真步骤:1、启动Simulink,弹出Simulink窗口,打开一个新的编辑窗口。2、在Simulink窗口中单击Simulink中的Sources,把Step(阶跃输入)模块添加到编辑窗口内建立一个阶跃输入模型。3、在Math Operations模块库中选出Grain(比例)模块、Sum(加减)模块和Add(加法)模块,并添加到编辑窗口中。4、在Continuous模块库中选出Integrator(积分)模块、Derivative(微分)模块和Transfer Fcn(传递函数)模型,并添加到编辑窗口中。5、在Sinks模块库中选出Out1(输出)模块,并添加到编辑窗口中。6、按照要求设置所选模块的参数,最后将整个模型连接起来,如图3-2所示,也就是仿真所需的模型。
1Gain1sIntegratordu/dtDerivativeAddnum(s)den(s)Transfer Fcn1StepGain11Gain21Out1
图3-2 PID控制系统模型的Simulink实现
仿真的结果如下图:
5
合肥师范学院2012届本科生毕业论文(设计)
图3-3 PID控制系统仿真结果
由图3-3可知:上升时间tr?4.1s;延时时间td?2.1s;峰值时间tp?5.5s,此值较大,说明系统对输入信号的反映能力弱;调整时间ts?8.2s,此值较大,系统的响应慢,说明输出信号复现输入信号的能力弱;超调量?%=13.5%,此值小,说明系统的平稳性好。
6
合肥师范学院2012届本科生毕业论文(设计)
四 自动控制系统的时域分析
4.1 时域分析简介
时域分析法是根据微分方程,利用拉氏变换直接求出系统的时间响应,然后按照响应曲线来分析系统的性能,是一种直接在时域中对系统进行分析的方法,具有直观和准确的优点。控制系统时域分析法最常用的方法有两种:一是当输入为单位阶跃信号时,求出系统的响应;二是当输入为单位冲激信号时,求出系统的响应[6]。
4.2 动态过程与动态性能
动态过程又称为过渡过程或瞬态过程,是指系统在典型输入信号作用下,其输出量从初始状态到最终状态的响应过程。通常,在单位阶跃信号作用下,稳定系统的动态过程随时间t变化的指标称为动态性能指标。控制系统的动态性能指标一般有以下几个:
1、上升时间tr
系统响应从零首次上升到稳态值h(∞)所需的时间定义为上升时间。 2、延时时间td
从输入信号开始施加时起,系统输出时间响应第一次达到稳态值50%所需要的时间定义为延时时间。
3、峰值时间tp
系统响应超过其终值达到第一个峰值所需要的时间定义为峰值时间。它反映了系统对输入信号反应的快速性,值越小,系统对输入信号反映越快。 4、调整时间ts
响应达到并保持在终值±2%或±5%误差内所需要的最短时间定义为调节时间。在默认情况下MATLAB计算动态性能时,取误差范围为±2%。它反应了动态过程进行得快慢,是系统快速性指标,值越小,系统的快速性就越好。
5、超调量?%
响应的最大偏差量h(tp)与终值h(∞)的差与终值h(∞)之比的百分数,定义为超调量,即:
?%?h(tp)?h(?)h(?)?100% (4-1)
它反应了动态过程的平稳性,值越小,平稳性越好。
4.3 稳态过程与稳态性能
稳态过程又称为稳态响应,指系统在典型输入信号作用下,当时间t趋于无穷大时,系统输出量的表现方式。它表现系统输出量最终复现输入量的程度,提供系统有关稳态误差的信息[7]。
稳态误差是控制系统控制准确度的一种量度,也称为稳态性能,若时间趋于无穷大时
7
合肥师范学院2012届本科生毕业论文(设计)
系统的输出量不等于输入量或输入量的确定函数,则系统存在稳态误差。对于图4-2所示的控制系统,输入信号R(s)至误差信号E(s)之间的误差传递函数为
?e(s)?R(s) E(s)1 (4-2) ?R(s)1?G(s)H(s)E(s) G(s) C(s) B(s) H(s)
则系统的误差信号为
e(t)???1[E(s)]???1[?e(s)R(s)] (4-3)
当sE(s)的极点均位于s左半平面时,应用拉普拉斯变换的终值定理可求出系统的稳态误差为
ess?lime(t)?limsE(s)?limt??s?0sR(s) (4-4)
s?01?G(s)H(s)4.4 控制系统的稳定性
稳定性是控制系统的重要性能,也是系统能正常运行的首要条件。系统原处于某一平衡状态,若它受到瞬间的某一扰动作用而偏离原来的平衡状态,当扰动撤消后,系统仍能回到原有的平衡状态,则称该系统是稳定的。反之,系统为不稳定的。线性系统的稳定性只取决于系统本身,与外界无关。
若系统是连续时间控制系统,其闭环传递函数的极点均严格位于s左半平面,则此系统是稳定系统。若系统是离散时间控制系统,其闭环特征根位于z平面上的单位圆周内部,即其闭环特征根的模小于1。
4.5 时域分析法的MATLAB实现 4.5.1 控制系统的动态性能分析
MATLAB提供了线性定常系统的各种时间响应函数和各种动态性能分析函数,部分函数如下表所示[8]。本文主要介绍step()函数和impulse()函数。
表4-1 部分时域响应分析函数
函数名称 step impulse initial lism dstep 功能 计算并绘制线性定常系统阶跃响应 计算并绘制连续时间系统冲激响应 计算并绘制连续系统零输入响应 仿真线性定常连续模型对任意输入的响应 计算并绘制离散时间系统阶跃响应 8
合肥师范学院2012届本科生毕业论文(设计)
1、step()函数
功能:求线性定常系统的单位阶跃响应。 其调用格式如下:
step(sys) %绘制系统sys的单位阶跃响应曲线 【例4-1】 已知典型系统的传递函数为G(s)? MATLAB编程:sys=tf(12,[1,1.2,12]);
step(sys);
xlabel('t'); ylabel('y');
title('单位阶跃响应'); grid on;
12 ,求系统的单位阶跃响应。 2s?1.2s?12
图4-1 系统的单位阶跃响应图形
由图可知:上升时间tr?0.5s;延时时间td?0.3s;峰值时间tp=0.9s,此值较小,说
明系统对输入信号反应快;调节时间ts=6.4s,此值较大,系统的快速性差,输出信号复现输入信号的能力弱;超调量?%=58%,此值较大,说明系统的平稳性较差。
2、impulse()函数
功能:求线性定常系统的单位冲激响应。 其调用格式若下:
impulse(sys) %绘制系统的单位冲激响应曲线
9
合肥师范学院2012届本科生毕业论文(设计)
【例4-2】 已知典型系统的传递函数为G(s)?MATLAB编程:sys=tf(4,[1 1 4]);
impulse(sys); xlabel('t'); ylabel('y');
title('单位冲激响应'); grid on;
4,求系统的冲激响应。 2s?s?4
图4-2 系统的冲激响应图形
4.5.2 控制系统的稳态性能分析
控制系统静态误差系数即稳态误差系数,是表明系统的典型外作用下稳态精度的指标。常用的有3种误差系数[9]。
1、静态位置误差系数Kp。
s?0Kp?limG(s)H(s) (4-5)
2、静态速度误差系数Kv。
Kv?limsG(s)H(s) (4-6)
s?03、静态加速度误差系数Ka。
10
合肥师范学院2012届本科生毕业论文(设计)
Ka?lims2G(s)H(s) (4-7)
s?0 在式(4-5)到(4-7)中,G(s)H(s)是闭环系统的开环传递函数。Kp、Kv和Ka分别标明系
统在给定阶跃输入下、在给定斜坡输入下与在给定等加速度输入下的稳态或静态精度。
【4-3】 负反馈系统的闭环传递函数为?(s)?4,试求此系统的稳态位置、25s?10s?15速度与加速度误差系数Kp、Kv与Ka。
MATLAB编程:syms s phib Gb Kp Kv Ka;
phib=4/(5*s^2+10*s+15);
[Gb]=solve('4/(5*s^2+10*s+15)=Gb/(1+Gb)',Gb); Kp=limit(Gb,s,0,'right') Kv=limit(s*Gb,s,0,'right') Ka=limit(s^2*Gb,s,0,'right')
运行程序,输出如下: Kp=4/11 Kv=0 Ka=0
此系统的各个误稳态差都较小,表示系统的输出跟随参考输入的精度越高。
4.5.3 控制系统的稳定性分析
应用MATLAB可以方便快捷的对控制系统进行时域分析。由于控制系统的闭环极点在s平面上的分布决定了控制系统的稳定性,所以要判断控制系统的稳定性,只需要确定控制系统闭环极点在s平面上的分布。在MATLAB中,可以使用函数pzmap()绘制系统的零极点图判断系统的稳定性。
3s4?2s3?5s2?4s?6【例4-3】 已知系统的传输函数为G(s)?5,判断该系统的
s?3s4?4s3?2s2?7s?2稳定性。
MATLAB编程:sys=tf([3 2 5 4 6],[1 3 4 2 7 2]);
pzmap(sys); xlabel('实轴'); ylabel('虚轴');
title('系统的零极点图'); grid on;
11
合肥师范学院2012届本科生毕业论文(设计)
图4-3 系统零极点分布图
由图4-3可知,该系统有极点位于s的右半平面,所以该系统不是稳定系统。
12
合肥师范学院2012届本科生毕业论文(设计)
五 自动控制系统的频域分析
5.1 频域分析法简介
频域分析法是自动控制领域中应用又一种数学工具频率特性来研究控制系统过程性能,即稳定性、快速性及稳定精度的方法。这种方法可以直观地表达出系统频率特性,而且分析方法简单,物理概念明确,可以从系统的频率特性上直接地看出物理实质。频域分析法里主要用到3种曲线:Bode图、Nyquist曲线图、Nichols曲线图。Bode图在频域分析法里占有重要的地位[10]。
5.2 有关频率分析法的几个概念
1、频率响应
当线性系统受到正弦信号作用时,系统稳定后输出的稳态分量仍然是同频率的正弦信号,这种过程叫做系统的频率响应。
2、频率特性
正弦信号的作用下,系统输出的稳态分量为同频率的正弦信号,其振幅与输入正弦信号振幅的比相对于正弦信号角频率间的关系A(w)叫做幅频特性,其相位与输入正弦信号的相位之差相对于正弦信号角频率间的关系?(w)叫做相频特性。
系统频率响应与输入正弦信号的复数比叫做系统的频率特性。记作: 系统的频率特性与系统的传递函数之间有着简单而直接的关系:
G(jw)?G(s)|s?jw (5-2) 3、Bode图
Bode图即对数频率特性曲线。Bode图有两条曲线,分别是对数幅频特性曲线和对数相频特性曲线。横坐标都是角频率w,是按常用对数(以10为底的对数)刻度的,即lgw,其单位是弧度每秒。对数相频特性的纵坐标是?(w),等分刻度,其单位为度或弧度;而对数幅频特性的纵坐标是L(w)=20lgA(w),也是等分刻度,其单位为分贝。 4、幅相特性
系统的频率特性G(jw)?A(jw)ej?(w)里既有振幅信息又有相位信息,所以又叫做系统的幅相特性。幅相特性图形化的形式,即是幅相特性曲线。
G(jw)?A(w)ejw (5-1)
5.3 频率特性的性能指标
采用频域方法进行线性控制系统设计时,时域内采用的诸如超调量,调整时间等描述系统性能的指标不能使用,需要在频域内定义频域性能指标[11],主要有以下几个:
1、峰值
它是幅频特性A(w)的最大值,一般来说,峰值的大小表明闭环控制系统相对稳定性的好坏,峰值越大,表明系统对某个频率的正弦信号反映强烈。
13
合肥师范学院2012届本科生毕业论文(设计)
2、带宽
它是幅频特性A(w)的数值衰减到0.707A(0)时对应的角频率。带宽用于衡量控制系统的快速性,带宽越宽,表明系统复现快速变化信号的能力越强,阶跃响应的上升时间和调整时间就越短。
3、相频宽
它是相频特性?(w)等于??/2时对应的角频率。相频宽也用于衡量系统的快速性。相频宽高,表明输入信号的频率越高,即系统反应快速,快速性好。
4、剪切频率:系统开环对数幅频特性曲线20lg|G|与横坐标轴w交点的角频率,常用wc来表示。
5、??穿越频率:系统开环对数相频特性曲线?(w)与??线交点所对应的角频率,常用wg来表示。
6、稳定欲度 (1) 相角稳定欲度
系统开环幅相特性曲线G(jw)上模值等于1的向量与负实轴的夹角,常用? 表示,即:
?=?(wc)?(??) (5-3)
(2) 幅值稳定裕度
系统开环幅相特性曲线G(jw)与负实轴交点wc模值G(wc)的倒数,常用h来表示,即:
h?
1 (5-4) G(wc)
5.4 频域分析法的MATLAB实现 5.4.1 Bode图的绘制
MATLAB提供的频域分析函数如表5-1所示。本文主要介绍函数bode(),其基本调用格式为:bode(sys)
bode(sys,w)
[mag,phase,w]=bode(sys)
表5-1 频域分析函数
函数名 bode nichols nyquist margin sigma 功能 绘制Bode图 绘制Nichols图 绘制Nyquist图 计算系统的增益和相位裕度 绘制系统奇异值Bode图
Bode()函数用来计算并绘制系统的Bode图,当函数命令为等式左边输出变量的格式
14
合肥师范学院2012届本科生毕业论文(设计)
时,函数在当前窗口中直接绘制出系统的Bode图。
线性时不变系统对象sys可以是由函数tf()、zpk()、ss()中的任何一个函数建立的系统模型[12]。w用来定义绘制Bode图时的频率范围或者频率点。第三条语句只计算系统Bode图的输出数据,而不绘制曲线。mag为系统Bode图的振幅值,phase为Bode图的相位值。
【例5-1】 已知系统的传递函数为G(s)?MATLAB编程:num=[15 6];
den=[1 3 4 2 0];
sys=tf(num,den); bode(sys); grid on;
15s?6,绘制系统的Bode图。 432s?3s?4s?2s
图5-1 系统的bode 图
5.4.2 Bode图分析控制系统的稳定性
MATLAB提供了直接求解系统的幅值稳定裕度和相位稳定裕度的函数margin(),其调用格式为:
[Gm,Pm,Wcg,Wcp]=margin(sys)
[Gm,Pm,Wcg,Wcp]=margin(mag,phase,w)
这些语句只计算系统Bode图的输出数据,而不绘制曲线。margin()函数可以从频率响应数据中计算出幅值稳定裕度、相位稳定裕度及其对应的角频率。有了控制系统的Bode
15
合肥师范学院2012届本科生毕业论文(设计)
图,就可以计算频域性能指标。当计算出的相角稳定裕度?>0时,则系统闭环稳定,否则不稳定。
【例5-2】 已知系统开环传递函数为G(s)?8,试用Bode4321.5s?2.75s?2.25s?0.5s图判断闭环系统的稳定性,并绘制系统的单位阶跃响应曲线来验证。
MATLAB编程: num=[8];
den=[1.5 2.75 2.25 0.5 0]; sys=tf(num,den); bode(sys); grid on;
[Gm,Pm,Wcg,Wcp]=margin(sys)
程序执行结果为:Gm=0.0449;Pm??104.2351;Wcp=0.4264;Wcg=1.4557。模值
?。稳定裕度Lh=20lg0.0449dB;??穿越频率wg=0.4264rad/s。相角稳定裕度???104.2351剪切频率wc=1.4557rad/s。这些性能指标中相角稳定裕度为负值,数据说明系统闭环是不稳定的。
图5-2 开环系统的Bode图
绘制系统的单位阶跃响应曲线来验证系统的稳定性。 MATLAB编程 num=[8];
den=[1.5 2.75 2.25 0.5 0];
s=tf(num,den);
16
合肥师范学院2012届本科生毕业论文(设计)
sys=feedback(s,1); t=0:0.01:10; step(sys,t); grid on;
title('单位阶跃响应'); ylabel('y'); xlabel('t');
运行程序,绘制出系统的单位阶跃响应曲线如图5-3所示。系统的单位阶跃响应曲线是发散的振荡,说明系统不稳定,验证了用Bode图判断系统不稳定的结论。
图5-3 系统的单位阶跃响应曲线
17
合肥师范学院2012届本科生毕业论文(设计)
六 线性系统的状态空间分析
6.1 状态空间模型
20世纪40年代计算机的出现及其应用领域的不断扩展,自动控制理论朝着更复杂的方向发展,因此现代控制理论应运而生,现代控制理论基本上是一种时域法,它引入了状态的概念。因此,建立在状态空间中的数学模型是一个基本问题,也是现代控制理论中分析和综合控制系统的前提和基础,其重要性就像经典控制理论中确定系统的传递函数一样。
现代控制理论中的状态空间,简单的说就是将描述系统运动的高阶微分方程改写成一阶联立微分方程组的形式,或者将系统的运动直接用一阶微分方程组来表示,写成矩阵形式,这就得到了状态空间的模型[13]。
连续系统的状态空间模型为
?x(t)?Ax(t)?Bu(t) ? (6-1)
?y(t)?Cx(t)?Du(t)式中,u(t)为r?1的系统控制输入(r个)向量;x(t)为n?1的系统状态变量;y(t)为m?1的系统输出向量;A为n?n的系统矩阵(状态矩阵),由控制对象的参数决定;B为n?r的控制矩阵(输入矩阵);C为m?n的输出矩阵(观测矩阵);D为m?r的输入输出矩阵(直 接传递矩阵)。
6.2 状态反馈
状态反馈是将系统的内部状态变量乘以一个反馈系数,然后反馈到系统输入端与系统的参考输入综合,综合而成的信号作为系统的输入对系统实施控制。
控制系统结构如图6-1所示,原来系统的动态方程为
??Ax?Bu?x (6-2) ?y?Cx?Du?当加上状态反馈环节后,其中的线性状态反馈控制律为 式中,R是参考输入;K称为状态反馈增益矩阵,为p?n矩阵。
系统动态方程变为
u?R?Kx (6-3)
??Ax?B(Kx?R)?(A?BK)x?BR?Akx?BR?x ? (6-4)
?y?Cx?D(Kx?R)?(C?DK)x?DR?Ckx?DR 式中,AK?A?BK,CK?C?DK。
当D=0时,状态反馈系统闭环传递函数Wk(s)为
WK(s)?C[sI?(A?BK)]?1B (6-5) 式中,(A?BK)为闭环系统的系统矩阵。
18
合肥师范学院2012届本科生毕业论文(设计)
D B R + U + + dX/dt ? X C + + Y A K
图6-1 状态反馈结构图
从式(6-2)和(6-4)可以看出,状态反馈前后的系统矩阵分别为A和A?BK,特征方程分别为det(?I?A)和det(?I?(A?BK)),可以看出状态反馈后的系统特征根不仅与系统本身的结构参数有关,还与状态反馈K有关。
6.3 控制系统的可控性和可观性
在状态空间分析中,系统的可控性和可观性是非常重要的概念,是现代控制理论中两
个基本的概念。可控性是指系统的状态能否被控制;可观性是指系统状态的变化能否由输出检测反映出来,系统的可控性和可观性从状态的控制能力和状态的识别能力两个方面反映系统的内在特性,对系统的设计是至关重要的[14]。
6.3.1 控制系统的可控性
??Ax?Bu,在t0时刻的任意初始值x(t0)?x0,对于ta?t0,ta?J(J为线性系统x系统的时间定义域),可找到控制u,其在[t0,ta]上的状态是完全可控的。系统的完全可控性只取决于状态方程中的(A,B)矩阵,因此对于完全可控的系统,经常称之为(A,B)完全可控
[14]
。可以构造一个相似变换矩阵Tc。
Tc?(B,AB,?,An?1B) (6-6)
式中,n为系统的阶次,矩阵Tc称为系统的可控性变换矩阵。
矩阵Tc可以由控制系统工具箱中提供的ctrb()函数自动生成出来,其调用格式为:Tc=ctrb(A,B),式中,Tc为矩阵的秩,即rank(Tc),称为系统的可控性指数,它的值是系统中可控状态的数目。如果rank(Tc)=n,则系统完全可控。
【例6-1】 考虑系统的状态方程模型:
19
合肥师范学院2012届本科生毕业论文(设计)
??0??????1??x+?0?u,y=?1000?x,分析系统的可控性。 ??????2???? MATLAB编程:A=[0 1 0 0;0 0 -1 0;0 0 0 1;0 0 5 0];
B=[0;1;0;-2]; C=[1 0 0 0]; D=0;
Tc=ctrb(A,B); rank(Tc)
??????x??? 运行程序,输出如下:ans=4,可见,因为Tc矩阵的秩为4,等于系统的阶次,所以系统是完全可控系统。
0000100?1000500106.3.2 控制系统的可观性
??Ax?Bu,在t0时刻存在ta?t0,ta?J(J为系统的时间定义域)线性系统x,如果
根据[t0,ta]的观测值y(t),在t?[t0,ta]区间内能够唯一地确定系统在t0时刻的任意初始状态x0,则称系统在[t0,ta]上的状态是可观测的。
系统的可观性只取决于状态方程的(A,C)矩阵,因此对于完全可观的系统,经常称之为系统(A,C)完全可观。按照下面的规则构造一个变换矩阵T0。
T0?(C,CA,?,CAn?1)T (6-7)
式中,n为系统的阶次;矩阵称为可观测变换矩阵。
矩阵T0可以由控制工具箱中提供的obsv()函数直接求出,其调用格式为T0=obsv(A,C),式中T0为矩阵的秩,即rank(T0),称为系统的可观性指数,它实际上是系统中可观测状态的数目。如果rank(T0)=n,则系统完全可观测。
【例6-2】 设系统的状态空间方程为:
??31???x?1?3???11??11??x???11??u,y???1?1???????x ?判断系统的可观性。
MATLAB编程:A=[-3,1;1,-3];
B=[1,1;1,1]; C=[1,1;1,-1]; D=[0]; T0=obsv(A,C); rank(T0)
运行程序,输出如下:ans=2,可见,因为T0矩阵的秩为2,等于系统的阶次,所以系统是完全可观系统。
20
合肥师范学院2012届本科生毕业论文(设计)
6.4 极点配置 6.4.1 极点配置简介
所谓极点配置问题,就是通过反馈矩阵的选择,使闭环系统的极点,恰好处于所希望的一组极点位置上,由于希望的极点具有一定的任意性,因此极点的配置也具有一定的任意性[15]。
极点配置方法如下所述:如果系统是完全状态可控的,那么可选择期望设置的极点,然后以这些极点作为闭环极点来设计系统,利用状态观测器反馈全部或部分状态变量,使所有的闭环极点落在各期望位置上,以满足系统的性能要求。这种设置期望闭环极点的方法就称为极点配置法。
设给定的线性定常系统为
??Ax?Bu (6-8) x式中,x为n维状态向量;u为p维状态向量;A和B为相应维数的常数矩阵。
若给定n个反馈性能的期望闭环极点为
?p1,p2,?pn? (6-9) 则极点配置的设计问题就是确定一个p?n状态反馈增益矩阵K,使状态反馈闭环系统 ??(A?BK)x?Bv (6-10) x的极点为?p1,p2,?pn?,即
式中,?i(?)表示(?)的特征值。
?i(A?BK)?pi,(i?1,2,?,n) (6-11)
6.4.2 单输入单输出系统的极点配置
对于单输入单输出的n阶系统,其反馈增益矩阵K是一行向量,仅包含n个元素,可由n个极点唯一确定。
单输入单输出系统极点配置方法步骤如下:
1、确定受控系统完全可控,如果系统不是完全可控,则不能进行极点配置,并确定系统开环特征多项式det(sI?A)。
2、由希望的闭环极点?p1,p2,?pn?计算闭环期望的特征多项式。
det(sI?A)?sn?an?1sn?1???a1s?a0 (6-12)
??1sn?1???a1?s?a0? (6-13) det[sI?(A?BK)]?(s?p1)(s?p2)?(s?pn)?sn?an
3、计算
??a1 ?an??a0 a1??1?an?1] (6-14) K?KP?[a04、计算变换矩阵P及其逆P?1,
21
合肥师范学院2012届本科生毕业论文(设计)
0?0??1??a????? P=(An?1b ? Ab b)?n?1 (6-15)
???0????a??1?an?11?5、将所求出的状态反馈增益转换成实际实施的K,K=KP?1。
MATLAB提供了进行极点配置的函数acker()和place(),它们的调用格式如下: K=acker(A,B,P) %其中A,B为系统系数矩阵,P为配置的极点,K为反馈增益矩阵 K=place(A,B,P) %其中A,B为系统系数矩阵,P为配置的极点,K为反馈增益矩阵
??Ax?Bu,其中 【例6-2】 已知系统的方程为x10?0?01 A=?0??1?5?6???0?????, B=?0? ??1????采用状态反馈u??Kx,希望的闭环极点为p1,2??2?j4,p3??10,使用MATLAB确定状态反馈增益矩阵,并计算当系统初始条件为x0?(1,0,1)时的响应。
MATLAB编程:A=[0,1,0;0,0,1;-1,-5,-6];
B=[0;0;1];
P=[-2+j*4,-2-j*4,-10]; K=acker(A,B,P)
sys=ss(A-B*K,eye(3),eye(3),eye(3)); t=0:0.1:4;
x=initial(sys,[1;0;0],t); x1=[1,0,0]*x'; x2=[0,1,0]*x'; x3=[0,0,1]*x';
subplot(3,1,1);plot(t,x1,'r');grid on;ylabel('变量x1'); subplot(3,1,2);plot(t,x2,'m');grid on;ylabel('变量x2'); subplot(3,1,3);plot(t,x3,'c*');grid on;ylabel('变量x3'); xlabel('时间/秒');
运行程序,输出结果为K=199 55 8
由输出结果可知,所求状态反馈增益矩阵K?(199,55,8)。
响应曲线如图6-2所示。
22
合肥师范学院2012届本科生毕业论文(设计)
图6-2 零输入条件下系统状态的响应曲线
23
合肥师范学院2012届本科生毕业论文(设计)
七 总结
对自动控制系统进行分析,时域分析法是一种直接法,它以传递函数为系统的数学模
型,以拉氏变换为数学工具,可以直接求出系统的响应。这种方法虽然直观,分析控制系统的动态性能十分有用。
频域分析法不仅是一种通过开环传递函数研究系统闭环传递函数性能的分析方法,而且当系统的数学模型未知时,还可以通过实验的方法建立。此外,大量丰富的图形方法使得频域分析法分析高阶系统时,分析的复杂性并不随阶次的增加而显著增加。
时域分析法和频域分析法是经典控制理论的基础,但经典控制理论存在一定的局限性,即不宜用来解决多输入多输出系统,特别是对非线性、时变系统更无能为力,通过现代控制理论里的状态空间分析理论,可以分析系统的可控性和可观性,还可以进行极点配置,在很大的程度上可以改变系统品质特性。
所以进行控制系统分析时,可以根据实际情况,针对不同数学模型选用最简洁、合适的方法,从而使用相应的分析方法,达到预期的实验目的。
24
合肥师范学院2012届本科生毕业论文(设计)
参考文献
[1] 刘祖润.自动控制原理[M].北京:机械工业出版社,2010. [2] 谢克明.自动控制原理[M].北京:电子工业出版社,2004. [3] 曹戈.MATLAB教程及实例[M].西安:机械工业出版社,2011.
[4] 姚俊,马松辉.Simulink建模与仿真[M].西安电子科技大学出版社,2008. [5] 王正林.MATLAB/Simulink与控制系统仿真[M].北京:电子工业出版社,2004.
[6] 张晓江,黄云志.MATLAB在自动控制系统中的应用[M].武汉:机械工业出版社,2010. [7] 吴晓燕.自动控制系统计算机仿真[J].电信技术,2009,(1):64-67.
[8] 刘永,彭正洪.MATLAB的控制系统的设计与仿真[J].自动控制技术,2008,(3):41-45. [9] 魏新亮,王云亮等.MATLAB语言与自动控制系统设计[M].北京:机械工业出版社,1997. [10] 陈怀深,吴大正等.MATLAB在控制系统中的应用[M].北京:清华大学出版社,2004. [11] 谢仕宏.MATLAB R2008控制系统动态仿真实例教程[M].北京:化学工业出版社,2009. [12] 陶瑞连.MATLAB在电子自动化专业教学中的应用[J].无线互联科技,2010,(6):78-81. [13] 张静.MATLAB在自动控制系统中的应用[M].北京:电子工业出版社,2007. [14] 柯婷.MATLAB实用教程控制系统仿真与应用[M].北京:化学工业出版社,2009. [15] 薛定宇.控制系统仿真与计算机辅助设计[M].上海:机械工业出版社,2011.
25
正在阅读:
许姓资料大全03-11
新形态益智节目非常了得01-13
财务管理论文--浅析格力电器股利发放政策04-29
18春华师《人力资源管理B》在线作业05-11
关于护士的小学生作文06-15
牙体牙髓病学重点题库大全10-18
学生工作思路02-06
曲轴课程设计说明书06-03
水泥搅拌桩施工技术交底 - 图文04-14
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 时域
- 控制系统
- 仿真
- 基于
- 自动
- 分析
- MATLAB
- 跆拳道教学计划表
- 数控机床的进给传动装置设计
- 万科房地产项目运作流程图-2019年文档
- proE设计的玩具枪模型设计
- 基于jsp的网上售票平台论文word
- 广东省韶关市2015届高三十校联考文综政治试题(含答案)
- 3D手板的工艺
- 信息安全监管
- 暑假一日一练2018年七年级数学上册第4章几何图形初步4.1几何图形
- 2017-2022年中国真空杯市场发展前景分析研究报告(目录)
- 高中生物必修二人教版第七章测试
- 国家十二五规划全文(完整整理版)
- 房地产开盘活动策划方案
- 医疗核心制度要点解读
- 10高数(2)A及
- 线性代数公式定理总结
- 合工大2015计算机专硕研究培养资料
- 《大学生就业指导》教学大纲
- 施工测量管理办法(共享)
- 中考物理模拟试卷1