How to use the adc resolution calculator
- Enter the resolution of the converter in bits and the reference voltage, the input that gives a full-scale reading, in volts.
- Enter an input voltage to see the code the converter would report for it. Choose whether the converter rounds down or to the nearest step.
- Read the step size, also called one LSB, the number of levels and the ideal signal-to-noise ratio.
- Enter a resolution you need in the advanced options to find the fewest bits whose step is that small.
Formula
levels = 2^bits
one step (1 LSB) = reference voltage / 2^bits
code = floor(input / step), or round(input / step), limited to 0 through 2^bits - 1
ideal signal-to-noise ratio = 6.02 x bits + 1.76 dB
bits needed = smallest n with reference / 2^n at most the wanted step
The model is an ideal converter that maps 0 V to the reference voltage. Real converters add offset, gain error and noise, and their effective number of bits is lower than the nominal figure.
A 12-bit converter with a 3.3 V reference
A 12-bit converter has 4,096 levels. With a 3.3 V reference one step is 3.3 / 4096 = 0.000805664 V, or 805.66 microvolts. An input of 1.25 V divided by the step is 1551.5, so a converter that rounds down reads code 1551 (1.24958 V) and one that rounds to the nearest step reads 1552. The ideal signal-to-noise ratio is 6.02 x 12 + 1.76 = 74.00 dB.
To resolve steps of 1 mV or finer from a 3.3 V range you need 3.3 / 2^n at most 0.001, which first holds at n = 12. The same reference with 16 bits gives steps of 50.35 microvolts, and a 10-bit converter on a 5 V reference gives steps of 4.88 mV.
Resolution is not accuracy
The step size says how finely the converter can divide its range. It does not say how close the reading is to the true voltage. Reference errors, noise, and gain and offset errors can be many steps wide. A 16-bit converter next to a noisy source may be no better in practice than one with fewer bits.
Matching the range to the signal
If your signal only uses a small part of the converter range, you use only a few of its levels. Scaling the signal with a divider or amplifier so it fills the range gives the finest readings. A Voltage Divider Calculator helps scale a larger voltage down, and the RC Filter Time Constant Calculator sizes a simple filter to reduce noise before conversion.
More electronics and audio tools
For related electronics and audio work, try the RC Filter Time Constant Calculator, AWG Wire Gauge Converter and Audio Buffer Latency Calculator.
Assumptions and limits
- The converter is unipolar, so 0 V reads as code 0 and the reference voltage reads as the highest code.
- The converter is ideal, with no offset, gain error, noise or non-linearity.
- The input is between 0 V and the reference voltage.
- The signal-to-noise figure is for a full-scale sine wave and is a limit, not a measurement.
- The bits, reference and input in the form are examples to replace with your own.
Frequently asked questions
What does LSB mean?
It stands for least significant bit. As a voltage it is the change in input that moves the output code by one step, which is the reference voltage divided by the number of levels.
Why does a 12-bit converter have 4,096 levels and not 4,095?
Twelve bits can hold 4,096 different patterns, from 0 up to 4,095. The highest code is 4,095, but there are 4,096 codes counting zero.
Why does the ideal signal-to-noise ratio rise 6 dB per bit?
Each extra bit doubles the number of levels, which halves the quantization step, and halving a voltage lowers the noise by about 6 dB. The extra 1.76 dB comes from comparing a full-scale sine wave with the quantization noise.
Should I choose round down or round to nearest?
Use whichever the converter data sheet describes. Many converters report the step that contains the input, which behaves like rounding down, and the error then lies between 0 and one step.