本博文通过实例对控制系统建模进行介绍,展示使用MATLAB对控制系统进行时域分析,其每个传递函数这是用作例子展示,其合理性还需完善,但其目的是让同学们学会控制系统的时域分析方法。
- 控制系统的方框图。
- 时域分析代码区
① 先用系统建模方法,建立系统模型
%建立系统模型
G1=tf([1],[1 0]);
G2=tf([1],[1 1]);
H=1;
%系统连接
G12=series(G1,G2);
GH=feedback(G12,H,-1) %控制系统闭环函数
%系统模型如下:
GH =
1
-----------
s^2 + s + 1
Continuous-time transfer function.
② 由上可知,控制系统模型为Φ(s)=s2+s+11,进行系统稳定性分析和时域分析
a.稳定性分析
%系统稳定性分析
den=[1 1 1]; %特征方程的系数
p=roots(den) %获取特征根,判断系统稳定性
%系统的特征根均具有负实部,故系统稳定
p =
-0.5000 + 0.8660i
-0.5000 - 0.8660i
b.单位脉冲响应
%系统的时域分析
t=0:0.01:15; %设定仿真时间为15s
%系统的单位脉冲响应
figure(1)
impulse(GH,t);grid
xlabel('t');ylabel('c(t)');title('impulse response');
c.单位阶跃响应
%系统的时域分析
t=0:0.01:15; %设定仿真时间为15s
%系统的单位阶跃响应
figure(2)
step(GH,t);grid
xlabel('t');ylabel('c(t)');title('step response');
d.单位斜坡响应
%系统的时域分析
t=0:0.01:15; %设定仿真时间为15s
%系统的单位斜坡响应
figure(3)
u=t;
lsim(GH,u,t,0);grid
xlabel('t');ylabel('c(t)');title('ramp response');
- 稳定性和时域分析知识点剖析
① 稳定性分析
线性系统稳定的充分必要条件:闭环系统特征方程的所有根均具有负实部。
命令格式:p=roots(den)
其中:den为特征多项式降幂排列的系数向量;p为特征根。
② 时域分析
a.单位脉冲响应
命令格式:c(t)=impulse(sys,t)
其中:impulse为脉冲响应;t为仿真时间,可以缺省。
b.单位阶跃响应
命令格式:c(t)=step(sys,t)
其中:step是阶跃响应;t为仿真时间,可以缺省。
c.任意输入响应
命令格式:c(t)=lsim(sys,u,t,x0)
其中:lsim可绘制任意输入响应曲线;u表示输入,如单位斜坡表示为u=t;x0设定初始状态,缺省时为0;t用于设定仿真时间,可以缺省。
- 延伸知识点
a.动态性能
定义:描述稳定的系统在单位阶跃函数作用下,动态过程随时间t的变化状况的指标,称为动态性能指标,如下图:
其中:
上升时间tr:指响应从零第一次上升到终值的90%所需的时间;对于有振荡系统,定义为响应从零第一次上升到终值所需时间;上升时间越短,响应速度越快
峰值时间tp:指响应超过其终值到达第一个峰值的时间。
调节时间ts:指响应到达并保持在终值±5%或±2%内所需的最短时间。
超调量σ%:指响应的最大偏移量c(tp)与终值c(∞)的差与终值c(∞)比的百分数,即
σ%=c(∞)c(tp)−c(∞)×100%
用tr或tp评价系统的响应速度;
用σ%评价系统的阻尼程度;
ts同时反映响应速度和阻尼程度的综合性指标。
b.欠阻尼二阶系统单位阶跃响应计算
二阶系统标准形式:
Φ(s)=R(s)C(s)=s2+2ζωn+ωnωn2
欠阻尼二阶系统单位阶跃响应:
c(t)=1−e−ζωntsin(ωdt+β),t≥0
式中:β=arctan(1−ζ2/ζ),或者β=arccosζ;ωd=ωn1−ζ2
c.欠阻尼二阶系统单位阶跃动态性能指标计算
① 上升时间tr
tr=ωdπ−β
注:
当阻尼比ζ一定时,阻尼角β不变,系统的响应速度与ωn成正比;
而当阻尼振荡频率ωd一定时,阻尼比越小,上升时间越短。
② 峰值时间tp
tp=ωdπ
注:
峰值时间等于阻尼振荡周期的一半,或峰值时间与闭环极点的虚部数值成反比;
当阻尼比一定时,闭环极点离负实轴的距离越远,系统的峰值时间越短。
③ 超调量σ%
σ%=e1−ζ2−πζ×100%
注:
超调量σ%仅是阻尼比ζ的函数,而与自然频率ωn无关;
阻尼比越大,超调量越小。
④ 调节时间ts
误差带取Δ=0.05:
ts=ζωn3.5
误差带取Δ=0.02:
ts=ζωn4.4
- 综合训练题
已知系统的闭环传递函数Φ=s2+8ζs+1616,其中ζ=0.707。判断该系统的稳定性,求二阶系统的单位脉冲响应、单位阶跃响应、单位斜坡响应,sint输入的响应。
a.判断系统的稳定性
%建立控制系统模型
zeta=0.707;
num=[16];den=[1 8*zeta 16];
G=tf(num,den);
%判断系统稳定性
p=roots(den)
%具有负实部,系统稳定
p =
-2.8280 + 2.8289i
-2.8280 - 2.8289i
b.系统的单位脉冲响应
%系统单位脉冲响应
t=0:0.01:3;
figure(1)
impulse(G,t);grid
xlabel('t');ylabel('c(t)');title('impulse response');
c.系统的单位阶跃响应
%系统单位阶跃响应
t=0:0.01:3;
figure(2)
step(G,t);grid
xlabel('t');ylabel('c(t)');title('step response');
d.系统的单位斜坡响应
%系统单位斜坡响应
t=0:0.01:3;
figure(3)
u=t;
lsim(G,u,t,0);grid
xlabel('t');ylabel('c(t)');title('ramp response');
e.正弦输入sint的响应
%正弦输入响应
figure(4)
t_2=0:0.01:10;
u_2=sin(t_2);
lsim(G,u_2,t_2,0);grid
xlabel('t');ylabel('c(t)');title('sin response');
- 小结