2用MATLAB进行控制系统的时域分析.docx

上传人:b****7 文档编号:10460266 上传时间:2023-02-13 格式:DOCX 页数:15 大小:202.12KB
下载 相关 举报
2用MATLAB进行控制系统的时域分析.docx_第1页
第1页 / 共15页
2用MATLAB进行控制系统的时域分析.docx_第2页
第2页 / 共15页
2用MATLAB进行控制系统的时域分析.docx_第3页
第3页 / 共15页
2用MATLAB进行控制系统的时域分析.docx_第4页
第4页 / 共15页
2用MATLAB进行控制系统的时域分析.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

2用MATLAB进行控制系统的时域分析.docx

《2用MATLAB进行控制系统的时域分析.docx》由会员分享,可在线阅读,更多相关《2用MATLAB进行控制系统的时域分析.docx(15页珍藏版)》请在冰豆网上搜索。

2用MATLAB进行控制系统的时域分析.docx

2用MATLAB进行控制系统的时域分析

实验三用MATLAB进行控制系统的时域分析

[实验目的]

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

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

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

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

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

[实验指导]

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

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

其二是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个子项:

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

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

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

④SteadyState稳定状态,若系统稳定,点击将在稳态值处出现标记点,单击此标记点即可获得稳态值;若系统不稳定,标记点不会出现。

对于不同的系统响应类型,Characteristics菜单的内容并不相同。

虽然不同响应曲线的特性参数不相同,但是均可以使用类似的方法从系统响应曲线中获得相应的信息。

6、其它

①holdon命令:

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

②figure(i)命令:

打开第i个图形窗口,把曲线绘在该图形窗口。

③gridon命令:

使图上出现网格。

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

⑤也可以通过主界面菜单file/new/figure打开1个新图形窗口,系统自动为其编号。

7.举例

例1:

系统传递函数为

,求其阶跃响应、脉冲响应、斜坡响应、

①分3个图形窗口分别显示的程序:

>>n=[20,33];d=[1,2,10];sys=tf(n,d);step(sys);figure

(2);impulse(sys);

n1=[20,33];d1=[1,2,10,0];sys1=tf(n1,d1);figure(3);step(sys1)

运行结果:

③在1个窗口中的3个子图形窗口显示的程序:

>>figure

(1);n=[20,33];d=[1,2,10];sys=tf(n,d);subplot(2,2,1);impulse(sys);

subplot(2,2,2);n1=[20,33];d1=[1,2,10,0];sys1=tf(n1,d1);step(sys1);

subplot(2,2,3);step(sys)

运行结果:

例2:

系统传递函数为

,求输入分别是自定义的1(t)和4*1(t)时的响应。

①2个输入和2个输出波形分别在4个子图形窗口显示的程序:

>>figure(7);n=[10];d=[1,2,10];sys=tf(n,d);subplot(2,2,1);u=1+0*t;t=0:

0.01:

10;plot(t,u);

subplot(2,2,3);y=lsim(sys,u,t);plot(t,y) ;

>>u1=4+0*t;subplot(2,2,2);plot(t,u1);subplot(2,2,4);y1=lsim(sys,u1,t);plot(t,y1)

运行结果:

②2个输入和2个输出波形在1个图形窗口同时显示的程序:

>>n=[10];d=[1,2,10];sys=tf(n,d);t=0:

0.01:

10;u=1+0*t;sys2=tf([1],[1]);

lsim(sys2,u,t);holdon;lsim(sys,u,t);u1=4+0*t;plot(t,u1);lsim(sys,u1,t)

例3:

系统传递函数为

,求输入分别是自定义的1(t)+3*sin(t)时的响应。

程序;

>>n=[20];d=[1,2,10];sys=tf(n,d);t=0:

0.001:

15;u=1+3*sin(t);sys2=tf([1],[1]);figure(16);

lsim(sys2,u,t);holdon;lsim(sys,u,t)

例4:

系统传递函数为

,求系统的阶跃响应。

