Field Guide · term

Also known as: dithering

Dither is a small, deliberately added amount of noise applied to a signal before quantization, used to break the correlation between the signal and the rounding error.1 Without it, a low-level or slowly changing signal produces quantization error that tracks the signal and shows up as ugly harmonic distortion; with it, that error is randomised into a smooth, uncorrelated noise floor. It is a case where adding noise makes the result more faithful, not less.

no dither: stuck on one level dithered: average tracks the signal
A tiny signal that would snap to one level (left) instead flickers across levels once dither is added (right), so its average encodes the true value.

How it works

An ideal quantizer’s error is only “noise-like” when the signal crosses many levels unpredictably. When a signal sits between two levels, or moves less than one LSB, plain rounding always picks the same level, so the error is a deterministic function of the input — which is exactly what produces signal-dependent harmonic tones. Dither adds a controlled random perturbation of about one LSB before the rounding step. Now the chosen level flickers, and the probability of rounding up versus down encodes the sub-LSB value. Averaged over many samples (or across a band after filtering), the output tracks the true signal with resolution finer than a single level, and the leftover error is spread into a flat, signal-independent noise floor.

The classic choice is triangular-PDF (TPDF) dither, roughly two LSB peak-to-peak, because it makes both the mean and the variance of the quantization error independent of the input — the strongest guarantee that no distortion tone survives.

In practice

Dither costs a little: the noise floor rises modestly because you added noise on purpose. The payoff is that the artefacts that remain are benign broadband noise rather than spurious tones that a listener or a spectral display would flag as signals. In many converters the dither is effectively free — thermal noise in the analog front end already provides an LSB or more of natural dithering, which is one reason a slightly noisy input can quantize more cleanly than a mathematically perfect one.

Dither pairs naturally with oversampling: sampling faster spreads the same quantization-noise power over a wider band, so filtering afterward recovers resolution, and dither guarantees that power is smooth enough to filter. Together they can push the effective number of bits above the nominal count in the band of interest.

Relevance to SDR

Dither matters most for weak-signal work near an SDR’s noise floor, where a low-level carrier might otherwise generate spurious “birdies” from correlated quantization error instead of appearing as a clean tone above smooth noise. On the low-bit-depth converters in cheap SDRs, the ever-present thermal noise usually supplies enough natural dither that the quantization stays well behaved; some receiver and audio designs add dither explicitly. Reading a dBFS spectrum, a flat noise floor rather than a picket fence of tiny tones is the sign that dithering (natural or deliberate) is doing its job.

GopherTrunk decodes the samples it is given and does not dither the ADC itself, but the principle explains why a marginally noisy capture can yield cleaner spectra — and more reliable soft-decision inputs — than an artificially quiet one.

Sources

  1. Dither — Wikipedia, on adding noise before quantization to decorrelate and linearise the quantization error. 

See also