ELEC6218 · Signal Processing Analog & Digital Filter Design
Signal Processing · Lecture notes Prof. Çelik
ELEC6218 · Signal Processing
Lecture 8

IIR Filter Design

A common way to design an IIR filter is to begin with an analog prototype and convert it to digital form. We study two conversions. Impulse invariance preserves samples of the analog impulse response but may introduce aliasing. The bilinear transform avoids aliasing and preserves stability, but it warps the frequency axis.

Quiz
Podcast ↓ MP3
InstructorProf. Abdulkadir Çelik (https://akadircelik.com) ModuleELEC6218 TopicsImpulse invariance · pole mapping & aliasing · bilinear transform · frequency warping & prewarping · worked Butterworth designs
▸ Design the analog filter first ▸ Impulse invariance: exact shape, aliasing risk ▸ BLT: no aliasing, warped frequency ▸ Prewarp to land the edges exactly
Learning outcomes

By the end of this lecture, you will be able to:

  • Apply the impulse-invariance pole mapping \(z_k=e^{s_kT}\), and explain clearly why it preserves stability but can introduce frequency aliasing.
  • Convert digital low-pass requirements into an analog Butterworth prototype and transform it using impulse invariance.
  • Use the bilinear transform, calculate its nonlinear frequency mapping, and prewarp the band edges so that they land at the requested digital frequencies.
  • Select impulse invariance or the bilinear transform according to whether time-domain shape, aliasing avoidance or exact band-edge placement is most important.
Lecture 8

Contents

Start with the common analog-prototype workflow. Then study impulse invariance and the bilinear transform through complete examples. The final section shows how to choose the appropriate conversion method.

iNotation used in this lecture
\(H_a(s),H_c(s)\)
the analog (continuous-time) prototype filter
\(T\)
sampling period, \(T=1/F_s\)
\(\Omega,\omega\)
analog radian frequency (Lecture 1–2 convention) and digital radian frequency
\(s_k,z_k\)
an analog pole and its digital image under the chosen transform
BLT
bilinear transform

Common starting point. Both methods first create an analog Butterworth, Chebyshev or elliptic prototype. They differ in how the \(s\)-plane transfer function is converted into a \(z\)-plane transfer function.

8.1  From analog prototype to digital filter

Designing IIR coefficients directly is difficult because feedback makes the error depend nonlinearly on the coefficients, and an unconstrained search can create unstable poles. A standard alternative is to design a well-understood analog prototype first and then transform it into a digital filter.

The analog prototype is a rational function of \(s\), while the required digital filter is a rational function of \(z^{-1}\). A mapping \(s\mapsto f(z)\) connects the two.

$$ H(z)=\frac{\sum_{k=0}^{M}b_kz^{-k}}{1+\sum_{k=1}^{N}a_kz^{-k}} \qquad\longleftarrow\qquad s\mapsto f(z),\quad H_a(s) $$
(8.1)

The two main mappings have different trade-offs. Impulse invariance preserves samples of the analog impulse response but can alias the frequency response. The bilinear transform avoids aliasing but warps the frequency axis. Before applying either method, identify the specification, choose an analog prototype family and form the required band shape.

Analog specA_p, A_s, Ω_p, Ω_s Prototype H_a(s)Lecture 5 Digital H(z)impulse inv. or BLT
Figure 8.1.a. The route taken by every design in this lecture. The analog prototype is completed first, using Lecture 5 unchanged, and only then transformed. Sections 8.1.1 to 8.1.3 settle what enters the last box; Sections 8.2 and 8.3 are the two ways of leaving it.

8.1.1  What the specification says

A filter specification gives allowable ranges rather than one exact curve. It defines the permitted passband variation, maximum stopband level and the two band edges. The transition band between the edges is left unconstrained, giving the design enough freedom to be realizable.

1 + δp1 1 − δp2 δs 0 ωp ωs π ω |H(ejω)| passband transition stopband
Figure 8.1.b. The tolerance scheme, which is the real input to every design that follows. Out to \(\omega_p\) the magnitude may sit anywhere in \([1-\delta_{p2},\,1+\delta_{p1}]\); many texts, and both examples in this lecture, take \(\delta_{p1}=0\) so that unity is a ceiling rather than a target. From \(\omega_s\) to \(\pi\) the magnitude must stay below \(\delta_s\). Between the two edges nothing at all is required, and it is that gap the approximation lives in.

The original requirements are stated in digital frequency \(\omega\), because the final filter is digital. The corresponding analog frequencies \(\Omega\) must be derived according to the chosen transformation. They are intermediate design values, not the original specification.

8.1.2  Which analog prototype

Every design in this lecture begins from one of the four classical prototypes of Lecture 5. Each is defined by its magnitude-squared response, and for the Butterworth family that response is as flat as a rational function of the given order can be made at \(\Omega=0\):

$$ |H_{LP}(j\Omega)|^2=\frac{1}{1+\epsilon^2(\Omega/\Omega_c)^{2N}}\quad\text{(Butterworth)}, \qquad H_{LP}(s)=\frac{1}{B(s)} $$
(8.2)

Here \(N\) is the order, \(\Omega_c\) is the cutoff and \(\epsilon\) controls the passband tolerance. The denominator polynomial \(B(s)\) distinguishes the prototype families and determines their left-half-plane poles. The first design decisions are therefore the family and the required order.

Butterworth

Maximally flat passband, monotonic everywhere. Gentlest roll-off, so the highest order for a given specification, and the prototype used in both examples below.

Chebyshev I

Equiripple passband, monotonic stopband. Spends the passband tolerance evenly and buys a steeper transition at lower order.

Chebyshev II

The mirror image: flat passband, equiripple stopband. Preferred when passband fidelity matters more than stopband uniformity.

Elliptic (Cauer)

Equiripple in both bands, which is the minimax solution of Lecture 7 in analog form. Lowest order of the four, worst phase behaviour.

Figure 8.1.c. The prototype families. On the left, the Butterworth magnitude of Eq. (8.2) for \(N=1\) to \(8\), with the selected order highlighted: monotonic at every order, sharpening only as \(N\) grows. On the right, all four families at the same order \(N\), each designed for \(G_p=-1\,\text{dB}\) and \(G_s=-40\,\text{dB}\), which shows where each one chooses to spend its ripple budget; the readout gives the frequency at which each first reaches \(-40\) dB. Switch to dB to see the stopbands. Both transformations of Sections 8.2 and 8.3 are indifferent to this choice, since it is settled in the analog domain before either is applied.

8.1.3  Getting the band shape you want

Prototype tables normally use a normalized low-pass filter with unit cutoff. Standard substitutions in \(s\) convert it into a low-pass, high-pass, band-pass or band-stop response. The transformation relocates the band edges while preserving the prototype's ripple levels.

Low-pass
\(s\to\dfrac{s}{\Omega_c}\)
rescale the cutoff(8.3.a)
High-pass
\(s\to\dfrac{\Omega_c}{s}\)
invert the axis(8.3.b)
Band-pass
\(s\to\dfrac{s^2+\Omega_0^2}{Bs}\)
centre \(\Omega_0\), width \(B\)(8.3.c)
Band-stop
\(s\to\dfrac{Bs}{s^2+\Omega_0^2}\)
the band-pass, inverted(8.3.d)

Use the operations in the correct order. First form the required analog band shape using Eqs. (8.3.a)–(8.3.d), then convert the completed analog filter to digital form. For the bilinear transform, prewarp the requested digital edges before the analog band transformation.

8.2  Impulse invariance

The most literal reading of "carry the analog filter into discrete time" is to keep its impulse response and simply read it at the sampling instants. That is the whole idea of impulse invariance, and everything else in this section is a consequence of it.

\(\delta(t)\)
\(H_a(s)\)
\(h_a(t)\)
×
\(s(t)=\sum_n \delta(t-nT)\)
\(h_s(t)=\sum_n h_a(nT)\,\delta(t-nT)\)
impulses tosequence, ×T
\(h_d[n]=T\,h_a(nT)\)
Figure 8.2.a. What impulse invariance asks for. The block diagram at the top shows the sampling step: the impulse response \(h_a(t)\) is multiplied by the impulse train \(s(t)=\sum_n\delta(t-nT)\), giving \(h_s(t)\), whose impulse weights \(h_a(nT)\) are the orange stems. Converting those impulses to a sequence and scaling by \(T\) gives \(h_d[n]\), the lower plot. The analog filter answers \(\delta(t)\) with a continuous waveform \(h_a(t)\), shown for a Butterworth prototype with \(\Omega_c=0.6836\) (Example 8.1 with \(T=1\)). The digital filter is required to answer \(\delta[n]\) with that same waveform, read at the sampling instants \(t=nT\) and scaled by \(T\). The readout compares the digital DC gain \(\sum_n h_d[n]\) with the analog \(H_a(0)=1\); the difference grows with \(T\), because coarser sampling lets more of the spectrum fold back. Note that the requirement is stated purely in the time domain; every frequency-domain consequence in this section is derived from it rather than imposed alongside it.
$$ h_d[n]=T\,h_a(nT), \qquad H(z)=\mathcal{Z}\{h_d[n]\}=T\sum_{n=0}^{\infty}h_a(nT)\,z^{-n} $$
(8.4)

Impulse invariance samples the analog impulse response: \(h[n]=T h_a(nT)\). The interval \(T\) sets the analog-to-digital frequency scaling; in the normalized examples it is chosen conveniently. As in Lecture 3, sampling in time creates repeated spectral copies and therefore a risk of aliasing.

$$ H(e^{j\omega})=\frac{1}{T}\sum_{k=-\infty}^{\infty}H_a\!\Big(j\frac{\omega+2\pi k}{T}\Big), \qquad \omega=\Omega T \pmod{2\pi} $$
(8.5)

If the analog response were exactly zero above \(\pi/T\), the spectral copies would not overlap inside \(|\omega|\le\pi\). The digital response would then be a frequency-scaled version of the analog response:

$$H(e^{j\omega})=H_a\!\Big(j\frac{\omega}{T}\Big),\qquad |\omega|\le\pi \qquad\text{(band-limited prototype only).}$$

Real analog filters are not perfectly band-limited, so neighbouring copies can overlap the baseband. The mapping remains linear, but high-frequency energy folds into lower digital frequencies. A low-pass prototype may decay enough for this error to be small. A high-pass or band-stop response retains substantial high-frequency energy, so impulse invariance is usually unsuitable.

Figure 8.2.b. The periodic sum of Eq. (8.5), for a Butterworth prototype with \(T=1\). The top panel plots the prototype against analog frequency \(\Omega\), with \(\Omega_c\) marked and the band \(|\Omega|\le\pi/T\) shaded; the second panel is the same curve relabelled on the digital axis \(\omega=\Omega T\). That analog response becomes, after sampling, the sum of the shifted copies below it (dashed). Where those copies overlap they add, and the digital response (solid) departs from the analog one. Raising \(\omega_c\) or lowering \(N\) widens each copy and increases the overlap; the dB view shows that the digital stopband floor near \(\pi\) is set by fold-back rather than by the prototype. This is Lecture 3's sampling aliasing seen from the filter designer's side.

To obtain a digital transfer function, first write \(H_a(s)\) in partial fractions. Each analog pole produces an exponential term in \(h_a(t)\). Sampling that exponential produces a geometric sequence with a simple \(z\)-transform:

$$ H(z)=\sum_{k=1}^{N}\frac{TA_k}{1-e^{s_kT}z^{-1}}, \qquad \boxed{s_k\ \longrightarrow\ z_k=e^{s_kT}} $$
(8.6)
From a Butterworth \(H_a(s)\) to \(H(z)\)

1. Poles. The \(N\) left-half-plane poles of Eq. (5.7):

$$s_k=\Omega_c\,e^{j\left(\frac{\pi}{2}+\frac{(2k-1)\pi}{2N}\right)},\qquad k=1,\dots,N.$$

2. Partial fractions. The poles are distinct, so each has a residue:

$$H_a(s)=\frac{\Omega_c^{N}}{\prod_{k=1}^{N}(s-s_k)}=\sum_{k=1}^{N}\frac{A_k}{s-s_k},\qquad A_k=\frac{\Omega_c^{N}}{\prod_{m\ne k}(s_k-s_m)}.$$

3. Map each term with Eq. (8.6):

$$\frac{A_k}{s-s_k}\ \longrightarrow\ \frac{TA_k}{1-e^{s_kT}z^{-1}}.$$

4. Combine conjugate pairs. Poles \(s_k\) and \(s_k^{*}\) have conjugate residues, and their two terms add to one real second-order section. For odd \(N\) the real pole \(s=-\Omega_c\) gives one first-order term \(TA_k/(1-e^{-\Omega_cT}z^{-1})\), with a real residue \(A_k\) from step 2.

For example, \(N=2\). The poles are \(s_{1,2}=-a\pm ja\) with \(a=\Omega_c/\sqrt2\), and the residues are \(A_{1,2}=\mp j\,\Omega_c/\sqrt2\). Adding the two mapped terms gives

$$H(z)=\frac{\sqrt2\,\Omega_cT\,e^{-aT}\sin(aT)\,z^{-1}}{1-2e^{-aT}\cos(aT)\,z^{-1}+e^{-2aT}z^{-2}}.$$

The analog filter has no finite zeros, but \(H(z)\) has one at \(z=0\). It comes from recombining the terms, as Section 8.2.1 notes.

A stable analog pole has \(\Re(s_k)<0\). Its digital image satisfies \(|z_k|=e^{\Re(s_k)T}<1\), so it lies inside the unit circle. Impulse invariance therefore preserves stability.

8.2.1  Three things Eq. (8.6) does not say

The formula maps poles, not zeros. Digital zeros appear after the partial-fraction terms are recombined over a common denominator and depend on both poles and residues. Do not map analog zeros using \(z=e^{sT}\); impulse invariance is not a complete point-by-point mapping of the two planes.

Changing the normalized value of \(T\) does not remove aliasing. The digital specification is fixed in \(\omega\), so changing \(T\) rescales both the analog band edges and the sampling boundary together. To reduce fold-back, use a higher-order prototype with faster high-frequency decay or design extra stopband margin.

Other time-domain mappings are possible. Step invariance, for example, preserves samples of the analog step response. A waveform-invariance method is useful when transient properties such as rise time, overshoot or ringing matter more than an exact frequency-axis mapping.

Advantages

Preserves the impulse-response shape exactly (up to sampling); pole mapping is a one-line formula; stable analog ⇒ stable digital, always.

Disadvantages

Aliases if \(H_a\) is not sufficiently band-limited; poor for high-pass or wideband filters, whose high-frequency content folds straight back in.

EXAMPLE 8.1 · A digital Butterworth low-pass via impulse invariance

Design a digital Butterworth low-pass filter by impulse invariance, taking \(T=1\) for simplicity. The passband is \(0\le|\omega|\le0.2\pi\) with gain \(G_p\ge-1\,\text{dB}\), and the stopband is \(0.4\pi\le|\omega|\le\pi\) with gain \(G_s\le-40\,\text{dB}\). Find \(N\), \(\Omega_c\), the analog \(H_c(s)\) and the form of \(H(z)\).

1
Read the digital specification

The edges are \(\omega_p=0.2\pi\) and \(\omega_s=0.4\pi\). Convert the dB gains to linear magnitudes as in Lecture 5:

$$A_p=10^{-1/20}\approx0.8913,\qquad A_s=10^{-40/20}=0.01.$$

The mask is drawn on the left of Figure 8.2.c.

Digital specification, |H(ejω)|0−40−60dBpassband≥ −1 dBstopband ≤ −40 dBnot allowed0ωp0.2πωs0.4ππω (rad/sample)Analog specification, |Hc(jΩ)|0−40−60dBpassband≥ −1 dBstopband ≤ −40 dBnot allowed0Ωp0.2πΩs0.4ππΩ (rad/s)Ω = ω/TT = 1
Figure 8.2.c. Example 8.1, Steps 1 and 2. Left: the digital tolerance mask; the response must stay out of the hatched regions, so it must not fall below \(-1\,\text{dB}\) on \(0\le\omega\le0.2\pi\) and must not rise above \(-40\,\text{dB}\) on \(0.4\pi\le\omega\le\pi\). Right: the same mask after \(\Omega=\omega/T\) with \(T=1\). The gains are unchanged and the edges keep their numerical values, so \(\omega=\pi\) becomes \(\Omega=\pi\) rad/s and the edges become \(0.2\pi\) and \(0.4\pi\) rad/s.
2
Convert to an analog specification

Impulse invariance gives Eq. (8.5). If \(H_c(j\Omega)\) is negligible for \(|\Omega|\ge\pi/T\), only the \(k=0\) term survives on \(|\omega|\le\pi\):

$$H(e^{j\omega})\approx H_c\!\left(j\frac{\omega}{T}\right),\qquad |\omega|\le\pi.$$

The analog filter must therefore meet the same gains at \(\Omega=\omega/T\), with \(T=1\):

$$\Omega_p=0.2\pi\approx0.628\ \text{rad/s},\qquad \Omega_s=0.4\pi\approx1.257\ \text{rad/s}.$$

The analog mask is drawn on the right of Figure 8.2.c.

3
Recall the Butterworth design equations

From Lecture 5, the squared magnitude, Eq. (5.4), and the order and cutoff, Eqs. (5.5) and (5.6), are

$$|H_c(j\Omega)|^2=\frac{1}{1+(\Omega/\Omega_c)^{2N}},\qquad N=\left\lceil \frac{\ln\!\big[(1/A_s^2-1)/(1/A_p^2-1)\big]}{2\ln(\Omega_s/\Omega_p)} \right\rceil,\qquad \Omega_c=\Omega_p\left(\frac{1}{A_p^2}-1\right)^{-1/(2N)}.$$

The \(N\) left-half-plane poles, Eq. (5.7), and the transfer function are

$$p_k=\Omega_c\,e^{j\left(\frac{\pi}{2}+\frac{(2k-1)\pi}{2N}\right)},\quad k=1,\dots,N,\qquad H_c(s)=\frac{\Omega_c^N}{\prod_{k=1}^{N}(s-p_k)}.$$
4
Order

\(1/A_p^2-1\approx0.259\) and \(1/A_s^2-1=9999\). The edge ratio is \(\Omega_s/\Omega_p=\omega_s/\omega_p=2\); \(T\) cancels, so the order depends only on the digital specification.

$$N_{\text{real}}=\frac{\ln(9999/0.259)}{2\ln 2}=\frac{\ln(3.86\times10^4)}{2\ln2}\approx7.62\ \Longrightarrow\ \boxed{N=8}$$
5
Cutoff
$$\Omega_c=\Omega_p\,(0.259)^{-1/16}\approx1.088\,\Omega_p\approx\boxed{0.684\ \text{rad/s}}$$

With \(T=1\), \(\Omega_cT\approx0.684\) rad/sample.

6
Analog transfer function

With \(N=8\), Eq. (5.7) places the left-half-plane poles at

$$p_k=\Omega_c\,e^{j\left(\frac{\pi}{2}+\frac{(2k-1)\pi}{16}\right)},\qquad k=1,\dots,8.$$

Since the poles are distinct, \(H_c(s)\) expands into first-order partial fractions:

$$H_c(s)=\frac{\Omega_c^{8}}{\prod_{k=1}^{8}(s-p_k)}=\sum_{k=1}^{8}\frac{A_k}{s-p_k}.$$
7
Transform to the z-domain

By Eq. (8.6), each partial fraction maps term by term, and each analog pole becomes the digital pole \(z_k=e^{p_kT}\):

$$\frac{A_k}{s-p_k}\ \longrightarrow\ \frac{TA_k}{1-z_kz^{-1}},\qquad H(z)=\sum_{k=1}^{8}\frac{TA_k}{1-z_kz^{-1}}.$$

With \(\Omega_cT=0.684\):

pair \(k,\,9-k\)
\(\frac{(2k-1)\pi}{16}\)
\(p_kT\)
\(|z_k|=e^{\sigma_kT}\)
\(\angle z_k=\Omega_kT\)
1, 8
\(\pi/16\)
\(-0.133\pm j0.671\)
0.875
\(\pm0.213\pi\)
2, 7
\(3\pi/16\)
\(-0.380\pm j0.568\)
0.684
\(\pm0.181\pi\)
3, 6
\(5\pi/16\)
\(-0.568\pm j0.380\)
0.566
\(\pm0.121\pi\)
4, 5
\(7\pi/16\)
\(-0.671\pm j0.133\)
0.511
\(\pm0.042\pi\)

Figure 8.2.d shows the same mapping with these values as its defaults.

8
Combine conjugate pairs

Poles \(p_k\) and \(p_{9-k}=p_k^{*}\) have conjugate residues, \(A_{9-k}=A_k^{*}\). Putting their two terms over a common denominator cancels the imaginary parts and leaves one real second-order section:

$$\frac{TA_k}{1-z_kz^{-1}}+\frac{TA_k^{*}}{1-z_k^{*}z^{-1}}=\frac{b_{0k}+b_{1k}z^{-1}}{1+a_{1k}z^{-1}+a_{2k}z^{-2}},$$
$$b_{0k}=2T\,\Re A_k,\quad b_{1k}=-2T\,\Re\!\left(A_kz_k^{*}\right),\quad a_{1k}=-2|z_k|\cos(\Omega_kT),\quad a_{2k}=|z_k|^2.$$

The denominators follow from the Step 7 table; the residues come from Step 6. For the four pairs:

pair \(k,\,9-k\)
\(TA_k\)
\(b_{0k}\)
\(b_{1k}\)
\(a_{1k}\)
\(a_{2k}\)
1, 8
\(0.201\mp j0.134\)
0.402
\(-0.130\)
\(-1.371\)
0.766
2, 7
\(0.237\pm j1.192\)
0.474
\(-1.151\)
\(-1.153\)
0.468
3, 6
\(-2.877\mp j0.572\)
\(-5.754\)
3.267
\(-1.052\)
0.321
4, 5
\(2.439\mp j3.650\)
4.878
\(-1.976\)
\(-1.014\)
0.262

The digital filter is the parallel sum of the four sections,

$$\boxed{H(z)=\sum_{k=1}^{4}\frac{b_{0k}+b_{1k}z^{-1}}{1+a_{1k}z^{-1}+a_{2k}z^{-2}}}$$

As a check, \(H(1)\approx1.002\), close to the analog DC gain of 1; the small excess is the aliased tail of Eq. (8.5).

Figure 8.2.d. Example 8.1, Step 7. The \(2N\) roots of \(1+(s/j\Omega_c)^{2N}\) lie on a circle of radius \(\Omega_c\), spaced by \(\pi/N\); \(H_c(s)\) claims the \(N\) in the left half-plane, and impulse invariance carries each one to \(z_k=e^{s_kT}\) inside the unit circle by Eq. (8.6). The defaults are Example 8.1's \(N=8\) with \(T=1\), so frequencies are in units of \(1/T\) and the radius is \(\Omega_cT=0.6836\). Hover over a pole in either plane to highlight its partner. Changing \(T\) moves every image along a spiral \(e^{\sigma_kT}e^{j\Omega_kT}\), but never outside the unit circle.
MATLAB corner for Example 8.1

This script designs Example 8.1's \(N=8\) analog Butterworth prototype, applies impulse invariance via impinvar(), and checks the resulting digital filter against the discrete-time specification.

Goal: confirm the impulse-invariance design meets the passband/stopband targets, and plot the poles \(z_k=e^{s_kT}\) from Step 7, and show the group delay.

impulse_invariance_demo.m
MATLAB
%% impulse_invariance_demo.m - Example 8.1's N=8 Butterworth (Eq. 8.6)
Fs = 1; T = 1/Fs; % T = 1 for simplicity
Gp = -1; Gs = -40; % dB gains (Example 5.1)
wp = 0.2*pi; ws = 0.4*pi; % digital edges, Step 1
Wp = wp/T; Ws = ws/T; % analog edges, Step 2
 
[N, Wc] = buttord(Wp, Ws, -Gp, -Gs, 's'); % N = 8 (Step 4)
[b, a] = butter(N, Wc, 's'); % analog H_c(s), Step 6
[bz, az] = impinvar(b, a, Fs); % impulse invariance, Eq. (8.6)
 
[H, w] = freqz(bz, az, 2048);
figure('Color','w');
subplot(1,3,1); plot(w/pi, 20*log10(abs(H)), 'LineWidth',1.3); grid on;
ylim([-120 5]); xline(0.2,'g--'); xline(0.4,'r--'); title('log-magnitude (dB)');
subplot(1,3,2); zplane(bz, az); title('poles z_k = e^{p_kT}');
subplot(1,3,3); grpdelay(bz, az, 2048); title('group delay');
Figure 8.2.e. MATLAB verification of Example 8.1. Left: the log-magnitude, with the passband edge \(0.2\pi\) (green) and stopband edge \(0.4\pi\) (red); the response should stay above \(-1\,\text{dB}\) up to the green line and below \(-40\,\text{dB}\) beyond the red one. Middle: the eight poles \(z_k=e^{s_kT}\), all inside the unit circle, at the radii and angles tabulated in Step 7. Right: the group delay, which is not constant, so the filter does not have linear phase.

8.3  The bilinear transform

The bilinear transform is an algebraic substitution rather than a sampling operation, so it does not create spectral copies. It maps each relevant point in the \(s\)-plane to one point in the \(z\)-plane:

$$ s=\frac{2}{T}\,\frac{1-z^{-1}}{1+z^{-1}}, \qquad z=\frac{1+sT/2}{1-sT/2} $$
(8.7)

8.3.1  Stability is preserved exactly

Substitute \(s=\sigma+j\Omega\) into Eq. (8.7) and compare the magnitudes of the numerator and denominator. The sign of \(\sigma\) determines whether the image lies inside, on or outside the unit circle:

$$ \sigma<0\ \Rightarrow\ |z|<1, \qquad \sigma>0\ \Rightarrow\ |z|>1 $$
(8.8)

The complete left half-plane maps inside the unit circle, so every stable analog pole becomes a stable digital pole. Unlike impulse invariance, the mapping is one-to-one and does not fold multiple analog frequencies onto one digital frequency.

Figure 8.3.a. Eq. (8.8) in action. Drag \(s_0=\sigma+j\Omega\) in the s-plane (or its image \(z_0\) in the z-plane) and the readout evaluates \(|z_0|^2=\big[(1+\sigma)^2+\Omega^2\big]/\big[(1-\sigma)^2+\Omega^2\big]\) from Eq. (8.7) with \(T=2\). The \(\Omega^2\) terms are the same on top and bottom, so only \((1+\sigma)^2\) against \((1-\sigma)^2\) decides the result: \(\sigma<0\) gives \(|z_0|<1\), \(\sigma>0\) gives \(|z_0|>1\). Lines of constant \(\sigma\) map to circles that all pass through \(z=-1\), the image of \(s=\infty\); the \(j\Omega\)-axis maps onto the unit circle itself. The numbered green strips, each one unit wide in \(\sigma\), show how unevenly the left half-plane is packed into the disc: strip 1 (\(-1\le\sigma\le0\)) fills 75% of the disc, strip 2 fills 13.9%, strip 3 fills 4.9%, and the whole remaining half-plane \(\sigma<-3\) is squeezed into a circle of radius \(\tfrac14\) touching \(z=-1\). This is the same compression that produces frequency warping on the unit circle (Section 8.3.2): equal steps in \(s\) cover less and less of the z-plane the further they are from the origin. Red circles (\(\sigma>0\)) enclose the unit circle. Sweep moves \(s_0\) from left to right across the \(j\Omega\)-axis.

8.3.2  Frequency warping

The price of that one to one map is paid on the boundary between the two regions. Put \(z=e^{j\omega}\) into Eq. (8.7) and factor \(e^{-j\omega/2}\) out of the numerator and the denominator, which is the step that turns the algebra into a tangent:

$$s=\frac{2}{T}\,\frac{1-e^{-j\omega}}{1+e^{-j\omega}}=\frac{2}{T}\,\frac{e^{-j\omega/2}\big(e^{j\omega/2}-e^{-j\omega/2}\big)}{e^{-j\omega/2}\big(e^{j\omega/2}+e^{-j\omega/2}\big)}=\frac{2}{T}\,\frac{2j\sin(\omega/2)}{2\cos(\omega/2)}=\frac{2j}{T}\tan\!\Big(\frac{\omega}{2}\Big).$$

Evaluating the inverse mapping on \(z=e^{j\omega}\) gives a purely imaginary value of \(s\), so the unit circle maps onto the \(j\Omega\)-axis. The resulting frequency relationship is nonlinear. Each digital frequency \(\omega\) on the unit circle lands at the analog frequency

$$ \Omega=\frac{2}{T}\tan\!\Big(\frac{\omega}{2}\Big) $$
(8.9)

on the \(j\Omega\)-axis, and inverting it gives the digital frequency that each analog frequency is sent to:

$$ \omega=2\tan^{-1}\!\Big(\frac{\Omega T}{2}\Big) $$
(8.10)

At low frequencies, \(\tan(\omega/2)\approx\omega/2\), so the mapping is nearly linear. As \(\omega\) approaches \(\pi\), the tangent tends to infinity. The entire unbounded analog frequency axis is therefore compressed into the finite digital interval, avoiding aliasing but producing frequency warping.

Figure 8.3.b. The bilinear map in three views, with \(T=2\). A point at angle \(\omega_0\) on the unit circle, on the left, corresponds to exactly one point \(\Omega_0\) on the \(j\Omega\)-axis, on the right. The curve in the middle is the correspondence itself, monotonic everywhere and asymptotic to \(\pm\pi\), so one trip round the circle accounts for the entire analog axis and none of it is left over to fold back. Drag the point in any of the three views, or use Sweep the circle; the linear-map overlay shows how far \(\Omega=\omega/T\) drifts from the true correspondence as \(\omega_0\) grows.

8.3.3  Prewarping

Because the mapping is nonlinear, using the naive analog edges \(\Omega=\omega/T\) would place the final digital edges incorrectly. Prewarping applies the inverse mapping first, so the analog prototype is designed at frequencies that will transform to the required digital edges:

$$ \Omega_p=\frac{2}{T}\tan\!\Big(\frac{\omega_p}{2}\Big), \qquad \Omega_s=\frac{2}{T}\tan\!\Big(\frac{\omega_s}{2}\Big), \qquad H(z)=H_a\!\left(\frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}}\right) $$
(8.11)

Prewarping makes each specified band edge land exactly at its target. Frequencies between the edges are still warped, but this does not violate an ordinary tolerance mask because the transition band is unconstrained.

Figure 8.3.c. Prewarping viewed as a translation between specifications. The digital tolerance scheme on the left is the one that was asked for. Eq. (8.11) pushes its edges \(\omega_p,\omega_s\) outward to \(\Omega_p,\Omega_s\), and the prototype is designed against that stretched version on the right; the grey ticks mark the naive edges \(\omega/T\). The amplitude tolerances are carried across untouched, since only the frequency axis is distorted. Moving the edges towards \(\pi\) increases the stretch; the readout compares the Butterworth order each version would require.
Figure 8.3.d. The same operation as one picture. Start at the digital specification at the bottom, read upward to the warping curve \(\Omega=(2/T)\tan(\omega/2)\), and across to the analog specification on the left that the prototype must satisfy. The prototype shown is designed from the prewarped edges with \(G_p=-1\,\text{dB}\) and \(G_s=-15\,\text{dB}\), as a Butterworth or Chebyshev I filter. The orange probe follows one frequency through all three panels and reads the same magnitude on the analog and digital curves. Because the curve is monotonic, a tolerance band maps to a tolerance band, so a prototype meeting the left mask is guaranteed to meet the bottom one once transformed.

8.3.4  Where the poles and zeros land

The bilinear transform maps both poles and zeros. If an analog filter has fewer finite zeros than poles, its remaining zeros are regarded as lying at \(s=\infty\). These map to \(z=-1\), so a bilinear low-pass has zeros at the Nyquist frequency.

$$ z_k=\frac{1+s_kT/2}{1-s_kT/2}, \qquad s=\infty\ \longrightarrow\ z=-1, \qquad H_{\text{norm}}(z)=\frac{H(z)}{|H(e^{j\omega_0})|} $$
(8.12)

The substitution can change the overall gain, so normalize the final filter at a suitable reference frequency: DC for a low-pass, \(\omega=\pi\) for a high-pass, and the centre frequency for a band-pass.

Low-pass prototype
1\(H_{LP}(s)\)
Start from a low-pass prototype \(H_{LP}(s)\) (Lecture 5).
Prewarp edges
2\(\Omega=\tfrac{2}{T}\tan(\omega/2)\)
Prewarp the digital edges to analog ones via Eq. (8.11).
Frequency transformation
3\(H_{LP}(s)\to H_c(s)\)
Apply any needed analog frequency transformation at the prewarped edges.
Verify
5\(H(z)\)
Verify \(H(z)\) meets the original digital specification.
Bilinear substitution
4\(s=\tfrac{2}{T}\tfrac{1-z^{-1}}{1+z^{-1}}\)
Substitute the bilinear transform, Eq. (8.7).
Figure 8.3.e. The bilinear design recipe in five numbered steps. Step 2 is the move Figures 8.3.c and 8.3.d illustrate: the analog design is carried out at the prewarped edges, so the bilinear substitution in step 4 returns every specified edge to its digital target.
EXAMPLE 8.2 · A digital Butterworth low-pass via the bilinear transform

