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

9 Ansichten (letzte 30 Tage)
Gidel
Gidel am 1 Dez. 2023
Kommentiert: Sam Chak am 2 Dez. 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?

Antworten (2)

David Goodmanson
David Goodmanson am 1 Dez. 2023
Bearbeitet: David Goodmanson am 1 Dez. 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 am 1 Dez. 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 Kommentare
Gidel
Gidel am 1 Dez. 2023
Thank you, also is it possible to find the maximum gain from this?
Sam Chak
Sam Chak am 2 Dez. 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Get Started with Control System Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by