Skip to main content

Kaiser low-pass FIR, 0.19π and 0.21π

Short answer

Kaiser lowpass: δ=0.01, A=40 dB, β=3.395, Δω=0.02π, M=224 (225 taps), cutoff 0.2π; h(n)=hd(n)w(n). The formula minimum is 223; M=226 meets both passband and stopband tolerances strictly.

Design an FIR linear phase filter using Kaiser window to meet the following specifications: 0.99 ≤ |H(e^jw)| ≤ 1.01 for 0 ≤ w ≤ 0.19π; |H(e^jw)| ≤ 0.01 for 0.21π ≤ w ≤ π.

Specifications

Pass band: 0.99 ≤ |H| ≤ 1.01 for 0 ≤ ω ≤ 0.19π, so δ₁ = 0.01. Stop band: |H| ≤ 0.01 for 0.21π ≤ ω ≤ π, so δ₂ = 0.01. Hence ωp = 0.19π, ωs = 0.21π.

Kaiser parameters

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

Δω = ωs − ωp = 0.02π

β = 0.5842(19)^0.4 + 0.07886(19) = 3.395

M = (A − 8)/(2.285 Δω) = 32/(2.285 × 0.02π) = 222.9, so M ≥ 223. Take M = 224 (even, so α = M/2 = 112 is an integer and the filter is Type I); length 225.

Cut-off

ωc = (0.19π + 0.21π)/2 = 0.2π

Ideal response

h_d(n) = sin(0.2π(n − 112)) / (π(n − 112)), n ≠ 112; h_d(112) = 0.2

Kaiser window

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

Impulse response

h(n) = h_d(n) w(n) = h(224 − n):

nh_d(n)w(n)h(n)
00.002700.14800.00040
10.001690.15560.00026
20.000000.16350.00000
3−0.001720.1714−0.00029
4−0.002800.1794−0.00050
5−0.002830.1876−0.00053
1120.200001.00000.20000

Numerical check of the 225-tap filter: the stop-band peak is 0.0097, so the stop band is met. The pass band stays between 0.9899 and 1.0097; its lowest value, right at the edge 0.19π, is a hair below 0.99, because the Kaiser length formula is only an estimate. Taking M = 226 (227 taps) gives a pass band of 0.9912 to 1.0093 and a stop-band peak of 0.0094, meeting both tolerances strictly.

Answer: A = 40 dB, β = 3.395, M = 224 (formula minimum 223; M = 226 meets the pass band strictly), ωc = 0.2π, 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 →