# Background

The most common method of designing an

IIR digital filter (that is, a

digital filter with both

poles and

zeros) is to first design an

analog filter that meets the design specifications, then transform it to a digital filter using a transformation

function to map from the

Laplace domain to the

z-transform domain.

The **bilinear transform** is the most commonly used function of this type. (Other transforms are sometimes used in other applications; for instance, the step-invariant transformation for feedback control designs.) It is also known as the trapezoidal approximation.

# Description

The bilinear transform converts a

transfer function in the

Laplace transform domain to one in the

z-transform domain, by substituting:

`s` = `c`*(`z`-1)/(`z`+1)

where `c` is a constant that can be set arbitrarily to match one particular analog frequency is mapped exactly to a particular digital frequency.

# Important Details

The mapping thus generated has several nice properties: it is

one-to-one and

order-preserving, and it maps the left-hand

s-plane in the Laplace domain to the interior of the

unit circle in the z-domain (i.e.,

stable region to stable region, for

causal systems).

The mapping is *not* linear. By setting `z` = exp(j`Ω`) and `s` = j`ω` in the bilinear transform equation, the relation between analog and digital frequencies can be extracted:

`ω`_{analog} = `c` tan(`Ω`_{digital}/2)

Thus, the frequency response of an analog filter will be "warped" in the resulting digital filter.

There are two methods of compensating for this frequency distortion. First, if an existing analog filter is being converted, the constant `c` can be selected to make one the filters match at one particular frequency (for instance, the filter's cutoff frequency). *More commonly*, the filter's frequency specifications can be made in the digital domain and converted back to the analog domain (with an arbitary choice of `c`). An analog filter is then designed to meet these specifications; when converted back to a digital filter, the critical frequencies will be in the right places.

# Intuition

The bilinear transform is related to the

trapezoidal approximation in

numerical integration. Consider a

difference equation that approximates integration using this method:

`y`(`n`) = `y`(`n`-1) + `T`*(`x`(`n`) - `x`(`n`-1))/2

where `T` is the sampling period. Taking the z-transform and simplifying yields:

`Y`(`z`)/`X`(`z`) = (`T`/2)*(`z`+1)/(`z`-1)

Compare this to the Laplace transform of an integrator:

`Y`(`s`)/`X`(`s`) = 1/`s`

Clearly, applying the bilinear transform with `c`=2/`T` to one will yield the other.

**Sources:**

- *Digital Signal Processing, Third Edition*, by John Proakis and Dimitris Manolakis. (ISBN 0-13-373762-4)

- *Digital Filtering: An Introduction*, by Edward Cunningham. (ISBN 0-471-12475-3)

- my own head