I'm working on a 2nd order passive low pass filter, consisting of two passive low pass filters chained together.


simulate this circuit – Schematic created using CircuitLab

Let \$ H(s) = H_1(s)H_2(s) \$ where \$ H_1(s) \$ and \$ H_2(s) \$ are the transfer functions for each separate filter stage.

Then \$ |H(s)| = |H_1(s)||H_2(s)| \$

Knowing the magnitude of a passive low pass filter,

$$|H(s)| = \dfrac1{\sqrt{ (\omega R_1C_1)^2 + 1} } \times \dfrac1{\sqrt{ (\omega R_2C_2)^2 + 1} } = \dfrac1{\sqrt{((\omega R_1C_1)^2 + 1)((\omega R_2C_2)^2 + 1)}} $$

Then trying to find the cutoff frequency:

$$ \left(\dfrac1{\sqrt{2}}\right)^2 = \dfrac1{\sqrt{((\omega R_1C_1)^2 + 1)((\omega R_2C_2)^2 + 1)}} $$ $$ 2 = \sqrt{((\omega R_1C_1)^2 + 1)((\omega R_2C_2)^2 + 1)} $$ $$ 4 = ((\omega R_1C_1)^2 + 1)((\omega R_2C_2)^2 + 1) $$ $$ 4 = (\omega R_1C_1)^2(\omega R_2C_2)^2 + (\omega R_1C_1)^2 + (\omega R_2C_2)^2 + 1 $$

And I'm stuck. Research on the web tells me \$ \omega_c = \dfrac1{\sqrt{R_1C_1R_2C_2}} \$, but I can't find why? Can anybody show my the derivation to find this?

  • 6
    \$\begingroup\$ You can't say that \$H(s)=H_1(s)H_2(s)\$ since the second stage is loading the first (there is current flowing from stage 1 to stage 2). \$\endgroup\$
    – hryghr
    Commented Feb 2, 2015 at 20:23
  • \$\begingroup\$ @ACarter if you are still stuck here's a hint. What's the equivalent impedance looking to the right of R1, including C1? \$\endgroup\$ Commented Feb 3, 2015 at 0:05
  • \$\begingroup\$ @ACarter In my opinion it is easier to use KCL for the two upper nodes and then express Vout/Vin, but you can still go and use a voltage division twice. \$\endgroup\$
    – hryghr
    Commented Feb 3, 2015 at 0:45
  • \$\begingroup\$ @ACarter, apply the voltage divide rule (a) to the node between R1 and R2 (of course, with consideration of R2,C2). Then, you have the voltage of this node and (b) you can apply the same rule for the output voltage. \$\endgroup\$
    – LvW
    Commented Feb 3, 2015 at 14:16
  • \$\begingroup\$ @LvW I got the same result when using the voltage divider rule twice... Once on V across C1, just a simple low pass, then used that V as the Vin to find V across C2, as another simple low pass. Can I not do that? \$\endgroup\$
    – ACarter
    Commented Feb 3, 2015 at 20:07

4 Answers 4


EDIT: Thanks to hryghr I see that the starting assumptions were incorrect. The transfer function magnitude can't be found that simply. It is more than ten years since I considered my skills sharp on this topic, and knives don't get sharper in the drawer! But I can't have that I posted something formally incorrect, so here goes attempt #2:

I will derive the transfer function the dirty way .. using Kirchoff's Current Law (KCL) (a very generic method). I call the output node \$V_{o}\$, and the middle node \$V_{x}\$. For the following equations i cut down on writing by writing \$V_{o}\$ instead of the more accurate \$V_{o}(s)\$ :

I: KCL in \$V_{o}\$:

$$ \frac{V_{o}-V_{x}}{R_{2}}+sC_{2}V_{o}=0 $$

$$ V_{x}=V_{o}(1+sR_{2}C_{2}) $$ II: KCL in \$V_{x}\$:

$$ \frac{V_{x}-V_{i}}{R_{1}}+\frac{V_{x}-V_{o}}{R_{2}}+sC_{1}V_{x}=0 $$

Rearranging terms:

$$ R_{2}(V_{x}-V_{i})+R_{1}(V_{x}-V_{o})+sR_{1}R_{2}C_{1}V_{x}=0 $$

Rearranging terms:

$$ V_{x}(R_{1}+R_{2}+sR_{1}R_{2}C_{1})-R_{2}V_{i}-R_{1}V_{o}=0 $$

Substituting \$V_{x}\$ with result of I: $$ V_{o}(1+sR_{2}C_{2})(R_{1}+R_{2}+sR_{1}R_{2}C_{1})-R_{2}V_{i}-R_{1}V_{o}+sR_{1}R_{2}C_{1}V_{o}=0 $$

Collecting terms for \$V_{o}\$

$$ V_{o}((1+sR_{2}C_{2})(R_{1}+R_{2}+sR_{1}R_{2}C_{1})-R_{1})=R_{2}V_{i} $$


$$ \frac{V_{o}}{V_{i}}=\frac{R_{2}}{(1+sR_{2}C_{2})(R_{1}+R_{2}+sR_{1}R_{2}C_{1})-R_{1}} $$

