source code in HTML
source code in PDF

IIR digital low-pass Filter Design by Butterworth method

Nasser M. Abbasi

Sept 25, 2010 compiled on — Wednesday July 06, 2016 at 08:27 AM
This Demonstration shows the implementation of a design for an infinite impulse response (IIR) low-pass digital filter. The input consists of the design specifications for the desired Butterworh analog filter. These specifications are used to determine the Butterworth (analog) filter transfer function H (s)  , which is then mapped to the digital filter transfer function H (z)  . The transformation of H (s)  to H (z)  can be made using a bilinear transformation or impulse invariance.

Carry out the design by inputting the filter specifications using the sliders. There are five filter specification parameters

  1. Fsamp  is the sampling frequency
  2. Fpass  is the passband end frequency
  3. Fstop  is the start of stopband frequency
  4. Apass  is the attenuation in db at Fpass
  5. Astop  is the attenuation in db at Fstop


The plot at the top helps you see the locations of these parameters. These are standard digital filter design parameters that can be found in a number of digital signal processing textbooks.

You can do the design using normalized units (0  to 1  ) or in Hz. If you select normalized units, then 1  corresponds to the Nyquist frequency and Fpass  and Fstop  will be between 0  and 1  .

Next select the analog-to-digital filter mapping method, which can be bilinear or impulse invariance. Next select the order of the filter. You can select a minimum order to be designed or specify the order yourself using the slider. The design supports a filter order up to 10  . Finally, using the pulldown menu, select the plot type.

Some inputs will become disabled or enabled depending on what you select for the filter order and for the units. If you select a specific filter order, then only Fpass  will be enabled, as Fstop  is not required in this case; attenuation input is also disabled in this case, as attenuation A
  pass  will be fixed at 3  db. If you select normalized units, then the slider Fsamp  is disabled, as Nyquist is fixed at 1  .

The design status is displayed below the main display window. Two possible design errors are detected and are displayed in red text. The first occurs if the filter order calculated is over 10  (when you select minimum filter order). In this case you need to change the design parameters until the filter order becomes less than 10  . This error can occur if you select Astop  much larger than Apass  .

The second error occurs if the gain is found to be too small. This can occur if you select F
  pass  and Fstop  that are too close to each other.

A number of plots are made available to examine different aspects of the final design result, such as the locations of the poles and zeros, the response of the filter to common test input signals, and the display of H (s)  and H (z)  in symbolic form.

Due to space limitations, the design is limited to a filter of order 10  . You can get the design by asking for a minimum order filter or by specifying the filter order required. Both normalized units and hertz units can be used in the frequency specification.


A. V. Oppenheim and R. W. Schafer, Digital Signal Processing, Englewood Cliffs, NJ: Prentice-Hall, 1975, Chapter 5.