FIL I.3 – Filter Design Basics


Now that you have a basic grasp on filter theory, let’s get down to actually designing one.  In this post we’ll go over how to design the most common passive filters, step by step.  More specifically, we’ll learn how to design low-pass filters, high-pass filters, and band-pass filters.

Filter Design: A Solved Problem

The math behind filter design is actually very complex, and the equations that determine component values are complicated.  Fortunately, most of that complexity will be transparent to you!  Good news, you’ll never have to work from scratch when designing filters.  Instead, filter design relies on using tables of normalized values, then extrapolating these values to fit your design case.  This way, a huge part of the complexity is abstracted away.

While filter design software are are powerful tools, it’s a good idea to go over how filter design works manually at least once.

Low-Pass Filter Design

The first step to designing a low-pass filter, or any filter for that matter, is to determine our design constraints.  What do we want our filter to accomplish?  Let’s say I want to design a filter with

  • a cut-off frequency of 10MHz
  • I don’t need a steep roll-off, but an attenuation of at least 50dB/decade would be preferable
  • a flat bandpass response for maximum linearity.

A Butterworth filter seems like it would work nicely with these constraints.  The 50dB/decade of power attenuation can be achieved with a 3rd order filter.  So, how do we get around to designing a third-order Butterworth filter?  First, we need to find a table of normalized components values for the Butterworth family of filters.  These are actually not that easy to find.  If you have a copy of the ARRL Handbook, you’ll find them in the Filters chapter (at least mine does).  Otherwise, you can find them on page 7 of this PDF.  Below is a copy of the necessary table, taken from my copy of the ARRL Handbook:

What do these tables represent?  The normalized values tables represent component values necessary for a low-pass filter with a cutoff frequency of 1 radian/s, and for an 1 Ohm input impedance.  That seems like a pretty worthless filter, but we will later extrapolate these numbers to find components values for our desired filter.  Choosing the third-order line on the above table, we are given 4 numbers: G(1), G(2), and G(3). R_{load}.  Before doing any math, let’s draw the architecture of our filter:

The first three values of the table, G(1), G(2), and G(3) correspond to component values from left to right.  We’ve chosen a “Pi” architecture here, so the first value corresponds to a capacitance.  Had we chosen a “Tee” architecture, the first value would have corresponded with an inductance.

Now that we have normalized component values, we need a way to scale them to our required frequency and output resistance.  For low pass normalization, to get the actual component values the following equations are used:

  • C_n = \frac{G(n)}{2\pi f_cR}
  • L_n = \frac{G(n)R}{2\pi f_c}

With f_c being our cut-off frequency, and R being the characteristic input resistance, 50 Ohms here.  Applying these two formulas, we can find our actual component values:

  • C_1 = \frac{G(1)}{2\pi f_c R} = 3.183.10^-10 = 318pF
  • L_2 = \frac{G(2)R}{2\pi f_c} = 1.592.10^-6 = 1.59uH
  • C_3 = \frac{G(3)}{2\pi f_c R} = 3.183.10^-10 = 318pF

And that’s it: we have our component values for our low pass Butterworth filter.  For comparison, here is what QUCS’ filter design tool gives me for the same design constraints:

We obtain the exact same results.  Now you know what goes inside your filter software.

There is one last step to take before we can actually build our filter.  The values given by these equations (or our software) are impractical.  We’ll have to use the closest standard capacitance available: here it would be 330pF.  If we build our own inductor, we can get pretty close to the result, but we still will have some margin of error.  At this point, we can test the filter with these new, standardized values and see if the response is close enough to what we initially wanted.  Some tweaking might be necessary.  Some filter design software will actually do this job for you and directly give you standard values to use.  Handy.

High-Pass Filter Design

Let’s determine our design constraints.  This time, we want a high-pass filter with a cut-off frequency of 5MHz, with a very steep rolloff, and atleast 70dB/decade of power attenuation.  A Chebyshev filter would do nicely here.  To have 70dB/decade power attenuation we would need a 4rth order filter at the least.  When designing a Chebyshev filter, we also have to decide on the acceptable passband ripple.  Here, we’re going to choose 0.5dB.

The first thing we need to do is find the table of normalized values for Chebyshev filters with 0.2dB ripple.  Again, if you have an ARRL Handbook you should find some tables in the filters chapter.  Otherwise, you can find them here.  Here is the table from my copy of the Handbook:

In this table, on the 4th order line, we have G(1), G(2), G(3), G(4), and R_{load}.  Here, R_{load} isn’t equal to one, like it was with the Butterworth filter above.  This means that the filter needs to feed a different resistance than its input resistance (which is usually 50 Ohms).  Even ordered Chebyshev filters have different input and output terminations.

Let’s draw the architecture of the 4th order high pass filter:

To get the component values for this filter, a different set of denormalization equations is required:

  • C_n = \frac{1}{2\pi f_c RG(n)}
  • L_n = \frac{R}{2\pi f_c G(n}}

This gives us the following component values:

  • C_1 =\frac{1}{2\pi f_c RG(1)} = 4.88.10^-10 = 488pF
  • L_2 = \frac{R}{2\pi f_c G(2}} = 1.240.10^-6 = 1240nH
  • C_3 =\frac{1}{2\pi f_c RG(3)} = 3.22.10^-10 = 322pF
  • L_4 = \frac{R}{2\pi f_c G(4}} = 1.879.10^-6 = 1879nH
  • R_{feed} =\frac{R_{in}}{R_{load}} = 77 Ohms

Band-Pass Filter Design

The last filter example we will explore is the band-pass filter.  Let’s first establish our design criteria:

  • Wide bandpass filter with a center frequency of 15MHz, and a passband width of 3MHz
  • Flat passband
  • No steep rolloff needed
  • Input resistance of 50 Ohms

Again, a third-order Butterworth filter would work nicely here.  First, let’s draw the filter’s architecture:

The following denormalization equations are used to get the actual component values:

  • C_n_{shunt} = \frac{G(n)}{R 2\pi f_w}
  • L_n_{shunt} = \frac{f_w R}{2\pi f_c^2 G(n)}
  • C_n_{series} = \frac{f_w}{2\pi R f_c^2 G(n)}
  • L_n_{series} = \frac{R G(n)}{2\pi f_w}

With f_w being the width of the passband, and f_c being the center frequency.

We can now calculate the values, using the same Butterworth normalized values table from the low-pass example:

  • C_1_{shunt} = \frac{G(1)}{R 2\pi f_w} = 1,06.10^-9 \approx 1nF
  • L_1_{shunt} = \frac{f_w R}{2\pi f_c^2 G(1)} = 1,06.10^-7 = 106nH
  • C_2_{series} = \frac{f_w}{2\pi R f_c^2 G(2)} = 2,12.10^-11 = 21pF
  • L_2_{series} = \frac{R G(2)}{2\pi f_w} = 5,31.10^-6 = 5.3\muH
  • C_3_{shunt} = \frac{G(3)}{R 2\pi f_w} = 1,06.10^-9 \approx 1nF
  • L_4_{shunt} = \frac{f_w R}{2\pi f_c^2 G(3)} = 1,06.10^-7 = 106nH

And just to check our calculations against a proper filter design software, here is what QUCS’ filter design tool gives me for the same design constraints:

The values are identical.

Denormalization Equations

We could go into some more example, but I think you get the point.  To design a filter with normalized tables, you need three things:

  • The tables themselves, found in filter handbooks or the internet
  • the filter topology, its architecture
  • the denormalization equations

As you’ve no doubt noticed, the denormalization equations depend on the kind of filter you want: low-pass, high-pass, bandpass, and bandstop.  However, they are the same for each filter family: the same equations will apply to Chebyshev, Butterworth, Cauer, and Bessel filters.

Let’s recap all the different denormalization equations you might need:

Low Pass Filters

  • C_n = \frac{G(n)}{2\pi f_cR}
  • L_n = \frac{G(n)R}{2\pi f_c}

f_c being the cut-off frequency.

High Pass Filters

  • C_n = \frac{1}{2\pi f_c RG(n)}
  • L_n = \frac{R}{2\pi f_c G(n}}

f_c being the cut-off frequency.

Bandpass Filters

  • C_n_{shunt} = \frac{G(n)}{R 2\pi f_w}
  • L_n_{shunt} = \frac{f_w R}{2\pi f_c^2 G(n)}
  • C_n_{series} = \frac{f_w}{2\pi R f_c^2 G(n)}
  • L_n_{series} = \frac{R G(n)}{2\pi f_w}

With f_c being the center frequency, and f_w being the passband width.

Bandstop Filters

  • C_n_{shunt} = \frac{f_w G(n)}{2\pi f_c^2 R}
  • L_n_{shunt} = \frac{R}{2\pi f_w G(n)}
  • C_n_{series} = \frac{1}{2\pi f_w R G(n}}
  • L_n_{series} = \frac{f_w R G(n)}{2\pi f_c^2}

With f_c being the center frequency, and f_w being the passband width.

Remember, for each one of this circuits, you can start with either the series elements, or the shunt elements.  The equations don’t change: just apply them going from left to right.


Now you know how to manually design most kinds of LC ladder type filters.  Even with all the tables and equations laid out, this is still slightly time-consuming.  Which is why, once you’ve gone through the steps once or twice, I suggest you pick up a good filter design tool that will do all the tedious work for you.  Most circuit simulation software will have a filter design tool somewhere in their menus.  If you own a copy of the ARRL Handbook, a filter design software is often given in the attached CD-ROM.  Otherwise, I suggest getting familiar with any circuit simulation software you like.  I personally took a liking to QUCS.  It’s open-source, relatively intuitive, and easy to use.

Leave a Comment