基于MATLAB的线性控制系统分析方法研究
基于MATLAB的线性控制系统分析方法研究
摘要:本文简述了MATLAB的Simulink 工具箱在控制系统仿真的一般步骤, 并在控制系统基本理论和控制系统工具箱函数的基础上,利用MATLAB语言及其工具箱来解决线性控制系统的分析问题包括线性系统的时域分析,频域分析,根轨迹分析和系统的稳定性分析。
关键词:MATLAB;线性控制系统;时域;频域;根轨迹
Abstract: This paper briefly introduces the function of MATLAB and its application field, presents the general steps of Simulink toolbox used in control system simulation; explores the methods to solve the linear analysis of control systems involving how MATLAB works ;and the basic theory of control systems and control systems toolbox function, based on the use of MATLAB language and its toolbox to solve the linear analysis of control systems including linear systems time-domain analysis, frequency domain analysis, root locus analysis and system stability analysis.
Key words: MATLAB; Linear Control System; Time Domain; Frequency Domain; Root Locus
1 引言
在科学技术飞速发展的今天, 计算机已应用到人类生活的各个方面。利用计算机对控制系统进行仿真和分析, 是目前进行控制系统设计的重要方法。MATLAB 作为面向科学与工程计算的高级语言, 由于其强大的功能, 已在控制系统设计扮演着越来越重要的角色。MATLAB 是一种数值计算型科技应用软件, 它集科学计算、自动控制、信号处理、神经网络、图像处理等于一体, 具有极高的编程效率, 而且还可方便地产生各种信号, 进行各种变换、统计。特别是以MATLAB/Simulink 环境为基础的实用工具箱( 如控制系统工具箱、通信模块工具箱、数字信号处理模块工具箱、非线性控制模块工具箱、定点处理模块工具箱、状态流、系统辨识工具箱、神经网络模块工具箱、模糊工具箱等) , 已广泛应用于自动控制、图像信号处理、语音处理、雷达工程、信号分析、振动理论、时序分析与建模、优化设计等领域, 并显现出一般高级语言难以比拟的优势。
2 控制系统分析
控制系统分析方法主要有稳定性分析、时域分析、频域分析、根轨迹分析等四种方法。MATLAB控制系统工具箱针对线性定常系统提供了分析工具LTI观测器, 利用它在图形方式下可以交互地进行LTI模型的各种时域和频域特性分析, 并直观地观察图形方式的结果。
2.1基于MATLAB的稳定性分析法
稳定是控制系统的重要性能, 也是系统能正常工作的首要条件。而自动控制理论的基本任务之一就是如何分析系统的稳定性并提出保证系统稳定的措施。线性系统稳定的充分必要条件是: 闭环系统特征
方程的所有根均具有负实部; 或者说, 闭环传递函数的极点均严格位于左半s 平面上。根据稳定的充分必要条件我们可以利用MA TLAB 的计算功能算出系统闭环特征方程的根, 判断其根是否全部在左半s
应用MA TL平面上而得出系统是否稳定。所谓系统仿真即是对描述系统的数学模型进行求解, 对自动控制系统来说, 系统的数学模型实际上是某种微分方程和差分方程模型。因而在仿真过程中需要以某种数值算法从给定的初始值出发, 逐步的计算出每一个时刻系统的响应, 最后绘制最后绘制出系统的响应曲线, 由此来分析系统的性能
实例
对系统模型为: G (s) =(0. 5 s+ 1)/(0. 5 s2+ s+ 1)
进行稳定性分析, 判断其稳定性。
分析: 根据系统稳定的充要条件: 闭环传递函数的极点均严格位于左半s 平面上。来判断系统的稳定性。步骤是: ① 先打开计算机, 进入MA TLAB 环境, 单击"新建"文件, 进入MA TLB 的编辑器, 输入命令文件并存盘为new 1. m。② 在MA TLAB 窗口中运行new 1。③ 验证结果是否正确。
[程序清单]
num= [ 0. 5, 1 ]; den= [ 0. 5, 1, 1 ];
[ z, p ]= tf2zp (num, den)
ii= find ( real (p) > 0) ;
n1= length ( ii)
if (n1> 0) , disp ( [ ’ 系统不稳定, w ith ’ int2str (n1) ’ 不稳定极点’ ]) ;
else, disp (’ 系统稳定’) ; end
[运行结果]
z= - 2
p=
- 1. 0000 + 1. 0000i
- 1. 0000 - 1. 0000i
n1= 0
系统稳定。
2.2基于MATLAB的时域分析法
时域分析是根据自动控制系统微分方程, 用拉普拉斯变换求解动态响应的过程曲线, 求解响应的性能指标。它研究LTI模型对特定类型的输入和扰动的时域瞬态行为, 完全反映系统本身的固有特性,通过时域分析可以确定系统的上升时间、稳定时间、超调量和稳态误差等特征。在MATLAB的函数指令方式下利用单位阶跃响应函数step() 单位冲激响应函数impulse()、零输入响应函数initial()以及其他函数都可以求出其相应的响应
实例
设系统闭环传递函数为: G (s) =8/10s2+ 8s
试求出该系统的阶跃响应曲线。
分析: 阶跃响应函数的调用格式: [y, x ]= step (num , den, t) , 而对于二阶系统常用上升时间、最大过调量、调整时间来描述。其中上升时间为c ( t) 首次达到稳态值1 时的时间; 最大过调量是指阶跃响应的最大值与稳态值的差再与稳态值之比的百分数; 调整时间是当响应达到并停留在其稳态值允许的误差范围内所需时间, 该误差范围通常为稳态值的±5% 或±2%。
[程序清单]
numo= 8; % 传递函数分子多项式系数
deno= [ 10, 8, 0 ]; % 传递函数分母多项式系数
t= 0: . 01: 10; % 仿真时间向量
numc= numo;
denc= [ zero s (1, length (deno) - length (numo) ) , numo ]+ deno;
[A ,B, C,D ]= tf2ss (numc, denc) ; % 转换成状态方程模型
[y, x ]= step (A ,B, C,D, 1, t) ; % 求解系统的响应
p lo t ( t, y, t, x) % 绘制曲线
i= 1; % 求上升时间
wh ile (y ( i) < = 1)
i= i+ 1;
end
disp (’ 上升时间tr= ’) ; disp ( ( i- 2) 3 0. 01)
j= 1; % 求最大超调量和峰值时间
wh ile (y ( j) < = y ( j+ 1) )
j= j+ 1;
end
disp (’ 最大超调量Mp= ’) ; disp (y ( j- 1) - 1)
disp (’ 峰值时间tp= ’) ; disp ( ( j- 2) 3 0. 01)
k= 1; logic= 1; % 求调节时间
wh ile ( logic> = 1)
logic= 0;
fo r m= k: 1: 1001
if (abs (y (m) - 1) > 0. 05)
logic= 1;
end
end
k= k+ 1;
end
disp (’ 调节时间ts= ’) ; disp ( (k- 1) 3 0. 01) ;
[运行结果]
上升时间tr= 2. 5400
最大超调量Mp= 0. 2079
峰值时间tp= 3. 9200
调节时间ts= 5. 8800
阶跃响应曲线如图1
2.3根轨迹分析方法
根轨迹法是分析与设计线性定常系统特别有效的图解方法, 是利用反馈系统中开、闭环传递函数之间的关系, 由开环传递函数直接寻求闭环根轨迹的总体规律, 而不去求解高阶系统的特征根。根据根轨迹法则, 迅速作出近似的根轨迹图,利用根轨迹可以分析系统参数和结构已定的闭环系统的时域响应特性以及参数变化时对时域响应特性的影响。在MATLAB中提供了绘制根轨迹的相关函数, 包括零极点图的函数pzmap()、求系统根轨迹的函rlocus ()、计算根轨迹增益函数rlocfind()。
实例
传递函数仍为2.2所示
[程序清单]
num= [ 0. 5, 1 ]; den= [ 0. 5, 1, 1 ];
rlocus (num, den) ;
[运行结果]
根轨迹如图2所示
图1 阶跃响应曲线
图2根轨迹图
2.4基于MATLAB的频域分析法
频域特性是通过分析不同正弦信号输入下的稳态响应来表示系统的稳态特性, 可方便地判断系统稳定性, 并可通过频率特性进行参数选择或对系统进行校正, 以达到预期的性能指标。频率特性通常用系开闭环Bode图、Nyquist曲线以及Nicshols曲线等频率响应曲线来进行表示。应用MATLAB控制系统工具箱对系统频率响应进行仿真, MATLAB控制系统工具箱提供了频域分析函数, 其中有直接计算系统频率响应的函数, 如连续系统Bode图的函数bode()、离散系统Bode图的函数dbode(), 也有绘制控制系统几种典型的频率响应曲线的函数, 如Nyquist曲线的函数nyquist()、离散系统Nyquist曲线的函数dnyquist()、连续系统Nicshols曲线的函数nicsholst()和求系统模值裕度与相位裕度的函数margin(), 大大简化了频域分析的过程。和系统阶跃响应仿真相似, 利用SIMULINK仿真软件中的传递函数模块,也可对一系列正弦信号输入下系统的频率进行很方便地仿真。
实例
假设讨论的系统模型为WK( S) = 50/ ( ( S + 5)( S - 2) ) ,单位负反馈。
MATLAB 语言提供了nichols、nyquist、 bode 3 种命令, 可以很方便、直接地绘出各自的图形, 其图形分别见图3、图4、图5 ,程序如下:
%Example5
num= [ 50] ; den = [ 1 3 - 10] ;
figure (1) nyquist (num,den)
title (‘nyquist plot’ ) ; figure (2)
[mag ,phase ,w] = bode (num,den) ;
margin(mag ,phase ,w)
3 仿真结果分析
通过上述分析, 采用MATLAB 可以很容易绘制出系统的根轨迹、时域响应、频域响应, 对控制系统的稳定性分析是相当简便的。同样采用MATLAB 还可以对复杂的控制系统进一步进行分析和设计。
图3 奈奎斯特图
图4 显示增益裕量和相位裕度的波德图
图5 尼柯尔斯图
奈氏稳定判据的内容是: 若开环传递函数在S平面右半平面上有P 个极点,则当ω由- ∞~+ ∞时, 如果开环频率特性的轨迹在复平面上逆时针围绕( - 1 , j0) 点转P 圈,则闭环系统是稳定的,否则,是不稳定的。从图4 中可以看出,Nyquist 曲线按逆时针包围( - 1, j0) 点1 圈, 而开环系统包含S 平面右半平面上的1个极点,因此,以此构成的闭环系统稳定。
在波德图、尼柯尔斯图上应用奈氏稳定判据为:若开环传递函数在S平面右半平面上有P 个极点,对数频率特性L (ω) 大于0 dB 的所有频段内, 对数相频特性与- π 线正穿越与负穿越次数之差为P/ 2时,闭环系统是稳定的,否则,是不稳定的。图5、图6 中对数频率特性L (ω) 大于0 dB 的所有频段内,对数相频特性与- π 线正穿越与负穿越次数之差为1/ 2 , 而开环系统包含S 平面右半平面上的1个极点,可见该闭环系统稳定。图5 中还求出了增益裕量GM和相位裕量PM, 从而可以判断系统的绝对稳定性,并可以知道距离稳定边界还多少裕量。
4 结论
通过上述分析, 采用MATLAB 可以很容易绘制出系统的根轨迹、时域响应、频域响应, 对控制系统的稳定性分析是相当简便的。同样采用MATLAB 还可以对复杂的控制系统进一步进行分析和设计。
参考文献
[1]张静.MATLAB在线性控制系统中的应用[M].北京电子工业出版社,2007.5
[2]张志涌. 精通MATLAB 6. 5 版[M].北京:北京航空航天大学出版社,2003.
[3]吴麒著.自动控制原理[M]北京:清华大学出版社,2001.
[4]黄忠霖著.控制系统MATLAB计算及仿真[M],北京:国防工业出版社 2001.
基于MATLAB的线性控制系统分析方法研究.doc