 # Quantization noise and amplitude quantization error in ADCs

Learn the methods and applications of modeling the quantization error of an ADC using a noise source.

In the previous article on quantization error for ADC converters, we noted that, in particular cases, the quantization error resembles a noise signal. We also discuss that modeling the error term as a noise signal can significantly simplify the problem of analyzing the effect of the error on system performance.

In this article, we will look at the conditions under which we are allowed to use a noise source to model the quantization error. Then, we will analyze the statistical model of the quantization noise and use it to analyze the quantization error.

### When does a noise model lead to valid results?

We can easily find examples where the quantization error is predictable and does not act as a source of noise. For example, if the input to a quantizer is a CC value, the quantization error will be constant. As another example, suppose the input amplitude is always between two adjacent quantization levels of the quantizer. In this case, the quantization error is equal to the input minus a value of CC.

Another interesting case occurs when the input is a sinusoid and the sampling frequency of the quantizer is a multiple of the input frequency. An example is illustrated in Figure 1 below.

##### Figure 1. Image courtesy of data converters.

The left curve of Figure 1 shows two periods of a 10-bit quantized sine wave. The right curve shows the quantization error. For this example, the relationship between the sample rate and the input rate is 150.

Visual inspection of the quantization error reveals periodic behavior (one point is indicated by the orange rectangle). As you can see, there is a correlation between the input and the error signal, whereas a noise source is not correlated with the input. In such cases, we expect the error signal to have considerable frequency components in the input harmonics.

The error signal does not look like the noise in the previous examples. However, in many practical applications, such as speech or music, the input is a complicated signal and shows rapid fluctuations that occur in a somewhat unpredictable way. In such cases, the error signal is likely to act as a source of noise.

Experimental measurements and theoretical studies have shown that modeling the quantization error as a noise source is valid if the following four conditions are met:

1. The input approaches the different quantization level values ​​with equal probability (in some of the problematic examples discussed above, we saw that the input was always close to some particular quantization levels).
2. The quantization error is not correlated with the input.
3. The quantizer has a large number of quantization levels (like when we have a high resolution ADC).
4. The quantization steps are uniform (unlike the data converters used in telephony that have a logarithmic characteristic).

You can find a more formal way of expressing these conditions in Section 4.8.3 of the Discrete Time Signal Processing book.

If these necessary conditions are satisfied, we can replace the error signal with an additive noise source, as shown in Figure 2. This allows us to use concepts such as signal-to-noise ratio (SNR) to characterize the effect of quantization error. . However, before that, we need to find a statistical model for the noise source. ### Statistical quantization noise model

The first step in characterizing a noise source can be to estimate how often a given value is likely to occur. This amplitude distribution can be obtained by observing the noise signal for a long time and taking samples to create an amplitude histogram. The histogram consists of a series of intervals that correspond to contiguous amplitude intervals that span the entire possible range of noise amplitude. The height of a container indicates the number of samples that are in the bin interval.

Let’s look at an example of a quantization noise histogram. Suppose the input is the discrete cosine signal x[n]= 0.99cos (n / 10) (shown in Figure 3). 