控制系统的频域分析实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称: 控制理论乙 指导老师: 成绩:__________________ 实验名称: 控制系统的频域分析 实验类型:________________同组学生姓名:__________
一、实验目的和要求
用计算机辅助分析的方法,掌握频率分析法的三种方法,即Bode 图、Nyquist 曲线、Nichols 图。
二、实验内容和原理 (一)实验原理
1.Bode(波特)图
设已知系统的传递函数模型:
1
1
211
121)(+-+-+⋅⋅⋅+++⋅⋅⋅++=n n n m m m a s a s a b s b s b s H 则系统的频率响应可直接求出:
1
1
211
121)()()()()(+-+-+⋅⋅⋅+++⋅⋅⋅++=n n n m m m a j a j a b j b j b j H ωωωωω MATLAB 中,可利用bode 和dbode 绘制连续和离散系统的Bode 图。 2.Nyquist(奈奎斯特)曲线
Nyquist 曲线是根据开环频率特性在复平面上绘制幅相轨迹,根据开环的Nyquist 线,可判断闭环系统的稳定性。
反馈控制系统稳定的充要条件是,Nyquist 曲线按逆时针包围临界点(-1,j0)p 圈,为开环传递函数位于右半s 一平面的极点数。在MA TLAB 中,可利用函数nyquist 和dnyquist 绘出连续和离散系统的乃氏曲线。
3.Nicho1s(尼柯尔斯)图
根据闭环频率特性的幅值和相位可作出Nichols 图,从而可直接得到闭环系统的频率特性。在
MATLAB 中,可利用函数nichols 和dnichols 绘出连续和离散系统的Nichols 图。 (二)实验内容
1.一系统开环传递函数为
)
2)(5)(1(50
)(-++=
s s s s H
绘制系统的bode 图,判断闭环系统的稳定性,并画出闭环系统的单位冲击响应。 2.一多环系统
)
10625.0)(125.0)(185.0(7.16)(+++=
s s s s
s G
其结构如图所示
试绘制Nyquist 频率曲线和Nichols 图,并判断稳定性。
(三)实验要求
1.编制MATLAB程序,画出实验所要求的Bode图、Nyquist图、Nichols图。
2.在Simulink仿真环境中,组成系统的仿真框图,观察单位阶跃响应曲线并记录之。
三、主要仪器设备
计算机一台以及matlab软件,simulink仿真环境
四、操作方法与实验步骤
1、程序解决方案:
在MATLAB中建立文件pinyu.m,其程序如下:
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
其输出的曲线如下
2、Simulink仿真环境实现方式
第一题:在simulink中建立以下模型:
点击运行,得到如下所示的波形:
第二题:在simulink中建立以下模型:
点击运行,得到如下所示的波形:
五、实验结果与分析
1、对于第一个系统来说,观察其伯德图可知,当其幅频特性穿越0dB线(即剪切频率)时所对应的系统相角()180
ϕω<-,因此其相位裕度0
γ<,由此可见系统是不稳定的。通过观察其单位冲激响应和单位
阶跃响应也可以得到同样的结论。
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文件只需要在命令窗口中输入文件名直接运行即可。