资源描述
实验三 频域分析
一、实验目的
1、熟练绘制系统的Nyquist和Bode图。
2、熟练掌握频域法分析系统。
二、 实验设备
PC机及MATLAB平台
三、实验原理及方法
1、绘制Bode图
绘制bode图的指令为
bode(num,den)
该指令表示在同一幅图中,分上、下两部分生成幅频特性和相频特性曲线。虽未明确给出频率的取值范围,但Matlab在频率响应范围内能自动选取频率值绘图。若要具体给出频率的范围,可调用指令logspace(a,b,n)和bode(num,den,w)来绘制bode图。其中logspace(a,b,n)是产生频率响应自变量w的采样点,即在十进制数10a和10b之间产生n个十进制对数分度的等距离点,采样点n的具体值由用户确定。
例:已知一单位反馈控制系统的开环传递函数为 ,试绘制该传递函数对应的bode图。
解:先将传递函数改写为如下形式:,然后使用bode(num,den)指令。
程序如下:
num=[1 10];den=[0.5 1 0];
w=logspace(-2,3,100);
bode(num,den,w);
grid on;
title(‘bode diagram of G(s)=10(1+0.1s)/s(1+0.5s)’);
若需要指定幅值和相角的取值范围,则需要调用如下的指令:
[mag,phase,w]=bode(num,den,w)
该指令等号左方的变量mag和phase试表示频率响应的幅值和相角,这些幅值和相角均由所选频率点的频率值计算后得出。由于幅值的单位不是dB,需增加一条指令:
mag dB=20*lg10(mag)
上述两条指令在应用时,还需加上如下两条指令,才能在屏幕上显示完整的bode图。
Subplot(2 1 1) semilgx(w,20*lg10(mag));
Subplot( 2 1 2) semilgx(w,phase);
例:已知系统的开环传递函数为,要求在间作出该系统的bode图。
程序如下:
num=[6 30];den=[1 16 100 0];
w=logspace(-2,3,100);
[mag,phase,w]=bode(num,den,w);
subplot(211);
semilogx(w,20*log10(mag));
grid on;
xlabel('w/s^-1');ylabel('L(w)/dB');
title('bode diagram of G(s)=30(1+0.2s)/s[s^2+16s+100)');
subplot(212);
semilogx(w,phase);
xlabel('w/s^-1');ylabel('Φ/。');
grid on;
2、绘制Nyquist曲线
根据系统的开环传递函数,应用如下的Matlab指令:
nyquist(num,den)
就能在屏幕上显示出所要绘制的Nyquist曲线。
例:已知一系统的开环传递函数为,试用Matlab绘制该系统的Nyquist曲线。
程序如下:
num=[1];
den=[1 1.8 1.8 1];
nyquist(num,den);
v=[-1 1.5 -1.5 1.5];axis (v);
grid on;
title('Nyquist of G(s)=1/s^3+1.8s^2+1.8s+1)');
当需要指定频率时,可用指令nyquist(num,den,w)。的单位为s-1,系统的频率响应值就是在指定频率点上计算获得。Nyqusit指令还有两种等号左端含有变量的形式
[Re,Im]=nyquist(num,den,w)
[Re,Im,w]=nyquist(num,den)
试用以上两条指令时,需增加plot(Re,Im)指令。
例:已知某系统开环传递函数为,试用Matlab绘制该系统的Nyquist曲线。
程序如下:
num=[2.5];
den=[0.01 0.25 1 0];
w1=0.1:0.1:10;
w2=10:2:100;
w3=100:5:1000;
w=[w1 w2 w3];
[Re,Im]=nyquist(num,den,w);
plot(Re(:,:),Im(:,:),Re(:,:),-Im( :,:));
v=[-2 1 -3 3];axis(v);
grid on;
title('Nyquist of G(s)=2.5/s(0.2s+1)(0.05s+1)');
xlabel('Re');ylabel('Im');
如果只需要画出由变化的nyqusit曲线,则只要把plot指令修改为:
plot(Re(:,:),Im(:,:))
3、用Matlab求系统的相位裕量和增益裕量
相位裕量和增益裕量时衡量系统相对稳定性的两个重要指标,应用Matlab如下指令即可求出。
[gm,pm,wcg,wcp]=margin(mag,phase,w)
该指令等号右方为幅值(不是以dB为单位)、相角和频率,由bode或nyquist指令得到。等号左方为待求的增益裕量gm(不是以dB为单位)、相位裕量pm(以角度为单位)、相位为的频率wcg和幅值为1(或0dB)处的频率wcp。gm和pm也可用下列指令求取:
margin(mag,phase,w)
此指令中虽未标出待求参数,但它能生成带有裕量标记(垂直线)的bode图,并在命令窗口给出相应的相位裕量和增益裕量以及它们对应的频率值。
例:已知某系统开环传递函数为,试用Matlab绘制该系统的Bode图,并在命令窗口给出相应的增益裕量和相位裕量。
程序如下:
h1=tf([2.5],[1 0]);
h2=tf([1],[0.2 1]);
h3=tf([1],[0.05 1]);
h=h1*h2*h3;
[num,den]=tfdata(h);
[mag,phase,w]=bode(num,den);
subplot(211);
semilogx(w,20*log10(mag));
grid on;
xlabel('w/s^-1');ylabel('L(w)/dB');
title('bode diagram of G(s)=2.5/s(0.2s+1)(0.05s+1)');
subplot(212);
semilogx(w,phase);
xlabel('w/s^-1');ylabel('Φ/。');
grid on;
[gm,pm,wcg,wcp]=margin(mag,phase,w)
gm =
10
pm =
59.1337
wcg =
10
wcp =
2.2603
四、实验内容
1、已知单位负反馈系统的开环传递函数为
(1)绘制开环对数幅频特性曲线,判断系统稳定性并求增益裕量以及相位裕量;
(2)求当系统有一延迟环节时,τ取何值才能使系统稳定。
(3)求当输入为1(t),t,t2时系统的稳态误差。
2、典型二阶系统
绘制=6时ξ取不同值时的Bode图。
3、单位负反馈系统开环传递函数为,当k=1、3、5、.....15时,系统的奈氏曲线形状如何变化,分析k对系统的稳定性有什么影响。
4、已知单位负反馈系统开环传递函数为
求系统的幅值裕量、相位裕量、和相应的交界频率,并判断稳定性。
展开阅读全文