Design a digital Butterworth low-pass filter by the bilinear transform with prewarping, taking \(T=1\) for simplicity. The passband is \(0\le|\omega|\le0.2\pi\) with gain \(G_p\ge-1\,\text{dB}\), and the stopband is \(0.4\pi\le|\omega|\le\pi\) with gain \(G_s\le-40\,\text{dB}\). Find \(N\), \(\Omega_c\), the analog \(H_c(s)\) and the form of \(H(z)\).

1
Read the digital specification

The specification is that of Example 8.1: \(\omega_p=0.2\pi\), \(\omega_s=0.4\pi\), and

$$A_p=10^{-1/20}\approx0.8913,\qquad A_s=10^{-40/20}=0.01.$$

The digital mask is the left of Figure 8.2.c.

2
Prewarp to an analog specification

The bilinear transform, Eq. (8.7), maps the whole \(j\Omega\) axis once onto the unit circle, with \(\Omega=(2/T)\tan(\omega/2)\). The analog filter must therefore meet the gains at the prewarped edges of Eq. (8.11), with \(T=1\), so \(2/T=2\):

$$\Omega_p=2\tan(0.1\pi)\approx0.650\ \text{rad/s},\qquad \Omega_s=2\tan(0.2\pi)\approx1.453\ \text{rad/s}.$$

