Message Boards Message Boards

How to find the frequency value from Bode plot for a corresponding Gain

Posted 2 years ago

Hello, The problem I am having is this: I have a transfer function

TFalpha1 = 
  TransferFunctionModel[{{{
     1.7607354217407793`*^7 + 15432.18944717527 s}}, 
    1.9007939847037688`*^7 + 17800.70861749659 s + 1. s^2}, s];

I can find out my magnitude plot with

P1 = LogLinearPlot[Abs[TFalpha1[I f]], {f, 0, 10^5}, 
  PlotStyle -> Directive[Green, Thick], 
  AxesLabel -> {"\[Omega] (radian)", "Gain"}, 
  LabelStyle -> Directive[Black, Bold], PlotRange -> All, 
  AxesOrigin -> {0, 0}, GridLines -> Automatic , Frame -> True]

So that gives me

enter image description here

Here I am using my linear scale for the Gain axis. Now using

Now, using Abs[TFalpha1[I 22800][[1, 1]]] I can find out the Gain at f = 22800. But I want to find out at which f my gain is 0.54 (say). I know that I can use Get coordinate on the plot but it is really difficult to put the cursor with sufficient accuracy, especially if there are several such scenarios I need to explore. Is there a way to extract the frequency using a command? Your help will be very much appreciated. Regards, Koushik

2 Replies

Thank you so much. Regards, Koushik

Posted 2 years ago

You can solve for it using FindRoot:

In[3]:= FindRoot[Abs[TFalpha1[I f]] == .54, {f, 10000}]

Out[3]= {f -> 23219.9}
POSTED BY: David Keith
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract