It is a complete mystery to me how one would write down the transfer function of a generic 5th order low pass filter.

I find it inherently confusing because the question doesn't give any hint or indication as to what the constraints are.

All I can come up with is a five-fold coupled RC low pass filter where we assume that they do no load each other.

Since I've seen examples of a 5th order Chebyshev- and a 5th order Butterworth filter, which are seen to differ in their Bode plots, I sense that the question at hand is simply ill posed.


4 Answers 4


A low pass filter is as follows:

$$ \frac{Vout}{Vin}= \frac{1}{\tau*s+1} $$

where \$\tau\$ is equal to \$ RC\$.

Since they are linear in the frequency space they multiply:

$$ \frac{Vout}{Vin}= \frac{1}{\tau_1*s+1}*\frac{1}{\tau_2*s+1}*\frac{1}{\tau_3*s+1}*\frac{1}{\tau_4*s+1}*\frac{1}{\tau_5*s+1}\ .$$

If your tau's are all the same then it would be: $$ \frac{Vout}{Vin}= \left( \frac{1}{\tau*s+1} \right)^5\ .$$

Realizing these filters are different, as each RC stage will present a load to the stages after that, which is why we use op amps to isolate the impedance from each stage.

  • \$\begingroup\$ Yes, if I'm correct this is the five-fold coupled low pass filter example that I mentioned in the post. My problem is that this necessarily assumes that they do not load each other. Furthermore, I fail to see how this holds in general with arbitrary $\tau_i$ because of the non-loading assumption. \$\endgroup\$ Commented Apr 17, 2018 at 18:35
  • \$\begingroup\$ Never mind my remark about the loading assumption. So we do assume that op amps are used to account for the non-loading assumption. \$\endgroup\$ Commented Apr 17, 2018 at 18:38
  • \$\begingroup\$ Typically, yes. As a circuit designer I use opamps so I don't have to figure out if the loading is a problem or not (it usually does create problems for the passband). There are many places where even a voltage follower can help in filtering. Sallen key op amp configurations are used for higher filter orders \$\endgroup\$
    – Voltage Spike
    Commented Apr 17, 2018 at 18:39
  • \$\begingroup\$ You can also use spices sims such as LT spice to evaluate your filters pass band (and even simulate parasitics) and roll off with an AC simulation \$\endgroup\$
    – Voltage Spike
    Commented Apr 17, 2018 at 20:17
  • 2
    \$\begingroup\$ I did not understand a single thing from your last comment. :) It sounds interesting though. \$\endgroup\$ Commented Apr 17, 2018 at 21:51

There is no such thing as a "generic" lowpass filter: would it be all-pole, pole-zero, digital, if so IIR, FIR? To top it off, all these have their own topologies, so I'm afraid you're right with this part: "the question at hand is simply ill posed".

But, it looks like you're in the analog domain, so let's say there are two possibilities: all-pole and pole-zero. In these two cases, the generic transfer functions would look something like this:

$$H(s)=\frac{a_4 s^4+a_3 s^3 + a_2 s^2 + a_1 s + a_0}{b_4 s^4 + b_3 s^3 + b_2 s^2 + b_1 s + b_0}$$

For all-pole, the \$a_4\$ to \$a_1\$ terms would be zero, only \$a_0\$ remains. But the most generic way of representing any analog filter through its roots is:


where z and p are the zeroes and poles, respectively, and they can be real or complex. As a side note, Butteroworth and Chebyshev (type I) are all-pole filters, with the particularity that Butterworth can be derived from a Chebyshev if the passband ripples are zero.

