MATLAB课程论文

更新时间:2024-04-30 23:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于MATLAB在自动控制域 中稳定性分析的应用

学院:装备工程学院

学号: 姓名:

沈阳理工大学MATLAB论文

基于MATLAB在自动控制频域中稳定

性分析的应用

摘 要: 自动控制系统主要利用MATLAB高级语言对其进行计算机分析。 MATLAB是一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形绘制集于一体,构成了一个方便的、界面友好的用户环境。本文主要介绍了利用MATLAB在自动控制中对频域中系统稳定性的判定,通过MATLAB建立某一系统的模型,并分析该系统的性能。根据响应曲线判断系统的稳定性,当系统的性能不能满足所要求的性能指标时,通过调整系统参数和增添校正装置来改善系统性能并展示方便灵活的动态仿真结果。 关键词:自动控制系统;稳定性;频域分析;频率响应;稳定裕度

引言

频域分析法是应用频域特性研究线性控制系统的一种经典方法,采用这种 方法可以直观的表达出系统的频率特性,利用系统的传递函数绘制系统的bode 图、nyquist曲线和nichols图,然后进行系统稳定性的判定,这样可以很明确 的判定系统频域的稳定性。频域分析法是自动控制领域中应用又一种数学工具 ———频率特性来研究系统控制过程性能,即稳定性、快速性及稳态精度的一种 方法。这种方法不必直接求解系统的微分方程,而是间接的运用系统的开环频率 特性曲线,分析闭环系统的响应,因此它是一种图解的方法。本文介绍了应用 MATLAB在bode图、nyquist曲线和nichols图等控制系统频域分析中的主要方 法,通过具体实例叙述了MATLAB在频域分析中的应用过程。频域分析里主要用 到三种曲线(或叫图):Bode图、Nyquist曲线图和 Nichols(尼柯尔斯)曲线 图。这三种曲线就是频率分析的三种工具。Bode图可以用于分析相角稳定裕度、 幅(或模)值稳定裕度、剪切频率、??穿越频率、带宽、扰动抑制及其稳定性 等,所以Bode图在频域分析里占有重要的地位。Nyquist与Nichols曲线图在频域分析里也很有用。本文中最重要的函数命令有bode、nyquist、pade、 nichols、margin等。

一.频域分析法的基础

1.有关频率分析的几个概念

2

沈阳理工大学MATLAB论文

(1)频率响应

当正弦函数信号作用于线性系统时,系统稳定后输出的稳态分量仍然是同频率的正弦信号,这种过程叫做系统的频率响应。 (2)频率特性

设有稳定的线性定常系统,在正弦信号作用下,系统输出的稳态分量为同频率的正弦信号,其振幅与输入正弦信号振幅比相对于正弦信号角频率间的关系

A(?)叫做幅频特性;其相位与输入正弦信号的相位之差相对于正弦信号角频率

间的关系?(?)叫做相频特性。系统频率响应与输入正弦信号的复数比叫做系统的频率特性。记作: G(j?)?A(?)ej?(?) (1) 2. Bode图

Bode图即对数频率特性曲线。Bode图有两条曲线,分别是对数幅频特性与对数相频特性。横坐标都是角频率?,是按常用对数(以10为底的对数)刻度的即lg?,其单位是rad/s。对数相频特性的纵坐标是?(?),等分刻度,其单位为角度或弧度(rad);而对数幅频特性的纵坐标是 L(?)?20lgA(?),也是等分刻度的,其单位为dB。 3.幅相选择性

系统的频率特性G(j?)?A(?)ej?(?)里既有振幅信息又有相位信息,所以又叫做系统的幅相特性。幅相特性图形化的形式,即是幅相特性曲线。 4.频率特性的极坐标图

频率特性G(j?)是?的复变函数,在G(j?)复平面上对于某一?可以用以向量或其端点(坐标)来表示。当?从0??时,G(j?)端点的极坐标轨迹即是频率特性的极坐标图,叫做Nyquist曲线图或幅相特性曲线。 5.Nichols曲线图.

对于单位负反馈系统其闭环与开环传递函数G(s)间的关系为?(s)?G(j?) (3)

1?G(j?)3

G(s)(2)

1?G(s)则频率特性之间的关系为 ?(j?)?沈阳理工大学MATLAB论文

若以模幅式G(j?)表示为 G(j?)?Gej?G (4) 则 ?(j?)?M(?)ej?(?) (5) 将闭环幅频M(?)与闭环相频?(?)合成幅相特性为M(?)ej?(?)?由此幅相特性可以求得两个函数表达式,即

