DEV Community

Cover image for FFT Frequency Resolution: Why a Longer Recording Beats a Faster One
NovaSolver
NovaSolver

Posted on • Originally published at novasolver.jp

FFT Frequency Resolution: Why a Longer Recording Beats a Faster One

A field engineer suspects a pump is running with a slight misalignment. The fault would show up as a vibration peak just a few hertz away from the normal running-speed peak. She records the vibration, runs an FFT, and sees one fat blur where two separate peaks should be. The fault is there — the data simply cannot resolve it. Her instinct is to sample faster. That instinct, reasonable as it sounds, will not help at all.

The quantity she actually needs is frequency resolution: how finely an FFT can divide the frequency axis. It is governed by a short equation that catches a surprising number of working engineers off guard, because it depends on something other than the knob most people reach for.

Why this calculation matters

The Fast Fourier Transform is the workhorse of signal analysis. Vibration diagnostics, audio engineering, power-quality monitoring, structural modal testing, and radar all lean on it to turn a time-domain recording into a spectrum that shows which frequencies carry energy. But an FFT does not produce a smooth continuous spectrum. It produces a row of discrete bins, each one a small bucket of frequency.

If two physical phenomena sit closer together than the width of one bin, the FFT cannot separate them. They merge into a single peak, and a real fault, a real beat note, or a real sideband disappears into the blur. That is why frequency resolution is not a cosmetic detail — it sets the diagnostic floor of the entire measurement. Choose it carelessly and you can stare at a perfectly valid spectrum that is physically incapable of showing the thing you are looking for. Understanding the resolution equation tells you, before you collect a single sample, whether your planned measurement can answer your question.

The core formula

The frequency resolution of an FFT — the spacing between two adjacent frequency bins — is given by a clean expression:

delta_f = f_s / N
Enter fullscreen mode Exit fullscreen mode

Here delta_f is the bin spacing in hertz, f_s is the sampling rate in samples per second, and N is the number of samples in the record being transformed.

There is a second, equivalent way to write the same thing that makes the physics obvious. The total duration of the record is T = N / f_s, so:

delta_f = 1 / T
Enter fullscreen mode Exit fullscreen mode

This is the heart of the matter. Frequency resolution depends only on the length of the recording in seconds. A two-second record gives 0.5 Hz bins. A ten-second record gives 0.1 Hz bins. The sampling rate, on its own, does not appear.

It is worth being precise about what each knob controls, because they are easy to confuse:

f_s (sampling rate)  -> sets the highest frequency you can see (f_s / 2, the Nyquist limit)
T  (record length)   -> sets how finely you can resolve frequencies (delta_f = 1 / T)
N  (sample count)    -> the product: N = f_s * T
Enter fullscreen mode Exit fullscreen mode

Raising f_s extends the spectrum upward but does nothing for resolution unless you also lengthen the record. Raising N by collecting more samples at the same rate lengthens T, and that is what sharpens the spectrum. To see fine detail, you must observe for longer.

A worked example

Suppose you record a signal at a sampling rate of f_s = 1000 Hz and capture a block of N = 1024 samples for the FFT.

Step 1 — apply the resolution formula.

delta_f = f_s / N
delta_f = 1000 / 1024
delta_f = 0.977 Hz
Enter fullscreen mode Exit fullscreen mode

Each FFT bin is about 0.977 Hz wide. Two tones must be at least roughly one bin apart to appear as separate peaks, so this measurement can resolve features spaced about 1 Hz apart, but not much finer.

Step 2 — confirm it through the record length. The recording lasts T = N / f_s = 1024 / 1000 = 1.024 seconds. Then delta_f = 1 / T = 1 / 1.024 = 0.977 Hz. Same answer, reached from the duration — proof that the 1.024-second observation window is what sets the resolution.

Step 3 — improve the resolution the right way. Suppose you need 0.1 Hz bins. From delta_f = f_s / N, you need N = f_s / delta_f = 1000 / 0.1 = 10,000 samples. At the same 1000 Hz rate, that is a 10-second record. Now run the tempting alternative: double the sampling rate to 2000 Hz but keep N = 1024. The resolution becomes delta_f = 2000 / 1024 = 1.95 Hz — worse. Faster sampling alone coarsened the spectrum, because it shortened the record to half a second.

The lesson is concrete: finer resolution comes from more samples at the same rate — a longer recording — never from a faster one.

Common mistakes

Reaching for a faster sample rate to sharpen a peak. This is the most common reflex and it is backward. A higher f_s with a fixed N shortens the record and widens the bins. Resolution improves only when the observation time grows.

Confusing frequency resolution with accuracy. The bin spacing delta_f is how finely the axis is divided. It is not the uncertainty of a peak's center; with a good window and interpolation you can estimate a peak location finer than one bin. But two peaks closer than delta_f still cannot be separated, no matter how clever the post-processing.

Ignoring spectral leakage from windowing. A real record is finite, and chopping a signal abruptly smears its energy across nearby bins. Window functions such as Hann or Hamming reduce this leakage, but they also broaden the main lobe, which softens the effective resolution. The window is a trade-off, not a free fix.

Zero-padding and calling it resolution. Padding a record with zeros makes the FFT produce more bins, so the plot looks smoother. It does not add information. The true resolution is still 1 / T for the real data length. Padding interpolates; it does not resolve.

Forgetting the Nyquist ceiling. Resolution decides how finely you divide the band; the sampling rate decides how wide the band is. A long record at a low rate gives fine bins but a low ceiling. Both knobs matter, and they do different jobs.

Try the interactive NovaSolver calculator

Reading the resolution equation is one thing; watching a blurred peak split into two as you change the settings makes it stick. The FFT Spectrum Analyzer on NovaSolver lets you build a composite waveform from adjustable frequency and amplitude components, add noise, pick a sampling rate and a window function — rectangular, Hanning, Hamming, or Blackman — and see the resulting spectrum in real time, with the frequency resolution, Nyquist frequency, dominant peak, and estimated SNR reported as you go.

Related calculators

You can browse the rest in the frequency response and stability tools hub.

Closing note

Frequency resolution is the part of FFT analysis that most rewards a clear head. The equation delta_f = f_s / N reduces to delta_f = 1 / T, and that second form tells you everything: to see two close frequencies as separate, you must watch for long enough. Sampling rate sets how high you can look; record length sets how finely you can look. Decide what spacing your problem demands, work backward to the record length, and your spectrum will be able to show the answer instead of hiding it in a blur.

Top comments (0)