用matlab的guide写了个滞后校正的
布布卡2017/08/12软件综合 IP:北京

不知道有没有用 12.jpg

s = tf('s');
gs = input('请输入原开环传递函数\n    例如: 1/(s*(0.1*s+1)*(0.05*s+1)) \ngs =');
% 稳态误差
N = input('请输入给定信号表达式\n    例如: 1/s^2 \n N = ');
E =s*N/(1+gs);
G1 = E;
clear s
syms s
[num,den] = tfdata(G1);%开始转换类型 tf->sym
Na = size(den);
for i=1:Na(1)
    for k=1:Na(2)
    Num=poly2sym(num{i,k},s);
    Den=poly2sym(den{i,k},s);
    sym_G1(i,k)=Num/Den;
    end
end
assignin('base','sym_G1',sym_G1);
E = sym_G1;
ess2 = limit(E,s,0,'right');
ess = input('请输入期望的稳态误差 ess = ');
K = double(ess2)/ess ;%求得满足稳态误差的最小开环增益
clear s
s = tf('s');
disp(['最小开环增益K = ',num2str(K)])
K = input('请输入开环增益K = ');
gs=K*gs%更新系统传递函数
figure(1)
margin(gs);
[gm0 pm0 wg0 wp0] = margin(gs);
gm0=20*log10(gm0);
disp(['原系统幅值裕度Lg = ',num2str(gm0),'dB ','相角裕度γ = ',num2str(pm0)])
lg = input('请输入目标幅值裕度Lg = ');
gama = input('请输入目标相角裕度γ = ');
disp(['选用滞后校正 '])
% 截止频率
gama1=gama+5;
[mu pu w]=bode(gs);
wc=spline(pu,w,(gama1-180));%相对于pu的w的值的规律插值得到相对于(gama1-180)的值
disp(['截止频率wc = ',num2str(wc)]);
% 计算β
na=polyval(gs.num{1},j*wc);
da=polyval(gs.den{1},j*wc);
g=na/da;
g1=abs(g);
h=20*log10(g1);
beta=10^(h/20);
disp(['β = ',num2str(beta)]);
% 计算校正环节参数
T=10/wc
disp('校正环节:')
gc=(T*s+1)/(beta*T*s+1)
disp('校正后系统传递函数:')
g=gs*gc
disp('校正后系统传伯德图:')
figure(2)
bode(g);
[gm pm wg wp]=margin(g);
disp(['校正后系统幅值裕度Lg = ',num2str(gm),'dB ','相角裕度γ = ',num2str(pm)])
%阶跃响应
sys1=feedback(gs,1);
sys2=feedback(g,1);
figure(3)
hold on
step(sys1)
step(sys2)
hold off
figure(4)
hold on
bode(gs)
bode(g)
hold off

程序写的比较烂
attachment icon 滞后校正参数计算.mlappinstall 111.09KB MLAPPINSTALL 40次下载

[修改于 7年5个月前 - 2017/08/12 19:44:39]

来自:计算机科学 / 软件综合
0
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
布布卡
学者 机友 笔友
文章
100
回复
2384
学术分
4
2010/02/21注册,6天9时前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}