标签:
超调量峰值时间上升时间时域信号分析 |
分类: 信号处理 |
1.求解方法介绍
%时域响应性能指标求取
%峰值时间 timetopeak
[Y,k] =
max(y);
timetopeak =
t(k);
%超调量 percentovershoot
C =
dcgain(G);
[Y,k] =
max(y);
percentovershoot = 100 *
(Y-C)/C;
%上升时间 risetime
%当y = C时,对出循环,此为上升时间
C =
dcgain(G);
n = 1;
while y(n) < C
end
risetime = t(n);
%对于输出无超调量的系统,上升时间定义为输出从稳态值的10%上升到90%所需时间
C = dcgain(G);
n = 1;
while y(n) < 0.1*C
end
m = 1;
while y(n) < 0.9*C
end
risetime = t(m) - t(n);
%调节时间 settlingtime
C = dcgain(G);
i = length(t);
while (y(i) > 0.98*C) & (y(i)
< 1.02*C)
end
settlingtime = t(i);
2.具体实例:求解下面系统的性能参数
方法一:编程直接求解
G = zpk([],[-1+3*i,-1-3*i],3);
%计算最大峰值时间和它对应的超调量
C = dcgain(G)
[y,t] = step(G);
plot(t,y);
grid on;
[Y,k] = max(y);
timetopeak = t(k);
percentovershoot = 100*(Y-C)/C
%计算上升时间
n = 1;
while y(n) < C
end
risetime = t(n)
%计算稳态响应时间
i = length(t);
while(y(i)>0.98*C)&(y(i)<1.02*C)
end
settlingtime = t(i)
运行结果:
C =
percentovershoot =
risetime =
settlingtime =
http://s5/middle/84024a4a4cd44c3a7a944&690
方法二:在精度要求不高时,可以采用鼠标点击的方法求解
G = zpk([],[-1+3*i,-1-3*i],3);
step(G);
之后在相应点单击即可