Both edges move up compared with the naive values \(\omega_p/T\approx0.628\) and \(\omega_s/T\approx1.257\), and the stopband edge moves further because \(\tan\) grows faster than linearly. Figure 8.3.f shows the two masks.

Digital specification, |H(ejω)|0−40−60dBpassband≥ −1 dBstopband ≤ −40 dBnot allowed0ωp0.2πωs0.4ππω (rad/sample)Prewarped analog specification, |Hc(jΩ)|0−40−60dBpassband≥ −1 dBstopband ≤ −40 dBnot allowed0Ωp0.650Ωs1.453∞Ω (rad/s)Ω = (2/T) tan(ω/2)T = 1
Figure 8.3.f. Example 8.2, Steps 1 and 2. Left: the digital tolerance mask, identical to Figure 8.2.c. Right: the mask the analog prototype must meet after prewarping with Eq. (8.11). The gains are unchanged; with \(T=1\) the edges move to 0.650 and 1.453 rad/s instead of the naive \(\omega/T\) values 0.628 and 1.257, and \(\omega=\pi\) maps to \(\Omega=\infty\), so the stopband extends without limit.
3
Recall the Butterworth design equations

From Lecture 5, the squared magnitude, Eq. (5.4), and the order and cutoff, Eqs. (5.5) and (5.6), are

