Comparison

Bilinear Transform vs Impulse Invariance

Designing a digital lowpass IIR filter from a 5th-order Butterworth analog prototype forces you to choose how you map the s-plane to the z-plane. Impulse invariance preserves the time-domain shape of the prototype but introduces aliasing above the Nyquist limit. Bilinear transformation maps the entire jΩ axis to the unit circle with no aliasing, at the cost of nonlinear frequency compression. That trade-off drives every practical IIR filter design decision.

ECE, EI

Side-by-side comparison

ParameterBilinear TransformImpulse Invariance
Mapping Techniques → z via impulse response matchings → z via s = (2/T)·(z−1)/(z+1) substitution
AliasingPresent — overlapping spectra above fs/2None — entire jΩ axis maps to unit circle
Frequency WarpingNo warping; linear frequency mappingNonlinear warping: Ω = (2/T)·tan(ω/2)
Suitability for Highpass / BandstopNot suitable — aliasing corrupts stopbandSuitable after pre-warping critical frequencies
Stability PreservationStable analog poles → stable digital polesStable analog poles always map inside unit circle
Typical Sampling Rate AssumptionRequires high Ts (oversampling) to minimize aliasingWorks at any Ts; pre-warp before design
Common ApplicationBandlimited lowpass filters, audio smoothingButterworth, Chebyshev IIR design in MATLAB fdatool
Pre-warping NeededNoYes — set Ωp = (2/T)·tan(ωp/2) before design
Order of Resulting FilterSame as analog prototypeSame as analog prototype
MATLAB Functionimpinvar()bilinear()

Key differences

Impulse invariance sets h[n] = T·h_a(nT), so digital poles sit at z = e^(sT), preserving the analog impulse response exactly — but any spectral energy above fs/2 folds back and corrupts the passband. This makes it useless for highpass or bandstop filters. Bilinear substitution s = (2/T)·(z−1)/(z+1) maps the entire left half s-plane to the interior of the unit circle, eliminating aliasing entirely. The cost is frequency warping: a cutoff designed at 1 kHz with T=1/8000 must be pre-warped to Ω = 2×8000×tan(π×1000/8000) ≈ 6498 rad/s before applying the analog prototype.

When to use Bilinear Transform

Use impulse invariance for strictly bandlimited lowpass filters where the analog prototype already attenuates heavily before fs/2. FIR-like audio smoothing filters operating well below Nyquist are a textbook example.

When to use Impulse Invariance

Use bilinear transform for any highpass, bandpass, or bandstop digital IIR filter design. MATLAB's fdatool and the butter() + bilinear() chain use this method by default for all standard IIR filters.

Recommendation

Choose bilinear transform for virtually every practical IIR filter design. Impulse invariance is mainly a teaching tool today — aliasing makes it unsuitable for anything except bandlimited lowpass applications. Always pre-warp your critical frequencies before applying the bilinear substitution.

Exam tip: University examiners consistently ask you to state why impulse invariance fails for highpass filters — write "aliasing due to spectral overlap above Nyquist" and show the folded spectrum diagram.

Interview tip: Placement interviewers at core DSP companies ask the pre-warping formula; give Ωd = (2/T)·tan(ω/2) and explain that without it, the designed cutoff will shift from the intended digital frequency after transformation.

More Digital Signal Processing comparisons