图4-2 校正前系统的单位阶跃响应
由阶跃响应求动态性能参数
要计算出阶跃响应动态性能参数,就编写求解阶跃响应动态性能参数的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; end;
elseif key==2, if i==1, n=1;
elseif y(i)>1.02*yss,
11
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 MATLAB程序为: 12 程序结果为: 即:σ%=-2.1106%,tp=58.4102s,ts=59.4532s。 因为校正前系统不稳定,所以该系统没有稳态误差ess。 (3)单位斜坡响应 在Simulink 窗口里菜单方式下的单位斜坡响应的动态结构图如下: 图4-3 校正前系统的单位斜坡响应的动态结构仿真图 校正前单位斜坡响应曲线如下所示: 图4-4 校正前系统的单位斜坡响应 4.2校正后系统的动态性能分析 校正后的开环传递函数为: G(s)?Gc(s)?97.85s?10 8.246s4?74.34s3?67.09s2?s(1)单位脉冲响应 MATLAB程序为: 13 图4-5 校正后系统的单位脉冲响应 (2)单位阶跃响应 MATLAB程序为: 图4-6 校正后系统的单位阶跃响应 由阶跃响应求动态性能参数 MATLAB程序为: 14 程序结果为: 即:σ%=0.4231%,tp=3.0401s,ts=6.5479s。 由图可知,系统稳态误差ess?1?h(?)?1?1?0 所以校正后的系统动态性能比校正前的系统动态性能好得多,主要体现在平稳性、快速性和稳态精度上。 (3)单位斜坡响应 在Simulink 窗口里菜单方式下的单位斜坡响应的动态结构图如下: 图4-7校正后系统的单位斜坡响应的动态结构仿真图 校正后单位斜坡响应曲线如下所示: 图4-8 校正后系统的单位斜坡响应 单位脉冲、阶跃、斜坡响应曲线的相互对应关系是:单位脉冲响应的积分是单位阶跃响应曲线,单位阶跃响应的积分是单位斜坡响应。 15