Finding frequency corresponding to some gain in magnitude plot of bode

37 次查看(过去 30 天)
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 !

采纳的回答

Star Strider
Star Strider 2019-5-9
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 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Plot Customization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by