资源描述
用MATLAB分析闭环系统的频率特性
1、等M圆图与等N圆图原理
1.1设有单位系统如图1示。其闭环频率特性GB(jv)与开环频率特性GK(jv)的关系为
(1)
X0(jv)
Xi(jv)
GK(jv)
图 1
可将其开环频率特性GK(jv)写成
GK(jv)=U(v)+jV(v) (2)
则闭环频率特性为
(3)
式中 M(v)——闭环的幅频特性
a(v)——闭环的相频特性
闭环的幅频特性为
(4)
所以 (5)
则有 (6)
显然,式(6)是一个元的方程,他表明了开环的实频U、虚频V和闭环的幅频M之间的的关系,该圆方程的圆心坐标为(,j0),半径为。当M取不同的值时,便可以得到一簇圆,如图1,该图称为等M圆图(邮称为等幅值轨迹图)。
有闭环的相频特性为
(7)
令,上式可改为
(8)
可见式(8)也是一个圆方程,他表明了U、V与N之间的关系。该圆方程的圆心坐标为当N取不同的值时,可画出一簇圆,如图2所示。该圆称为等N圆图(又称为等相角轨迹图)。
1.2将开环极坐标图画在同比例尺的等M圆图和等N圆图上,在根据曲线与各圆的焦点,求得各交点频率所对应的闭环幅频特性M值和闭环相频特性a的正切函数只N,从而绘出闭环频率特性。
方法复杂,也不准确,我们用一个具体的力来说明一下用MATLAB解决这类问题的方法。
[例]求开环频率特性为的单位反馈系统的闭环频率特性。
2、用MATLAB解决闭环系统频率特性
<以G(s)=10/s(s+1)(s^2/4+1)为例
这种传递函数是零极点描述形式,因而要使用sys=zpk(z,p,k)的命令形式
其中,z为传递函数的零点向量[z1,z2,z3,...],描述形式为(s-z1)(s-z2)...
p为传递函数的极点向量,k为增益,因而在该例中,应首先化为标准形式,即
G(s)=40/s(s+1)(s+2i)(s-2i),于是有(在命令行输入)
k=40;z=[];p=[0 -1 -2i 2i];
sys=zpk(z,p,k);就得到了传递函数>
例题的开环传递函数为
用MATLAB编程和运行结果如下:
%MATLAB PROGRAM
%Create system model
sys=zpk([],[0 -20 -5],300);
sysclose=feedback(sys,1);
%Get frequency response of the system
w=logspace(-1,2);
bode(sysclose,w)
[mag,phase,W]=bode(sysclose,w);
[l,c]=size(mag);
mag1=zeros(c,1);
for i=1:c
mag1(i)=20*log10(mag(1,1,i));
end
%显示系统闭环的幅值穿越频率
disp('crossover frequency:');
Wc=interp1(mag1,W,0,'spline')
%显示谐振频率
disp('Resonance frequency:');
[mag2,i]=max(mag1);
Wr=W(i)
%显示谐振峰值
disp('Resonance magnitude:')
Magmax=mag2
%显示-3dB截止频率
disp('-3dB frequency:');
W_3db=interp1(mag1,W,-3,'spline')
[l,c]=size(phase);
pha1=zeros(c,1);
for i=1:c
pha1(i)=phase(1,1,i);
end
%显示-90度截止频率
disp('-90 phase frequency:');
W_90=interp1(pha1,W,-90,'spline')
运行结果:
>> crossover frequency:
Wc =
0.1763
Resonance frequency:
Wr =
2.5595
Resonance magnitude:
Magmax =
0.7477
-3dB frequency:
W_3db =
9.5479
-90 phase frequency:
W_90 =
3.4641
如果在上述的M文件中再加下面几行,可以绘制Bode图并在图中标出幅值裕度和相位裕度,以及可求出相位角阶频率Wcg和幅值交界频率Wcp,Wcg是指Bode图的相频曲线穿越-180o时的频率,Wcp是指Bode图的幅值曲线穿越0分贝线时的频率。
figure(2)
margin(sys)
[Gm,Pm,Wcg,Wcp]=margin(sys)
运行结果为:
Gm =
8.3333
Pm =
54.7410
Wcg =
10.0000
Wcp =
2.6320
由此我们可以很容易的判断系统的稳定性。
3、结束语
MATLAB是一种面向科学和工程计算的计算机语言,它具有强大的计算功能、计算结果和编程可视化及极高的编程效率,它包含有几十个工具箱,可以直接调用各种函数,是计算简单且精确。本文就是利用编写MATLAB的M文件,来解决控制问题,使以前复杂的问题得到了简化。
展开阅读全文