What ADC resolution means
An analog-to-digital converter (ADC) maps a voltage between 0 and its reference voltage Vref onto 2^N digital codes, where N is the number of bits. The smallest step it can resolve is one LSB (least significant bit):
LSB = Vref ÷ 2^N
The output code for an input voltage is code = floor(Vin ÷ Vref × 2^N), capped at 2^N − 1.
Example
A 12-bit ADC with a 3.3 V reference:
- levels: 2^12 = 4,096;
- LSB: 3.3 ÷ 4,096 ≈ 0.806 mV;
- an input of 1.65 V gives code 2,048, the midpoint;
- ideal SNR: 6.02 × 12 + 1.76 ≈ 74 dB.
Quantization noise and SNR
Rounding to the nearest code adds an error of up to half an LSB. For a full-scale sine wave, this quantization noise limits the signal-to-noise ratio to:
SNR ideal = 6.02 × N + 1.76 dB
Each extra bit adds about 6 dB. The dynamic range, 20 × log10(2^N), is about 6.02 dB per bit.
| Bits | Levels | LSB at 3.3 V | Ideal SNR |
|---|---|---|---|
| 8 | 256 | 12.9 mV | 49.9 dB |
| 10 | 1,024 | 3.22 mV | 62.0 dB |
| 12 | 4,096 | 0.806 mV | 74.0 dB |
| 16 | 65,536 | 50.4 µV | 98.1 dB |
| 24 | 16.8 million | 0.197 µV | 146.2 dB |
Effective number of bits (ENOB)
Real converters add thermal noise, distortion and clock jitter. Datasheets quote the SINAD (signal to noise and distortion), and the effective resolution is:
ENOB = (SINAD − 1.76) ÷ 6.02
A 12-bit ADC with a measured SINAD of 70 dB has an ENOB of about 11.3 bits.
Tips
- Match the input range to the reference: a signal using only a quarter of full scale loses two bits.
- A stable, low-noise reference matters as much as the bit count.
- Filter the input below half the sampling rate to avoid aliasing.
- Oversampling and averaging four samples gain about one bit, if the noise is random.
- Some ADCs define LSB as Vref ÷ (2^N − 1); the difference is negligible beyond 8 bits.