M?f1(G,?G) (7)

??f2(G,?G) (8)

这两个函数表达式的图形化曲线就叫做Nichols曲线图。 6.频域性能指标

1.)峰值:它是幅频特性A(?)的最大值。

2.)频带:它是幅频特性A(?)的数值衰减到0.707A(0)时对应的角频率。 3.)相频宽:它是相频特性?(?)等于??/2时对应的角频率。

4.)剪切频率:系统开环对数幅频特性曲线20lgG与横坐标轴(?)交点的角频率,常用?c(或?cp )来标识。

5.)?? 穿越频率:系统开环对数相频特性曲线?(?)与?? 线交点所对应的角频率(即开环幅相特性曲线G(j?)与负实轴的交点所对应的角频率),常用?g (或?cg )来标识。 6.)稳度裕度

1.相角稳定裕度:系统开环幅相特性曲线G(j?)上模值等于1的向量与负实轴的夹角,即 ???(?c)?(??) (9)

2.幅值稳定裕度:开环幅相特性曲线G(j?)与负实轴交点(?cg)模值G(?cg)的倒数,即 h?1G(?cg)Gej?G1?Gej?G (6)

(10)

或者是其交点模值倒数的分贝值,即 Lh?20lgh (11)

4

沈阳理工大学MATLAB论文

7.三频段概念

系统开环对数振幅频率特性曲线20lgG按横坐标大致分为3个频段。在开环对数振幅特性曲线20lgG上第一个转折频率以左的区段,是由积分环节与开环增益所确定的,此为低频段;在20lgG上第一个转折频率以右的剪切频率?c附近的区段叫做中频段,这段特性集中反映了闭环系统动态响应的稳定性与快速性。在中频段以右??10?c的区段叫做高频段,此部分是由系统中时间常数很小、频带很高的元件决定的,系统在高频段的分贝值,反映了系统对输入高频干扰信号的抑制能力。 8.Nyquist稳定判据

系统开环幅相特性G(j?)如果满足以下关系式:??[1?G(j?)]?p?

?:0??则系统闭环稳定。式中,P为系统开环特征方程的不稳定根个数。 9.对数频率稳定判据

当P=0时,在开环对数幅相特性曲线20lgG?0的范围内,相频特性曲线

?(?)对??线的正穿(由下向上)次数与负穿(由上向下)次数相等,则系统闭环稳定;当P?0时,在开环对数幅相特性曲线20lgG?0的范围内,若相频特性曲线?(?)对??线正穿次数与负穿次数之差为P/2,则系统闭环稳定。

二.控制系统的频域特性

当正弦函数信号作用于线性系统时,系统稳定后输出的稳态分量仍然是同频率的正弦信号,这种过程叫做系统的频率响应。根据自动控制原理,系统输出的

G(j?)?A(?)ej?(?)稳态分量与输入正弦信号的复数比叫做系统的频率特性记作:

系统的频率特性与系统传递函数之间有着简单而直接的关系:

G(j?)?G(s)s?j? (12)

1.若系统的单位阶跃响应为c(t)?1?1.5e?3t?1.2e?5t (t?0) 。试确定系统的频率响应。

其实现的程序代码如下:

5

沈阳理工大学MATLAB论文

>> syms t s c r G R C omega; >> r=sym('Heaviside(t)'); >> R=laplace(r);

>> c=1+1.5*exp(-3*t)+1.2*exp(-5*t); >> C=laplace(c); >> C=factor(C); >> G=C/R;

>> G=subs(G,s,j*omega) G =

1/10*(-37*omega^2+191*i*omega+150)/(i*omega+3)/(i*omega+5) 即系统的频率响应为 G(j?)?1s?2??ns??22n1

10(?37?2?191j??150)(j??3)(j??5)2.试计算振荡环节G(s)?的频率特性。

其实现的程序代码如下:

>> syms zet omega omegan real;

>> G=omegan^2/((j*omega)^2+2*zet*omegan*(j*omega)+omegan^2); >> Aabs=abs(G) Aabs =

omegan^2/(omega^4-2*omega^2*omegan^2+omegan^4+4*zet^2*omegan^2*omega^2)^(1/2)

>> [Re]=simple(real(G)) Re =

(-omega^2*omegan^2+omegan^4)/(omega^4-2*omega^2*omegan^2+omegan^4+4*zet^2*omegan^2*omega^2) >> [Im]=simple(imag(G)) Im =

