资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
课程名称: 控制理论乙 指导老师: 成绩:
实验名称: 控制系统的频域分析 实验类型: 同组学生姓名:
一、 实验目的和要求( 必填) 二、 实验内容和原理( 必填)
三、 主要仪器设备( 必填) 四、 操作方法和实验步骤
五、 实验数据记录和处理 六、 实验结果与分析( 必填)
七、 讨论、 心得
一、 实验目的和要求
用计算机辅助分析的方法, 掌握频率分析法的三种方法, 即Bode图、 Nyquist曲线、 Nichols图。
二、 实验内容和原理
1. 实验内容
( 1) 一系统开环传递函数为
绘制系统的bode图, 判断闭环系统的稳定性, 并画出闭环系统的单位冲击响应。
( 2) 一多环系统
其结构如图所示
R(s)
C(s)
10
G(S)
试绘制Nyquist频率曲线和Nichols图, 并判断稳定性。
2. 实验原理
( 1) Bode(波特)图
设已知系统的传递函数模型:
则系统的频率响应可直接求出:
MATLAB中, 可利用bode和dbode绘制连续和离散系统的Bode图。
( 2) Nyquist(奈奎斯特)曲线
Nyquist曲线是根据开环频率特性在复平面上绘制幅相轨迹, 根据开环的Nyquist线, 可判断闭环系统的稳定性。
反馈控制系统稳定的充要条件是, Nyquist曲线按逆时针包围临界点(-1, j0)p圈, 为开环传递函数位于右半s一平面的极点数。在MATLAB中, 可利用函数nyquist和dnyquist绘出连续和离散系统的乃氏曲线。
( 3) Nicho1s(尼柯尔斯)图
根据闭环频率特性的幅值和相位可作出Nichols图, 从而可直接得到闭环系统的频率特性。在MATLA中, 可利用函数nichols和dnichols绘出连续和离散系统的Nichols图。
3. 实验要求
( 1) 编制MATLAB程序, 画出实验所要求的Bode图 、 Nyquist图 、 Nichols图。
( 2) 在Simulink仿真环境中, 组成系统的仿真框图, 观察单位阶跃响应曲线并记录之。
三、 主要仪器设备
计算机一台以及matlab软件, simulink仿真环境
四、 实验源代码
1. MATLAB函数实现
>> A=[50];
>> B=[1 4 -7 10];
>> GG=tf(A,B)
GG =
50
----------------------
s^3 + 4 s^2 - 7 s + 10
Continuous-time transfer function.
>> bode(GG)
>> figure
>> impulse(GG)
>> C=[0 0 16.7 0];
>> D=conv(conv([0.85 1],[0.25 1]),[0.0625 1]);
>> G1=tf(C,D)
G1 =
16.7 s
--------------------------------------
0.01328 s^3 + 0.2813 s^2 + 1.163 s + 1
Continuous-time transfer function.
>> G2=G1/(G1+1)
G2 =
0.2218 s^4 + 4.697 s^3 + 19.41 s^2 + 16.7 s
-------------------------------------------------------------------------------
0.0001764 s^6 + 0.007471 s^5 + 0.3318 s^4 + 5.377 s^3 + 21.33 s^2 + 19.03 s + 1
Continuous-time transfer function.
>> G3=10*G2
G3 =
2.218 s^4 + 46.97 s^3 + 194.1 s^2 + 167 s
-------------------------------------------------------------------------------
0.0001764 s^6 + 0.007471 s^5 + 0.3318 s^4 + 5.377 s^3 + 21.33 s^2 + 19.03 s + 1
Continuous-time transfer function.
>> G4=G3/(G3+1)
G4 =
0.0003912 s^10 + 0.02485 s^9 + 1.121 s^8 + 28.99 s^7 + 365.5 s^6 + 2143 s^5 + 5934 s^4 + 7302 s^3 + 3371 s^2
+ 167 s
----------------------------------------------------------------------------------------------------------------
3.111e-08 s^12 + 2.636e-06 s^11 + 0.0005641 s^10 + 0.03171 s^9 + 1.319 s^8 + 32.88 s^7 + 408.9 s^6 + 2385 s^5
+ 6594 s^4 + 8124 s^3 + 3776 s^2 + 205.1 s + 1
Continuous-time transfer function.
>> figure
>> nyquist(G4)
>> figure
>> nichols(G4)
2. simulink仿真实现
( 1) 根据原来的传递函数绘制出如下图所示的控制系统模块图
题目一
题目二
( 2) 运行之后, 能够得到两道题的控制系统的单位阶跃响应图像
题目一
\
题目二
五、 心得、 体会
1. 对于第一个系统来说, 观察其伯德图可知, 当其幅频特性穿越0dB线( 即剪切频率) 时所对应的系统相角, 因此其相位裕度, 由此可见系统是不稳定的。经过观察其单位冲激响应和单位阶跃响应也能够得到同样的结论。
2. 经过对第二个系统的奈奎斯特曲线分析可知, 由于开环系统在右半平面没有开环极点, 而且奈奎斯特曲线包围( -1, j0) 的圈数为0, 因此Z=0, 因此系统是稳定的, 经过观察其阶跃响应也能够得到同样的结论。
3. 经过本次实验, 我们了解并掌握了怎么样用MATLAB做出控制系统的频域分析, 包括开环Bode图、 Nyquist图、 Nichols图的制作过程以及怎样用simulink绘制并仿真出来比较复杂的控制系统。一般的MATLAB函数运用的都是如[输出]=function[输入]这种类型, 而此次MATLAB函数用了直接定义法, 专门对这一个控制系统而实行的运行函数。这种函数的优点在于, 在调用过程中, 不需要填写输入, 直接打出来函数的名称就能够让MATLAB自动运行; 缺点是缺乏普适性, 当遇到下一个需要做频域分析的函数的时候, 需要将原来的函数打开, 在函数内部修改数据, 然后再在MATLAB上运行, 比较麻烦。
4. 用MATLAB进行稳定性分析, 大致上有以下几种形式:
(1) 手算出来开环传递函数和闭环传递函数之后, 用比较基本的tf()以及nyquist()函数等进行分析。优点是省去了在计算机由原始数据要编写的各种计算式; 缺点是增加了人为出错率出错的概率比较高。
(2) 自己编写一些程序, 来达到用代码实现对原来的控制系统的描述与分析。优点是出错率少, 容错率高; 缺点是代码编译与运行过程中容易出错。
(3) 用simulink方法, 将控制系统的模块图直接画在simulink的仿真分析图上, 而且编辑好原始数据, 让系统自动分析。优点是非常简单, 且不容易出错, 具有极高的普适性; 缺点是无法显示系统分析的过程, 达不到很好的学习效果。
展开阅读全文