Matlab设计串联滞后校正
串联滞后校正步骤:
1、确定原系统。
2、根据期望裕度挖掘相角储备,找出校正点处
ω
c
ω_c
ωc。
3、利用校正点处20lgb的对称性求解b。
4、根据校正点与两个转折频率处的倍频关系求出两个转折频率,得出校正传函。
5、进行串联校正,并验算校正后指标是否满足要求。
例:已知单位反馈系统的系统开环传递函数 G 0 = 300 0.2 s + 1 G_0=\frac{300}{0.2s+1} G0=0.2s+1300 请设计串联滞后校正装置,使校正后系统相角裕度 γ ≥ 45 ° \gamma≥45° γ≥45°
使用matlab进行校正,结果如下:

鸣谢:感谢江苏科技大学张永韡(wei)老师的悉心教导!
校正代码:
clear; close all; clc
K = 300;
gamma = 45; %期望裕度
s = tf('s');
G0 = K/(s*(0.2*s+1));% 原系统
lb = 0.001; %
ub = 100; % 5个10倍频程
gamma0_wc = gamma + 6; % 挖掘系统相角储备
fun = @(w)(180+angle(freqresp(G0,w))/(2*pi)*360-gamma0_wc)^2;
wc = fminbnd(fun,lb,ub); % 设计校正点处频率
mag_wc = 20*log10(abs(freqresp(G0,wc))); % 原系统wc处幅值
b = 10^(-mag_wc/20); % 利用校正点处20lgb的对称性求解b
w2 = 0.1*wc; % 校正装置第二个转折频率,校正点往前10倍频
w1 = b*w2; %校正装置第1个转折频率(1/b倍频关系)
Gc = tf([1/w2,1],[1/w1,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')