作业帮 > 综合 > 作业

matlab实习题目求解,满足阶跃响应调节时间ts

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/27 23:46:46
matlab实习题目求解,满足阶跃响应调节时间ts
matlab实习题目求解,满足阶跃响应调节时间ts
系统性能指标以时域形式给出,可考虑使用根轨迹法设计校正网络. 基本思路是,根据指标要求,确定期望的闭环主导极点位置,然后看是否落在原系统根轨迹上,如果不在,就要进行校正.具体的矫正原理这里不赘述,请参考控制理论的相关文献. 1、绘制根轨迹,计算期望的闭环主导极点位置(以下红色部分为程序代码): % 被控对象模型
G=zpk([],[0 -8 -16],1280); % 根据调解时间计算闭环主导极点位置
% 对超调量没有要求,阻尼比按照0.7考虑
ts=0.8;
zeta=0.7;
wn=4/(ts*zeta);
p=[1 2*zeta*wn wn*wn];
s=roots(p); % 绘制根轨迹,并标出期望的闭环主导极点位置
figure(1)
clf
rlocus(G)
hold on
plot(s,'rx','markersize',10,'linewidth',2)
 2、计算校正网络参数: % 计算校正器传递函数
s1=s(1);
[ng,dg]=tfdata(G,'v');
ngv=polyval(ng,s1);
dgv=polyval(dg,s1);g=ngv/dgv;
theta=angle(g);if theta>0;
    phic=pi-theta;
end;
if theta<0;
    phic=-theta;
end;
phi=angle(s1);
thetaz=(phi+phic)/2;
thetap=(phi-phic)/2;
zc=real(s1)-imag(s1)/tan(thetaz);
pc=real(s1)-imag(s1)/tan(thetap);
nc=[1 -zc];
dc=[1 -pc];
nv=polyval(nc,s1);dv=polyval(dc,s1);
kv=nv/dv;kc=abs(1/(g*kv));
if theta<0;
    kc=-kc;
end;
Gc=tf(nc,dc)
 得到的传递函数为 s + 5.3
---------
s + 9.627 3、绘制校正前后闭环系统的阶跃响应曲线 figure(2)
step(feedback(G,1),'b-',feedback(G*Gc,1),'r--')
legend('校正前','校正后') 绘图之后,注意设置显示调节时间(Settling Time),并将误差带设为5%.由图可见,满足系统设计要求. 花了不少时间研究这个问题,主要还是个人兴趣,不是为了那点虚拟的分数.至于加不加分,楼主自己看着办吧.