Bilinear Transform

Frequency warping, pre-warping.

Darshan N
Updated: 19 March 2026
5 min read

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.

s-Domain (Analog)jωσ=0 (jω axis)Left HalfPlane (Stable)σ < 0z-Domain (Digital)Unit Circle|z|=1Inside = Stable|z|=1BilinearTransformjω-axis → Unit CircleNo aliasing, all frequencies mapped
Figure 1: Bilinear transform maps the analog s-domain to the digital z-domain, preserving stability boundaries.

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.

Example
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.
Bilinear Transform Design FlowSpecify DigitalCutoff ω_cPre-warp:Ω_d=(2/T)tan(ω_c/2)Design AnalogPrototype H(s) at Ω_dApply s→(2/T)(z-1)/(z+1)Frequency Warping CurveΩωwarpedlinear ref0π/2πResult: H(z) - Digital FilterStable if analog prototype was stableH(z) = H(s)|s=(2/T)(z-1)/(z+1)Cutoff exactly at ω_c after pre-warpNo aliasing. All frequencies mapped.LHP of s-plane → Inside unit circle
Figure 2: Step-by-step bilinear transform design flow and the nonlinear frequency warping relationship.

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!

Question 1 of 3

Q1.How does the Bilinear Transform mathematically avoid the frequency aliasing problem present in impulse invariance?