实验二 用MATLAB实现线性系统的频域分析
[实验目的]
1.掌握MATLAB平台下绘制典型环节及系统开环传递函数的Bode图和Nyquist图(极坐标图)绘制方法;
2.掌握利用Bode图和Nyquist图对系统性能进行分析的理论和方法。 [实验指导]
一、绘制Bode图和Nyquist图
1.Bode图绘制
采用bode()函数 ,调用格式: ①bode(sys);bode(num,den); 系统自动地选择一个合适的频率围。 ②bode(sys,w);
其中w(即ω)是需要人工给出频率围,一般由语句w=logspace(a,b,n)给出。
logspace(a,b,n):表示在10a 到10b之间的 n个点,得到对数等分的w值。
③bode(sys,{wmin,wmax});
其中{wmin,wmax}是在命令中直接给定的频率w的区间。 以上这两种格式可直接画出规化的图形。 ④[mag,phase,ω]=bode(sys)或[m,p]=bode(sys)
这种格式只计算Bode图的幅值向量和相位向量,不画出图形。 m为频率特性G(jω )的幅值向量;
p为频率特性G(jω )的幅角向量,单位为角度(°)。 w为频率向量,单位为[弧度]/秒。 在此基础上再画图,可用:
subplot(211);semilogx(w,20*log10(m) %对数幅频曲线 subplot(212);semilogx(w,p) %对数相频曲线 ⑤bode(sys1,sys2,…,sysN) ; ⑥bode((sys1,sys2,…,sysN,w);
这两种格式可在一个图形窗口同时绘多个系统的bode图。 2. Nyquist曲线的绘制
. . .
采用nyquist()函数 调用格式: ① nyquist(sys) ; ② nyquist(sys,w) ;
其中频率围w由语句w=w1:Δw:w2确定。 ③ nyquist(sys1,sys2,…,sysN) ; ④ nyquist(sys1,sys2,…,sysN,w); ⑤ [re,im,w]=nyquist(sys) ;
re—频率响应实部 im—频率响应虚部
使用命令axis()改变坐标显示围,例如axis([-1,1.5,-2,2])。
⑥当传递函数串有积分环节时ω=0处会出现幅频特性为无穷大的情况,可用命令axis(),自定义图形显示围,避开无穷大点。 二、系统分析
1.计算控制系统的稳定裕度
采用margin( )函数可以直接求出系统的幅值裕度和相角裕度。 调用格式为:
① [Gm,Pm,Wcg,Wcp]= margin(num,den) ; [Gm,Pm,Wcg,Wcp]= margin(A,B,C,D) ; [Gm,Pm,Wcg,Wcp]= margin(sys) ; Gm--- 幅值裕度; Pm---相位裕度;
wcg ---幅值裕度处对应的频率ωc; wcp ---相位裕度处对应的频率ωg。
②[Gm,Pm,Wcg,Wcp]= margin(mag ,phase,w); ③ margin(sys)
在当前图形窗口中绘制出系统裕度的Bode图。
2.用幅值裕度和相角裕度判断闭环系统稳定性与相对稳定性 3.用Nyquist图判断闭环系统稳定性
由Nyquist曲线包围(-1,j0)点的情况,根据Nyquist稳定判据判断闭环系统稳定性。 三、举例
. . .
例1:振荡环节如下:G(s)程序:
16,做出该环节的Bode图和Nyquist图。
s210s16>>n=[16];d=[1 10 16];sys=tf(n,d);figure(1);bode(sys);figure(2);nyquist(sys)
运行结果:
Nyquist Diagram0.6Bode Diagram0-10Magnitude (dB)-20-30-40-50-600-450.40.2Imaginary Axis0-0.2Phase (deg)-90-0.4-135-180-0.6-11010010Frequency (rad/sec)1102-1-0.8-0.6-0.4-0.20Real Axis0.20.40.60.81
例2:振荡环节如下:G(s)16s2ns16,做出该环节的Bode图和Nyquist图。
ξ变化,取[0.05,0.1,0.2,0.5,0.7,1,2]。
1.Bode图程序:
>> wn=8;znb=[0.05,0.1,0.5,0.7,2];w=logspace(0,2,10000);figure(1);n=[wn^2]; for k=znb d=[1 2*k*wn wn^2];sys=tf(n,d);bode(sys,w);hold on; end 运行结果:
. . .
Bode Diagram4020Magnitude (dB)Phase (deg)0-20-40-600-45-90-135-180100101102Frequency (rad/sec)
1.Nyquist图程序:
>> wn=8;znb=[0.05,0.1,0.5,0.7,2];w=logspace(0,2,10000);figure(1);n=[wn^2]; for k=znb d=[1 2*k*wn wn^2];sys=tf(n,d); nyqiust(sys,w); hold on; end 运行结果:
Nyquist Diagram108Imaginary Axis20-2-4-6-8-10-5-4-3-2-10Real Axis12345
例3:系统开环传递函数如下: ①G0(s)②Gc(s)20,
s(0.5s1)0.23s1,
0.055s1. . .
③G(s)20(0.23s1),
s(0.055s1)(0.5s1)做出各自的Bode图,并求①、③幅值裕度和相角裕度 1.Bode图程序:
>> n1=20;d1=conv([1,0],[0.5,1]);sys1=tf(n1,d1); figure(2);bode(sys1); n2=[0.23 1];d2=[0.,1];sys2=tf(n2,d2);hold on; figure(2);bode(sys2);
n=[4.6 20];d=conv([1,0],conv([0.,1],[0.5,1]));sys=tf(n,d);hold on; figure(2); bode(sys)
运行结果:
Bode Diagram50403020Magnitude (dB)100-10-20-30-4045 System: sys1 Frequency (rad/sec): 6.14 Magnitude (dB): 0.0687 System: sys Frequency (rad/sec): 8.98 Magnitude (dB): -0.0394 0Phase (deg)-45-90-135-18010-110010Frequency (rad/sec)1102
2.求①②幅值裕度和相角裕度程序(图形与数据)
>> n1=20;d1=conv([1,0],[0.5,1]);sys1=tf(n1,d1); figure(1);margin(sys1)
运行结果:
. . .
Bode DiagramGm = Inf, Pm = 17.9 deg (at 6.1685 rad/sec)5040)Bd30( edu20tingaM100-10-90)ged( e-135sahP-18010-1100101Frequency (rad/sec)
>> n=[4.6 20];d=conv([1,0],conv([0.,1],[0.5,1]));sys=tf(n,d);hold margin(sys)
运行结果:
Bode DiagramGm = Inf, Pm = 50.472 deg (at 8.9542 rad/sec)6040)Bd(e 20duitng0aM-20-40-90)ged(e -135saPh-18010-1100101102Frequency (rad/sec)
2.求①②幅值裕度和相角裕度程序和结果(数据)
>> [Gm,Pm,Wcg,Wcp]= margin(sys1)
Gm = Inf
. . .
on; figure(2); Pm = 17.92 Wcg = Inf Wcp = 6.1685
>> [Gm,Pm,Wcg,Wcp]= margin(sys)
Gm = Inf Pm = 50.4719 Wcg = Inf Wcp = 8.9542
例4:系统开环传递函数为:G0(s)判断闭环系统的稳定性。
程序与结果:
4(3s1) 做出nyquist图,按nyquist稳定判据
s(2s1)>> n=conv([4],[3 1]);d=conv([1 0],[2 1]);sys2=tf(n,d) Transfer function: 12 s + 4 --------- 2 s^2 + s
>> figure(4);nyquist(sys2);v=[-1,6,-60,60];axis(v)
Nyquist Diagram60ω=0- 4020Imaginary Axis0-20-40-60-1012Real Axis3ω=0+ 456
分析判断:p=0,nyquist曲线没有包围(-1,j0)点,闭环系统是稳定的。 下面通过闭环系统时域阶跃响应来验证闭环系统的稳定性: >> n=conv([4],[3 G2=1;G=feedback(G1,G2,-1)
. . .
1]);d=conv([1 0],[2 1]);G1=tf(n,d);
Transfer function: 12 s + 4 ---------------- 2 s^2 + 13 s + 4 >> figure(7);step(G)
Step Response10.90.80.70.6Amplitude0.50.40.30.20.1000.511.52Time (sec)2.533.54
例5:系统开环传递函数为:G0(s)判断闭环系统的稳定性。
程序与结果:
2(s3) 做出nyquist图,按nyquist稳定判据
s(s1)>>z=[-3];p=[0,1];k=2;sys=zpk(z,p,k) Zero/pole/gain:
2 (s+3) ------- s (s-1)
>>nyquist(sys);v=[-10,10,-20,20];axis(v)
. . .
ω=0+
2015Nyquist Diagram105Imaginary Axis0-5-10-15-20-10ω=0
-8-
-6-4-20Real Axis246810
分析判断:p=1,nyquist曲线逆时针包围(-1,j0)点1周,闭环系统是稳定的。
下面通过闭环系统时域阶跃响应来验证闭环系统的稳定性:
>> z=[-3];p=[0,1];k=2;sys=zpk(z,p,k);h=1;g= feedback(sys,h,-1) Zero/pole/gain: 2 (s+3)
------------- (s^2 + s + 6) >> figure(8);step(g)
. . .
Step Response1.81.61.41.2 System: g Peak amplitude: 1.7 Overshoot (%): 70.3 At time: 0.982 Amplitude10.80.60.40.20 System: g Settling Time: 7.85 0246Time (sec)81012
[实验容]
1.作各典型环节的Bode图和Nyquist图,参数自定。
2.自确定多环节开环传递函数,作Bode图和Nyquist图;求取幅值裕度和相角裕度,据此判断闭环系统稳定性与相对稳定性;按nyquist稳定判据判断闭环系统的稳定性。
在不同实验项目中都采用同一个开环传递函数,或各自采用各自的开环传递函数,皆可以。
[实验报告要求]
1.写明实验目的和实验原理。实验原理中简要说明作Bode图和Nyquist图、求取幅值裕度和相角裕度采用的语句或函数、说明nyquist稳定判据的容。
2.在实验过程和结果中,要列项目反映各自的实验容,编写的程序,运行结果,按实验容对结果的分析与判断。程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。不方便打印的同学,要求手动从屏幕上抄写和绘制。
3.简要写出实验心得和问题或建议。
. . .