IIR Filters and the Bilinear Transform
Analog prototypes — Butterworth, Chebyshev and elliptic — the bilinear transform, frequency prewarping, order against sharpness, and phase
Berlin, the 1930s — filters to order
Wilhelm Cauer, born in Berlin in 1900, began in general relativity, working with Max von Laue, then switched to electrical engineering. Work for a German subsidiary of the Bell Telephone Company brought him into contact with the leading American filter engineers, and in 1930 a Rockefeller fellowship took him to MIT and Harvard, where he worked with Vannevar Bush (Wilhelm Cauer).
Before Cauer, filter design relied on methods that predicted a filter's behaviour accurately only under unrealistic conditions, and on the designer's experience in choosing sections. He put the field on a firm mathematical footing, with tools that produce exact solutions to a given specification. Applying Chebyshev's approximation theory, he arrived at the filters now called elliptic or Cauer filters, which have the fastest possible transition from passband to stopband for a given ripple; Chebyshev filters are a special case. The first volume of his Theory of Linear AC Circuits appeared in 1941. Cauer was killed in Berlin in April 1945; the manuscript of his second volume was lost in the war, and his family later published one reconstructed from his papers (Wilhelm Cauer).
An infinite impulse response filter feeds its output back, so a few poles can make a very sharp response. The classic recipe borrows a century of analog design: choose an analog prototype — Butterworth, Chebyshev or elliptic (Lesson 4-4) — that meets the specification, then map it from the s-plane into the z-plane in a way that keeps it stable and keeps its shape.
Derivation
The bilinear transform
Integrate a signal with the trapezoidal rule, . Its transfer function approximates the integrator :
Substituting this for in an analog gives a digital of the same order. On the unit circle, ,
The whole analog frequency axis, , is squeezed onto ; the left half-plane lands inside the unit circle, so stable stays stable; and nothing aliases. The price is a nonlinear frequency warping.
💡Prewarping
Because of the warping, an analog cut-off does not land at . The cure is to design the analog prototype at the prewarped frequency
so that the bilinear transform carries it exactly where it is wanted. A second-order Butterworth filter designed this way by hand for 1 kHz at 8 kHz matches
scipy.signal.butter coefficient for coefficient; without prewarping, its −3 dB point lands at 952.9 Hz.📐Four answers to one specification
Pass 1 kHz within 1 dB and reject 1.5 kHz by 60 dB, sampled at 8 kHz. The orders needed, from SciPy's order functions:
- Butterworth: 16
- Chebyshev type I: 8
- Chebyshev type II: 8
- elliptic: 6
💡The price is paid in phase
A causal IIR filter cannot have exactly linear phase. Its group delay peaks near the band edge, just as the analog prototype's did (Lesson 4-4): for a fourth-order elliptic low-pass with a 50 Hz cut-off at 1 kHz, it is 8.1 samples at 1 Hz, 10.3 at 30 Hz and 22.6 at 49 Hz. A pulse through it emerges 9 ms late and lopsided. When the whole record is available, filtering forwards and then backwards (
scipy.signal.filtfilt) cancels the phase entirely — zero delay, perfect symmetry, the magnitude squared — at the cost of needing the future, so it is for recorded data, not live streams.The best is the enemy of the good.
🕰Why "elliptic"?
Elliptic filters are also called Zolotarev filters, after the Russian mathematician Yegor Zolotarev, and their responses are built from Jacobi's elliptic functions — the source of the name (Elliptic filter). They ripple equally in both the passband and the stopband, which is what makes their transition so fast.
⚠Prewarp what matters
Prewarping fixes one frequency per design — the cut-off, or the centre of a band. Everything else is still warped, increasingly so towards the Nyquist frequency, where the analog response's tail is crushed into a sliver. Specify digital filters in digital frequencies, and let the design routine (
butter(..., fs=fs) and friends) do the prewarping.💡Where you will use this
IIR filters smooth sensor data, separate audio bands, and implement digital versions of analog controllers — the bilinear transform is also known as Tustin's method, after Arnold Tustin. How their coefficients survive finite-precision arithmetic is Lesson 9-3.
📚Further reading
- Alan V. Oppenheim and Ronald W. Schafer, Discrete-Time Signal Processing (3rd ed., Pearson, 2010), sections 7.1–7.3 — IIR design from analog filters.
- Bilinear transform on Wikipedia — warping and prewarping in detail.
↓But there is a problem
Every design so far assumed exact arithmetic. Real filters run on processors that round every product and hold every number in a fixed number of bits — and a filter that is stable on paper can oscillate in silicon.
On 8 April 1983, Texas Instruments introduced a chip built to run filters fast, with 16-bit fixed-point arithmetic.