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.
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.