Azzera filtri
Azzera filtri

How to find the max Phase lead provided by a Compensator?

15 visualizzazioni (ultimi 30 giorni)
If I have a compensator such as s+1/s+3, is there a command to find the max phase lead angle provided by it?

Risposte (2)

David Goodmanson
David Goodmanson il 1 Dic 2023
Modificato: David Goodmanson il 1 Dic 2023
Hi Gidel,
It's not a single command and it's numeric, but is
w = 0:.001:10; maxangle = (180/pi)*max(angle((i*w+1)./(i*w+3))) % degrees
maxangle = 30.0000

Sam Chak
Sam Chak il 1 Dic 2023
You can also check using the bodeplot() for visual and the bode() for finding the max angle.
sys = tf([1 1], [1 3])
sys = s + 1 ----- s + 3 Continuous-time transfer function.
h = bodeplot(sys);
setoptions(h, 'FreqUnits', 'Hz', 'MagVisible', 'off');
grid on
[mag, phase, wout] = bode(sys);
maxAngle = max(phase)
maxAngle = 30.0000
  2 Commenti
Gidel il 1 Dic 2023
Thank you, also is it possible to find the maximum gain from this?
Sam Chak
Sam Chak il 2 Dic 2023
Since your original question has been answered, perhaps you would also like to determine the compensator's magnitude at the frequency where the maximum phase angle occurs.
% Transfer function of the Lead Compensator
sys = tf([1 1], [1 3])
sys = s + 1 ----- s + 3 Continuous-time transfer function.
h = bodeplot(sys); grid on
% Extract data points from Bode plot
[mag, phase, wout] = bode(sys);
% Max phase angle
maxAngle = max(phase)
maxAngle = 30.0000
% Frequency at which the max phase angle occurs, ω_max
idx = find(phase == maxAngle);
wmax = wout(idx)
wmax = 1.7321
% Compensator's magnitude at ω_max
magwmax = mag(idx)
magwmax = 0.5774
% Check mag dB
magdB = 20*log10(magwmax)
magdB = -4.7712

Accedi per commentare.


Scopri di più su Get Started with Control System Toolbox in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by