实验二控制系统的时域分析[汇编]

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

实验二控制系统的时域分析
一、
实验目的
学习利用MATLAB 进行控制系统时域分析, 包括典型响应、判断系统稳定性和分析系统的动态特性;
二、
预习要点
1、系统的典型响应有哪些?
2、如何判断系统稳定性?
3、
系统的动态性能指标有哪些?
三、
实验方法(一)
典型响应1、
阶跃响应:
阶跃响应常见格式: 1、)(sys step 或[y,t]=step(sys); 其中sys 能够为连续系统, 也可为离散
系统。

2、),(Tn sys step ; 表示时间范围0---Tn 。

3、),(T sys step ; 表示时间范围向量T 指定。

4、),(T sys step Y
; 可详细了解某段时间的输入、
输出情况。

例: 假设一连续模型为: s
e s s s
s
s
s G 10
2326231020
10)
(2
3
4
, 则能够
经过下面的命令直接输入系统模型
, 并绘制出阶跃响应曲线。

解: >>num=[0,0,0,10,20];>> den=[10,23,26,23,10];>> G=tf(num,den);>> G.iodelay=1;
>> step(G,30)%终止时间为30。

2、
脉冲响应:
脉冲响应函数常见格式: ①)(sys impulse ;

);
,();,(T sys impulse Tn sys impulse ③)
,(T sys impulse Y
3、
任意输入响应:
任意输入响应的几种常见格式:
),,(T U sys lsim ; 其中sys 可为任意模型; T 为时间向量; U 为响应时间对应
的系统输入, 例如:
)sin(T U
;
(二)
分析系统稳定性
有以下三种方法:
1、利用pzmap 绘制连续系统的零极点图; pzmap( G) ;
2、Pole(G)和zero(G)能够分别求出系统的极点和零点。

3、
利用roots 求分母多项式的根来确定系统的极点。

roots(den).
(三)
系统的动态特性分析方法一: 图解法
在控制理论中, 介绍典型线性系统的阶跃响应分析时, 常见一些指标来定量描述系统的超调量、
上升时间、调节时间等, 在matlab 自动绘制
的阶跃响应曲线中, 如果想得出这些指标, 只需右击鼠标键, 选择其中的characteristics
菜单项, 从中选择合适的分析内容, 即可得到系统
的阶跃响应指标。

若想得到具体的值
, 只需将鼠标移到该点上即可。

方法二: 用编程方式求取时域响应的各项性能指标
经过前面的学习, 我们已经能够用阶跃响应函数step( ) 获得系统输出量, 若将输出量返回到变量y中, 可调用如下格式:
[y,t]=step(G)
对返回的这一对y和t变量的值进行计算, 可得到时域性能指标。

( 1) 峰值时间( timetopeak ) 可由以下命令获得:
[Y,k]=max(y);
timetopeak=t(k)
应用取最大值函数max( )求出y的峰值及相应的时间, 并存于变量Y和k 中。

然后在变量t中取出峰值时间, 并将它赋给变量timetopeak。

( 2) 最大( 百分比) 超调量( percentovershoot) 可由以下命令获得:
C=dcgain(G);
[Y,k]=max(y);
percentovershoot=100*(Y-C)/C
dcgain( )函数用于求取系统的终值, 将终值赋给变量C, 然后依据超调量的定义, 由Y和C计算出百分比超调量。

( 3) 上升时间( risetime) 可利用MATLAB中的循环控制语句编制M文件来获得。

要求出上升时间, 可用while语句编写以下程序得到:
C=dcgain(G);
n =1
while y(n)<C
n =n+1;
end
risetime=t(n)
在阶跃输入条件下, y的值由零逐渐增大, 当以上循环满足y=C时, 推出循环, 此时对应的时刻即为上升时间。

对于输出无超调的系统响应, 上升时间定义为输出从稳态值的10%上升到90%所需时间, 则计算程序如下:
C=dcgain(G);
n =1;
while y(n)<0.1*C
n=n+1;
end
m=1;
while y(n)<0.9*C
m=m+1;
end
risetime=t(m)-t(n)
调节时间( setllingtime) 可由语句编程得到:
C=dcgain(G);
i =length(t);
while(y(i)>0.98*C)&(y(i)<1.02*C)
i =i-1; end setllingtime=t(i)
用矢量长度函数length( )可求得t 序列的长度, 将其设定为变量i 的上限值。

四、
实验内容
(一) 稳定性
1.
系统传函为2
7243645232
3
4
5
2
3
4s
s
s s s
s
s s s s
G , 试判断其稳定性。

2.
用Matlab 求出2
53722)
(2
3
4
2s s
s s
s s
s G 的极点, 判断稳定性。

( 二) 阶跃响应
对于下图所示的系统框图, 如果S
S
s G 2
1)
(。

( 1) 画出其阶跃响应曲线。

( 2) 改变该二阶系统的阻尼比
, 在同一个图中画出并分析系统在欠阻尼( 如0.3, 0.7) 、临界阻尼( 1) 、过阻尼(
1.2, 2) 、无阻尼(
0)
的曲线。

( 三) 系统动态特性分析用Matlab 求二阶系统120
12120)(2
s s
s G 阶跃响应的峰值时间p t , 上升时间r t ,
调整时间s t , 超调量%。

五.实验报告要求:
1) 完成上述各题
2)分析零极点对系统性能的影响
3)分析阻尼比对系统阶跃响应的影响。

相关文档
最新文档