Analog Intuition

Part 7 · Data Conversion

DC errors — offset, gain, INL, DNL

Key point: a real transfer curve is the ideal line plus three separable errors — offset (shift), gain (slope), and INL (bow). DNL is the local, code-to-code version. Offset and gain calibrate out; INL does not.

Transfer, then the datasheet plots

Top: 5-bit staircase on a 5 V box · middle: INL vs code · bottom: DNL vs code (red line = missing)

Ideal 1:1 Actual staircase INL DNL

Transfer · 5-bit · 5 V · offset shifts · gain tilts · INL bows · DNL changes step width

INL vs code · leftover after the best-fit line · Y is fixed ±6.5 LSB (not zoomed to the bow)

DNL vs code · step width − 1 LSB · rose line = missing code

Offset
Gain
Peak INL
Worst DNL
Missing code
\[ v_{\mathrm{out}} = (1+\varepsilon_g)\,v_{\mathrm{in}} + V_{\mathrm{os}} + \mathrm{INL}(v_{\mathrm{in}}) \]
\[ \mathrm{DNL}_k = \dfrac{\Delta v_k}{\mathrm{LSB}} - 1 \]
\[ \mathrm{INL} \approx \sum \mathrm{DNL}\quad\text{(plus a smooth bow)} \]

5-bit, 5 V on purpose — a 12-bit LSB is 1.2 mV and would vanish on this plot. Offset and gain still calibrate out (two points). INL and a missing code do not.

Try it: “Offset-heavy” is a parallel shift. Zero offset and gain — the rose INL bow stays. Drag DNL to 1.0 — the midscale bar hits −1 LSB (missing code) and that stair disappears.

Deep link: put real datasheet offset/gain/INL/DNL numbers into the ADC Tools calculator to see the total error budget in LSBs and volts.