# How can I obtain the transfer function of an unknown circuit from its bode plot?

I have the following bode plot of some unknown circuit:

(The lines denote the -3dB frequencies, f_low and f_high.) I'm guessing it's a high-pass resonant filter. I don't have phase information, other than that:

theta = -135 deg at f_low

theta = -80 deg at f_0 (resonant frequency)

theta = -31 deg at f_high

I know for certain that it contains between 2-3 circuit elements including inductors, capacitors, and resistors, and I know that it's passive. My guess is that it's a second-order high-pass filter. I've worked out that the transfer function for such a circuit should be:

H1(s) = (A*(s/w_0)^2) / (s^2 + s*(w_0/Q) + (w_0)^2)


where w_0 is the resonant frequency in rad/s, Q is the quality factor, and A is the high-frequency gain. In this case, A = 1, w_0 = 2*pi*f_0, and Q = (f_0)/(f_high - f_low)'.

From here, I should be able to come up with a predicted transfer function given what I believe the circuit to be, which will contain R,L, and C as coefficients, and use the transfer function H1(s) to find R,L, and C. A fitting circuit, by my guess, would be:

which would have transfer function:

H2(s) = (sL) / (R + 1/(sC) + sL)


which I could rearrange to the form of H1(s), and from there I could match the coefficients in each transfer function H1(s) and H2(s) to find appropriate values of R,L, and C.

But that gives me

R/L = w_0/Q


and

1/LC = w_0*Q


Is there any way other than plugging in values and using guess & check to find specific values of R,L, and C`?

• Rather than guess & check I would try some curve-fitting algorithms. Many numerical systems (Matlab, Mathematica, Numpy, ...) will have some useful optimization functions built-in. Commented Apr 15, 2016 at 2:04

You have done all the right things, and you're nearly there, but for one conceptual thing.

If you drive your box with a low impedance source at Vin, and you sense the output with a high impedance device at Vout, then you cannot find the values of all three components, you can only find two ratios. You have a free choice of one component, then you can derive the other two as ratios to it.

Those two ratios is enough to find the transfer function, when placed between a zero and an infinite impedance.

You may object that if you choose 1ohm, or 1kohm for the resistor, doesn't this make a difference? It does make a difference to the amount of current the source has to provide. But you've drawn it as a voltage source, so it won't care what load it sees. Similarly no current is drawn from Vout. If the L and the C are the correct ratio to the resistor value, then the transfer function will be the same.

If you want to find values for all three components, then you have to use a finite impedance at one or both ports when you make the measurement. This provides a reference resistance value, then you can write equations for all three components with respect to this value. Unfortunately, as drawn, as the resistor R1 is in series with the voltage source V1, any source impedance added to V1 will be inseperable from R1, so a single measurement will not work. A shunt resistor across Vout will provide a unique solution, as will two measurements made with two different values of a resistor in series with V1.

• Do you mean, that if I were to put a second resistor of known resistance either between Vin and the first resistor, or between the capacitor and the output node from which I measure Vout, that I would be able to find the values of each element? And if so, how would I go about that? Commented Apr 15, 2016 at 6:07
• Neither. As V2 is high impedance, a resistor in series with it will do nothing. It needs a resistor in shunt with V2 to provide a meaningful reference. I've updated the question to refer to resistors at the input. You might want to put the circuit into a simulator (LTSpice is more or less the standard free one if you don't use one already) and play with some component values and ratios. Commented Apr 15, 2016 at 11:25

For a reasonably resonant low pass or high pass filter, Q is quite accurately related to the peaking value. It appears to be 15 dB in your plot so I would estimate Q to be about 5.6 (antilog of 15/20). From this you can predict the ratios of some of the components.

For the same reasons above the natural resonant frequency will be very close to the position where peaking occurs and from this you can understand the product of L and C.

With this information you can predict a range of values that "fit" and give you the response shown but, as Neil_UK says the problem is under constrained meaning there is no definitive set of values.