控制系统的时域分析实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称: 控制理论 指导老师: 成绩:__________________ 实验名称: 控制系统的时域分析 实验类型:________________同组学生姓名:__________
一、实验目的和要求
1.用计算机辅助分析的办法,掌握系统的时域分析方法。
2.熟悉Simulink 仿真环境。
二、实验内容和原理
(一)实验原理
系统仿真实质上就是对系统模型的求解,对控制系统来说,一般模型可转化成某个微分方程或差分方程表示,因此在仿真过程中,一般以某种数值算法从初态出发,逐步计算系统的响应,最后绘制出系统的响应曲线,进而可分析系统的性能。控制系统最常用的时域分析方法是,当输入信号为单位阶跃和单位冲激函数时,求出系统的输出响应,分别称为单位阶跃响应和单位冲激响应。在MA TLAB 中,提供了求取连续系统的单位阶跃响应函数step ,单位冲激响应函数impulse ,零输入响应函数initial 等等。
(二)实验内容
二阶系统,其状态方程模型为
•1x -0.5572 -0.7814 1x 1
= + u
•2x 0.7814 0 2x 0
1x
y = [1.9691 6.4493] +[0] u
2x
1.画出系统的单位阶跃响应曲线;
2.画出系统的冲激响应曲线;
3.当系统的初始状态为x0=[1,0]时,画出系统的零输入响应;
4.当系统的初始状态为零时,画出系统斜坡输入响应;
(三)实验要求
1.编制MA TLAB 程序,画出单位阶跃响应曲线、冲击响应曲线、系统的零输入响应、斜坡输入响应;
2.在Simulink 仿真环境中,组成系统的仿真框图,观察单位阶跃响应曲线并记录之。
三、主要仪器设备
计算机一台以及matlab 软件,simulink 仿真环境
四、操作方法与实验步骤
1、程序解决方案:
G=ss(A,B,C,D);
G1=tf(G);%将状态空间模型转换为传递函数
figure;step(G1);%画阶跃响应曲线
grid on;
title('系统单位阶跃响应');
xlabel('t/s');ylabel('c(t)');
figure;impulse(G1);%画冲激响应
title('系统冲激响应');
xlabel('t/s');ylabel('c(t)');
grid on;
x0=[1 0];
figure;initial(G,x0);%画零输入响应
title('x0=[1,0]时的零输入响应');
xlabel('t/s');ylabel('c(t)');
grid on;
%斜坡响应
s=tf('s')
G2=G1/s^2;
figure;impulse(G2,10);
title('斜坡输入响应');
xlabel('t/s');ylabel('c(t)');
grid on;
end
在MATLAB命令窗口中输入下列命令:并返回系统的传递函数
>> clear
>> A=[-0.5572,-0.7814;0.7814,0];
>> B=[1 0]';
>> C=[1.9691 6.4493];
>> D=[0];
>> G1=shiyu(A,B,C,D)
Transfer function:
1.969 s + 5.039
-----------------------
s^2 + 0.5572 s + 0.6106
其输出的曲线如下
2、Simulink仿真环境实现方式
在simulink中建立以下模型:
其中,state-space模块设置如下图:
点击运行,得到如下所示的波形:
五、讨论、心得
通过此次MATLAB实验,我掌握了利用MATLAB工具分析控制理论中一些时域的问题。整个问题并不是很难。在编写程序时,选择了编写一个function的.m文件,同时返回了系统的传递函数并输出了所需要的四幅图像。这样的方法具有通用性,当ABCD四个矩阵发生变化时不需要重新写程序,直接调用该函
数即可实现功能。这是出于程序的通用性方面的考虑。在编写程序的过程中,熟悉了一些时域分析MATLAB 函数的调用方式。关于simulink模块的实现,在之前实验的仿真就已经用过。只不过之前图像的做法是输出数组,在命令窗口中调用plot函数画出来,这主要是因为示波器的图像背景是黑颜色的,不方便打印。通过查资料,此次实验我解决了这个问题。方式如下:
在出现示波器的图像后,在命令窗口中输入如下命令
>> set(0,'ShowHiddenHandles','On')
>> set(gcf,'menubar','figure');
然后在示波器图像上把需要修改的颜色进行修改即可。
总的来说,本实验内容不难,只是需要对软件有一定的熟悉度。因此本实验所花费的大多数时间也是在不断熟悉里面的函数命令,同时也感觉到了MATLAB的强大,许多的东西只需要借助计算机就可以得到结果。