Part 7 · Data Conversion
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.
Top: 5-bit staircase on a 5 V box · middle: INL vs code · bottom: DNL vs code (red line = missing)
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
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.