ADC Resolution, Accuracy, and Errors
ADC resolution tells how many output codes exist. Accuracy tells how close the converted result is to the true input. A converter can have many bits and still produce poor measurements if reference, noise, offset, gain, linearity, timing, or layout errors dominate.
Learning Objectives
By the end of this lesson, you should be able to:
- calculate nominal ADC LSB size;
- distinguish resolution, accuracy, precision, and repeatability;
- explain offset, gain, INL, DNL, noise, and missing codes;
- use ENOB to compare real dynamic performance;
- plan calibration and error-budget checks.
Resolution
For an N-bit ADC:
$$
\text{codes}=2^N
$$
$$
\text{LSB}=\frac{V_\text{REF}}{2^N}
$$
A 12-bit, 3.3 V ADC has:
$$
\text{LSB}=\frac{3.3}{4096}=0.805\ \text{mV}
$$
Resolution says the code spacing is about 0.805 mV. It does not prove the measurement is accurate to 0.805 mV.
For a unipolar converter, the highest output code is normally 2^N - 1. Code-to-voltage conversion is commonly estimated as:
$$
V_\text{estimate}=\frac{\text{code}}{2^N-1}V_\text{REF}
$$
Use the datasheet's exact transfer function for precision work, especially near zero scale and full scale.
Accuracy Terms
| Term | Meaning |
|---|---|
| accuracy | closeness to true value |
| precision | spread of repeated readings |
| repeatability | same input gives same result under same conditions |
| resolution | smallest ideal code step |
| noise-free resolution | number of stable bits without code flicker |
A noisy 16-bit ADC may deliver fewer stable bits than a well-designed 12-bit system for a given bandwidth.
Two words often cause confusion:
precisionmeans readings cluster tightly;accuracymeans readings land near the true value.
A measurement can be precise but inaccurate if it repeats the same offset error. Calibration can often fix offset and gain, but it cannot fully fix noise, missing codes, bad layout, or nonlinear behavior.
Offset and Gain Error
Offset error shifts the transfer curve. Gain error changes its slope.
$$
V_\text{measured}=G V_\text{true}+V_\text{offset}
$$
Two-point calibration can remove much of offset and gain error:
$$
V_\text{corrected}=a\times\text{code}+b
$$
where a and b are found from known calibration points.
If calibration point 1 is (code_1, V_1) and point 2 is (code_2, V_2), then:
$$
a=\frac{V_2-V_1}{\text{code}_2-\text{code}_1}
$$
$$
b=V_1-a\text{code}_1
$$
Store calibration constants with versioning and units. Reusing constants after changing reference voltage, divider ratio, gain setting, or ADC range is a common source of silent measurement errors.
Linearity Errors
Differential nonlinearity, DNL, describes how much each code width differs from ideal. Integral nonlinearity, INL, describes deviation from the ideal straight-line transfer curve.
Bad DNL can cause missing codes. Bad INL creates measurement error that cannot be fully removed by simple offset and gain calibration.
Linearity is usually specified in LSB. An INL of +/-2 LSB on a 12-bit, 3.3 V ADC is about:
$$
2(0.805\ \text{mV})=1.61\ \text{mV}
$$
That error may be acceptable for a battery monitor and unacceptable for a precision sensor front end.
Noise and ENOB
Noise causes code variation. For dynamic sine-wave performance, effective number of bits is estimated from SINAD:
$$
\text{ENOB}=\frac{\text{SINAD}-1.76}{6.02}
$$
If a converter has SINAD = 68 dB:
$$
\text{ENOB}=\frac{68-1.76}{6.02}=11.0\ \text{bits}
$$
Oversampling and averaging can reduce random noise when the signal is slow and the noise is not correlated, but they do not fix offset, gain, aliasing, or nonlinear distortion.
For random uncorrelated noise, averaging M samples reduces RMS noise by:
$$
\sigma_\text{avg}=\frac{\sigma}{\sqrt{M}}
$$
Every extra bit of noise-free resolution needs about 4x more averaged samples. This only works when the signal is not changing too quickly and the samples are genuinely independent.
Error Budget Example
Suppose a pressure input uses a 12-bit ADC and 3.3 V reference.
| Error source | Example contribution |
|---|---|
| reference initial accuracy | 0.1% |
| divider tolerance | 0.2% after calibration or precision parts |
| ADC gain error | 0.05% |
| offset after calibration | 1 LSB |
| noise | 2 LSB RMS |
| temperature drift | application dependent |
The total error is not just the LSB size. For independent random-like contributors, root-sum-square is sometimes used. For guaranteed worst case, add worst directions conservatively.
Root-sum-square for independent contributors is:
$$
E_\text{RSS}=\sqrt{E_1^2+E_2^2+\cdots+E_n^2}
$$
Worst-case addition is:
$$
E_\text{WC}=|E_1|+|E_2|+\cdots+|E_n|
$$
Use worst-case limits for safety, billing, and pass/fail guarantees. Use RSS only when the assumptions about independent error sources are valid.
Practical Verification
- Short input to ground and record offset codes.
- Apply a precision mid-scale voltage.
- Apply a near-full-scale voltage below clipping.
- Log readings across temperature if accuracy matters.
- Compare raw code noise with expected sensor noise.
- Verify reference voltage with the intended load active.
For a production-like test, log raw codes rather than only converted engineering units. Raw codes make it easier to separate firmware scaling mistakes from analog measurement problems.
Common Mistakes
- Advertising bit count as measurement accuracy.
- Calibrating offset but ignoring gain error.
- Averaging aliased noise and believing it disappeared.
- Ignoring reference drift in temperature-changing systems.
- Comparing ADCs only by headline sample rate and resolution.
- Reporting too many decimal places after conversion, implying accuracy the hardware does not have.
- Mixing percent of reading, percent of full scale, volts, millivolts, and LSB without converting them to one error budget.
Summary
Resolution is code spacing; accuracy is total measurement correctness. Real ADC results include offset, gain, INL, DNL, noise, reference error, drift, source impedance effects, and layout coupling. Use error budgets, calibration, and bench verification to prove the measurement meets the application need.
Further Reading
- Analog Devices: ADC Input Noise
- Texas Instruments: ADC Accuracy Part 1
- Microchip: ADC Specification Terms