MATLAB实现控制系统稳定性分析
稳定是控制系统的重要性能,也是系统能够工作的首要条件,因此,如何分析系统的稳定性并找出保证系统稳定的措施,便成为自动控制理论的一个基本任务.线性系统的稳定性取决于系统本身的结构和参数,而与输入无关.线性系统稳定的条件是其特征根均具有负实部.
在实际工程系统中,为避开对特征方程的直接求解,就只好讨论特征根的分布,即看其是否全部具有负实部,并以此来判别系统的稳定性,由此形成了一系列稳定性判据,其中最重要的一个判据就是Routh判据.Routh判据给出线性系统稳定的充要条件是:系统特征方程式不缺项,且所有系数均为正,劳斯阵列中第一列所有元素均为正号,构造Routh表比用求根判断稳定性的方法简单许多,而且这些方法都已经过了数学上的证明,是完全有理论根据的,是实用性非常好的方法.
但是,随着计算机功能的进一步完善和Matlab语言的出现,一般在工程实际当中已经不再采用这些方法了.本文就采用Matlab对控制系统进行稳定性分析作一探讨.
1 系统稳定性分析的Matlab实现
1.1 直接判定法
根据稳定的充分必要条件判别线性系统的稳定性,最简单的方法是求出系统所有极点,并观察是否含有实部大于0的极点,如果有,系统则不稳定.然而实际的控制系统大部分都是高阶系统,这样就面临求解高次方程,求根工作量很大,但在Matlab中只需分别调用函数roots(den)或eig(A)即可,这样就可以由得出的极点位置直接判定系统的稳定性.古人四兄弟
已知控制系统的传递函数为
(1)
若判定该系统的稳定性,输入如下程序:
G=tf([1,7,24,24],[1,10,35,50,24]);
roots(G.den{1})
运行结果: ans =
-4.0000
-3.0000
-2.0000
-1.0000
由此可以判定该系统是稳定系统.
1.2 用根轨迹法判断系统的稳定性
根轨迹法是一种求解闭环特征方程根的简便图解法,它是根据系统的开环传递函数极点、零点的分布和一些简单的规则,研究开环系统某一参数从零到无穷大时闭环系统极点在s平面的轨迹.控制工具箱中提供了rlocus函数,来绘制系统的根轨迹,利用rlocfind函数,在图形窗口显示十字光标,可以求得特殊点对应的K值.
已知一控制系统,H(s)=1,其开环传递函数为:
(2)
绘制系统的轨迹图.
程序为: G=tf(1,[1 3 2 0]);rlocus(G);
[k,p]=rlocfind(G)
根轨迹图如图1所示,光标选定虚轴临界点,程序
结果为:
图1 系统的根轨迹图
lected_point =
0 - 0.0124i
k =
0.0248
p =
-2.0122
-0.9751
-0.0127
光标选定分离点,程序结果为:
lected_point =
-1.9905 - 0.0124i
k =
0.0308
亚洲留学p =
-2.0151
-0.9692
-0.0158
上述数据显示了增益及对应的闭环极点位置.由此可得出如下结论:
(1)0<k<0.4时,闭环系统具有不同的实数极点,表明系统处于过阻尼状态;
(2)k=0.4时,对应为分离点,系统处于临界阻尼状态;
(3)0.4<k<6时,系统主导极点为共轭复数极,系统为欠阻尼状态;
(4)k=6时,系统有一对虚根,系统处于临界稳定状态;
养殖鲟鱼
(5)k>6时,系统的一对复根的实部为正,系统处于不稳定状态.
1.3 用Nyquist曲线判断系统的稳定性
Matlab个性有哪些提供了函数Nyquist来绘制系统的Nyquist曲线,若式(2)系统分别取k= 4和k= 10(图2为阶跃响应曲线),通过Nyquist曲线判断系统的稳定性,程序如下:
num1=[4];num2=[10];
den1=[1,3,2,0];
gs1=tf(num1,den1);
gs2=tf(num2,den1);
hs=1;
gsys1=feedback(gs1,hs);
gsys2=feedback(gs2,hs);
t=[0:0.1:25];
figure(1);
subplot(2,2,1);step(gsys1,t)
subplot(2,2,3);step(gsys2,t)
subplot(2,2,2);nyquist(gs1)
subplot(2,2,4);nyquist(gs2)
奈氏稳定判据的内容是:若开环传递函数在s平半平面上有P个极点,则当系统角频率X由-∞变到+∞时,如果开环频率特性的轨迹在复平面上时针围绕(-1,j0)点转P圈,则闭环系统稳定,否则,是不稳定的.
图2阶跃响应曲线
当k=4时,从图3中k=4可以看出,Nyquist曲不包围(-1,j0)点,同时开环系统所有极点都位于平面左半平面,因此,根据奈氏判据判定以此构成闭环系统是稳定的,这一点也可以从图2中k=4
系统单位阶跃响应得到证实,从图2中k=4可以看出系统约23 s后就渐渐趋于稳定.当k=10时,从图3中k=10可以看
图3 Nyquist曲线
出,Nyquist曲线按逆时针包围(-1,j0)点2圈,但此时P=0,所以据奈氏判据判定以此构成的闭环系统是不稳定的,图2中k=10的系统阶跃响应曲线也证实了这一点,系统振荡不定。变色镜片的优缺点
1.4 bode图法判断系统的稳定性
bode判据,实质上是Nyquist判据的引伸.本开环系统是最小相位系统,即P=0,用Xc表示对数幅频特性曲线与横轴(0dB)交点的频率,Xg表示对数相频特性曲线与横轴(-180o)交点的频率,则对数判据可表述如下:
在P=0时,若开环对数幅频特性比其对数相频特性先交于横轴,即Xc<Xg,则闭环系统稳定;若开环对数幅频特性比其对数相频特性后交于横轴,即Xc>Xg,则闭环系统不稳定;若篮球动作Xc=Xg,则闭环系统临界稳定.
num1=[4];num2=[10];
den1=[1,3,2,0];
gs1=tf(num1,den1);
gs2=tf(num2,den1);
hs=1;
gsys1=feedback(gs1,hs);
gsys2=feedback(gs2,hs);
t=[0:0.1:25];
figure(1);
subplot(1,1,1);bode(gs1)
图4 k=4时开环系统的bode图
由图4开环系统的bode图可知,Xc<Xg,故当k=4时,此时的闭环系统必然稳定.实际上,系统的控制bode图还可用于系统相对稳定性的分析.
一)用系统特征方程的根判别系统稳定性:
设系统特征方程为s5+s4+2s3+2s2+3s+5=0,计算特征根并判别该系统的稳定性。在command window窗口输入下列程序,记录输出结果。
>> p=[1 1 2 2 3 5];
防地震图片>> roots(p)
二)用根轨迹法判别系统稳定性:对给定的系统的开环传递函数,进行仿真。
1.某系统的开环传递函数为 ,在command window窗口输入程序,记录系统闭环零极点图及零极点数据,判断该闭环系统是否稳定。
>> clear积分返现
>> n1=[0.25 1];
>> d1=[0.5 1 0];
>> s1=tf(n1,d1);
>> sys=feedback(s1,1);
>> P=sys.den{1};p=roots(P)
>> pzmap(sys)
>> [p,z]=pzmap(sys)
2.某系统的开环传递函数为 ,在command window窗口输入程序,记录系统开环根轨迹图、系统开环增益及极点,确定系统稳定时K的取值范围。