Finding frequency corresponding to some gain in magnitude plot of bode

33 Ansichten (letzte 30 Tage)
Hi Community members !
Can you please help me in getting a solution to my problem? I have a transfer function e.g. G(s) = 144000/(s*(s+36)*(s+100)), bode plot of which is given. The magnitude plot passes through -3.76 dB gain at some particular value of frequency. I want to access that particular frequency value using MATLAB program.
Thanks !

Akzeptierte Antwort

Star Strider
Star Strider am 9 Mai 2019
Try this:
s = tf('s');
G = 144000/(s*(s+36)*(s+100));
[mag,phase,wout] = bode(G);
mag = squeeze(mag);
phase = squeeze(phase);
wq = interp1(20*log10(mag), wout, -3.76); % Find Desired Frequency
figure
semilogx(wout, 20*log10(mag), wq, -3.76, 'r+')
grid
text(wq, -3.76, sprintf('\\leftarrow -3.76 dB at %.2f rad/sec',wq), 'HorizontalAlignment','left', 'VerticalAlignment','middle')
The result is:
wq =
39.034
so your transfer function will equal -3.76 dB at 39.034 rad/sec.
  11 Kommentare

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Plot Customization 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