DSP 101
M8 · L3
Module 8 — IIR Filter Design
The Bilinear Transform

The standard method for converting analog filter prototypes into digital IIR filters — mapping the entire s-plane to the z-plane with no aliasing.

1 / 9
DSP 101
M8 · L3
The Core Idea
Replace s with z

The bilinear transform substitutes the analog variable s with a rational function of z. Apply the substitution to H_a(s) and you instantly get H(z).

Bilinear Substitution
s = \dfrac{2}{T}\cdot\dfrac{z - 1}{z + 1}
2 / 9
DSP 101
M8 · L3
s-Plane → z-Plane
A Perfect One-to-One Map

Every point in the s-plane maps to exactly one point in the z-plane, and vice versa. The three key correspondences:

  • Left half-plane (stable analog) → inside unit circle (stable digital)
  • Imaginary axis jΩ → unit circle |z| = 1 (frequency response)
  • Right half-plane (unstable) → outside unit circle
Key advantage over impulse invariant
No aliasing — the entire frequency axis folds into [−π, π] without overlap
3 / 9
DSP 101
M8 · L3
The Trade-off
Frequency Warping

Compressing ±∞ into ±π is not free — the frequency axis gets nonlinearly distorted. Near DC the mapping is almost linear, but near Nyquist (ω→π) analog frequencies are heavily compressed.

Warping Relationship
\Omega = \dfrac{2}{T}\tan\!\left(\dfrac{\omega T}{2}\right)
4 / 9
DSP 101
M8 · L3
The Fix
Pre-Warp the Prototype

Design the analog prototype at the pre-warped frequency Ω_c. After the bilinear transform, the digital cutoff lands exactly at the target ω_c.

Pre-Warping Formula
\Omega_c = \dfrac{2}{T}\tan\!\left(\dfrac{\omega_c T}{2}\right)

Only critical band-edge frequencies need pre-warping. The rest of the response will be warped but within-band character (equiripple or monotone) is preserved.

5 / 9
DSP 101
M8 · L3
Design Procedure
Four-Step Workflow
  • Step 1: Specify digital filter — ω_p, ω_s, δ_p, δ_s
  • Step 2: Pre-warp band edges → Ω_p, Ω_s
  • Step 3: Design analog prototype (Butterworth / Chebyshev / Elliptic) at pre-warped frequencies
  • Step 4: Apply bilinear substitution to get H(z)
6 / 9
DSP 101
M8 · L3
Beyond Lowpass
All Filter Types

Add a frequency transformation before the bilinear step to design any filter type from a lowpass prototype:

  • LP → HP: replace s with Ω_c / s
  • LP → BP: replace s with (s² + Ω_0²)/(B·s) — doubles order
  • LP → BS: replace s with B·s/(s² + Ω_0²) — also doubles order
  • All handled automatically by butter/cheby1/ellip in MATLAB & SciPy
7 / 9
DSP 101
Knowledge Check

Check whatstuck

Four questions on the bilinear transform — the mapping, warping, pre-warping and type transforms.

Question 1 of 0
Score 0/0

8 / 9
DSP 101
M8 · L3
Key Takeaways
What You Learned
  • Bilinear transform: s = (2/T)(z−1)/(z+1) — algebraic, no aliasing
  • Left half-plane → inside unit circle — stability guaranteed
  • Frequency warping: Ω = (2/T)·tan(ωT/2) compresses ±∞ into ±π
  • Pre-warp critical frequencies so the digital cutoff lands correctly
  • Works for all filter types with additional LP→HP/BP/BS transformations
  • Bilinear transform + analog prototype = the standard IIR design method
Read full article →
9 / 9
1 / 8 muted