程序;

>>n=[20];d=[1,2,6,10];sys=tf(n,d);figure(24);step(sys)

二、用Simulink进行暂态响应分析

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

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

需要如下操作:

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

(或其他输入信号模块)

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

输入信号模块和示波器模块都可以进行参数设置。

2.设置仿真控制参数

打开Simulation菜单,找到Parameters选项,可打开参数设置对话框。

它包括仿真时间范围的选择、仿真算法的选择、仿真步长的指定及仿真精度(误差)的定义等。

3.运行

可选择Simulation→Start。

点击示波器,在示波器窗口中可以看到响应仿真曲线。

举例;系统方框图和阶跃输入下示波器显示的响应曲线如下:

三、在MATLAB下判断系统稳定性

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

举例:

判断系统

是否稳定。

程序和结果:

>>d=[128526];roots(d)

ans=

-1.4509+2.1633i

-1.4509-2.1633i

0.4509+1.9049i

0.4509-1.9049i

分析判断:

有2个根在s平面右半部分,系统不稳定。

或者:

>>n=[50];d=[128526];sys=tf(n,d)

Transferfunction:

50

----------------------------------------

s^4+2s^3+8s^2+5s+26

>>roots(sys.den{1})

ans=

-1.4509+2.1633i

-1.4509-2.1633i

0.4509+1.9049i

0.4509-1.9049i

四、在MATLAB下求取稳态误差

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

调用格式为

dcg=dcgain(G)

其中G=s·R(S)·φe(S)

R(S):

输入信号的拉氏变换;

φe(S):

误差传递函数;

举例:

系统前向通道传递函数为

,反馈通道传递函数为

,求输入为r(t)=1(t)时的稳态误差。

解:

程序和结果:

>>n=[50];d=[2858];sys=tf(n,d);n1=4;d1=25;sys1=tf(n1,d1);sys2=1+sys*sys1;

sys3=tf(sys2.den,sys2.num);n4=[1,0];d4=[1];sys4=tf(n4,d4);n5=1;d5=[10];r=tf(n5,d5);

dcg=dcgain(sys3*sys4*r)

dcg=

0.5000

[实验内容]

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

一阶系统系统具体参数自定。

采用2种方法。

2.研究二阶系统对阶跃输入、脉冲输入、斜坡输入、自定义输入的响应及性能指标。

具体参数自定。

哪一个参数变化及变化方案自定。

采用2种方法。

①典型二阶系统在阶跃输入下,阻尼比或自然振荡频率改变对某1项性能指标的影响。

②非典型二阶系统与典型二阶系统在阶跃输入下的响应有什么不同。

3.高于二阶的系统对阶跃输入、脉冲输入、斜坡输入、自定义输入的响应。

具体参数自定。

采用2种方法。

4.自定一系统闭环传递函数,计算在r(t)=1(t)、t、0.5t2下的给定稳态误差。

5.自定一系统闭环传递函数,判断系统稳定性。

[实验报告要求]

1.写明实验目的和实验原理。

实验原理中简要说明得到系统暂态响应的方法和采用的语句或函数,说明求取给定稳态误差的方法及采用的语句或函数,说明判断系统稳定性方法。

2.在实验过程和结果中,要列项目反映各自的实验内容,编写的程序,运行结果,按实验内容对结果的分析与判断。

程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。

不方便打印的同学,要求手动从屏幕上抄写和绘制。

3.简要写出实验心得和问题或建议。

 

【注】

1(t)Y(s)=G(s)/s

1/s

t*1(t)Y1(s)=G(s)/s^2

1/s^2

Y1(s)

1(t)

时域分析法是根据系统的微分方程,以拉普拉斯变换作为

数学工具,直接求解出控制系统的时间响应。

而后,依据时间

响应的表达式以及其响应曲线来分析系统的性能指标。

利用M

ATLAB软件防仿真以及强大的绘图功能,可以进行各种仿真实

验,可得到系统的各种响应,分析系统的性能1/s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1