$$|H_c(j\Omega)|^2=\frac{1}{1+(\Omega/\Omega_c)^{2N}},\qquad N=\left\lceil \frac{\ln\!\big[(1/A_s^2-1)/(1/A_p^2-1)\big]}{2\ln(\Omega_s/\Omega_p)} \right\rceil,\qquad \Omega_c=\Omega_p\left(\frac{1}{A_p^2}-1\right)^{-1/(2N)}.$$

The \(N\) left-half-plane poles, Eq. (5.7), and the transfer function are

$$p_k=\Omega_c\,e^{j\left(\frac{\pi}{2}+\frac{(2k-1)\pi}{2N}\right)},\quad k=1,\dots,N,\qquad H_c(s)=\frac{\Omega_c^N}{\prod_{k=1}^{N}(s-p_k)}.$$
4
Order

\(1/A_p^2-1\approx0.259\) and \(1/A_s^2-1=9999\), as before. The edge ratio is now \(\Omega_s/\Omega_p=\tan(0.2\pi)/\tan(0.1\pi)=2.236\); \(T\) cancels again.

$$N_{\text{real}}=\frac{\ln(9999/0.259)}{2\ln 2.236}=\frac{\ln(3.86\times10^4)}{2\ln2.236}\approx6.56\ \Longrightarrow\ \boxed{N=7}$$

The warping widens the transition band, so the bilinear design needs one order less than Example 8.1.

5
Cutoff
$$\Omega_c=\Omega_p\,(0.259)^{-1/14}\approx1.101\,\Omega_p\approx\boxed{0.716\ \text{rad/s}}$$

In the normalised units of the bilinear transform, \(\Omega_cT/2\approx0.358\).

6
Analog transfer function

With \(N=7\), Eq. (5.7) places the left-half-plane poles at

$$p_k=\Omega_c\,e^{j\left(\frac{\pi}{2}+\frac{(2k-1)\pi}{14}\right)},\qquad k=1,\dots,7,$$

so that

$$H_c(s)=\frac{\Omega_c^{7}}{\prod_{k=1}^{7}(s-p_k)}.$$

\(N\) is odd, so \(k=4\) gives the real pole \(p_4=-\Omega_c\). The bilinear transform substitutes for \(s\) directly, so no partial-fraction expansion is needed.

7
Substitute the bilinear transform

Substituting Eq. (8.7) into each factor of \(H_c(s)\) gives

$$s-p_k=\frac{\left(\frac{2}{T}-p_k\right)\left(1-z_kz^{-1}\right)}{1+z^{-1}},\qquad z_k=\frac{1+p_kT/2}{1-p_kT/2},$$

