FIR Filter Tap Count and Cutoff Calculator

Estimate how many taps a low-pass FIR filter needs to hit your passband, stopband, and attenuation targets.

🎚️ FIR Filter Tap Count and Cutoff Calculator
Sampling rate8000
Hz
100 Hz200,000 Hz
Passband edge1000
Hz
1 Hz20,000 Hz
Stopband edge1200
Hz
1 Hz20,000 Hz
Stopband attenuation60
dB
10 dB120 dB
Estimated tap count
Transition bandwidth
Ideal cutoff frequency
Normalized cutoff (fc/fs)
Kaiser β
Step-by-step working

🎚️ What is FIR Filter Tap Count?

FIR filter tap count (also called filter order or filter length) is the number of coefficients in a Finite Impulse Response digital filter. Each tap multiplies a delayed copy of the input signal by a coefficient and sums the results, so more taps mean a longer computation per sample but a sharper, more selective frequency response.

Designers use tap count estimation constantly: audio engineers building anti-aliasing filters before downsampling, communications engineers shaping pulse trains before transmission, and embedded developers budgeting CPU cycles for a real-time filter all need to know roughly how many taps a design will need before writing any code. Getting this estimate early avoids discovering, after a full design cycle, that a filter needs thousands of taps and won't run in real time on the target hardware.

A common misconception is that cutoff frequency alone determines tap count. It does not. Tap count is driven primarily by the transition bandwidth (the gap between the passband and stopband edges) and the desired stopband attenuation. A filter with a very sharp cutoff (narrow transition band) needs far more taps than one with a gentle roll-off, even if both share the same nominal cutoff frequency.

This calculator uses the Kaiser window method, a widely used empirical formula, to estimate the number of taps needed for a given passband edge, stopband edge, sampling rate, and stopband attenuation target, along with the ideal cutoff frequency and the Kaiser window's shape parameter (beta).

📐 Formula

N  =  (A − 7.95) × fs ÷ (14.36 × Δf)
N = estimated tap count, rounded up to the next odd integer
A = desired stopband attenuation (dB)
fs = sampling rate (Hz)
Δf = transition bandwidth = fstop − fpass (Hz)
Cutoff: fc = (fpass + fstop) ÷ 2
Kaiser β (A > 50): β = 0.1102 × (A − 8.7)
Kaiser β (21 ≤ A ≤ 50): β = 0.5842 × (A − 21)0.4 + 0.07886 × (A − 21)
Example: fs = 8,000 Hz, fpass = 1,000 Hz, fstop = 1,200 Hz, A = 60 dB → Δf = 200 Hz, N ≈ 145 taps.

📖 How to Use This Calculator

Steps

1
Enter sampling rate and band edges. Type the sampling rate, passband edge frequency, and stopband edge frequency, all in Hz.
2
Enter the target stopband attenuation. Type the desired stopband attenuation in dB.
3
Read the results. Click Calculate to see the estimated tap count, transition bandwidth, ideal cutoff frequency, and Kaiser beta parameter.

💡 Example Calculations

Example 1 — Audio Anti-Alias Low-Pass Filter

fs = 8,000 Hz, passband = 1,000 Hz, stopband = 1,200 Hz, 60 dB attenuation

1
Transition bandwidth = 1,200 − 1,000 = 200 Hz
2
N = (60 − 7.95) × 8,000 ÷ (14.36 × 200) = 144.99, rounded up to 145 taps
3
Cutoff = (1,000 + 1,200) ÷ 2 = 1,100 Hz; Kaiser β = 0.1102 × (60 − 8.7) = 5.653
Estimated tap count = 145
Try this example →

Example 2 — High-Rate Anti-Alias Filter Before Decimation

fs = 44,100 Hz, passband = 15,000 Hz, stopband = 17,000 Hz, 80 dB attenuation

1
Transition bandwidth = 17,000 − 15,000 = 2,000 Hz
2
N = (80 − 7.95) × 44,100 ÷ (14.36 × 2,000) = 110.63, rounded up to 111 taps
3
Cutoff = (15,000 + 17,000) ÷ 2 = 16,000 Hz; Kaiser β = 0.1102 × (80 − 8.7) = 7.857
Estimated tap count = 111
Try this example →

Example 3 — Low-Rate Sensor Smoothing Filter

fs = 1,000 Hz, passband = 100 Hz, stopband = 150 Hz, 40 dB attenuation

1
Transition bandwidth = 150 − 100 = 50 Hz
2
N = (40 − 7.95) × 1,000 ÷ (14.36 × 50) = 44.64, rounded up to 45 taps
3
Cutoff = (100 + 150) ÷ 2 = 125 Hz; Kaiser β = 0.5842 × (40 − 21)0.4 + 0.07886 × (40 − 21) = 3.395
Estimated tap count = 45
Try this example →

❓ Frequently Asked Questions

