Lesson 7 of 30 intermediate 4 min read

Before this:The Fourier transform

The FFT in practice

Key takeaways The FFT (Fast Fourier Transform) is a fast algorithm for the DFT, quick enough to run live on a radio stream. It splits the bandwidth into bins — more bins mean finer frequency resolution, but each FFT then spans more time. A waterfall is just many FFTs stacked over time. The FFT is how software radio sees the spectrum.

The Fourier transform is the idea; the FFT is how you actually compute it fast enough to matter. This lesson covers the practical knobs and what they trade off.

Fast enough to be useful

A direct DFT of N samples costs on the order of N² operations — hopeless for the millions of samples a second an SDR produces. The FFT computes the identical result in about N·log N operations. For a 4,096-point transform that’s the difference between ~16 million operations and ~50 thousand — the leap that makes real-time spectrum analysis possible on ordinary hardware.

Bins and resolution

An FFT of size N divides the sampled bandwidth into N bins of equal width:

bin width  =  sample rate / FFT size

At 2.4 MS/s with a 4,096-point FFT, each bin is about 586 Hz wide. Want to resolve signals closer together? Use more bins. But there’s a catch built into physics.

The time–frequency tradeoff

To get finer frequency resolution you need a bigger FFT, and a bigger FFT needs more samples, which cover a longer stretch of time. So you can know precisely what frequency or precisely when — but not both at once:

FFT size (at 2.4 MS/s) Bin width Time span
1,024 ~2.3 kHz ~0.43 ms
4,096 ~586 Hz ~1.7 ms
16,384 ~146 Hz ~6.8 ms

Fine frequency detail costs time resolution, and vice versa. Choosing the FFT size is choosing where on that trade you want to sit — a short FFT to catch brief bursts, a long one to separate close carriers.

The waterfall

Compute an FFT, draw its bins as a row of colours (bright = strong), drop down a line, compute the next FFT, and repeat. That scrolling picture is a waterfall — time running down the screen, frequency across it.

frequency → time ↓
Each row is one FFT; each vertical streak is a signal holding a frequency over time. This is what SDR software shows you.

The RF path’s FFT & waterfall lesson looks at reading these displays; here the point is that the picture is literally a stack of FFTs, and its sharpness in frequency versus time is the tradeoff above. Windowing — the next lesson — cleans up how each FFT row looks.

Quick check: you double the FFT size at a fixed sample rate. What happens?

Recap

  • The FFT computes the DFT in ~N·log N operations — fast enough for live radio.
  • It splits bandwidth into bins; bin width = sample rate ÷ FFT size.
  • Finer frequency resolution needs a bigger FFT, which spans more time — a fundamental tradeoff.
  • A waterfall is many FFTs stacked over time — how SDR software shows the spectrum.

Next up: why real FFTs smear energy, and how window functions fix it.

Frequently asked questions

What is an FFT bin?

An FFT splits the sampled bandwidth into a fixed number of equal-width slots called bins, each reporting the energy in a small range of frequencies. The number of bins equals the FFT size. More bins over the same bandwidth means finer frequency resolution — but each FFT then needs more samples, which means it covers a longer slice of time.

What is a waterfall display?

A waterfall stacks many FFTs computed over successive slices of time, drawing each as a horizontal line where colour or brightness shows energy per frequency bin, and scrolling downward. It lets you watch signals appear, disappear, and move across the spectrum — the standard way SDR software visualizes activity.