and multiplying the seven factors together, with \(K\) a constant gain:

$$H(z)=K\,\frac{(1+z^{-1})^{7}}{\prod_{k=1}^{7}(1-z_kz^{-1})},$$

Each analog pole is carried to the z-plane by the bilinear map of Eq. (8.7). All seven poles have \(\mathrm{Re}\{p_k\}<0\), so by Eq. (8.8) they land inside the unit circle. The seven analog zeros at \(s=\infty\) all land at \(z=-1\), as Section 8.3.4 describes. With \(\Omega_cT/2=0.358\):

pair \(k,\,8-k\)
\(\frac{(2k-1)\pi}{14}\)
\(p_kT/2\)
\(|z_k|\)
\(\angle z_k\)
1, 6
\(\pi/14\)
\(-0.080\pm j0.349\)
0.868
\(\pm0.215\pi\)
2, 5
\(3\pi/14\)
\(-0.223\pm j0.280\)
0.658
\(\pm0.182\pi\)
3, 4
\(5\pi/14\)
\(-0.322\pm j0.155\)
0.522
\(\pm0.109\pi\)
7 (real)
\(7\pi/14\)
\(-0.358\)
0.473
\(0\)

Unlike Example 8.1, the radius and angle of \(z_k\) both depend on \(\sigma_k\) and \(\Omega_k\); the map is no longer \(e^{\sigma_kT}e^{j\Omega_kT}\). Figure 8.3.g plots both pole sets.

Analog poles, normalised s-plane (sT/2)Digital poles and zeros, z-planeσT/2ΩT/2stable region−0.358radius ΩcT/2 = 0.358Re zIm z1−17 zerosEq. (8.7)polezero
Figure 8.3.g. Example 8.2, Step 7. Left: the seven Butterworth poles \(p_k\) of Step 6 on a half circle of radius \(\Omega_cT/2=0.358\) in the left half of the normalised \(s\)-plane. Right: the same poles after Eq. (8.7), at the radii and angles listed in the table, all inside the unit circle. The seven zeros at \(s=\infty\) land together at \(z=-1\).
8
Combine conjugate pairs into real sections

Poles \(k\) and \(8-k\) are conjugates. Pairing them, and giving each pair two of the zeros at \(z=-1\), gives a cascade of one first-order and three second-order sections:

$$H(z)=K\,\frac{1+z^{-1}}{1-0.4729\,z^{-1}}\,\prod_{k=1}^{3}\frac{(1+z^{-1})^2}{1-2|z_k|\cos(\angle z_k)\,z^{-1}+|z_k|^2z^{-2}}.$$

From the table in Step 7, the three denominators are

$$1-1.3547z^{-1}+0.7526z^{-2},\qquad 1-1.1078z^{-1}+0.4331z^{-2},\qquad 1-0.9837z^{-1}+0.2726z^{-2}.$$

No residues are needed. \(H(1)=H_c(0)=1\), so the DC gain is already correct.

9
Check the specification

Eq. (8.11) maps \(\omega_p\) exactly to \(\Omega_p\), and Step 5 set \(\Omega_c\) so that \(|H_c(j\Omega_p)|=A_p\). The passband edge therefore sits exactly at \(-1\,\text{dB}\). At the stopband edge, \(\Omega_s/\Omega_c\approx2.030\):

$$|H(e^{j0.4\pi})|=|H_c(j\Omega_s)|=\frac{1}{\sqrt{1+2.030^{14}}}\approx0.0070\quad(\approx-43.1\ \text{dB}).$$

This meets the \(-40\,\text{dB}\) limit with about 3 dB to spare. No aliasing check is needed, because the bilinear transform maps \(|\Omega|<\infty\) onto \(|\omega|<\pi\) one-to-one, and the response is exactly zero at \(\omega=\pi\).

MATLAB corner for Example 8.2

This script designs Example 8.2's \(N=7\) analog Butterworth prototype at the prewarped edges, applies the bilinear transform via bilinear(), and checks the resulting digital filter against the discrete-time specification.

Goal: confirm the bilinear design meets the passband/stopband targets with \(N=7\), plot the poles \(z_k\) from Step 7 and the seven zeros at \(z=-1\), and show the group delay.

bilinear_lpf_demo.m
MATLAB
%% bilinear_lpf_demo.m - Example 8.2's N=7 Butterworth (Eqs. 8.7, 8.11)
Fs = 1; T = 1/Fs; % T = 1 for simplicity
Gp = -1; Gs = -40; % dB gains (Example 8.1)
wp = 0.2*pi; ws = 0.4*pi; % digital edges, Step 1
Wp = 2/T*tan(wp/2); Ws = 2/T*tan(ws/2); % prewarped edges, Step 2
 
N = buttord(Wp, Ws, -Gp, -Gs, 's'); % N = 7 (Step 4)
Wc = Wp*(10^(-Gp/10)-1)^(-1/(2*N)); % passband-exact cutoff, Step 5
[b, a] = butter(N, Wc, 's'); % analog H_c(s), Step 6
[bz, az] = bilinear(b, a, Fs); % bilinear transform, Eq. (8.7)
 
[H, w] = freqz(bz, az, 2048);
fprintf('gain at 0.2pi: %.2f dB, at 0.4pi: %.2f dB\n', 20*log10(abs(freqz(bz, az, [wp ws]))));
figure('Color','w');
subplot(1,3,1); plot(w/pi, 20*log10(abs(H)), 'LineWidth',1.3); grid on;
ylim([-120 5]); xline(0.2,'g--'); xline(0.4,'r--'); title('log-magnitude (dB)');
subplot(1,3,2); zplane(bz, az); title('poles z_k, zeros at z = -1');
subplot(1,3,3); grpdelay(bz, az, 2048); title('group delay');
Figure 8.3.h. MATLAB verification of Example 8.2. Left: the log-magnitude, with the passband edge \(0.2\pi\) (green) and stopband edge \(0.4\pi\) (red); the response should pass through \(-1\,\text{dB}\) at the green line and stay below \(-40\,\text{dB}\) beyond the red one, falling to zero at \(\omega=\pi\). Middle: the seven poles \(z_k\) from Step 7, all inside the unit circle, and the seven zeros at \(z=-1\). Right: the group delay, which is not constant, so the filter does not have linear phase.

8.3.5  What warping does to phase

Prewarping corrects selected band edges, not the complete frequency-axis shape. In particular, an analog linear-phase response does not remain linear after the nonlinear mapping. Applying the transform to an ideal delay shows this directly:

$$ e^{-s\alpha}\ \xrightarrow{\ \text{BLT}\ }\ \angle H(e^{j\omega})=-\frac{2\alpha}{T}\tan\!\Big(\frac{\omega}{2}\Big)\ \approx\ -\frac{\alpha\omega}{T}\ \ (\omega\ll\pi) $$
(8.13)
Figure 8.3.i. Linear phase does not survive the bilinear transform. On the left, the dashed line is the phase the analog delay had, \(-\alpha\omega/T\), and the solid curve is what Eq. (8.13) returns. The two agree while \(\tan(\omega/2)\approx\omega/2\) holds, roughly over the lower third of the band, then separate without bound as \(\omega\) approaches \(\pi\). On the right is the same fact as group delay: the constant \(\alpha/T\) becomes \((\alpha/T)\sec^2(\omega/2)\). The same argument rules out a bilinear differentiator, whose defining property is a response that is linear in \(\omega\).

The bilinear transform is well suited to standard magnitude specifications because prewarping can place their important edges exactly. Impulse invariance is useful when preserving sampled time-domain behaviour or a linear frequency mapping is more important, provided the analog response decays enough to keep aliasing small. For high-pass and band-stop analog prototypes, the bilinear transform is normally required.

8.4  Choosing between the two methods

Both are stability-preserving, linear-algebra-simple transforms of the same analog prototype, but they disagree everywhere else:

Property
Bilinear transform
Impulse invariance
Aliasing
None
Possible
Frequency mapping
Nonlinear (warped)
Linear, but periodic
Time-domain shape
Not preserved
Preserved exactly
Phase
Nonlinear
Nonlinear
Causality
Preserved
Preserved
Stability mapping
LHP → unit disk (exact)
LHP → unit disk (exact)
Typical use
Frequency-selective LPF/HPF/BPF/BSF (audio, control)
Band-limited systems where time-domain shape matters

For most standard frequency-selective filters, the bilinear transform is preferred because it avoids aliasing and places prewarped edges exactly. Impulse invariance remains useful when preserving samples of an analog system's impulse response or transient behaviour is the main objective.

?Problems with solutions

Work each one before reading the solution.

PROBLEM 8.1

An analog pole sits at \(s_k=-2+j5\), with \(T=0.5\). Find its image \(z_k\) under impulse invariance (Eq. 8.6), and confirm it lies inside the unit circle.

1
Apply Eq. (8.6)
$$z_k=e^{s_kT}=e^{(-2+j5)(0.5)}=e^{-1}e^{j2.5}$$
2
Evaluate
$$z_k\approx0.3679(-0.8011+j0.5985)\approx-0.2948+j0.2202$$
3
Check the magnitude

\(|z_k|=e^{\Re(s_k)T}=e^{-1}\approx0.368<1\ \checkmark\)

Result

\(z_k\approx-0.2948+j0.2202\), inside the unit circle.

This confirms Eq. (8.6)'s guarantee: \(\Re(s_k)<0\) maps strictly inside the unit circle, whatever the imaginary part.

PROBLEM 8.2

A digital specification needs edges at \(\omega_p=0.3\pi\) and \(\omega_s=0.5\pi\) with \(T=1\). A student designs the analog prototype directly at \(\Omega_p=0.3\pi\), \(\Omega_s=0.5\pi\) (no prewarping) and applies the BLT. Will the digital edges land where intended? Explain, and give the correct prewarped values.

1
What goes wrong

Without prewarping, the BLT's frequency relation (Eq. 8.10) still compresses the analog edges, so the digital edges land at \(\omega=2\tan^{-1}(\Omega/2)\). For \(\Omega=0.3\pi\) and \(0.5\pi\) this is noticeably less than \(0.3\pi\) and \(0.5\pi\) (Section 8.3.2).

2
Prewarp with Eq. (8.11), T = 1
$$\Omega_p=2\tan(0.15\pi)\approx1.019,\qquad \Omega_s=2\tan(\pi/4)=2$$
3
Design and transform

Design the analog prototype at these edges, then apply the BLT.

Result

No. Use \(\Omega_p\approx1.019\) and \(\Omega_s=2\); the digital edges then land exactly at \(0.3\pi\) and \(0.5\pi\).

PROBLEM 8.3

A design team must convert an analog Butterworth high-pass prototype to digital. Recommend impulse invariance or the bilinear transform, and justify using Section 8.2's disadvantages list.

1
Impulse invariance fails

A high-pass prototype stays near unity all the way to \(\Omega\to\infty\). With substantial energy above \(\Omega=\pi/T\) and no decay to make Eq. (8.5)'s tail negligible, aliasing is severe: exactly the case Section 8.2's disadvantages box flags.

2
The BLT avoids it

Its mapping (Eq. 8.10) compresses the entire analog axis into \(0\le\omega\le\pi\) with no folding, so the response near \(\Omega=\infty\) lands near \(\omega=\pi\) without aliasing.

3
Place the cutoff

Prewarping (Eq. 8.11) puts the cutoff exactly where specified.

Result

Use the bilinear transform.

Summary and key formulas

The reference sheet: the two transforms' key equations, and the property-by-property comparison.

Impulse invariance · Eq. (8.4)
$$h_d[n]=Th_a(nT)$$
Pole mapping · Eq. (8.6)
$$z_k=e^{s_kT}$$
Aliasing relation · Eq. (8.5)
$$\omega=\Omega T\pmod{2\pi}$$
Bilinear transform · Eq. (8.7)
$$s=\dfrac{2}{T}\dfrac{1-z^{-1}}{1+z^{-1}}$$
Frequency warping · Eq. (8.9)
$$\Omega=\dfrac{2}{T}\tan(\omega/2)$$
Prewarping · Eq. (8.11)
$$\Omega_p=\dfrac{2}{T}\tan(\omega_p/2)$$
  • Both methods start from a Lecture 5 analog prototype and transform it, because IIR filters are essentially never optimized directly (Lecture 6, Section 6.1).
  • Impulse invariance samples the analog impulse response; the pole rule \(z_k=e^{s_kT}\) guarantees stability but the method can alias if the prototype is not sufficiently band-limited.
  • The bilinear transform is a one-to-one algebraic map: no aliasing, exact stability preservation, but a nonlinear frequency-warping relation that must be compensated by prewarping the design edges.
  • In practice, the BLT is the default for standard frequency-selective filters; impulse invariance is reserved for cases where the time-domain impulse-response shape itself must be preserved.
  • Both examples in this lecture transform a Lecture 5 Butterworth prototype, and the same recipe applies unchanged to Chebyshev or elliptic prototypes.