Pearce Consulting


The use of dither in the quantisation of an analogue signal into the digital domain.

When an analogue signal is sampled digitally by an ADC, instantaneous amplitude information is lost because of the finite steps between the quantisation levels. The effect of this on the digitised waveform is to generate unwanted frequencies, amounting to a distortion which is made particularly unpleasant by being harmonically unrelated to the wanted signal. To cure this problem, dither is used. This is a deliberately injected noise signal which provides an approximately linear interpolation between the quantisation levels. There is no free lunch here – the penalty is increased noise, but the nature of the noise means that it goes unnoticed by the ear, which certainly cannot be said for the quantisation distortion.

The way this all works is best understood visually. We will look at a very trivial system, in which a signal is quantised at 3 bits – eight levels of quantisation.

The original signal:

This is a normal sine wave, sampled here at 44.1kHz. We can quantise it without dither and see the effect:

The distortion to the waveform due to quantisation is clear, and obviously the vertical resolution is limited to the step sizes.

Now take the original signal once more, but this time add some noise to it. This noise has a mean size about half the step size.

This looks messy, but when it is quantised an interesting effect occurs:

The quantised signal is now jumping rapidly between steps. Although it may not be too clear, what is happening is that the average level of that rapidly jumping signal is the same as the original wanted signal. All we need to do now is to filter off the high frequency steps with the reconstruction filter and we get:

It is showing the noise we inserted, but the quantisation steps have now gone, and the full sine wave is available without distortion.

Clearly this is a grossly presented example to show what goes on, but when operated at the 16th bit of an ADC, the effect is far more subtle.

The distortion

Now for a look at a more real-life situation. Here a signal is quantised at 16 bits, with and without dither. The dither used here is flat, Gaussian noise – not ideal for the job, but the best on hand for the demo.

The first diagram is a spectrum analyser view of a signal, scaled in dBs on the left. The frequency scale is unimportant.

The artefacts produced by quantisation are clearly visible. Even a very small change in frequency causes these spikes to move around a great deal, and distortion of this type can be very intrusive.

Now by contrast, here is exactly the same signal – still 16 bits – but dithered.

The noise is evident, but it is at a low level, and well distributed. This will sound good and clear. It is possible to profile the noise to reduce its level still further.

Truncation

As far as the processes I’ve described here are concerned, truncation is simply more of the same. Reducing the bit depth of a signal from 24 bits to 16 bits is essentially the same as sampling at 16 bits in the first place, and noise must be added at a level of half the new least significant bit. If truncation is done in stages, say 24, then 20 then 16 bits, dither MUST be applied at each stage to prevent the generation of quantisation distortion artefacts – once they are there they can’t be got rid of.

What noise?

Any noise-like signal can be used to dither; all it needs is a broad spectrum and the ADC doesn’t care where it comes from. At 16 bits, it is necessary to add specific noise to achieve dither, because many sources have self noise below the necessary level. Recordings of acoustic instruments and voices are not likely to be loud enough to present a quiet source, and the microphone will supply a lot of self noise, which will effectively dither the whole signal.

At 20 or 24 bits, it is highly unlikely that any source will be low noise enough to merit specific dither signals being added. There is, of course, no harm in adding some dither, but nothing extra will be achieved.

This was produced using Mathcad Professional 2001.

Don Pearce