How do you estimate the number of taps for an FIR filter?+
Use the Kaiser formula: N = (A - 7.95) x fs / (14.36 x delta f), where A is the desired stopband attenuation in dB, fs is the sampling rate, and delta f is the transition bandwidth (stopband edge minus passband edge). Round the result up to the next odd integer for a symmetric linear-phase filter.
What is transition bandwidth in an FIR filter?+
Transition bandwidth is the frequency gap between the passband edge (where the filter must still pass signal at full strength) and the stopband edge (where the filter must have suppressed the signal to the target attenuation). A narrower transition band always demands more taps.
Why does a narrower transition band require more taps?+
A sharper cutoff (narrower transition band) approximates an ideal brick-wall filter more closely, which mathematically requires a longer impulse response (more taps) to represent. Tap count is inversely proportional to transition bandwidth in the Kaiser estimate, so halving the transition band roughly doubles the tap count.
What is the Kaiser window beta parameter?+
Beta is a shape parameter for the Kaiser window that controls the trade-off between main lobe width and side-lobe (stopband ripple) suppression. It is computed directly from the target stopband attenuation: higher attenuation targets require a larger beta, which widens the window's main lobe and adds more taps.
What cutoff frequency should I use for my FIR design?+
A common practical choice is the midpoint of the passband and stopband edges, fc = (f_pass + f_stop) / 2. This calculator reports that midpoint cutoff as a starting point for windowed-sinc or Kaiser-window FIR design functions that expect a single cutoff frequency.
Is the Kaiser tap count formula exact?+
No, it is a well-established empirical approximation (from Kaiser's 1974 windowing method), accurate enough for initial design but not exact. Always verify the actual frequency response of the designed filter and adjust the tap count up or down if the ripple or attenuation misses the target.
Why must the tap count be odd?+
An odd tap count produces a Type I linear-phase FIR filter with a symmetric impulse response, giving an integer group delay of (N-1)/2 samples. Even tap counts (Type II) work for low-pass filters too, but odd is the conventional default for a simple, well-behaved linear-phase design.
How does sampling rate affect the required tap count?+
Tap count scales directly with sampling rate for a fixed transition bandwidth in Hz. Doubling the sampling rate while keeping the same absolute transition bandwidth (in Hz) roughly doubles the required tap count, because the transition band now represents a smaller fraction of the total spectrum.
What does 'stopband attenuation' mean in FIR filter design?+
Stopband attenuation is how much the filter suppresses signal energy beyond the stopband edge, expressed in decibels. A 60 dB target means stopband content is reduced to about 0.1% of its original amplitude; 80 dB means about 0.01%, a stricter and more tap-hungry requirement.
Can this formula be used for high-pass or band-pass filters?+
The Kaiser tap-count formula is derived for low-pass prototypes but works as a reasonable order estimate for high-pass, band-pass, and band-stop FIR filters too, since it is really driven by the narrowest transition band in the design, not by which side is passed or stopped.

How do you estimate the number of taps for an FIR filter?

Use the Kaiser formula: N = (A - 7.95) x fs / (14.36 x delta f), where A is the desired stopband attenuation in dB, fs is the sampling rate, and delta f is the transition bandwidth (stopband edge minus passband edge). Round the result up to the next odd integer for a symmetric linear-phase filter.

What is transition bandwidth in an FIR filter?

Transition bandwidth is the frequency gap between the passband edge (where the filter must still pass signal at full strength) and the stopband edge (where the filter must have suppressed the signal to the target attenuation). A narrower transition band always demands more taps.

Why does a narrower transition band require more taps?

A sharper cutoff (narrower transition band) approximates an ideal brick-wall filter more closely, which mathematically requires a longer impulse response (more taps) to represent. Tap count is inversely proportional to transition bandwidth in the Kaiser estimate, so halving the transition band roughly doubles the tap count.

What is the Kaiser window beta parameter?

Beta (β) is a shape parameter for the Kaiser window that controls the trade-off between main lobe width and side-lobe (stopband ripple) suppression. It is computed directly from the target stopband attenuation: higher attenuation targets require a larger beta, which widens the window's main lobe and adds more taps.

What cutoff frequency should I use for my FIR design?

A common practical choice is the midpoint of the passband and stopband edges, fc = (f_pass + f_stop) / 2. This calculator reports that midpoint cutoff as a starting point for windowed-sinc or Kaiser-window FIR design functions that expect a single cutoff frequency.

Is the Kaiser tap count formula exact?

No, it is a well-established empirical approximation (from Kaiser's 1974 windowing method), accurate enough for initial design but not exact. Always verify the actual frequency response of the designed filter and adjust the tap count up or down if the ripple or attenuation misses the target.

Why must the tap count be odd?

An odd tap count produces a Type I linear-phase FIR filter with a symmetric impulse response, giving an integer group delay of (N-1)/2 samples. Even tap counts (Type II) work for low-pass filters too, but odd is the conventional default for a simple, well-behaved linear-phase design.

How does sampling rate affect the required tap count?

Tap count scales directly with sampling rate for a fixed transition bandwidth in Hz. Doubling the sampling rate while keeping the same absolute transition bandwidth (in Hz) roughly doubles the required tap count, because the transition band now represents a smaller fraction of the total spectrum.

What does 'stopband attenuation' mean in FIR filter design?

Stopband attenuation is how much the filter suppresses signal energy beyond the stopband edge, expressed in decibels. A 60 dB target means stopband content is reduced to about 0.1% of its original amplitude; 80 dB means about 0.01%, a stricter and more tap-hungry requirement.

Can this formula be used for high-pass or band-pass filters?

The Kaiser tap-count formula is derived for low-pass prototypes but works as a reasonable order estimate for high-pass, band-pass, and band-stop FIR filters too, since it is really driven by the narrowest transition band in the design, not by which side is passed or stopped.