课程名称: 控制理论乙 指导老师: 成绩:__________________ 实验名称: 控制系统的频域分析 实验类型:________________同组学生姓名:__________
一、实验目的和要求
用计算机辅助分析的方法,掌握频率分析法的三种方法,即Bode图、Nyquist曲线、Nichols图。
二、实验内容和原理 (一)实验原理
1.Bode(波特)图
设已知系统的传递函数模型:
b1sm?b2sm?1?????bm?1 H(s)?nn?1a1s?a2s?????an?1则系统的频率响应可直接求出:
b1(j?)m?b2(j?)m?1?????bm?1 H(j?)?nn?1a1(j?)?a2(j?)?????an?1 MATLAB中,可利用bode和dbode绘制连续和离散系统的Bode图。 2.Nyquist(奈奎斯特)曲线
Nyquist曲线是根据开环频率特性在复平面上绘制幅相轨迹,根据开环的Nyquist线,可判断闭环系统的稳定性。
反馈控制系统稳定的充要条件是,Nyquist曲线按逆时针包围临界点(-1,j0)p圈,为开环传递函数位于右半s一平面的极点数。在MATLAB中,可利用函数nyquist和dnyquist绘出连续和离散系统的乃氏曲线。
3.Nicho1s(尼柯尔斯)图
根据闭环频率特性的幅值和相位可作出Nichols图,从而可直接得到闭环系统的频率特性。在
MATLAB中,可利用函数nichols和dnichols绘出连续和离散系统的Nichols图。 (二)实验内容
1.一系统开环传递函数为
H(s)?50
(s?1)(s?5)(s?2) 绘制系统的bode图,判断闭环系统的稳定性,并画出闭环系统的单位冲击响应。 2.一多环系统
G(s)?16.7s
(0.85s?1)(0.25s?1)(0.0625s?1)C(s) 其结构如图所示
R(s) 10 G(S)
试绘制Nyquist频率曲线和Nichols图,并判断稳定性。
1
(三)实验要求
1.编制MATLAB程序,画出实验所要求的Bode图 、 Nyquist图 、Nichols图。 2.在Simulink仿真环境中,组成系统的仿真框图,观察单位阶跃响应曲线并记录之。 三、主要仪器设备
计算机一台以及matlab软件,simulink仿真环境
四、操作方法与实验步骤
1、程序解决方案:
在MATLAB中建立文件pinyu.m,其程序如下: %频域响应函数 a0=[0 0 0 50]; b1=[1 1]; b2=[1 5]; b3=[1 -2]; b0=conv(b1,conv(b2,b3)); H1=tf(a0,b0); fprintf(‘第一题开环传递函数’); H1 figure; bode(H1);title(‘第一题开环伯德图’); xlabel('w'); grid on; %%%%闭环传递函数 aa=a0; bb=b0+a0; H=tf(aa,bb); fprintf(‘第一题闭环传递函数’); H figure; impulse(H,20);title(‘第一题单位冲激响应’); xlabel('t/s');ylabel('c(t)'); grid on; %%第二题 c0=[0 0 16.7 0]; d0=conv(conv([0.85,1],[0.25,1]),[0.0625,1]); d1=c0+d0; G1=tf(c0,d0); Gs=tf(10*c0,d1); cc=10*c0; dd=10*c0+d1; G=tf(cc,dd); fprintf(‘第二题闭环传递函数’); G figure; 2
nyquist(Gs);title(‘第二题Nyquist图’); figure; nichols(Gs);title(‘第二题Nichols图’); 在MATLAB命令窗口中输入下列命令,得到结果 >> pinyu 第一题开环传递函数 Transfer function: 50 ---------------------- s^3 + 4 s^2 - 7 s - 10 第一题闭环传递函数 Transfer function: 50 ---------------------- s^3 + 4 s^2 - 7 s + 40 第二题闭环传递函数 Transfer function: 167 s -------------------------------------- 0.01328 s^3 + 0.2813 s^2 + 184.9 s + 1 其输出的曲线如下
3
4
5
2、Simulink仿真环境实现方式
第一题:在simulink中建立以下模型:
点击运行,得到如下所示的波形:
第二题:在simulink中建立以下模型:
点击运行,得到如下所示的波形:
五、实验结果与分析
1、对于第一个系统来说,观察其伯德图可知,当其幅频特性穿越0dB线(即剪切频率)时所对应的系统相角??????180,因此其相位裕度??0,由此可见系统是不稳定的。通过观察其单位冲激响应和单位
6
阶跃响应也可以得到同样的结论。
2、通过对第二个系统的奈奎斯特曲线分析可知,由于开环系统在右半平面没有开环极点,并且奈奎斯特曲线包围(-1,j0)的圈数为0,因此Z=0,所以系统是稳定的,通过观察其阶跃响应也可以得到同样的结论。
六、讨论、心得
通过该实验,我了解了利用MATLAB进行系统稳定性分析的方法。大体来说,有以下几种方式:一种是自己手算出系统的开环传递函数(多数时候题目会给出),然后调用tf()函数和nyquist()函数来求得系统的开环奈奎斯特曲线,通过判断N的值从而计算出Z的值判断系统是否稳定;当遇到有多个环节或者反馈系统中还嵌有反馈时,可以通过自己编写的一些程序来求出系统的开环传递函数,从而调用nyquist(Gs)函数来求奈奎斯特曲线,当然求闭环传递函数的奈奎斯特曲线然后根据曲线对(0,j0)包围的圈数判断,这与根据开环传递函数的奈奎斯特曲线对(-1,j0)包围的圈数判断是等效的。还有一种方法是利用matlab中的simulink模块,直接建立系统的模型,通过示波器观察其单位阶跃响应曲线来分析系统的稳定性。如果响应是收敛的,则系统稳定,若响应发散,则系统是不稳定的。
本实验主要做的工作在编写了一个.m文件,通过运行该文件可以一次性完成程序解决方案,得到希望的结果和图像,这种方法与上一个MATLAB中编写的function文件时有所区别的。Function文件在调用时格式为[output]=function(input),程序运行时有返回值,而本实验编写的.m文件只需要在命令窗口中输入文件名直接运行即可。
7