Digital IIR Filter Design Showing Poles and Zeros

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram CDF Player or other Wolfram Language products.

Requires a Wolfram Notebook System

Edit on desktop, mobile and cloud with any Wolfram Language product.

This Demonstration visualizes properties of a general fifth-order digital infinite impulse response (IIR) filter specified by the following expansion:



Slide the controls to set the filter coefficients to and to .

The poles and zeros of the transfer function are shown in the plot, along with the unit circle (dashed line) and the magnitude of the transfer function plotted in polar coordinates.


Contributed by: Hans Anderson (August 2015)
Open content licensed under CC BY-NC-SA



Snapshot 1: first-order all-pass filter

Snapshot 2: all-pole filter reducing amplitude of high frequencies

Snapshot 3: bandpass filter

The transfer function of the general fifth-order digital IIR filter as shown in this Demonstration is represented by


Given an input , the output of the filter, , is determined by . Thus, the transfer function for the filter specifies the change in amplitude and phase on an input with frequency distribution defined by the unitary complex number . For example, if the magnitude of the transfer function at frequency is 0.5, then the filter output amplitude at that frequency will be half the amplitude of the input.

In filter design, it is helpful to know which complex valued inputs to the transfer function produce zero output amplitude and which inputs produce infinite output amplitude. This information is readily available by examining the numerator and denominator of the transfer function. Specifically, if for a given input value the numerator is zero, then the entire transfer function evaluates to zero. Likewise, if for the denominator is zero, then the value of the transfer function is infinite. Complex values of for which are called zeros of the transfer function, while values for which is infinite are called poles.

When we plot the transfer function of a digital filter, we let and generate the plot by varying in the range . In this way, we cover the entire range of frequencies from 0 up to the Nyquist frequency, which is half the sampling rate. Hence the value indicates the maximum frequency at which the filter operates without aliasing.

In this Demonstration, the poles and zeros plot shows the location of the poles and zeros in the complex plane. For a benchmark, the unit circle is also shown with a dashed line. The solid line shows the absolute value of the transfer function plotted in polar coordinates as the angle varies from to and from to .

The impulse response plot shows the individual sample values that would result from applying the digital filter to an input containing a single one followed by zeros: . This is useful for illustrating how the filter causes impulsive inputs to spread out in the time domain.

The magnitude and phase plots show and , respectively, plotted with so that the frequency ranges from up to , which are the minimum and maximum frequencies representable in a digital system.


[1] R. Allred, Digital Filters for Everyone: Third Edition, Creative Arts & Sciences House, 2015.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.