Expanding terms:

$$ \frac{V_{o}}{V_{i}}=\frac{R_{2}}{R_{1}+R_{2}+sR_{1}R_{2}C_{1}+sR_{1}R_{2}C_{2}+sR_{2}^{2}C_{2}+s^{2}R_{1}R_{2}^{2}C_{1}C_{2}-R_{1}} $$

\$R_{1}\$ cancels, then divide by \$R_{2}\$ top and bottom:

$$ \frac{V_{o}}{V_{i}}=\frac{1}{1+sR_{1}C_{1}+sR_{1}C_{2}+sR_{2}C_{2}+s^{2}R_{1}R_{2}C_{1}C_{2}} $$

Prettified, the transfer function is:

$$ H(s)=\frac{V_{o}(s)}{V_{i}(s)}=\frac{1}{s^{2}R_{1}R_{2}C_{1}C_{2}+s(R_{1}C_{1}+R_{1}C_{2}+R_{2}C_{2})+1} $$

This is probably a nice place to start converting to the standard form that hryghr mentions. It may be that the corner frequency asked for relates to that form. I won't bother to much with that, but move on to find the -3dB point.

The magnitude of the transfer function can for instance be found by calculating:

$$ \left|H(\omega)\right|=\sqrt{H(s\rightarrow j\omega)H(s\rightarrow-j\omega)} $$

Setting \$A=R_{1}R_{2}C_{1}C_{2}\$ and \$B=(R_{1}C_{1}+R_{1}C_{2}+R_{2}C_{2})\$ to simplify this calculation:

$$ \left|H(\omega)\right|=\frac{1}{\sqrt{((j\omega)^{2}A+(j\omega)B+1)((-j\omega)^{2}A+(-j\omega)B+1)}} $$

$$ \left|H(\omega)\right|=\frac{1}{\sqrt{(-\omega{}^{2}A+j\omega B+1)(-\omega{}^{2}A-j\omega B+1)}} $$

$$ \left|H(\omega)\right|=\frac{1}{\sqrt{\omega{}^{4}A^{2}-\omega{}^{2}A(j\omega B-j\omega B+1+1)+\omega^{2}B^{2}+(j\omega B-j\omega B)+1}} $$

$$ \left|H(\omega)\right|=\frac{1}{\sqrt{\omega{}^{4}A^{2}+\omega{}^{2}(B^{2}-2A)+1}} $$

Finding \$B^{2}-2A\$ gives you something like:

$$ R_{1}^{2}(C_{1}+C_{2})^{2}+C_{2}^{2}(2R_{1}R_{2}+R_{2}^{2}) $$

Then to find the -3dB point start at:

$$ \frac{1}{\sqrt{2}}=\frac{1}{\sqrt{\omega{}^{4}A^{2}+\omega{}^{2}(B^{2}-2A)+1}} $$

$$ 2=\omega{}^{4}A^{2}+\omega{}^{2}(B^{2}-2A)+1 $$

So far I have done it all by hand (hopefully no mistakes), but here I call it a day, try mathematica, and get \$\omega\$ for the -3dB frequency as:

$$ w\to\sqrt{\frac{1}{A}-\frac{B^{2}}{2A^{2}}+\frac{\sqrt{8A^{2}-4AB^{2}+B^{4}}}{2A^{2}}} $$

  • 1
    \$\begingroup\$ Thankyou! This KCL assumes no current is flowing to \$ V_{out} \$, right? \$\endgroup\$
    – ACarter
    Commented Feb 4, 2015 at 17:26
  • \$\begingroup\$ Mmm. Technically current flows to/from the node \$V_{out}\$ through \$R_2\$ and \$C_2\$, but there's no load, so no current 'going to the right' there :) \$\endgroup\$
    – HKOB
    Commented Feb 4, 2015 at 17:32
  • 1
    \$\begingroup\$ Okay sure. If there was a load, I should therefore use a buffer circuit or something, right? \$\endgroup\$
    – ACarter
    Commented Feb 4, 2015 at 18:08
  • 1
    \$\begingroup\$ Correct, if that load is big enough to matter to your application. \$\endgroup\$
    – HKOB
    Commented Feb 4, 2015 at 18:20
  • \$\begingroup\$ \$|H(ω)|=\sqrt{H(s→jω)H(s→−jω)}\$ is really interesting, do you know of a proof of this? \$\endgroup\$
    – ACarter
    Commented Feb 8, 2015 at 13:52

A lot of people confuse natural frequency with cut off frequency. The natural frequency is the frequency the system wants to oscillate at. The cut off frequency (or -3dB freq) is just when the transfer function has a magnitude of 0.707

If the two poles of the filter are not close together, the 2nd order canonical terms like the natural frequency and the damping factor start to loose practical meaning. If the poles are close together, the natural frequency will tend to be near the -3dB frequency but not exactly.

The equation you keep seeing $$ f_{n} = \dfrac{1}{(2\pi*\sqrt{R_{1}R_{2}C_{1}C_{2}})} $$

