实验三用MATLAB实现线性系统的频域分析.docx
- 文档编号:24241423
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:13
- 大小:93.88KB
实验三用MATLAB实现线性系统的频域分析.docx
《实验三用MATLAB实现线性系统的频域分析.docx》由会员分享,可在线阅读,更多相关《实验三用MATLAB实现线性系统的频域分析.docx(13页珍藏版)》请在冰豆网上搜索。
实验三用MATLAB实现线性系统的频域分析
实验三基于MATLAB的线性系统频域分析
[实验目的]
1.掌握MATLAB平台下绘制典型环节及系统开环传递函数的Bode图和Nyquis图(极坐标图)绘制方法;
2.掌握利用Bode图和Nyquis图对系统性能进行分析的理论和方法。
[实验指导]
一、绘制Bode图和Nyquis图
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:
振荡环节如下:
,做出该环节的Bode图和Nyquist图。
程序:
>>n=[16];d=[11016];sys=tf(n,d);figure
(1);bode(sys);figure
(2);nyquist(sys)
运行结果:
例2:
振荡环节如下:
,做出该环节的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];
fork=znbd=[12*k*wnwn^2];sys=tf(n,d);bode(sys,w);holdon;end
运行结果:
1.Nyquist图程序:
>>wn=8;znb=[0.05,0.1,0.5,0.7,2];w=logspace(0,2,10000);figure
(1);n=[wn^2];
fork=znbd=[12*k*wnwn^2];sys=tf(n,d);nyqiust(sys,w);holdon;end
运行结果:
例3:
系统开环传递函数如下:
①
,
②
,
③
,
做出各自的Bode图,并求①、③幅值裕度和相角裕度
1.Bode图程序:
>>n1=20;d1=conv([1,0],[0.5,1]);sys1=tf(n1,d1);figure
(2);bode(sys1);
n2=[0.231];d2=[0.055,1];sys2=tf(n2,d2);holdon;figure
(2);bode(sys2);
n=[4.620];d=conv([1,0],conv([0.055,1],[0.5,1]));sys=tf(n,d);holdon;figure
(2);bode(sys)
运行结果:
2.求①②幅值裕度和相角裕度程序(图形与数据)
>>n1=20;d1=conv([1,0],[0.5,1]);sys1=tf(n1,d1);figure
(1);margin(sys1)
运行结果:
>>n=[4.620];d=conv([1,0],conv([0.055,1],[0.5,1]));sys=tf(n,d);holdon;figure
(2);margin(sys)
运行结果:
2.求①②幅值裕度和相角裕度程序和结果(数据)
>>[Gm,Pm,Wcg,Wcp]=margin(sys1)
Gm=Inf
Pm=17.9642
Wcg=Inf
Wcp=6.1685
>>[Gm,Pm,Wcg,Wcp]=margin(sys)
Gm=Inf
Pm=50.4719
Wcg=Inf
Wcp=8.9542
例4:
系统开环传递函数为:
做出nyquist图,按nyquist稳定判据判断闭环系统的稳定性。
程序与结果:
>>n=conv([4],[31]);d=conv([10],[21]);sys2=tf(n,d)
Transferfunction:
12s+4
---------
2s^2+s
>>figure(4);nyquist(sys2);v=[-1,6,-60,60];axis(v)
ω=0-
ω=0+
分析判断:
p=0,nyquist曲线没有包围(-1,j0)点,闭环系统是稳定的。
下面通过闭环系统时域阶跃响应来验证闭环系统的稳定性:
>>n=conv([4],[31]);d=conv([10],[21]);G1=tf(n,d);G2=1;G=feedback(G1,G2,-1)
Transferfunction:
12s+4
----------------
2s^2+13s+4
>>figure(7);step(G)
例5:
系统开环传递函数为:
做出nyquist图,按nyquist稳定判据判断闭环系统的稳定性。
程序与结果:
>>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-
ω=0+
分析判断:
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)
[实验内容]
1.作各典型环节的Bode图和Nyquist图,参数自定。
2.自确定多环节开环传递函数,作Bode图和Nyquist图;求取幅值裕度和相角裕度,据此判断闭环系统稳定性与相对稳定性;按nyquist稳定判据判断闭环系统的稳定性。
在不同实验项目中都采用同一个开环传递函数,或各自采用各自的开环传递函数,皆可以。
[实验报告要求]
1.写明实验目的和实验原理。
实验原理中简要说明作Bode图和Nyquist图、求取幅值裕度和相角裕度采用的语句或函数、说明nyquist稳定判据的内容。
2.在实验过程和结果中,要列项目反映各自的实验内容,编写的程序,运行结果,按实验内容对结果的分析与判断。
程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。
不方便打印的同学,要求手动从屏幕上抄写和绘制。
3.简要写出实验心得和问题或建议。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验三 用MATLAB实现线性系统的频域分析 实验 MATLAB 实现 线性 系统 分析
![提示](https://static.bdocx.com/images/bang_tan.gif)