How MCUs can extend ADC resolution/accuracy
Keywords:integrated ADC ADC resolution accuracy ADC in 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.
Figure 1: An FFT analysis of the sampled signal shows a single tone and lots of random noise in the frequency range DC to Fs/2, for both the frequency domain and oversampling cases. |
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).
Figure 2: Decimation doesn�t cause loss of information. |
For inputs sampled at F_{s}, the rate for filtered output data can be reduced to F_{s}/M without loss of information, using a "decimation" process (Figure 2). M can have any integer value, on condition that the output data rate is more than twice the signal bandwidth. Oversampling and averaging increases the SNR, which is equivalent to gaining additional bits of resolution. For each such additional bit, the signal must be oversampled by a factor of four:
f_{os} = 4^{w}F_{s}^{}, where
w is the number of additional bits of resolution desired, F_{s} is the original sampling frequency required, and f_{os} is the oversampling frequency. As an example, a 12-bit ADC can achieve:
� 13-bit resolution with 4x oversampling (4^{1}),
� 14-bit resolution with 16x oversampling (4^{2}),
� 15-bit resolution with 64x oversampling (4^{3}),
� 16-bit resolution with 256x oversampling (4^{4}).
If we oversample an input signal at 16F_{s}, 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.
Figure 3: The analogue signal (far left) is sampled and converted by the 12bit ADC. The values are then accumulated and averaged to deliver a 14bit result. |
Related Articles | Editor's Choice |
Visit Asia Webinars to learn about the latest in technology and get practical design tips.