Design Article

Oversampling with averaging to increase ADC resolution

Franco Contadini, Maxim

3/1/2010 12:00 AM EST

When considering the resolution required for an A/D converter (ADC) integrated in a microcontroller (MCU), embedded systems designers must balance cost and performance. Higher ADC resolution implies higher-cost MCUs, but in some cases you can use other features in the MCU to enhance the ADC performance via software. That approach lets you achieve higher resolution using an inexpensive integrated ADC. Here's how to use of oversampling to achieve extra bits of resolution for an ADC integrated in an MCU.

We start by examining the frequency-domain transfer function of a multibit ADC operating on a sinewave input signal. The ADC samples this input at a frequency Fs, which (according to Nyquist theory) must be at least twice the input-signal bandwidth. An FFT analysis (left graph of Figure 1) shows a single tone with lots of random noise (known as quantization noise) extending from DC to Fs/2.


Click on image to enlarge.

You obtain the signal-to-noise ratio (SNR) by dividing the amplitude of the fundamental by the RMS sum of all frequencies containing noise. For an N-bit ADC whose peak input voltage equals the ADC's full-scale input voltage, the maximum SNR equals 6.02N + 1.76dB.

Consider now the same example, but with sampling frequency increased by an oversampling ratio of k, in other words, to kFs. An FFT analysis shows that the noise floor has fallen and the SNR is the same, but noise energy has been spread over a wider frequency range (right graph of Figure 1).


Next:




casner

3/1/2010 2:16 PM EST

Reference information for figures 1 and 2 and supporting text would be very helpful. Values are stated as obvious, but not supported.

Sign in to Reply



Frank64

3/2/2010 3:44 AM EST

You can found the mathematical equation behind SNR value in the following tutorial
http://focus.ti.com/lit/an/slaa013/slaa013.pdf Chapter 5 QUANTIZATION EFFECTS

Sign in to Reply



acsetz

3/4/2010 5:11 PM EST

It is better to use a low pass FIR filter than a simple average. Another benefit of the oversampling is that the anti-alias analog filter may have a lower order, with less components.

Sign in to Reply



t.k.

3/10/2010 5:35 AM EST

The appealing thing about simplifications is that the derived theories become Simple.
This is a good thing - in princple.
Unfortunately the fact of simplificatin gets often forgotten soon.

In the above case there are two assumptions, both not general valid:
1. there IS quantization noise
2. quantisation noise is NOT CORRELATED with the original signal.

If someone-for example-measures a dc value by an adc, he will observe no noise.
Averaging will not enhance precision.
On the other hand, if he's digitizing an ac signal, he'll observe quantization noise,
which is higly correlated with the original signal.

Because of this, averaging alone will not do the job.
The usual solution is adding some amount of dither.

Sign in to Reply



PaulJr.

3/10/2010 10:47 AM EST

It should be noted that this method fails to achieve gains in higher bit resolution if the signal being measured is near the nyquist rate (near being a similar order of magnitude) of the sampling rate. For example, the measurement of noiseless DC signal will never show any improvement in bits of resolution through oversampling.

A few quick matlab simulations show that as you oversample a sin wave, the quantization noise is not random and becomes limited to lower frequencies, reducing the gains in bit of resolution.

Dithering the signal with Gaussian or uniform electrical noise with levels near the last bit of resolution prior to the sampling will help get the extra bits of resolution for low frequency signals through over sampling.

Sign in to Reply



PaulJr.

3/10/2010 10:48 AM EST

Sorry, i meant it fails if the highest frequency of the signal being measured is not near the nyquist rate of the sampling rate.

Sign in to Reply



ESD editorial staff: SRambo

3/17/2010 5:36 PM EDT

The following comment was sent via e-mailed:

In "Oversampling with averaging to increase ADC resolution" Franco Contadini describes how to get 16 bits of RESOLUTION from a 12 bit ADC, but it certainly doesn't guarantee 16 bits of ACCURACY. At the end of the day, accuracy is usually what we're after.

Hardware Guy

Sign in to Reply



Confused

3/18/2010 2:38 PM EDT

I am confused.
The article says:
"If we oversample an input signal at 16Fs, we collect enough samples within the required sampling period to average and produce 14 bits of output data, for a 14-bit measurement. This is accomplished by accumulating 16 consecutive samples and dividing the total by 16, as Figure 3 shows."

If I take, and add together, 16 12-bit samples and then divide by 16, I am left with 12-bits, not 14. What am I doing wrong?

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)