DSP 101
M7 · L2
Module 7 — FIR Filter Design
The Windowed-Sinc Method

From the ideal brick-wall filter to a practical FIR design — truncating the infinite sinc with a window function, choosing attenuation vs. transition width, and the Kaiser window's parametric control.

1 / 9
DSP 101
M7 · L2
The Ideal Filter Problem
The Sinc is Infinite

The perfect low-pass filter has a rectangular frequency response — gain 1 below ω_c, gain 0 above. Its impulse response is a sinc: symmetric, infinite length, non-causal. Impossible to implement directly.

Ideal Impulse Response
h_{\text{ideal}}[n] = \frac{\sin(\omega_c n)}{\pi n}
2 / 9
DSP 101
M7 · L2
The Solution
Multiply by a Window

Multiply the ideal sinc by a finite-length window w[n] that tapers smoothly to zero at its edges. The result is a practical FIR filter: h[n] = h_ideal[n] · w[n]. Smooth tapering trades some stopband attenuation for avoiding the Gibbs ripple caused by abrupt truncation.

21 dB
Rectangular
53 dB
Hamming
74 dB
Blackman
3 / 9
DSP 101
M7 · L2
Four Design Steps
Specify → Window → Compute
  • Step 1: specify cutoff ω_c, filter order M, target stopband attenuation A (dB)
  • Step 2: select window based on A — Hamming for ≥53 dB, Blackman for ≥74 dB
  • Step 3: compute sinc values h_ideal[n] = sin(ω_c n) / (πn) for n = −M/2…M/2
  • Step 4: multiply by w[n] and shift to make the filter causal
Result
A symmetric, linear-phase FIR filter with M+1 taps, ready to implement.
4 / 9
DSP 101
M7 · L2
Selecting Filter Order
The Order–Bandwidth Trade-off

Filter order M is inversely proportional to transition bandwidth Δf. Halving the transition width doubles the number of taps and the computation cost. Narrower transition band = longer filter.

Kaiser Order Formula
M \approx \frac{A - 8}{2.285\,\Delta\omega}
5 / 9
DSP 101
M7 · L2
The Parametric Window
Kaiser — Adjust Anything

The Kaiser window has one parameter β that continuously tunes the attenuation–bandwidth trade-off. Given a target stopband attenuation A, β and M can be computed analytically — no trial and error.

  • β → 0: rectangular window (narrow transition, low attenuation)
  • β = 5.6: ≈ Hamming (53 dB)
  • β = 8.6: ≈ 80 dB stopband attenuation
  • Implemented via modified Bessel function I₀(·)
  • Preferred choice when specifications are tight or precise
6 / 9
DSP 101
M7 · L2
Where It's Used
Windowed-Sinc in the Real World
  • Audio EQ & mastering — linear-phase low-pass and band-pass filters
  • Sample-rate converters — anti-aliasing and anti-imaging in decimation/interpolation
  • SDR & 5G baseband — adjacent channel rejection filters
  • EEG/ECG processing — isolating brainwave and cardiac frequency bands
  • Frequency sampling method: alternative that directly specifies frequency response
7 / 9
DSP 101
Quick check

Check what stuck

Four questions from this lesson. Answer to see why — the explanation appears whether you were right or wrong. Nothing is scored or saved.

Question 1 of 0
Score 0/0

8 / 9
DSP 101
M7 · L2
Key Takeaways
What You Learned
  • Ideal LPF = sinc impulse response — infinite & non-causal, not implementable
  • Windowing truncates the sinc smoothly: h[n] = h_ideal[n] · w[n]
  • Rectangular → 21 dB; Hamming → 53 dB; Blackman → 74 dB; Kaiser → adjustable
  • Filter order M ∝ 1/Δf — narrower transition band = more taps
  • Kaiser window computes β and M analytically from the stopband spec
  • Frequency sampling is an alternative that directly specifies H at N frequencies
Read full article →
9 / 9
1 / 8 muted