Decimation (Downsampling)
Why carry millions of samples when thousands will do? Decimation reduces sample rate by M, shrinking data, storage, and compute — if you first remove the frequencies that would alias.
Why Reduce the Rate?
Often the signal of interest is much narrower than the capture bandwidth. Processing at a lower rate saves power, memory, and time.
Keep Every M-th Sample
Discard M−1 samples out of every M. Output rate = fs/M. Sounds simple — but frequencies above the new Nyquist limit will alias and corrupt everything.
Aliasing is Irreversible
- New Nyquist = fs/(2M) — anything above folds down
- A 3 kHz component at M=4 aliases to 3000/4 = 750 Hz
- It lands on top of genuine 750 Hz energy — inseparable
- No post-processing can undo aliasing once it happens
Filter First
Apply a lowpass filter with cutoff ωc = π/M before discarding samples. This removes everything that would alias.
Decimation Visualized
Adjust M. See how the spectrum compresses and the new Nyquist limit (dashed line) changes. The filtered region is shown in amber.
Spectral Compression
Downsampling sums M shifted copies of the spectrum. If the input was bandlimited to π/M, the copies don’t overlap — the passband simply stretches to fill the full output bandwidth.
Polyphase Decomposition
Don’t compute outputs you’ll immediately throw away. Split the filter into M branches — each operates at 1/M the rate. Total cost drops by M.
Multistage & CIC Filters
- Multistage: decimate ×4 ×4 ×4 instead of ×64 — simpler filters each stage
- CIC filters: zero multiplications — pure adds/subtracts, ideal for M in the hundreds
- SDR front ends: 100 MHz → 1 MHz in a single CIC stage
- ΣΔ ADCs: oversample at 256× then CIC-decimate to output rate
Interpolation (Upsampling)
The reverse: insert samples to increase the rate. We’ll see why zeros are inserted (not repeated samples) and how the anti-imaging filter removes spectral replicas.