-2*zet*omegan^3*omega/(omega^4-2*omega^2*omegan^2+omegan^4+4*zet^2*omegan^2*omega^2)

6

沈阳理工大学MATLAB论文

>> Gang=simple(atan(Im/Re)) Gang =

-atan(2*zet*omegan*omega/(-omega^2+omegan^2)) 即振荡环节的实频特性与虚频特性分别为

2?n?a?jb G(j?)?22???2??n(j?)??n222?n(?n??2)?n*2???na?2b?, 2222222(?n??)?(2???n)(?n??)?(2???n)还有振荡环节的幅频特性与相频特性分别为

A(?)?G(j?)?2?n2(?n??2)2?(2???n)2?

????1???????n????21??????2???2?n??2

????2?(?)??G(j?)??arctan2???n??arctan22?n??2???n????2??1?????n

3.在某反馈系统中,G(s)?5 , H(s)?1?Kns(Kn?0) 。试确定闭环系

s(s?8)统稳定时反馈参数Kn的临界值。

解:(1)求闭环系统传递函数对应的实频与虚频特性。 其实现的程序代码如下: >> syms s g h u v;

>> syms kn omega omegac real; >> s=j*omega; >> G=10/(s*(s-10)); >> H=1+kn*s; >> GH=G*H;

>> U=factor(real(GH)) U =

7

沈阳理工大学MATLAB论文

-10*(1+10*kn)/(omega+10*i)/(omega-10*i) >> v=factor(imag(GH)) v =

-10*(-10+omega^2*kn)/(omega+10*i)/(omega-10*i)/omega

(2)当闭环系统处于临界稳定时,开环系统的频率响应G(j?)H(j?),即Nyquist曲线将通过[G(j?)H(j?)]平面上的点(-1,j0),此时???c。那么有

?V(?c)?0 ?U(?)??1C?其实现的程序代码如下: >> syms kn omega omegac real;

>>[kn,omegac]=solve('10*(1+10*kn)/(-omegac+10*j)=-1','10*(-10*kn*omegac^2)/(o megac+10*j)/omegac/(omegac+10*j)=0',kn,omegac) kn =

-1/10-1/10*j omegac = 10+10*j 0

即闭环系统稳定时反馈参数Kn=1,此时?c?10rad/s。

三.频率响应分析的MATLAB实现

前面已经介绍了频率响应分析的几个概念,下面将对频率响应分析的MATLAB实现展开介绍。 1.Bode图的绘制

MATLAB提供了一条直接求解和绘图系统的Bode图的函数bode()和一条直接求解系统的幅值稳定裕度和相位稳定裕度的函数margin(),其基本调用格式为 bode(sys) bode(sys,w)

[mag,phase,w]= bode(sys)

bode()函数用来计算并绘制系统的Bode图,可用于SISO或MIMO的连续时间系

8

沈阳理工大学MATLAB论文

统。当函数命令为等式左边输出变量的格式,函数在当前窗口中直接绘制出系统的Bode图。

LTI对象sys可以是由函数tf()、zpk()、ss()中任何一个函数建立的系统模型。w用来定义绘制Bode图时的频域范围或者频率点。如果定义频率范围,w必须为[wmin,,wmax]格式;如果定义频率点,则w必须是需要频率点构成的向量。第三条语句只计算系统Bode图的输出数据,而不绘制曲线。mag为系统Bode图的振幅值,phase为Bode图的相位值。

margin(sys)

[Gm,Pm,Wcg,Wcp]= margin(sys) [Gm,Pm,Wcg,Wcp]= margin(mag,phase,w)

margin函数可以从频率响应数据中计算出幅值稳定裕度、相位稳定裕度及其对应的角频率。当不带输出变量引用函数时,margin()函数可在当前图形窗口中绘制出带有稳定裕Bode图。margin(mag,phase,w)函数可以在当前窗口中绘制出带有系统幅值裕度与相位裕度的Bode图。其中,mag,phase及w分别为由bode或dbode求出的幅值裕度、相位裕度及其对应的角频率。 4.已知一个高阶系统的开环传递函数为

G(s)?K(0.00167s?1)

s(0.03s?1)(0.0025s?1)(0.001s?1)试计算当开环增益K=5, 500, 800, 3000时,系统稳定裕量的变化。 其实现的程序代码如下: >> k=[5,500,800,3000]; >> for j=1:4

num=k(j)*[0.0167 1];

den=conv(conv([1 0],[0.03 1]),conv([0.0025,1],[0.001,1])); G=tf(num,den); y(j)=allmargin(G); end >> y(1) ans =

