Skip to main content

Kaiser low-pass FIR, passband 0.9π, stop 0.14π

Short answer

The printed passband to 0.9π overlaps the stopband; the intended passband edge is 0.09π. Kaiser design gives δ=0.01, A=40 dB, β=3.395, Δω=0.05π, M=90 (91 taps), cutoff 0.115π. Use M=94 (95 taps) to meet the 0.01 stopband strictly.

Design an FIR linear phase filter using Kaiser window to meet the following specifications: 0.98 ≤ |H(e^jw)| ≤ 1.02 for 0 ≤ w ≤ 0.9π; |H(e^jw)| ≤ 0.01 for 0.14π ≤ w ≤ π.

How the specification is read

As printed, the pass band (up to 0.9π) overlaps the stop band (from 0.14π), which is impossible for a low-pass filter. The pass-band edge must be 0.09π (the 0 was misplaced). I design for ωp = 0.09π, ωs = 0.14π, with pass-band tolerance δ₁ = 0.02 (0.98 to 1.02) and stop-band tolerance δ₂ = 0.01.

Kaiser parameters

δ = min(δ₁, δ₂) = 0.01, so A = −20 log₁₀ 0.01 = 40 dB.

Δω = ωs − ωp = 0.14π − 0.09π = 0.05π

β = 0.5842(40 − 21)^0.4 + 0.07886(40 − 21) = 3.395

M = (A − 8)/(2.285 Δω) = 32/(2.285 × 0.05π) = 89.15, so M = 90 (α = M/2 = 45, length 91).

Cut-off

ωc = (0.09π + 0.14π)/2 = 0.115π

Ideal low-pass response

h_d(n) = sin(0.115π(n − 45)) / (π(n − 45)), n ≠ 45; h_d(45) = 0.115

Kaiser window

w(n) = I₀(3.395 √(1 − ((n − 45)/45)²)) / I₀(3.395), 0 ≤ n ≤ 90

Impulse response

h(n) = h_d(n) · w(n), h(n) = h(90 − n):

nh_d(n)w(n)h(n)
0−0.003700.1480−0.00055
1−0.001360.1673−0.00023
20.001270.18740.00024
30.003860.20820.00080
40.006060.22980.00139
50.007570.25190.00191
450.115001.00000.11500

H(z) = Σ (n = 0 to 90) h(n) z⁻ⁿ, with linear phase −45ω.

Numerical check: the pass band lies between 0.992 and 1.011, so the 0.02 tolerance is met, but the stop-band peak is 0.0105 (−39.6 dB), slightly above the 0.01 limit. This is because the Kaiser length formula is only an estimate. Increasing the length to M = 94 (95 taps) lowers the stop-band peak to 0.0099 (pass band 0.994 to 1.010), and both tolerances are then met.

Answer: A = 40 dB, β = 3.395, M = 90 (91 taps) from the Kaiser formula (M = 94 to meet the 0.01 stop-band limit strictly), ωc = 0.115π, h(n) = h_d(n)·w(n).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Signal Analysis and Processing chapter 5 questions →