Dither is a small amount of noise, typically random or pseudo-random, intentionally added to a signal at or before the quantization stage in order to decorrelate quantization error from the input and reduce the distortion and nonlinearity introduced by the quantization process itself.
In practice
When a signal is quantized to a fixed number of bits, the rounding error is not random -- it is correlated with the input signal. This correlation produces structured artifacts: harmonic distortion in audio, limit cycles in control loops, and visible banding in image processing. Adding dither before quantization breaks up this correlation, converting deterministic distortion into a less perceptible broadband noise floor.
In audio DSP, dither is applied when reducing bit depth, such as when rendering a 32-bit floating-point mix down to 16-bit PCM for distribution. Without dither, low-level signals near the noise floor develop audible harmonic artifacts. With dither, those artifacts are replaced by a gentle white or shaped noise floor. Psychoacoustically shaped dither (noise shaping) can push that noise floor into frequency ranges where the ear is less sensitive, recovering perceived dynamic range beyond what the raw bit depth would suggest.
In fixed-point embedded DSP -- common on DSPs like the TI C6000 series, Microchip dsPIC, or ARM Cortex-M cores running fixed-point code -- dither is used to prevent limit cycles in recursive filters (IIR). A limit cycle occurs when a filter's output oscillates at a fixed amplitude because rounding always goes the same direction. Injecting random noise into the feedback path is often enough to break the cycle, though the required amplitude and injection point depend on the filter structure, coefficient quantization, and rounding mode.
In DAC-driven control systems (motor drives, power converters), dithering the DAC output word at a frequency above the plant bandwidth can extend the effective resolution of the output beyond the hardware DAC's native bits. This is sometimes called digital dithering of a DAC, and is distinct from the oversampling/noise-shaping used in sigma-delta converters, though the underlying statistical principle is related.
Learn this in DSP Foundations
Discussed on DSPRelated
Frequently asked
What is the difference between dither and noise shaping?
Dither refers to the deliberate addition of noise before quantization to decorrelate the quantization error. Noise shaping is a feedback technique that spectrally redistributes quantization error energy, pushing it into frequency bands where it is less harmful. Noise shaping is often applied together with dither; dither randomizes the error, and noise shaping moves that noise power to less critical frequencies.
How much dither should be added?
For rectangular probability density function (RPDF) dither, one LSB peak-to-peak amplitude is the standard starting point and is sufficient to decorrelate the quantization error. Triangular PDF (TPDF) dither, formed by summing two independent RPDF sources, uses two LSB peak-to-peak and is commonly used because it can decorrelate quantization error from the input and eliminate deterministic distortion. Using more dither than necessary generally raises the noise floor without additional benefit, though the tradeoff can be more nuanced with shaped dither or application-specific constraints.
Does dither help with ADC measurements in embedded systems?
Yes, in some cases. If an
ADC input signal is nearly DC or changes very slowly relative to the
sample rate, successive samples may all round to the same code, causing the digital output to appear stuck. Adding a small amount of analog or digital noise (dither) before or at the ADC input causes the output codes to toggle between adjacent values; averaging those samples then recovers sub-LSB resolution. This technique is used in precision measurement applications such as temperature sensing with 12-bit ADCs on STM32, SAM, or similar MCUs.
Can dither prevent limit cycles in fixed-point IIR filters?
In most cases, yes. Limit cycles in fixed-point
IIR filters are caused by the deterministic, signal-correlated rounding that occurs in the feedback path. Adding one LSB of random noise to the state variables or to the accumulated result before rounding breaks the correlation and prevents the oscillator from sustaining. The tradeoff is a slight increase in the output noise floor equal to roughly one quantization step.
Is dither the same concept used in sigma-delta ADCs and DACs?
The principle is related but the implementation is different. Sigma-delta converters use noise shaping -- a form of quantization feedback -- to achieve high effective resolution from a low-bit (often 1-bit) quantizer. Some sigma-delta designs add internal dither to the quantizer to avoid idle tones (spurious periodic patterns at the output when the input is DC). So dither is a technique that can appear inside a sigma-delta modulator, but the two are not the same thing.
Differentiators vs similar concepts
Dither is sometimes conflated with noise shaping because both are used together in audio bit-depth reduction and sigma-delta conversion. The distinction matters: dither is an additive noise signal applied before quantization, while noise shaping is a feedback loop that spectrally redistributes the quantization error after it is generated. You can apply dither without noise shaping, and noise shaping without dither (though combining them is common practice in high-quality audio processing).