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

10 ビュー (過去 30 日間)
Gidel
Gidel 2023 年 12 月 1 日
コメント済み: Sam Chak 2023 年 12 月 2 日
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?

回答 (2 件)

David Goodmanson
David Goodmanson 2023 年 12 月 1 日
編集済み: David Goodmanson 2023 年 12 月 1 日
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 2023 年 12 月 1 日
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 件のコメント
Gidel
Gidel 2023 年 12 月 1 日
Thank you, also is it possible to find the maximum gain from this?
Sam Chak
Sam Chak 2023 年 12 月 2 日
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

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with Control System Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by