Skip to main content

Impulse invariance Butterworth, 0.2π, 0.5 dB

Short answer

Order N=5, Ωc=0.7754 rad/s. H(z) is realized as sum of three parallel sections: (−0.21432−0.22420z⁻¹)/(1−1.16493z⁻¹+0.61926z⁻²) + (−1.25466+1.00752z⁻¹)/(1−0.95901z⁻¹+0.28517z⁻²) + 1.46898/(1−0.46051z⁻¹).

Design a low pass digital filter by impulse invariance method to an approximate Butterworth filter, if passband edge frequency is 0.2π radians and maximum deviation of 0.5 dB below 0 dB gain in the passband. The maximum gain of −15 dB and frequency is 0.35π radian in stopband, consider sampling frequency 1 Hz.

Step 1: specifications

Pass-band edge 0.2π with at most 0.5 dB loss (|H| ≥ 0.94406). Stop band: −15 dB (|H| ≤ 0.17783) at 0.35π. Sampling frequency 1 Hz, so T = 1 s.

Step 2: analog edge frequencies (impulse invariance: Ω = ω/T)

Ωp = 0.6283 rad/s, Ωs = 1.0996 rad/s (T = 1 s)

Step 3: order

N ≥ log[(1/0.17783² − 1)/(1/0.94406² − 1)] / (2 log(Ωs/Ωp)) = log[30.6228/0.1220] / (2 log 1.7500) = 4.9367

N = 5

Step 4: cut-off

Ωc = Ωp / (0.1220)^(1/10) = 0.7754 rad/s

Step 5: analog poles and H(s)

Poles: s_k = Ωc exp[jπ(2k + N + 1)/(2N)], k = 0 … 4 (left half plane):

  • s0 = −0.2396 + j0.7375
  • s1 = −0.6273 + j0.4558
  • s2 = −0.7754
  • s3 = −0.6273 − j0.4558
  • s4 = −0.2396 − j0.7375

H(s) = Ωc^5 / Π(s − s_k) = Σ A_k/(s − s_k), with residues

  • A0 = −0.1072 + j0.3298
  • A1 = −0.6273 − j0.8634
  • A2 = 1.4690
  • A3 = −0.6273 + j0.8634
  • A4 = −0.1072 − j0.3298

Step 6: impulse invariant transformation

Each term A/(s − s_k) becomes T·A/(1 − e^(s_k T) z⁻¹), so h[n] = T·h_a(nT). Combining each complex-conjugate pair into a real second-order section:

  • (−0.21432 − 0.22420z⁻¹) / (1 − 1.16493z⁻¹ + 0.61926z⁻²)
  • (−1.25466 + 1.00752z⁻¹) / (1 − 0.95901z⁻¹ + 0.28517z⁻²)
  • 1.46898 / (1 − 0.46051z⁻¹)

H(z) is the sum of these terms (parallel form). Aliasing makes the digital pass-band gain fall a hair below the target (0.94403 against 0.94406, i.e. a loss of 0.5003 dB instead of 0.5 dB). If the specification must be met strictly, a slightly larger cut-off such as Ωc = 0.776 rad/s gives 0.9444 at ωp and still keeps the stop band below 0.1726.

Step 7: check

|H(e^jωp)| = 0.94403 (required ≥ 0.94406, short by 0.00003); |H(e^jωs)| = 0.1719 (required ≤ 0.17783); |H(1)| = 1.0000.

Answer: N = 5, Ωc = 0.7754 rad/s, H(z) = sum of the three parallel sections above.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Signal Analysis and Processing chapter 6 questions →