9

沈阳理工大学MATLAB论文

GMFrequency: 602.4232 GainMargin: 455.2548 PMFrequency: 4.9620 PhaseMargin: 85.2751 DMFrequency: 4.9620 DelayMargin: 0.2999 Stable: 1 >> y(2) ans =

GMFrequency: 602.4232 GainMargin: 4.5525 PMFrequency: 237.7216 PhaseMargin: 39.7483 DMFrequency: 237.7216 DelayMargin: 0.0029 Stable: 1 >> y(3) ans =

GMFrequency: 602.4232 GainMargin: 2.8453 PMFrequency: 329.9063 PhaseMargin: 27.7092 DMFrequency: 329.9063 DelayMargin: 0.0015 Stable: 1 >> y(4) ans =

GMFrequency: 602.4232 GainMargin: 0.7588

10

沈阳理工大学MATLAB论文

PMFrequency: 690.5172 PhaseMargin: -6.7355 DMFrequency: 690.5172 DelayMargin: 0.0089 Stable: 0

由系统运行结果可知,随着开环增益的增大,相角稳定裕度在减小,表明系统的稳定性在变差。当K=3000时,相角稳定裕度变为负值,此时系统不稳定了。5.已知一个系统开环传递函数分别为

G(s)?10(s?2)10(s(s?1)(s?4),G(s)??2)(s?1)(s?4)e?0.8s 试在同一张图上绘制系统的Bode图,并对其结果进行比较。 解:用bode()函数绘制系统的波特图,pade()函数可以近似表示e?0.8s 其实现的程序代码如下:

>> num1=10*[1 2];

>> den1=conv([1 1],[1 4]); >> sys1=tf(num1,den1); >> [num,den]=pade(0.8,4); >> num2=conv(num1,num); >> den2=conv(den1,den); >> sys2=tf(num2,den2); >> bode(sys1,'m-',sys2,'.')

运行结果如图 所示:

11

沈阳理工大学MATLAB论文

Bode Diagram2010Magnitude (dB)Phase (deg)0-10-20-30-407205403601800-18010-210-1100101102103Frequency (rad/sec)

图1 有、无时间延迟系统的波特图

从图1中可以看出:两个传递函数对数幅频特性重合,这是因为延迟环节对幅值不产生影响;而相频特性曲线相差很大,点划线为带延迟的系统,可见延迟的系统环节使系统的相角大大滞后,对系统产生很大的不利影响。 6.已知系统的开环传递函数为G(s)?3(5s?2)试绘制系统的Bode图,2s(s?2s?2)(s?1)并求出系统的幅值稳定裕度、相角稳定裕度及各自对应的频率。

解:用bode()函数绘制系统的波特图,margin()函数求系统的幅值稳定裕度和相角稳定裕度及对应的频率,其实现的程序代码如下: >> num=3*[5 2];

>> den=conv([1 2 2 0],[1 1]); >> sys=tf(num,den); >> bode(sys); >> grid on;

>> [Gm,Pm,Wcg]=margin(sys)

Warning: The closed-loop system is unstable. > In lti.margin at 89 Gm =

12

沈阳理工大学MATLAB论文

0.4789 Pm = -23.8341 Wcg =

1.7497

系统的波特图如图2所示:

Bode Diagram50Magnitude (dB)Phase (deg)0-50-100-45-90-135-180-225-27010-110010Frequency (rad/sec)1102

图2 系统的波特图

从图2可以得出:系统是不稳定的。 2. Nyquist图的绘制

在MATLAB控制系统工具箱中提供了一个函数nyquist(),其调用格式为: nyquist(sys)

[re,im,w]=nyquist(sys)

此函数可以用来求解、绘制系统的Nyquist曲线。利用Nyquist曲线,可以分析包括增益裕度、相角裕度及稳定性等系统特性。如果使用时没有返回输出参数,函数会在屏幕上直接绘制出Nyquist曲线。w的定义与bode一样,re为频率响应的实部,in为频率响应的虚部。

13

沈阳理工大学MATLAB论文

7.已知系统开环传递函数为G(s)?88画出系统的Nyquist

(s?1)(0.2s?1)(1.6s?1)图,用奈氏判据判别系统闭环稳定性,并绘制闭环系统的单位阶跃响应进行验证。 解:用nyquist()函数绘制系统的Nyquist图,step()函数求系统的单位阶跃响应,其实现的程序代码如下: >> num=88;

>> den=conv([1 1],conv([0.2 1],[1.6 1])); >> sys=tf(num,den); >> figure(1) >> nyquist(sys);