As it stands, I'm afraid your question cannot be answered. In general, making a filter is done by first stating the requirements: in frequency domain it's the cutoff frequencies, the attenuations, whether there are ripples or not, passband or stopband, etc or, if it's time-domain the linearity of the phase or the group delay. Then what particular topology to use, Sallen-Key, multiple-feedback, Friend, Delyannis, etc. So, there is a bit of work but it starts with the requirements.

  • \$\begingroup\$ Yes, this is in line with what I thought. On a side note, the generic part was added by myself. In the question a fifth order low pass filter was asked. The coupled variant with buffer amplifiers would suffice. \$\endgroup\$ Commented Apr 17, 2018 at 21:57
  • \$\begingroup\$ @MusséRedi You should know that staggered tuning will converge, eventually, to a Gaussian (you'll need much more than 5 stages for that). If a Gaussian filter is what you need, you're much better off using a MacLaurin expansion approximation. A 5th order will come fairly close to your needs, whichever those may be, you still haven't stated what frequencies, attenuations, group delay, etc. \$\endgroup\$ Commented Apr 19, 2018 at 6:07
  • \$\begingroup\$ It was a textbook exercise; plotting its Bode plot. \$\endgroup\$ Commented Apr 19, 2018 at 6:24
  • \$\begingroup\$ @MusséRedi Now I am really confused: how are you supposed to plot its transfer function since you, yourself, say you don't know it, or the type of filter (you just presumed it to be RC), or even the requirements? Could you update your question with the original problem? I think it would shed some light. \$\endgroup\$ Commented Apr 19, 2018 at 6:29
  • \$\begingroup\$ Exactly, I had the same confusion. It turned out that implicitly a five-fold coupled low pass RC filter was sufficient. This being a fifth order low pass filter. That is, with all having the same cutoff frequency, so they don't load eachother. In this case no buffer-amplifiers are needed. \$\endgroup\$ Commented Apr 19, 2018 at 6:32

A typical 5th order filter would be decomposed into dual 2nd-order filters (giving 4 poles) and a separate passive 1rst order.

Placing that passive stage first is good way to keep very high frequencies out of the opamp 2nd order building blocks.

Walt Jung explains why this is a good idea.

On the other hand, having that passive stag be last is a good way to remove high frequency thermal noise (from the opamps).


The transfer function of a 5th order Low-Pass Filter with a load resistance RL and a gain Resistance Rm:

low-pass 5th order


H = (RL*Rm)/(K.s^5+L.s^4+M.s^3+N.s^2+P.s+Q) with:

K = C0*C1*C2*C3*Cm*R0*R1*R2*R3*Rg*RL*Rm;
L = C0*C1*C2*C3*R0*R1*R2*R3*Rg*RL+C0*C1*C2*C3*R0*R1*R2*R3*RL*Rm+C0*C1*C2*C3*R1*R2*R3*Rg*RL*Rm+C0*C1*C2*Cm*R0*R1*R2*R3*Rg*Rm+C0*C1*C2*Cm*R0*R1*R2*Rg*RL*Rm+C0*C1*C3*Cm*R0*R1*R2*Rg*RL*Rm+C0*C1*C3*Cm*R0*R1*R3*Rg*RL*Rm+C0*C2*C3*Cm*R0*R1*R3*Rg*RL*Rm+C0*C2*C3*Cm*R0*R2*R3*Rg*RL*Rm+C1*C2*C3*Cm*R0*R2*R3*Rg*RL*Rm+C1*C2*C3*Cm*R1*R2*R3*Rg*RL*Rm;
M = C0*C1*C2*R0*R1*R2*R3*Rg+C0*C1*C2*R0*R1*R2*R3*Rm+C0*C1*C2*R0*R1*R2*Rg*RL+C0*C1*C2*R0*R1*R2*RL*Rm+C0*C1*C2*R1*R2*R3*Rg*Rm+C0*C1*C2*R1*R2*Rg*RL*Rm+C0*C1*C3*R0*R1*R2*Rg*RL+C0*C1*C3*R0*R1*R2*RL*Rm+C0*C1*C3*R0*R1*R3*Rg*RL+C0*C1*C3*R0*R1*R3*RL*Rm+C0*C1*C3*R1*R2*Rg*RL*Rm+C0*C1*C3*R1*R3*Rg*RL*Rm+C0*C1*Cm*R0*R1*R2*Rg*Rm+C0*C1*Cm*R0*R1*R3*Rg*Rm+C0*C1*Cm*R0*R1*Rg*RL*Rm+C0*C2*C3*R0*R1*R3*Rg*RL+C0*C2*C3*R0*R1*R3*RL*Rm+C0*C2*C3*R0*R2*R3*Rg*RL+C0*C2*C3*R0*R2*R3*RL*Rm+C0*C2*C3*R1*R3*Rg*RL*Rm+C0*C2*C3*R2*R3*Rg*RL*Rm+C0*C2*Cm*R0*R1*R3*Rg*Rm+C0*C2*Cm*R0*R1*Rg*RL*Rm+C0*C2*Cm*R0*R2*R3*Rg*Rm+C0*C2*Cm*R0*R2*Rg*RL*Rm+C0*C3*Cm*R0*R1*Rg*RL*Rm+C0*C3*Cm*R0*R2*Rg*RL*Rm+C0*C3*Cm*R0*R3*Rg*RL*Rm+C1*C2*C3*R0*R2*R3*Rg*RL+C1*C2*C3*R0*R2*R3*RL*Rm+C1*C2*C3*R1*R2*R3*Rg*RL+C1*C2*C3*R1*R2*R3*RL*Rm+C1*C2*C3*R2*R3*Rg*RL*Rm+C1*C2*Cm*R0*R2*R3*Rg*Rm+C1*C2*Cm*R0*R2*Rg*RL*Rm+C1*C2*Cm*R1*R2*R3*Rg*Rm+C1*C2*Cm*R1*R2*Rg*RL*Rm+C1*C3*Cm*R0*R2*Rg*RL*Rm+C1*C3*Cm*R0*R3*Rg*RL*Rm+C1*C3*Cm*R1*R2*Rg*RL*Rm+C1*C3*Cm*R1*R3*Rg*RL*Rm+C2*C3*Cm*R0*R3*Rg*RL*Rm+C2*C3*Cm*R1*R3*Rg*RL*Rm+C2*C3*Cm*R2*R3*Rg*RL*Rm;
N = C0*C1*R0*R1*R2*Rg+C0*C1*R0*R1*R2*Rm+C0*C1*R0*R1*R3*Rg+C0*C1*R0*R1*R3*Rm+C0*C1*R0*R1*Rg*RL+C0*C1*R0*R1*RL*Rm+C0*C1*R1*R2*Rg*Rm+C0*C1*R1*R3*Rg*Rm+C0*C1*R1*Rg*RL*Rm+C0*C2*R0*R1*R3*Rg+C0*C2*R0*R1*R3*Rm+C0*C2*R0*R1*Rg*RL+C0*C2*R0*R1*RL*Rm+C0*C2*R0*R2*R3*Rg+C0*C2*R0*R2*R3*Rm+C0*C2*R0*R2*Rg*RL+C0*C2*R0*R2*RL*Rm+C0*C2*R1*R3*Rg*Rm+C0*C2*R1*Rg*RL*Rm+C0*C2*R2*R3*Rg*Rm+C0*C2*R2*Rg*RL*Rm+C0*C3*R0*R1*Rg*RL+C0*C3*R0*R1*RL*Rm+C0*C3*R0*R2*Rg*RL+C0*C3*R0*R2*RL*Rm+C0*C3*R0*R3*Rg*RL+C0*C3*R0*R3*RL*Rm+C0*C3*R1*Rg*RL*Rm+C0*C3*R2*Rg*RL*Rm+C0*C3*R3*Rg*RL*Rm+C0*Cm*R0*R1*Rg*Rm+C0*Cm*R0*R2*Rg*Rm+C0*Cm*R0*R3*Rg*Rm+C0*Cm*R0*Rg*RL*Rm+C1*C2*R0*R2*R3*Rg+C1*C2*R0*R2*R3*Rm+C1*C2*R0*R2*Rg*RL+C1*C2*R0*R2*RL*Rm+C1*C2*R1*R2*R3*Rg+C1*C2*R1*R2*R3*Rm+C1*C2*R1*R2*Rg*RL+C1*C2*R1*R2*RL*Rm+C1*C2*R2*R3*Rg*Rm+C1*C2*R2*Rg*RL*Rm+C1*C3*R0*R2*Rg*RL+C1*C3*R0*R2*RL*Rm+C1*C3*R0*R3*Rg*RL+C1*C3*R0*R3*RL*Rm+C1*C3*R1*R2*Rg*RL+C1*C3*R1*R2*RL*Rm+C1*C3*R1*R3*Rg*RL+C1*C3*R1*R3*RL*Rm+C1*C3*R2*Rg*RL*Rm+C1*C3*R3*Rg*RL*Rm+C1*Cm*R0*R2*Rg*Rm+C1*Cm*R0*R3*Rg*Rm+C1*Cm*R0*Rg*RL*Rm+C1*Cm*R1*R2*Rg*Rm+C1*Cm*R1*R3*Rg*Rm+C1*Cm*R1*Rg*RL*Rm+C2*C3*R0*R3*Rg*RL+C2*C3*R0*R3*RL*Rm+C2*C3*R1*R3*Rg*RL+C2*C3*R1*R3*RL*Rm+C2*C3*R2*R3*Rg*RL+C2*C3*R2*R3*RL*Rm+C2*C3*R3*Rg*RL*Rm+C2*Cm*R0*R3*Rg*Rm+C2*Cm*R0*Rg*RL*Rm+C2*Cm*R1*R3*Rg*Rm+C2*Cm*R1*Rg*RL*Rm+C2*Cm*R2*R3*Rg*Rm+C2*Cm*R2*Rg*RL*Rm+C3*Cm*R0*Rg*RL*Rm+C3*Cm*R1*Rg*RL*Rm+C3*Cm*R2*Rg*RL*Rm+C3*Cm*R3*Rg*RL*Rm;
P = C0*R0*R1*Rg+C0*R0*R1*Rm+C0*R0*R2*Rg+C0*R0*R2*Rm+C0*R0*R3*Rg+C0*R0*R3*Rm+C0*R0*Rg*RL+C0*R0*RL*Rm+C0*R1*Rg*Rm+C0*R2*Rg*Rm+C0*R3*Rg*Rm+C0*Rg*RL*Rm+C1*R0*R2*Rg+C1*R0*R2*Rm+C1*R0*R3*Rg+C1*R0*R3*Rm+C1*R0*Rg*RL+C1*R0*RL*Rm+C1*R1*R2*Rg+C1*R1*R2*Rm+C1*R1*R3*Rg+C1*R1*R3*Rm+C1*R1*Rg*RL+C1*R1*RL*Rm+C1*R2*Rg*Rm+C1*R3*Rg*Rm+C1*Rg*RL*Rm+C2*R0*R3*Rg+C2*R0*R3*Rm+C2*R0*Rg*RL+C2*R0*RL*Rm+C2*R1*R3*Rg+C2*R1*R3*Rm+C2*R1*Rg*RL+C2*R1*RL*Rm+C2*R2*R3*Rg+C2*R2*R3*Rm+C2*R2*Rg*RL+C2*R2*RL*Rm+C2*R3*Rg*Rm+C2*Rg*RL*Rm+C3*R0*Rg*RL+C3*R0*RL*Rm+C3*R1*Rg*RL+C3*R1*RL*Rm+C3*R2*Rg*RL+C3*R2*RL*Rm+C3*R3*Rg*RL+C3*R3*RL*Rm+C3*Rg*RL*Rm+Cm*R0*Rg*Rm+Cm*R1*Rg*Rm+Cm*R2*Rg*Rm+Cm*R3*Rg*Rm+Cm*Rg*RL*Rm;
Q = R0*Rg+R0*Rm+R1*Rg+R1*Rm+R2*Rg+R2*Rm+R3*Rg+R3*Rm+Rg*RL+Rg*Rm+RL*Rm;

If you don't need Rm and RL to have a pure 5th order transfer function, you just need to replace Rm and RL values by very high values (for example 1e12!!)


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.