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

9 vues (au cours des 30 derniers jours)
Gidel
Gidel le 1 Déc 2023
Commenté : Sam Chak le 2 Déc 2023
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?

Réponses (2)

David Goodmanson
David Goodmanson le 1 Déc 2023
Modifié(e) : David Goodmanson le 1 Déc 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
sufficient?

Sam Chak
Sam Chak le 1 Déc 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 commentaires
Gidel
Gidel le 1 Déc 2023
Thank you, also is it possible to find the maximum gain from this?
Sam Chak
Sam Chak le 2 Déc 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with Control System Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by