【课设必备】-Matlab设计串联超前校正-纯干货

Matlab设计串联超前校正

串联超前校正步骤:

1、确定原系统。
2、求解原系统相角裕度 γ \gamma γ γ \gamma γ不足)。
3、设计超前网络最大超前相角 φ m φ_m φm,并据此来求解参数a。
4、根据 10 l g a 10lga 10lga找出 ω m ω_m ωm,根据a倍频关系求出两个转折频率,得出校正传函。
5、进行串联校正,并验算校正后指标是否满足要求。

:已知单位反馈系统的开环传递函数
G 0 = 300 0.5 s + 1 G_0=\frac{300}{0.5s+1} G0=0.5s+1300 请设计串联超前校正装置,使校正后系统相角裕度 γ ≥ 45 ° \gamma≥45° γ45°

使用matlab进行校正,结果如下:

鸣谢:感谢江苏科技大学张永韡(wei)老师的悉心教导!

校正代码:

clear; close all; clc
K = 300;  
gamma = 45; 
s = tf('s'); 
G0 = K/(s*(0.5*s+1)); % 原系统
lb = 0.1;  
ub = 1000; % 410倍频程

[G0m,P0m,W0cg,W0cp] = margin(G0); 
phim = gamma - P0m + 5; %设置校正装置最大相角 
a = (1+sind(phim))/(1-sind(phim)); % 求解校正参数a
mag_wm = -10*log10(a); % 求解校正点
fun = @(w)(20*log10(abs(freqresp(G0,w)))-mag_wm)^2; 
wm = fminbnd(fun,lb,ub); % 寻找wm
w2 = wm*sqrt(a); % 校正装置第二个转折频率
w1 = w2/a; %校正装置第1个转折频率(a倍频关系)
Gc = tf([1/w1,1],[1/w2,1]); % 校正传函
G = Gc*G0; % 串联超前校正
bode(G0,Gc,G,{lb,ub}); 
grid on
[Gm,Pm,Wcg,Wcp]= margin(G); 
title(['超前校正: \gamma^*=',num2str(gamma),'\circ, \gamma=',...
    num2str(Pm),'\circ at w_c=',num2str(Wcp),' rad/s.']);
legend('原系统G0','校正传函Gc','已校正系统G')
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值