1.控制系统瞬态响应分析
瞬态响应是指分析系统在某一个输入信号的作用下,输入量从初始状态到稳定状态的响应过程。
1.1 单位脉冲响应
使用impules函数计算和显示连续函数的响应曲线
[y,x,t] = impulse(num,den,t)
或
impulse(G)
y为时间t的输出响应,x为时间t的状态响应。
1.2 单位阶跃响应
当输入为单位阶跃信号时,系统的输出为单位阶跃响应,使用step()函数计算和显示连续函数的响应曲线
step(G)
1.3 零输入响应
没有输入信号时,使用initial()函数来计算和显示连续函数的响应曲线
initial(G,x0) %G为系统模型,必须为状态空间方程,x0为初始条件
1.4 示例
num = [1,1];
den = [1,2,3,1];
G = tf(num,den);
subplot(2,2,1);impulse(G);
subplot(2,2,2);step(G);
subplot(2,2,3);G2 = ss(G);%零输入响应里的系统模型必须是状态空间模型
x0 = [1;2;1];initial(G2,x0);
%斜波信号,设置t=初值:步长:终值,再令u=t
t = 0:0.1:10;
subplot(2,2,4);
u=t;
lsim(G,u,t);
结果:
2. 二阶系统阶跃响应分析
对于二阶系统,闭环传递函数的标准形式为
2.1 计算超调量
y = step(sys) % 求阶跃响应曲线值
[Y,k] = max(y) % 求y的峰值及时间
C = dcgain(sys)% 求取系统的终值
Mp = 100*(Y-C)/C % 计算超调量
2.2 计算稳态时间
%计算稳态时间
[y,t] = step(sys);
C = dcgain(Sys);
i = length(t);
while(y(i)>0.98*C) && (y(i)<1.02*C)
i = i-1;
end
ts = t(i)
2.3 计算上升时间
[y,t] = step(sys);
c = dcgain(sys);
n = 1;
while y(n)<=c;
n=n+1;
end
tr = t(n);