Library / Signal processing and digital filters / DSP-30
Signal processing and digital filters
Kaiser window tap-count estimate
Estimated FIR length for a Kaiser-window design, from the stopband attenuation A in dB (A ≥ 8) and the transition width Δ as a fraction of the Nyquist frequency (0 < Δ < 1).
- Ref
- DSP-30
- Rev
- v1
- Field
- Signal processing and digital filters
- Result
- N [taps]
Kaiser’s empirical formula estimates the length of a Kaiser-window FIR from the stopband attenuation A (dB) and the transition width Δ as a fraction of the Nyquist frequency: N ≈ 1 + (A − 7.95)/(2.285πΔ), rounded up. It is a good estimate, but the final response must still be checked, and an odd length is often needed.
Estimated FIR length for a Kaiser-window design, from the stopband attenuation A in dB (A ≥ 8) and the transition width Δ as a fraction of the Nyquist frequency (0 < Δ < 1). This empirical estimate needs a check of the final response, and sometimes an odd tap count.
Calculator
- Unrounded estimate146 taps
- Kaiser shape parameter β for this attenuation5.653
- Stopband ripple as an amplitude ratio, 10^(−A/20)0.001
What drives the result
Each variable is moved across its typical range while the others stay at the values above. The longest bar is the key driver.
- A 60 dB stopband with a transition width of 0.05 of Nyquist needs about 147 taps, with a Kaiser β of 5.65.
- The length scales as 1/Δ, so halving the transition width doubles the filter length and the delay with it.
Chart data as tables
Ranked variables
| Variable | Typical range | Lowest result | Highest result | Swing (taps) | Local step | Change in result |
|---|---|---|---|---|---|---|
| Δ Transition width (fraction of Nyquist) | 0.001 to 0.9 | 10 | 7,252 | 7,242 | +10% | −9.52 % |
| A Stopband attenuation | 8 to 140 dB | 2 | 369 | 367 | +10% | +10.9 % |
Sweep of Transition width (fraction of Nyquist)
| Transition width (fraction of Nyquist) | Estimated tap count (taps) |
|---|---|
| 0.001 | 7,252 |
| 0.1134 | 65 |
| 0.2258 | 34 |
| 0.3381 | 23 |
| 0.4505 | 18 |
| 0.5629 | 14 |
| 0.6753 | 12 |
| 0.7876 | 11 |
| 0.9 | 10 |
Sweep one variable
Variables and how each one contributes
Estimated tap count
What the equation gives you. Everything else feeds it.
Stopband attenuation
The stopband attenuation, in dB (at least 8). Each additional 10 dB adds roughly the same number of taps. Raising it by 10 % (to 66) moves the result by +10.9 %, from 147 to 163 taps.
Transition width (fraction of Nyquist)
The transition width, as a fraction of the Nyquist frequency. Halving the width doubles the filter length, so sharp filters are expensive. Raising it by 10 % (to 0.055) moves the result by −9.52 %, from 147 to 133 taps.
Worked example with the values above
- Attenuation term: A − 7.95 = 60 − 7.95 = 52.05.
- Denominator: 2.285πΔ = 0.35893; ratio = 145.02.
- N = ceil(1 + 145.02) = 147 taps.
Assumptions and limits
- A symmetric, odd-length linear-phase FIR design with cutoffs in cycles per sample, between 0 and 0.5.
- The window value w is for the same tap index n and the same length N.
Common mistakes
- Using a cutoff in hertz where cycles per sample are needed.
- Using an even length with a high-pass design, which places a null at Nyquist.
- Forgetting to normalise the sum of the taps to one when unit DC gain is needed.
Statistics and uncertainty
Window-method designs meet their targets only approximately: a Kaiser-based tap count is a good estimate but is typically 5 % to 10 % off, so always check the achieved response and adjust the length.
Where it is used
- Designing low-pass, high-pass and band-pass FIR filters by the window method.
- Estimating filter length and delay before committing to a design.
Maths you need
- Normalised sinc: sinc(x) = sin(πx)/(πx)
- Cutoff in cycles per sample: c = fc/fs
- Linear phase: a symmetric FIR has a constant delay of (N − 1)/2 samples