第3章 控制系统的分析方法
一般来说,先不指定仿真时间,由MATLAB自己确定, 然后根据结果,最后确定合适的仿真时间。 在指定仿真时间时,步长的不同会影响到输出曲线的光滑 程度,一般不易取太大。 例exp4_6_.m
二、常用时域分析函数
时间响应探究系统对输入和扰动在时域内的瞬态行 为,系统特征如:上升时间、调节时间、超调量和稳态误 差都能从时间响应上反映出来。MATLAB除了提供前面介 绍的对系统阶跃响应、冲激响应等进行仿真的函数外,还 提供了大量对控制系统进行时域分析的函数,如: covar:连续系统对白噪声的方差响应
如果对具体的响应值不感兴趣,而只想绘制系统的阶 跃响应曲线,可调用以下的格式: step(num,den);step(num,den,t);step(A,B,C,D,iu,t); step(A,B,C,D,iu); 线性系统的稳态值可以通过函数dcgain()来求取,其调用 格式为:dc=dcgain(num,den)或dc=dcgain(a,b,c,d)
d s(s 1)
C(s)
由图可得闭环传递函数为:G ( s) s
c
2
d ( d e 1) s d
,
其为典型二阶系统。 由 典 型 二 阶 系 统 特 征 参 数 计 算 公 式
e
ln
1 2
100 , t p ( wn 1 2 ) 得:
求取系统单位阶跃响应:step()
求取系统的冲激响应:impulse()
1、step()函数的用法
exp4_3_.m
y=step(num,den,t):其中num和den分别为系统传递函数描 述中的分子和分母多项式系数,t为选定的仿真时间向量, 一般可以由t=0:step:end等步长地产生出来。该函数返回值y 为系统在仿真时刻各个输出所组成的矩阵。 [y,x,t]=step(num,den):此时时间向量t由系统模型的特 性自动生成, 状态变量x返回为空矩阵。 [y,x,t]=step(A,B,C,D,iu):其中A,B,C,D为系统的状态 空间描述矩阵,iu用来指明输入变量的序号。x为系统 返回的状态轨迹。
1 2.5 1.22 x x 2 1.22 0 3 1 x 1.14 4 0 0 x
x1 4 x 2 2 3.2 2.56 x3 2 2.56 0 x4 0 0 0 0 0
例exp4_3.m 已知系统的开环传递函数为:
20 Go ( s) 4 3 2 s 8s 36 s 40 s
求系统在单位负反馈下的阶跃响应曲线。
2、impulse()函数的用法
求取脉冲激励响应的调用方法与step()函数基本一致。 y=impulse(num,den,t);[y,x,t]=impulse(num,den); [y,x,t]=impulse(A,B,C,D,iu,t) impulse(num,den);impulse(num,den,t) impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t)
1 0 u1 u 0 2 0
x1 y1 0 1 0 3 x2 0 2 u1 y 0 0 0 1 x 2 0 u 3 2 2 x4
求系统的阶跃响应曲线。 例exp4_6.m 已知某闭环系统的传递函数为:
2
求其阶跃响应曲线。
10s 25 G( s) 3 2 0.16s 1.96s 10s 25
仿真时间t的选择:
3~ 4 对于典型二阶系统根据其响应时间的估算公式 ts wn 可以确定。
对于高阶系统往往其响应时间很难估计,一般采用试探的 方法,把t选大一些,看看响应曲线的结果,最后再确定其 合适的仿真时间。
求系统的单位阶跃响应和冲激响应。
MATLAB的step()和impulse()函数本身可以处理多输入多输出 的情况,因此编写MATLAB程序并不因为系统输入输出的增 加而变得复杂。
例 exp4_8.m 某系统框图如下所示,求 d 和 e 的值,使系统的阶跃响应满足: (1)超调量不 大于 40%, (2)峰值时间为 0.8 秒。 R(s) + _ 1+es
例exp4_4.m 已知系统的开环传 s 8s 36s 40s
求系统在单位负反馈下的脉冲激励响应曲线。
例exp4_5.m 已知某典型二阶系统的传递函数为:
wn G(s) 2 2 , 0.6,wn 5 s 2wn s wn
initial:连续系统的零输入响应
lsim:连续系统对任意输入的响应
对于离散系统只需在连续系统对应函数前加d就可以,如 dstep,dimpulse等。
它们的调用格式与step、impulse类似,可以通过help命令来 察看自学。
三、时域分析应用实例
例exp4_7.m 某2输入2输出系统如下所示:
第一节 控制系统的时域分析
一、时域分析的一般方法
一个动态系统的性能常用典型输入作用下的响应 来描述。响应是指零初始值条件下某种典型的输入函数 作用下对象的响应,控制系统常用的输入函数为单位阶 跃函数和脉冲激励函数(即冲激函数)。在MATLAB的 控制系统工具箱中提供了求取这两种输入下系统响应的 函数。
2
100
/[ (ln
100
) ]
2
1 2
,w
n
(t p 1 2 )
例 exp4_9.m
根据输入的典型二阶系统参数阻尼比 alph 及
自然振荡频率 wn, 求取系统的单位阶跃响应参数:超调量 pos(100%) ;峰值 时间 tp;上升时间 tr; 调节时间 ts2( 2% )