Bilinear Transform
Frequency warping, pre-warping.
The bilinear transform is the most widely used method for designing digital IIR filters from analog prototypes. It maps the entire analog frequency axis to the digital frequency range without aliasing, making it indispensable in DSP for audio, communications, and control systems.
Understanding the bilinear transform means understanding how an analog filter defined in the s-domain is converted into a digital filter in the z-domain while preserving stability and frequency selectivity. The key challenge it solves is the infinite analog frequency range versus the finite digital frequency range.
Core Concept Explanation
An analog filter prototype is designed in continuous time using standard tools such as Butterworth or Chebyshev approximations. The bilinear transform provides a one-to-one algebraic substitution that converts this analog prototype directly into a causal, stable digital filter. The substitution replaces the Laplace variable s with a rational function of z.
The fundamental substitution is s = (2/T) * (z-1)/(z+1), where T is the sampling period. This maps the entire imaginary axis of the s-plane onto the unit circle in the z-plane. Crucially, every point in the left half of the s-plane maps to a point strictly inside the unit circle, meaning a stable analog filter always becomes a stable digital filter. This property makes the bilinear transform far safer than impulse invariance, which suffers from aliasing.
The trade-off is frequency warping. The mapping between analog frequency Omega and digital frequency omega is nonlinear: Omega = (2/T) * tan(omega/2). This means equal analog frequency spacings do not translate to equal digital spacings. Frequencies near zero map fairly linearly, but as omega approaches pi (Nyquist), analog frequencies get compressed toward infinity.
Mathematical Expression
The bilinear transform substitution in the z-domain is:
s = (2/T) * (z - 1) / (z + 1)
Inverting this gives z = (1 + sT/2) / (1 - sT/2). To apply the transform, every occurrence of s in the analog transfer function H(s) is replaced by (2/T)(z-1)/(z+1), yielding H(z) directly.
The frequency warping relation is:
Omega_analog = (2/T) * tan(omega_digital / 2)
Because of warping, a critical frequency such as a cutoff must be pre-warped before designing the analog prototype. The pre-warped analog frequency is computed as Omega_d = (2/T) * tan(omega_c / 2), where omega_c is the desired digital cutoff. The analog prototype is then designed at Omega_d, and after applying the bilinear transform, the digital filter will have cutoff exactly at omega_c.
Practical Understanding
Pre-warping is the mandatory first step whenever sharp transitions must land at a specific digital frequency. Without pre-warping, the designed cutoff will shift from its intended position after transformation. For wide-band requirements where frequency precision matters less, pre-warping can sometimes be skipped, but this is uncommon in precision filter design.
In practice, the bilinear transform is used in audio equalizers, anti-aliasing filters for sensor data, and speech processing. Many digital filter toolboxes perform bilinear transformation internally when you specify a digital cutoff frequency and request IIR filter coefficients.
Given:
Sampling frequency fs = 8000 Hz, so T = 1/8000 s
Desired digital cutoff omega_c = pi/4 rad/sample
Why this formula applies:
Pre-warping converts digital cutoff to equivalent analog frequency before designing the analog prototype.
Formula:
Omega_d = (2/T) * tan(omega_c / 2)
Substitution:
Omega_d = (2 * 8000) * tan(pi/8)
Omega_d = 16000 * tan(0.3927)
Calculation:
tan(pi/8) = 0.4142
Omega_d = 16000 * 0.4142
Final Answer with units:
Omega_d = 6627.2 rad/s
Design analog prototype at 6627.2 rad/s; after bilinear transform, digital cutoff will be exactly pi/4 rad/sample.Exam Tip: In GATE, bilinear transform questions almost always involve computing the pre-warped frequency. Remember Omega = (2/T)*tan(omega/2). If they give fs and omega_c, compute T = 1/fs first, then apply the tan formula. Never confuse the digital and analog cutoff values.
Mechanism Summary
- The substitution s = (2/T)(z-1)/(z+1) replaces s everywhere in H(s) to get H(z).
- The jω-axis in s maps entirely onto the unit circle in z, ensuring no frequency aliasing.
- The left half s-plane maps to the interior of the unit circle, preserving stability.
- Frequency warping is nonlinear: Omega = (2/T) * tan(omega/2). Frequencies near pi are compressed.
- Pre-warping corrects the warping effect so the digital filter has cutoff exactly at the desired omega_c.
- Pre-warping is mandatory for filters with specific transition frequency requirements.
Quick Revision
- Bilinear transform: s = (2/T)(z-1)/(z+1). Substitute in H(s) to get H(z).
- Key advantage: no aliasing. jω-axis maps to unit circle completely.
- Key disadvantage: frequency warping. Equal analog spacing becomes unequal digital spacing.
- Pre-warping formula: Omega_d = (2/T) * tan(omega_c / 2). Always apply before designing analog prototype.
- Stable analog filter always yields stable digital filter via bilinear transform.
- Trap: forgetting to pre-warp will shift the cutoff from its intended position.
- Trap: bilinear transform is not suitable for differentiators because nonlinear warping distorts the linear phase response.
Bilinear Transform Quiz
Test your knowledge on this topic!
Q1.How does the Bilinear Transform mathematically avoid the frequency aliasing problem present in impulse invariance?
Related Articles
IIR Basics
Feedback, infinite impulse response.
8 min read
IIR Structures
Direct Form I/II, Parallel, Cascade.
4 min read
Chebyshev Filters
Type I and Type II ripple.
12 min read
System Response
Solving difference equations using Z-transform.
7 min read
Wavelet Transform
Short-time Fourier transform limitation, wavelets.
5 min read