Search topics...
ADCResolution and Samplingfoundational

How does oversampling improve ADC resolution, and what is the 4x rule?

0 upvotes
Practice with AISoon
Study the fundamentals first — ADC topic page

Oversampling exploits the statistical property that uncorrelated noise averages toward zero. By taking multiple samples of a signal that has random noise superimposed on it and averaging them, the noise component is reduced (it partially cancels across samples) while the deterministic signal component remains. This effectively increases the signal-to-noise ratio, which translates to additional bits of resolution. The key relationship is:

To gain 1 additional bit of effective resolution, oversample by 4x and average (then right-shift by 1 bit).

The math: each additional bit of resolution requires a 6 dB improvement in SNR. Averaging N samples improves SNR by 10 * log10(N) dB. For 6 dB, N = 10^(6/10) = 3.98, approximately 4. So a 12-bit ADC sampled at 4x and averaged yields an effective 13-bit result. For 14-bit effective resolution, you need 4^2 = 16x oversampling. For 16-bit effective resolution from a 12-bit ADC, you need 4^4 = 256x oversampling. STM32G4 and STM32H7 ADCs have a hardware oversampler that performs this averaging automatically with configurable ratios up to 256x and a programmable right-shift, avoiding any CPU involvement.

The critical catch: oversampling only works if the input signal contains noise spanning at least 1 LSB peak-to-peak. If the signal is perfectly static (or the noise is smaller than 1 LSB), all samples produce the same digital code, and averaging yields the same value — no additional resolution is gained. In very clean analog designs, you may need to intentionally inject a small amount of dithering noise (white noise at the LSB level) to enable oversampling to work. Additionally, oversampling reduces the effective sample rate by the oversampling ratio, so a 1 Msps ADC with 16x oversampling effectively samples at 62.5 ksps — verify this still satisfies Nyquist for your signal bandwidth.

Source: ADC Q&A