由阶跃响应求动态性能参数
要计算出阶跃响应动态性能参数,就编写求解阶跃响应动态性能参数的MATLAB程序,其中调用了函数perf(),perf.m保存在matlab7.0\\work\\文件夹下,其中key=1时,表示选择5%误差带,当key=2时表示选择2%误差带。y,t是对应系统阶跃响应的函数值与其对应的时间。函数返回的是阶跃响应超调量sigma(即σ)、峰值时间tp、调节时间ts。 perf.m编制如下: function [sigma,tp,ts]=perf(key,y,t)
%MATLAB FUNCTION PROGRAM perf.m %
%Count sgma and tp [mp,tf]=max(y); cs=length(t); yss=y(cs);
sigma= (mp-yss)/yss tp=t(tf) %Count ts i=cs+1; n=0;
while n==0, i=i-1; if key==1, if i==1, n=1;
elseif y(i)>1.05*yss, n=1;
13
end;
elseif key==2, if i==1, n=1;
elseif y(i)>1.02*yss, n=1; end; end end; t1=t(i);
cs=length(t); j=cs+1; n=0;
while n==0, j=j-1; if key==1, if j==1, n=1;
elseif y(j)<0.95*yss, n=1; end;
elseif key==2, if j==1, n=1;
elseif y(j)<0.98*yss, n=1; end; end; end; t2=t(j);
if t2 if t1>t2; ts=t1 end elseif t2>tp, if t2 >> global y t; 14>> s1=tf(1000,[0.0001 0.101 1 1000]); >> sys=feedback(s1,1); >> figure(1); >> step(sys); >> [y,t]=step(sys); >> perf(1,y,t) 结果为:sigma =-2.0943 tp =0.4686 ts =0.4978 ans = -2.0943 6.3 校正前单位斜坡信号 在Simulink 窗口里菜单方式下的单位斜坡响应的动态结构图如下: 校正前单位斜坡响应曲线如图所示: 七、校正后动态性能分析 校正后开环传递函数: G(S)GC(S)?1000(0.02148S?1)S(0.1S?1)(0.001S?1)(0.001056S?1) 15 7.1 校正后单位阶跃响应 程序如下: >> n1=[21.48 1000]; >> d1=conv(conv(conv([1 0],[0.1 1]),[0.001 1]),[0.001056 1]); >> s1=tf(n1,d1); sys=feedback(s1,1); step(sys) 结果为: 7.2 校正后单位冲击响应 程序如下: >> n1=[21.48 1000]; >> d1=conv(conv(conv([1 0],[0.1 1]),[0.001 1]),[0.001056 1]); >> s1=tf(n1,d1); >> sys=feedback(s1,1); >> impulse(sys) 由阶跃响应求动态性能参数: >> clear 16
相关推荐: