自动控制理论
上
机
实
验
报
告
学院:机电工程学院 班级:13级电信一班 姓名: 学号:
实验三 线性系统的频域分析
一、实验目的
1.掌握用MATLAB 语句绘制各种频域曲线。
2.掌握控制系统的频域分析方法。
二、基础知识及MATLAB 函数
频域分析法是应用频域特性研究控制系统的一种经典方法。它是通过研究系统对正弦信号下的稳态和动态响应特性来分析系统的。采用这种方法可直观的表达出系统的频率特性,分析方法比较简单,物理概念明确。
1.频率曲线主要包括三种:Nyquist图、Bode 图和Nichols 图。
1)Nyquist 图的绘制与分析
MATLAB 中绘制系统Nyquist 图的函数调用格式为:
nyquist(num,den) 频率响应w 的范围由软件自动设定
nyquist(num,den,w) 频率响应w 的范围由人工设定
[Re,Im]= nyquist(num,den) 返回奈氏曲线的实部和虚部向
量,不作图
例4-1:已知系统的开环传递函数为G (s ) =
图,并判断系统的稳定性。
num=[2 6];
den=[1 2 5 2];
[z,p,k]=tf2zp(num,den); p
nyquist(num,den)
极点的显示结果及绘制的Nyquist 图如图
4-1所示。由于系统的开环右根数P=0,系统的
Nyquist 曲线没有逆时针包围(-1,j0)点,所
以闭环系统稳定。
p =
-0.7666 + 1.9227i
-0.7666 - 1.9227i 图4-1 开环极点的显示结果及Nyquist 图
2s +6,试绘制Nyquist 32s +2s +5s +2
-0.4668
若上例要求绘制ω∈(10-2, 103) 间的Nyquist 图,则对应的MATLAB 语句为:
num=[2 6];
den=[1 2 5 2];
w=logspace(-1,1,100); 即在10-1和101之间,产生100个等距
离的点
nyquist(num,den,w)
2)Bode 图的绘制与分析
系统的Bode 图又称为系统频率特性的对数坐标图。Bode 图有两张图,分别绘制开环频率特性的幅值和相位与角频率ω的关系曲线,称为对数幅频特性曲线和对数相频特性曲线。
MATLAB 中绘制系统Bode 图的函数调用格式为:
bode(num,den) 频率响应w 的范围由软件自动设定
bode(num,den,w) 频率响应w 的范围由人工设定
[mag,phase,w]=bode(num,den,w) 指定幅值范围和相角范围的
伯德图
例4-2:已知开环传递函数为G (s ) =
num=[0 0 6 30];
den=[1 16 100 0];
w=logspace(-2,3,100);
bode(num,den,w)
grid
绘制的Bode 图如图4-2(a)所示,其频率范围由人工选定,而伯德图的幅值范围和相角范围是自动确定的。当需要指定幅值范围和相角范围时,则需用下面的功能指令:
[mag,phase,w]=bode(num,den,w) 30(0. 2s +1) ,试绘制系统的伯德图。 2s (s +16s +100)
图4-2(a) 幅值和相角范围自动确定的Bode 图 图4-2(b) 指定幅值和相角范围的Bode 图
mag,phase 是指系统频率响应的幅值和相角,由所选频率点的w 值计算得出。其中,幅值的单位为dB ,它的算式为magdB=20lg10(mag)。
指定幅值范围和相角范围的MATLAB 调用语句如下,图形如图4-2(b)所示。
num=[0 0 15 30];
den=[1 16 100 0];
w=logspace(-2,3,100);
[mag,phase,w]=bode(num,den,w); %指定Bode 图的幅值范围和相角范围
subplot(2,1,1); %将图形窗口分为2*1个子图,在第1个子图处绘制图形
semilogx(w,20*log10(mag)); %使用半对数刻度绘图,X 轴为log10刻度,Y 轴为线性刻度
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(2,1,2);%将图形窗口分为2*1个子图,在第2个子图处绘制图形
semilogx(w,phase);
grid on
xlabel(‘w/s^-1’); ylabel(‘ (0) ’);
注意:半Bode 图的绘制可用semilgx 函数实现,其调用格式为
semilogx(w,L),其中L=20*log10(abs(mag))。
3)Nichols 图的绘制
在MATLAB 中绘制Nichols 图的函数调用格式为:
[mag,phase,w]=nichols(num,den,w)
Plot(phase,20*log10(mag))
例4-3:单位负反馈的开环传递函数为G (s ) =10,绘制Nichols 图。s 3+3s 2+9s
对应的MATLAB 语句如下,所得图形如图4-3所示:
num=10; den=[1 3 9 0];
w=logspace(-1,1,500);
[mag,phase]=nichols(num,den,w);
plot(phase,20*log10(mag))
ngrid %绘制nichols 图线上的网
格
2.幅值裕量和相位裕量 图4-3 N ichols 图
幅值裕量和相位裕量是衡量控制系统相对稳定性的重要指标,需要经过复杂的运算求取。应用MATLAB 功能指令可以方便地求解幅值裕量和相位裕量。
其MATLAB 调用格式为:
[Gm,Pm,Wcg,Wcp]=margin(num,den)
其中,Gm,Pm 分别为系统的幅值裕量和相位裕量,而Wcg,Wcp 分别为幅值裕量和相位裕量处相应的频率值。
另外,还可以先作bode 图,再在图上标注幅值裕量Gm 和对应的频率Wcg ,相位裕量Pm 和对应的频率Wcp 。其函数调用格式为:
margin(num,den)
例4-4:对于例4-3中的系统,求其稳定裕度,对应的MATLAB 语句如下:
num=10; den=[1 3 9 0];
[gm,pm,wcg,wcp]=margin(num,den);
gm,pm,wcg,wcp
gm = 2.7000
pm = 64.6998
wcg = 3.0000
wcp = 1.1936
如果已知系统的频域响应数据,还可以由下面的格式调用函数:
[Gm,Pm,Wcg,Wcp]=margin(mag,phase,w)
其中(mag,phase,w )分别为频域响应的幅值、相位与频率向量。
三、实验内容
1.典型二阶系统
2ωn G (s ) =2 2s +2ζωn s +ωn
绘制出ωn =6,ζ
图的影响。
解:当wn=6,ζ
num=[0 0 36]; =0.1,0.3,0.5,0.8,2的bode 图,记录并分析ζ对系统bode =0.1时 程序如下
den=[1 1.2 36];
w=logspace(-2,3,100);
bode(num,den,w)
grid
结果如图
当wn=6,阻尼系数为0.3时 程序如下 num=[36];
den=[1 3.6 36]; w=logspace(-2,3,100);
bode(num,den,w)
grid
结果如图
当wn=6,阻尼系数为0.5时 程序如下 num=[36];
den=[1 6 36]; w=logspace(-2,3,100);
bode(num,den,w)
Grid
结果如图
当wn=6,阻尼系数为0.8时 程序如下 num=[36];
den=[1 9.6 36]; w=logspace(-2,3,100);
bode(num,den,w)
Grid
结果如图
当wn=6,阻尼系数为0.8时 程序如下 num=[36];
den=[1 24 36]; w=logspace(-2,3,100);
bode(num,den,w)
Grid
结果如图
2.系统的开环传递函数为
G (s ) =G (s ) =
10
s (5s -1)(s +5)
2
8(s +1)
s 2(s +15)(s 2+6s +10)
G (s ) =
4(s /3+1)
s (0.02s +1)(0.05s +1)(0.1s +1)
绘制系统的Nyquist 曲线、Bode 图,说明系统的稳定性,并通过绘制阶跃响应曲线验证。
解:开环传递函数为G (s ) =num=[10];
den=[5 24 -5 0 0]; [z,p,k]=tf2zp(num,den); p nyquist(num,den)
10
程序如下
s 2(5s -1)(s +5)
Grid
Nyquist 曲线如下
num=[0 0 0 0 36];
den=[5 24 -5 0 0]; w=logspace(-2,3,100); bode(num,den,w) Grid 波特图如下
开环传递函数为G (s ) =程序如下 num=[8 8];
8(s +1)
s (s +15)(s 2+6s +10)
2
den=[5 21 100 150 0 0]; [z,p,k]=tf2zp(num,den); p nyquist(num,den) Grid
Nyquist 曲线如下
num=[0 0 0 0 0 36];
den=[5 21 100 150 0 0]; w=logspace(-2,3,100); bode(num,den,w) Grid 波特图如下
开环传递函数G (s ) =
4(s /3+1)
s (0.02s +1)(0.05s +1)(0.1s +1)
程序如下
num=[0 0 0 1.6 4];
den=[0.0001 0.08 0.17 1 0]; [z,p,k]=tf2zp(num,den); p nyquist(num,den) Grid
Nyquist 曲线如下
num=[0 0 0 1.6 4];
den=[0.0001 0.08 0.17 1 0]; w=logspace(-2,3,100); bode(num,den,w) grid 波特图如下
3.已知系统的开环传递函数为G (s ) =
s +1s (0.1s +1)
2
。求系统的开环截止频率、
穿越频率、幅值裕度和相位裕度。应用频率稳定判据判定系统的稳定性。 解:程序如下 num=[1 1]; den=[0.1 1 0 0];
[gm,pm,wcg,wcp]=margin(num,den); gm,pm,wcg,wcp 所求结果为 gm = Inf pm = 44.4594
wcg = Inf wcp = 1.2647 四、总结
经过这次实验,我学习了用MATLAB 进行线性系统的频域分析,其中最主要的是三种图的绘制:Nyquist 图、Bode 图和Nichols 图。结合课堂上对图形的学习,可以方便的通过MATLAB 绘制出来图形,然后进行相应的分析,也能和自己的草图相结合进行对比,得出结论。
自动控制理论
上
机
实
验
报
告
学院:机电工程学院 班级:13级电信一班 姓名: 学号:
实验三 线性系统的频域分析
一、实验目的
1.掌握用MATLAB 语句绘制各种频域曲线。
2.掌握控制系统的频域分析方法。
二、基础知识及MATLAB 函数
频域分析法是应用频域特性研究控制系统的一种经典方法。它是通过研究系统对正弦信号下的稳态和动态响应特性来分析系统的。采用这种方法可直观的表达出系统的频率特性,分析方法比较简单,物理概念明确。
1.频率曲线主要包括三种:Nyquist图、Bode 图和Nichols 图。
1)Nyquist 图的绘制与分析
MATLAB 中绘制系统Nyquist 图的函数调用格式为:
nyquist(num,den) 频率响应w 的范围由软件自动设定
nyquist(num,den,w) 频率响应w 的范围由人工设定
[Re,Im]= nyquist(num,den) 返回奈氏曲线的实部和虚部向
量,不作图
例4-1:已知系统的开环传递函数为G (s ) =
图,并判断系统的稳定性。
num=[2 6];
den=[1 2 5 2];
[z,p,k]=tf2zp(num,den); p
nyquist(num,den)
极点的显示结果及绘制的Nyquist 图如图
4-1所示。由于系统的开环右根数P=0,系统的
Nyquist 曲线没有逆时针包围(-1,j0)点,所
以闭环系统稳定。
p =
-0.7666 + 1.9227i
-0.7666 - 1.9227i 图4-1 开环极点的显示结果及Nyquist 图
2s +6,试绘制Nyquist 32s +2s +5s +2
-0.4668
若上例要求绘制ω∈(10-2, 103) 间的Nyquist 图,则对应的MATLAB 语句为:
num=[2 6];
den=[1 2 5 2];
w=logspace(-1,1,100); 即在10-1和101之间,产生100个等距
离的点
nyquist(num,den,w)
2)Bode 图的绘制与分析
系统的Bode 图又称为系统频率特性的对数坐标图。Bode 图有两张图,分别绘制开环频率特性的幅值和相位与角频率ω的关系曲线,称为对数幅频特性曲线和对数相频特性曲线。
MATLAB 中绘制系统Bode 图的函数调用格式为:
bode(num,den) 频率响应w 的范围由软件自动设定
bode(num,den,w) 频率响应w 的范围由人工设定
[mag,phase,w]=bode(num,den,w) 指定幅值范围和相角范围的
伯德图
例4-2:已知开环传递函数为G (s ) =
num=[0 0 6 30];
den=[1 16 100 0];
w=logspace(-2,3,100);
bode(num,den,w)
grid
绘制的Bode 图如图4-2(a)所示,其频率范围由人工选定,而伯德图的幅值范围和相角范围是自动确定的。当需要指定幅值范围和相角范围时,则需用下面的功能指令:
[mag,phase,w]=bode(num,den,w) 30(0. 2s +1) ,试绘制系统的伯德图。 2s (s +16s +100)
图4-2(a) 幅值和相角范围自动确定的Bode 图 图4-2(b) 指定幅值和相角范围的Bode 图
mag,phase 是指系统频率响应的幅值和相角,由所选频率点的w 值计算得出。其中,幅值的单位为dB ,它的算式为magdB=20lg10(mag)。
指定幅值范围和相角范围的MATLAB 调用语句如下,图形如图4-2(b)所示。
num=[0 0 15 30];
den=[1 16 100 0];
w=logspace(-2,3,100);
[mag,phase,w]=bode(num,den,w); %指定Bode 图的幅值范围和相角范围
subplot(2,1,1); %将图形窗口分为2*1个子图,在第1个子图处绘制图形
semilogx(w,20*log10(mag)); %使用半对数刻度绘图,X 轴为log10刻度,Y 轴为线性刻度
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(2,1,2);%将图形窗口分为2*1个子图,在第2个子图处绘制图形
semilogx(w,phase);
grid on
xlabel(‘w/s^-1’); ylabel(‘ (0) ’);
注意:半Bode 图的绘制可用semilgx 函数实现,其调用格式为
semilogx(w,L),其中L=20*log10(abs(mag))。
3)Nichols 图的绘制
在MATLAB 中绘制Nichols 图的函数调用格式为:
[mag,phase,w]=nichols(num,den,w)
Plot(phase,20*log10(mag))
例4-3:单位负反馈的开环传递函数为G (s ) =10,绘制Nichols 图。s 3+3s 2+9s
对应的MATLAB 语句如下,所得图形如图4-3所示:
num=10; den=[1 3 9 0];
w=logspace(-1,1,500);
[mag,phase]=nichols(num,den,w);
plot(phase,20*log10(mag))
ngrid %绘制nichols 图线上的网
格
2.幅值裕量和相位裕量 图4-3 N ichols 图
幅值裕量和相位裕量是衡量控制系统相对稳定性的重要指标,需要经过复杂的运算求取。应用MATLAB 功能指令可以方便地求解幅值裕量和相位裕量。
其MATLAB 调用格式为:
[Gm,Pm,Wcg,Wcp]=margin(num,den)
其中,Gm,Pm 分别为系统的幅值裕量和相位裕量,而Wcg,Wcp 分别为幅值裕量和相位裕量处相应的频率值。
另外,还可以先作bode 图,再在图上标注幅值裕量Gm 和对应的频率Wcg ,相位裕量Pm 和对应的频率Wcp 。其函数调用格式为:
margin(num,den)
例4-4:对于例4-3中的系统,求其稳定裕度,对应的MATLAB 语句如下:
num=10; den=[1 3 9 0];
[gm,pm,wcg,wcp]=margin(num,den);
gm,pm,wcg,wcp
gm = 2.7000
pm = 64.6998
wcg = 3.0000
wcp = 1.1936
如果已知系统的频域响应数据,还可以由下面的格式调用函数:
[Gm,Pm,Wcg,Wcp]=margin(mag,phase,w)
其中(mag,phase,w )分别为频域响应的幅值、相位与频率向量。
三、实验内容
1.典型二阶系统
2ωn G (s ) =2 2s +2ζωn s +ωn
绘制出ωn =6,ζ
图的影响。
解:当wn=6,ζ
num=[0 0 36]; =0.1,0.3,0.5,0.8,2的bode 图,记录并分析ζ对系统bode =0.1时 程序如下
den=[1 1.2 36];
w=logspace(-2,3,100);
bode(num,den,w)
grid
结果如图
当wn=6,阻尼系数为0.3时 程序如下 num=[36];
den=[1 3.6 36]; w=logspace(-2,3,100);
bode(num,den,w)
grid
结果如图
当wn=6,阻尼系数为0.5时 程序如下 num=[36];
den=[1 6 36]; w=logspace(-2,3,100);
bode(num,den,w)
Grid
结果如图
当wn=6,阻尼系数为0.8时 程序如下 num=[36];
den=[1 9.6 36]; w=logspace(-2,3,100);
bode(num,den,w)
Grid
结果如图
当wn=6,阻尼系数为0.8时 程序如下 num=[36];
den=[1 24 36]; w=logspace(-2,3,100);
bode(num,den,w)
Grid
结果如图
2.系统的开环传递函数为
G (s ) =G (s ) =
10
s (5s -1)(s +5)
2
8(s +1)
s 2(s +15)(s 2+6s +10)
G (s ) =
4(s /3+1)
s (0.02s +1)(0.05s +1)(0.1s +1)
绘制系统的Nyquist 曲线、Bode 图,说明系统的稳定性,并通过绘制阶跃响应曲线验证。
解:开环传递函数为G (s ) =num=[10];
den=[5 24 -5 0 0]; [z,p,k]=tf2zp(num,den); p nyquist(num,den)
10
程序如下
s 2(5s -1)(s +5)
Grid
Nyquist 曲线如下
num=[0 0 0 0 36];
den=[5 24 -5 0 0]; w=logspace(-2,3,100); bode(num,den,w) Grid 波特图如下
开环传递函数为G (s ) =程序如下 num=[8 8];
8(s +1)
s (s +15)(s 2+6s +10)
2
den=[5 21 100 150 0 0]; [z,p,k]=tf2zp(num,den); p nyquist(num,den) Grid
Nyquist 曲线如下
num=[0 0 0 0 0 36];
den=[5 21 100 150 0 0]; w=logspace(-2,3,100); bode(num,den,w) Grid 波特图如下
开环传递函数G (s ) =
4(s /3+1)
s (0.02s +1)(0.05s +1)(0.1s +1)
程序如下
num=[0 0 0 1.6 4];
den=[0.0001 0.08 0.17 1 0]; [z,p,k]=tf2zp(num,den); p nyquist(num,den) Grid
Nyquist 曲线如下
num=[0 0 0 1.6 4];
den=[0.0001 0.08 0.17 1 0]; w=logspace(-2,3,100); bode(num,den,w) grid 波特图如下
3.已知系统的开环传递函数为G (s ) =
s +1s (0.1s +1)
2
。求系统的开环截止频率、
穿越频率、幅值裕度和相位裕度。应用频率稳定判据判定系统的稳定性。 解:程序如下 num=[1 1]; den=[0.1 1 0 0];
[gm,pm,wcg,wcp]=margin(num,den); gm,pm,wcg,wcp 所求结果为 gm = Inf pm = 44.4594
wcg = Inf wcp = 1.2647 四、总结
经过这次实验,我学习了用MATLAB 进行线性系统的频域分析,其中最主要的是三种图的绘制:Nyquist 图、Bode 图和Nichols 图。结合课堂上对图形的学习,可以方便的通过MATLAB 绘制出来图形,然后进行相应的分析,也能和自己的草图相结合进行对比,得出结论。