is for the natural frequency. If you solve for the damping factor you'll also see that it's $$ d= \dfrac{\dfrac{(C_{1}R_{1}+C_{2}R_{1}+C_{2}R_{2})}{2}}{\sqrt{R_{1}R_{2}C_{1}C_{2}}} $$

You're attempting to define in an equation for what the -3dB frequency is, so you have to set the transfer function to equal -3dB and just solve for the frequency that results. The problem with that is the math is going to get real ugly really fast. I looked at this once a few years ago and found this relationship. $$ f_{c} = f_{n} * \sqrt{1-2d^2 + \sqrt{4d^4-4d^2+2}} $$

where \$f_{c}\$ is the \$-3dB\$ frequency.

So for an example if you take:

\$ \begin{cases} R_1 = 10k\Omega \\ R_2 = 40k\Omega \\ C_1 = 0.1µF \\ C_2 = 0.01µF \end{cases}\$

You'll get the following numbers:

\$ \begin{cases} f_n = 251.6Hz \\ d = 1.186 \\ f_c = 127.7Hz \end{cases}\$

You can also find the poles which are 458.8Hz and 138.02Hz, so the 3dB frequency is pretty close to the first pole. You'll find if you slide that second pole out further and further the 3db frequency will be pretty close to the first pole.

Hope that helps.

  • \$\begingroup\$ Yeah that is helpful, thanks. How do I find the natural frequency of a circuit then? \$\endgroup\$
    – ACarter
    Commented May 14, 2015 at 21:01
  • 2
    \$\begingroup\$ Here I provided all calculations for RCRC filter, along with simulation. If someone is still interested, please take a look. \$\endgroup\$ Commented Feb 9, 2017 at 0:47

In my opinion this 'cut-off' frequency is not defined as the -3dB point. The real transfer function is: $$ H(s)=\frac{1}{s^2R_1R_2C_1C_2+s(R_1C_1+R_1C_2+R_2C_2)+1}$$

The 'common form' of a second order element in control theory is $$W(s)=\frac{1}{\frac{s^2}{\omega_n^2}+2\frac{\xi}{\omega_n}s+1}$$, where \$\xi\$ is the damping coefficient and \$\omega_n\$ is the natural frequency. If you want to express the natural frequency of \$H(s)\$, you'll find that it is equal to \$\frac{1}{\sqrt{R_1R_2C_1C_2}}\$.

While HKOB's answer really seems reasonable even when evaluating the correct transfer function, MATLAB showed me (using different arbitrary R and C values) that the calculated 'cut-off' frequency is not even close to the -3dB point on the Bode plots.

  • \$\begingroup\$ Thanks, @hryghr. I see now that I jumped to conclusions about the starting point. I updated the answer, hopefully it's better this time. \$\endgroup\$
    – HKOB
    Commented Feb 4, 2015 at 3:33
  • \$\begingroup\$ Here's and illustration. Alas WA makes rather tiny plots (in free mode). \$\endgroup\$ Commented Nov 7, 2015 at 8:56

Solving a simple 2nd-order circuit like this one requires a few lines obtained by inspecting the circuit. This is how Fast Analytical Circuits Techniques or FACTs described in "Linear Circuit Transfer Functions: an introduction to FACTs" work. Ok, start with \$s=0\$: remove all caps. The dc gain \$H_0\$ is 1. The denominator is obtained by setting the input source \$V_{in}\$ to 0 V (replace it by a short circuit). Then, "look" at the resistance offered by capacitor \$C_1\$ when him and \$C_2\$ are temporarily removed from the circuit. Then "look" at the resistance offered by capacitor \$C_2\$ when him and \$C_1\$ are temporarily removed from the circuit. You "see" \$R_1\$ in the first case and the sum of \$R_1\$ and \$R_2\$ in the second case. You have the two time constants of the circuit:

\$\tau_1=C_1R_1\$ and \$\tau_2=C_2(R_1+R_2)\$

Then, set \$C_1\$ in its high-frequency state (replace it by a short) and "look" at the resistance offered by \$C_2\$ in this mode. You "see" \$R_2\$:


This is it, you have your denominator \$D(s)\$ equal to


If we consider the low-\$Q\$ approximation (\$Q\$ is much smaller than 1), then we can show that the denominator can be expressed as two cascaded poles:


If \$C_1\$ or \$C_2\$ are individually shorted or all together shorted, there is no output response: this circuit does not feature zeros. The complete transfer function is thus


Now assume you probe \$V_{out}\$ across \$C_1\$ leaving \$R_2\$ and \$C_2\$ in place, the denominator remains the same (time constants don't change) but you introduce a zero located at \$\frac{1}{R_2C_2}\$.

Such are the joys of the FACTs: in some cases, just inspecting the circuit (no algebra) is the fastest way to go. Check out this presentation taught at APEC last year http://cbasso.pagesperso-orange.fr/Downloads/PPTs/Chris%20Basso%20APEC%20seminar%202016.pdf

  • \$\begingroup\$ This is the best analytical method. Period. (+1) Yet the simplest is simply make Load >10R2>100R1 to get <1% load error and cutoff error less than typical 5% caps. No brainer. \$\endgroup\$ Commented Jul 14, 2019 at 13:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.