专业 电气自动化 班号 03班 组别 指导教师
姓名 同组者
实验名称 实验四 、线性系统的频域分析
实验日期 第 四 次实验
一、实验目的
1.掌握用MATLAB语句绘制各种频域曲线。
2.掌握控制系统的频域分析方法。
二、实验内容
1.典型二阶系统
绘制出,,0.3,0.5,0.8,2的bode图,记录并分析对系统bode图的影响。
2.系统的开环传递函数为
绘制系统的Nyquist曲线、Bode图和Nichols图,说明系统的稳定性,并通过绘制阶跃响应曲线验证。
3.已知系统的开环传递函数为。求系统的开环截止频率、穿越频率、
幅值裕度和相位裕度。应用频率稳定判据判定系统的稳定性。
三、实验结果及分析
1、
num=[36];
den1=[1 1.2 36];
den2=[1 3.6 36];
den3=[1 6 36];
den4=[1 9.6 36];
den5=[1 24 36];
w=logspace(-1,2,100);
bode(num,den1,w)
grid
hold on
bode(num,den2,w)
bode(num,den3,w)
bode(num,den4,w)
bode(num,den4,w)
bode(num,den5,w)
gtext('ζ=0.1')
gtext('ζ=0.3')
gtext('ζ=0.5')
gtext('ζ=0.8')
gtext('ζ=2')
2、
(1)Nyquist图源程序
num=[10];
den=[conv([5,-1],[1,5]),0,0];
G=tf(num,den);
[z,p,k]=tf2zp(num,den);
p
nyquist(num,den)
p =
0
0
-5.0000
0.2000
Bode图源程序
num=[10];
den=[conv([5,-1],[1,5]),0,0];
w=logspace(-2,3,100);
[mag,phase,w]=bode(num,den,w);
subplot(2,1,1);
semilogx(w,20*log10(mag));
grid on
xlabel('w/s^-1');
ylabel('L(w)/dB');
title('Bode Diagram of G(s)=10/[s^2(5s-1)( s+5)]');
subplot(2,1,2);
semilogx(w,phase);
grid on
xlabel('w/s^-1');
ylabel('Q(0)');
Nichols图源程序
num=[10];
den=[conv([5,-1],[1,5]),0,0];
w=logspace(-1,1,500);
[mag,phase]=nichols(num,den,w);
plot(phase,20*log10(mag))
ngrid
阶跃响应曲线
num=[10];
den=[conv([5,-1],[1,5]),0,0];
G=tf(num,den);
G_c=feedback(G,1);
step(G_c)
结果分析及说明:因为开环传递函数在S右半平面有一个极点,即P=1,从Nyquist曲线可看出,奈氏曲线没有包围(-1,0),即R=0,根据奈氏稳定判据,Z=P-R=1,不等于0,所以该系统不稳定,从阶跃响应曲线上也可以看出,系统不稳定。
(2)Nyquist图源程序
num=[8 8];
den=[conv([1,6,10],[1,15]),0,0];
G=tf(num,den);
[z,p,k]=tf2zp(num,den);
p
nyquist(num,den)
p =
0
0
-15.0000
-3.0000 + 1.0000i
-3.0000-1.0000i
Bode图源程序
num=[8 8];
den=[conv([1,6,10],[1,15]),0,0];
w=logspace(-2,3,100);
[mag,phase,w]=bode(num,den,w);
subplot(2,1,1);
semilogx(w,20*log10(mag));
grid on
xlabel('w/s^-1');
ylabel('L(w)/dB');
title('Bode Diagram of G(s)= 8( s+1)/[s^2(s^2+6s+10)( s+15)]');
subplot(2,1,2);
semilogx(w,phase);
grid on
xlabel('w/s^-1');
ylabel('Q(0)');
Nichols图源程序
num=[8 8];
den=[conv([1,6,10],[1,15]),0,0];
[mag,phase]=nichols(num,den,w);
plot(phase,20*log10(mag))
ngrid
阶跃响应曲线
num=[8 8];
den=[conv([1,6,10],[1,15]),0,0];
G=tf(num,den);
G_c=feedback(G,1);
step(G_c)
结果分析及说明:因为开环传递函数在S右半平面没有极点,即P=0,从Nyquist曲线可看出,奈氏曲线没有包围(-1,0),即R=0,根据奈氏稳定判据,Z=P-R=0,所以该系统稳定,从阶跃响应曲线上也可以看出,系统稳定。
(3)Nyquist图源程序
num=[4/3 4];
den=[conv([0.02,1],conv([0.05,1],[0.1,1])),0];
G=tf(num,den);
[z,p,k]=tf2zp(num,den);
p
nyquist(num,den)
p =
0
-50.0000
-20.0000
-10.0000
Bode图源程序
num=[4/3 4];
den=[conv([0.02,1],conv([0.05,1],[0.1,1])),0];
w=logspace(-2,3,100);
[mag,phase,w]=bode(num,den,w);
subplot(2,1,1);
semilogx(w,20*log10(mag));
grid on
xlabel('w/s^-1');
ylabel('L(w)/dB');
title('Bode Diagram of G(s)=4 (1/3s+1)/[s(0.02s+1)( 0.05 s+1)( 0.1s+1)]');
subplot(2,1,2);
semilogx(w,phase);
grid on
xlabel('w/s^-1');
ylabel('Q(0)');
Nichols图源程序
num=[4/3 4];
den=[conv([0.02,1],conv([0.05,1],[0.1,1])),0];
[mag,phase]=nichols(num,den,w);
plot(phase,20*log10(mag))
ngrid
阶跃响应曲线
num=[4/3 4];
den=[conv([0.02,1],conv([0.05,1],[0.1,1])),0];
G=tf(num,den);
G_c=feedback(G,1);
step(G_c)
结果分析及说明:因为开环传递函数在S右半平面没有极点,即P=0,从Nyquist曲线可看出,奈氏曲线没有包围(-1,0),即R=0,根据奈氏稳定判据,Z=P-R=0,所以该系统不稳定,从阶跃响应曲线上也可以看出,系统阶跃响应最终趋于稳定,所以系统稳定。
3、
num=[1 1];
den=[0.1 1 0 0];
margin(num,den);
[gm,pm,wcg,wcp]=margin(num,den);
gm,pm,wcg,wcp
gm =
0
pm =
44.4594
wcg =
0
wcp =
1.27
结果分析及说明:Gm,Pm分别为系统的幅值裕量和相位裕量,而Wcg,Wcp分别为幅值裕量和相位裕量处相应的频率值。从结果中可以得出:相位裕量pm=44.4954>0,所以系统是稳定的;φ(ω)=-180-arctan(0.1ω)+arctan(ω)>=180 ,当且仅当ω=0时φ(ω)=0,所以其相位穿越频率Wcg=0,幅值裕量gm=0。
四、实验心得与体会
频域分析法分析系统具有很多优点,控制系统及其元部件的频率特性可以用分析法和实验法获得,并可用多种形式的曲线表示,因而系统分析和控制器的设计可以应用图解法进行;控制系统的频域设计可以兼顾动态响应和噪声抑制两方面的要求;频域分析法不仅适用于线性定常系统,还可以推广应用于某些非线性控制系统。通过这次实验,我学会了用MATLAB来分析系统的频域特性,频域特性的图解法主要有,Nyquist曲线、Bode图和Nichols图,Nyquist曲线和Bode图主要用来分析系统的开环频率特性,Nichols图主要用来分析系统的闭环特性,手工绘制Nyquist曲线、Bode图很麻烦,而高阶系统只能大概地绘出,这给我们分析系统带来了很大的不便,使用MATLAB软件可以方便而精确地绘制出Nyquist曲线、Bode图和Nichols图,使得我们分析和设计系统更加方便。