>> figure(2),sys1=feedback(sys,1); >> step(sys1) 运行结果如图3所示:

Nyquist Diagram604020Imaginary Axis0-20-40-60-2002040Real Axis6080100

图3 系统的Nyquist图

由图 3可以得出:Nyquist图与实轴交点约为-4.66(通过鼠标点取),即开环幅相特性曲线包围(-1,j0)点,开环传递函数已知,可以得出,开环传递函数s

14

沈阳理工大学MATLAB论文

右半平面极点个数为零,所以闭环系统不稳定。

Step Response1086Amplitude420-2-400.20.40.60.81Time (sec)1.21.41.61.82

图4 系统的单位阶跃响应图

系统的单位阶跃响应如图4 所示,从闭环系统的阶跃响应曲线中可以看出闭环系统不稳定。 3. Nichols图的绘制

对数幅相频率特性曲线是一张以?为参变量、?(?)为横坐标、L(?)为纵坐标的图。Nichols()函数用来计算并绘制LTI系统的Nichols频率响应曲线,其调用格式为:

nichols(sys) nichols(sys,w)

nichols(sys1,sys2,…,sysN) nichols(sys1,sys2,…,sysN,w)

nichols(sys1,’PlotStyle’,…,sysN,’ PlotStyleN’) [mag,phase,w]= nichols(sys) [mag,phase]= nichols(sys,w) 8.已知一个单位反馈控制系统的开环传递函数为

G(s)?0.5s?1.2

s(0.01s?1)(0.06s?1)(0.5s?1)15

沈阳理工大学MATLAB论文

试绘制系统的Nichols图,判断系统的稳定性并用单位冲激响应验证。 解:用nichols()函数绘制系统Nichols图,impulse()函数来验证系统的稳定性,其实现的程序代码如下: >> figure(1); >>num=[0.5 1];

>>den=conv(conv([1 0],[0.01 1]),conv([0.06 1],[0.5 1])); >>sys=tf(num,den); >>nichols(sys); >>grid on; >>figure(2);

>> sys1=feedback(sys,1); >> impulse(sys1)

运行程序后,结果如图所示:

Nichols Chart40 0.25 dB 0 dB20 1 dB 0.5 dB -1 dB 6 dB 3 dB -3 dB0 -6 dB -12 dB-20 -20 dB)Bd(-40 -40 dBin aGp -60 dBo-60oL-ne-80 -80 dBpO-100 -100 dB-120 -120 dB-140 -140 dB-160 -160 dB-360-315-270-225-180-135-90-450Open-Loop Phase (deg)图5 系统的 Nichols图

从图5中可以看出,系统幅值增益为25.8dB,所以系统是稳定的。

图6 系统的闭环单位冲激响应

16

沈阳理工大学MATLAB论文

Impulse Response0.90.80.70.6Amplitude0.50.40.30.20.1000.511.522.5Time (sec)33.544.55

图6所示的闭环单位冲激响应的收敛验证了其正确性。 四.结束语

用MATLAB分析系统的频域响应具有高效、一目了然的特点,编程容易、语句简洁、只要正确输入了系统的传递函数参数,建立一定的模型,然后直接调用相应的函数就可以完成系统稳定性的分析。其中,系统的模型参数可以以方程的形式给出也可以用传递函数的形式给定bode图、nyquist曲线或nichols曲线图通过函数调用得到相应的结果或图像。从而直观的对系统频域的稳定性进行分析和判断。

17

沈阳理工大学MATLAB论文

参考文献:

[1] 楼顺天、于 卫, 基于MATLAB的系统分析与设计——控制系统[M]. 西安:西安电子科技大学出版社,1999

[2] 薛定宇, 控制系统计算机辅助设计——MATLAB语言及应用[M]. 北京:清华大学出版社,1996

[3] 胡寿松, 自动控制原理[M]. 北京:科学出版社,2008

[4] 张德丰,等编. MATLAB——自动控制系统设计[M]. 北京:机械工业出版社,2010 [5] 唐向宏、岳恒立、郑雪峰,MATLAB在电子信息类课程中的应用[M].北京:电子工业出版社,2006

[6] 陈伯时,电力拖动自动控制系统[M]. 北京:机械工业出版社,2005 [7] 张静,等. MATLAB在控制系统中的应用[M]. 北京:电子工业出版社,2007

18

本文来源:https://www.bwwdw.com/article/3xlg.html

微信扫码分享

《MATLAB课程论文.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top