Skip to main content

Kaiser bandpass FIR; minimum length and β

Short answer

Kaiser bandpass design: δ=0.01, A=40 dB, β=3.395, Δω=0.05π, M=90 (91 taps), cutoffs 0.30π and 0.625π; h(n)=hd(n)w(n). The Kaiser formula is an estimate, so use M=92 (93 taps) to meet the 0.01 stopband limit strictly.

Design a FIR linear phase filter using Kaiser window that meets the following specifications: |H(e^jw)| ≤ 0.01, 0 ≤ |w| ≤ 0.25π; 0.95 ≤ |H(e^jw)| ≤ 1.05, 0.35π ≤ |w| ≤ 0.6π; |H(e^jw)| ≤ 0.01, 0.65π ≤ |w| ≤ π. Also determine the minimum length (M+1) of the impulse response and Kaiser window parameter β.

Specifications

  • Stop band 1: 0 ≤ |ω| ≤ 0.25π, δ₁ = 0.01
  • Pass band: 0.35π ≤ |ω| ≤ 0.6π, tolerance ±0.05 about 1, δ₂ = 0.05
  • Stop band 2: 0.65π ≤ |ω| ≤ π, δ₃ = 0.01

Kaiser design parameters

The same δ must serve every band, so δ = min(0.01, 0.05, 0.01) = 0.01.

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

Transition widths: Δω₁ = 0.35π − 0.25π = 0.10π; Δω₂ = 0.65π − 0.6π = 0.05π. Use the narrower one: Δω = 0.05π.

β

Since 21 ≤ A ≤ 50:

β = 0.5842(A − 21)^0.4 + 0.07886(A − 21) = 0.5842(19)^0.4 + 0.07886×19 = 1.8946 + 1.4983 = 3.395

Minimum length

M = (A − 8) / (2.285 Δω) = 32 / (2.285 × 0.05π) = 32/0.3589 = 89.15

Round up, keeping M even so that α = M/2 is an integer: M = 90, so the impulse response has M + 1 = 91 samples, α = 45.

Cut-offs (mid-points of the transitions)

ωc1 = (0.25π + 0.35π)/2 = 0.30π, ωc2 = (0.6π + 0.65π)/2 = 0.625π

Ideal band-pass response

h_d(n) = [sin(0.625π(n − 45)) − sin(0.3π(n − 45))] / (π(n − 45)), n ≠ 45; h_d(45) = (0.625π − 0.3π)/π = 0.325

Kaiser window

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

Filter

h(n) = h_d(n) · w(n), with h(n) = h(90 − n). First values:

nh_d(n)w(n)h(n)
00.009780.14800.00145
1−0.002980.1673−0.00050
20.000550.18740.00010
3−0.001850.2082−0.00039
450.325001.00000.32500

Numerical check of the full 91-tap filter: the pass band stays between 0.990 and 1.010 (well inside 0.95 to 1.05) and stop band 1 peaks at 0.0059, but stop band 2 peaks at 0.0102, slightly above the 0.01 limit (−39.8 dB instead of −40 dB). The Kaiser length formula is only an estimate; increasing the length to M = 92 (93 taps) brings the stop-band 2 peak down to 0.0094, and then every band meets its specification.

Answer: δ = 0.01 (A = 40 dB), β = 3.395, M = 90, minimum length from the Kaiser formula M + 1 = 91 samples (M = 92, i.e. 93 taps, if the 0.01 limit must be met strictly); h(n) = h_d(n)·w(n) as above.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Signal Analysis and Processing chapter 5 questions →