实验二 用MATLAB实现线性系统的时域分析(已完成)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二用MATLAB实现线性系统的时域分析

[实验目的]

1.研究线性系统在典型输入信号作用下的暂态响应;

2.熟悉线性系统的暂态性能指标;

3.研究二阶系统重要参数阻尼比ξ对系统动态性能的影响;

4.熟悉在MATLAB下判断系统稳定性的方法;

5.熟悉在MATLAB下求取稳态误差的方法。

[实验原理]

MATLAB中有两类用于求解系统时域响应的方法。

其一是利用MATLAB中的控制系统工具箱(Control System Toolbox)提供的函数(命令);

其二是Simulink仿真,它主要用于对复杂系统进行建模和仿真。

一、用MATLAB函数(命令)进行暂态响应分析

1求取线性连续系统的单位阶跃响应的函数——step

基本格式为:

step(sys)

step(num,den)

step(A,B,C,D)

step(sys,t)

step(sys1,sys2,…,t)

y=step(sys,t)

[y,t]=step(sys)

[y,t,x]=step(sys)

其中模型对象的类型如下:

sys=tf(num,den)多项式模型

sys=zpk(z,p,k)零点极点模型

sys=ss(a,b,c,d)状态空间模型

参数无t,表示时间向量t的范围自动设定。

参数有t,表示给定时间向量t,应该有初值,时间增量,末值,如t=0:0.01:2。

前5种函数可以绘出阶跃响应曲线;后3种函数不绘阶跃响应曲线,而是返回响应变量y,时间向量t,以及状态变量x。

2求取线性连续系统的单位脉冲响应的函数——impulse

基本格式为:

impulse(sys)

impulse(num,den)

impulse(sys,tf)

impulse(sys,t)

impulse(sys1,sys2,…,t)

y=impulse(sys,t)

[y,t]=impulse(sys)

[y,t,x]=impulse(sys)

3求取线性连续系统的单位斜坡响应

MATLAB没有直接求系统斜坡响应的功能函数。在求取控制系统的斜坡响应时,通常用阶跃响应函数step()求取传递函数为G(s)/s的系统的阶跃响应,则其结果就是原系统G(s)的斜坡响应。原因是,单位阶跃信号的拉氏变换为1/s,而单位斜坡信号的拉氏变换为1/s2。4.求取线性连续系统对任意输入的响应的函数——lsim

其格式为

y=lsim(sys,u,t)

其中,t为仿真时间,u为控制系统的任意输入信号。

5.暂态响应性能指标

在阶跃响应曲线窗口,使用右键弹出浮动菜单,选择其中的Characteristics子菜单,有4个子项:

①Peak Response峰值响应,点击将出现标峰值记点,单击此标记点可获得峰值幅值,超调量和峰值时间。

②Settling Time调节时间,点击将出现调节时间标记点,单击此标记点即可获得调节时间。

③Rise Time上升时间,点击将出现上升时间标记点,单击此标记点即可获得上升时间。

④Steady State 稳定状态,若系统稳定,点击将在稳态值处出现标记点,单击此标记点

即可获得稳态值;若系统不稳定,标记点不会出现。

对于不同的系统响应类型,Characteristics 菜单的内容并不相同。虽然不同响应曲线的特性参数不相同,但是均可以使用类似的方法从系统响应曲线中获得相应的信息。

Step Response Time (sec)

A m p l i t u d e

012345

0.511.5

Step Response

Time (sec)

A m p l i t u d e

02468

0.5

1

1.5

6、其它

①hold on 命令:可以允许在已经画曲线的图形窗口上再画新曲线;hold off 命令取消该功能。

②figure (i )命令:打开第i 个图形窗口,把曲线绘在该图形窗口。③grid on 命令:使图上出现网格。

④subplot(m,n,p)命令;把一个画面分成m×n 个图形区域,p 代表当前的区域号,可在每个区域中分别画一个图。

⑤也可以通过主界面菜单file/new/figure 打开1个新图形窗口,系统自动为其编号。二、用Simulink 进行暂态响应分析

1.系统仿真方框图的建立

方框图的建立与实验一中所述相同,不同点是不用输入点与输出点标记,输入点安置信号发生器,比如阶跃输入信号;输出点安置示波器。需要如下操作:

打开Simulink →Sources 子库,将step 模块(阶跃输入信号)复制到(拽到)模型文件窗口,放到相应位置。(或其他输入信号模块)

打开Simulink →Sinks 子库,将scope 模块(示波器)复制到(拽到)模型文件窗口,放到相应位置。

输入信号模块和示波器模块都可以进行参数设置。2.设置仿真控制参数

打开Simulation 菜单,找到Parameters 选项,可打开参数设置对话框。它包括仿真时间范围的选择、仿真算法的选择、仿真步长的指定及仿真精度(误差)的定义等。

3.运行

可选择Simulation →Start 。点击示波器,在示波器窗口中可以看到响应仿真曲线。三、在MATLAB 下判断系统稳定性

首先求得闭环传递函数,再使用MATLAB 函数(命令)roots(den)解出特征方程的根,即闭环极点,再根据极点位置,判断系统是否稳定。四、在MATLAB 下求取稳态误差

求取稳态误差终值的函数(命令)为dcgain()调用格式为

dcg=dcgain(G )其中G=s·R(S)·φe(S)R(S):输入信号的拉氏变换;

φe(S):误差传递函数;

[实验内容]

1.研究一阶系统对阶跃输入、脉冲输入、斜坡输入、自定义输入的响应及性能指标。一阶系统系统具体参数自定。

2()5

G s s =

+程序:

n=[2];d=[15];sys=tf(n,d);subplot(2,2,1);step(sys);title('阶跃响应');subplot(2,2,2);impulse(sys);title('脉冲响应');

n1=[2];d1=[150];sys1=tf(n1,d1);subplot(2,2,3);step(sys1);title('斜坡响应');t=0:0.01:10;u=1+0*t;y=lsim(sys,u,t);subplot(2,2,4);plot(t,y);title('自定义响应');运行结果:

相关文档
最新文档