Calculator Inputs
Formula Used
- Codes = 2N
- FSR = Vmax − Vmin
- LSB (ideal step size) = FSR / 2N
- % per LSB = (1 / 2N) × 100
- Quantization error ≈ ±0.5 × LSB
- Effective bits (ideal averaging) = N + 0.5 × log2(OSR)
- Code ≈ round((Vin − Vmin) / LSB), clamped to [0, 2N−1]
These are ideal relationships. Real converters have offset, gain error, noise, and nonlinearity that reduce effective performance.
How to Use This Calculator
- Select your resolution in bits.
- Choose a voltage unit for all voltage inputs.
- Pick 0 to Vref or enter a custom Vmin and Vmax.
- Optionally enter an oversampling ratio to estimate ideal improvement.
- Optionally enter Vin to get the nearest output code.
- Optionally enter a target LSB to estimate required bits.
- Press Submit to display results above the form.
- Use Download CSV or Download PDF after a calculation.
Example Data Table
| Bits | Range (V) | Codes | LSB (mV) | % per LSB |
|---|---|---|---|---|
| 10 | 0 to 5.0 | 1024 | 4.8828 | 0.0977% |
| 12 | 0 to 3.3 | 4096 | 0.8057 | 0.0244% |
| 16 | -2.5 to 2.5 | 65536 | 0.0763 | 0.0015% |
Values are ideal and rounded for readability.
FAQs
1) What does “LSB” mean in an ADC?
LSB is the smallest ideal voltage change that moves the output by one code. It equals the input full-scale range divided by 2^N.
2) Is resolution the same as accuracy?
No. Resolution describes step size. Accuracy depends on offset, gain error, noise, and nonlinearity. A high-bit converter can still be inaccurate if errors dominate.
3) Why do some sources use 2^N − 1?
Some definitions use full-scale as the span between code 0 and the top code. This tool uses a common engineering approximation: step size = FSR / 2^N.
4) How do I choose Vmin and Vmax?
Set them to the expected minimum and maximum input after any conditioning. Leaving headroom helps avoid clipping when signals or offsets drift.
5) What is oversampling ratio (OSR) here?
OSR is how many samples you average per output sample. Ideal averaging improves noise performance. Practical improvement is often less due to correlated noise and limits in analog front-end bandwidth.
6) How is “effective bits” estimated?
This uses a simple rule: +0.5 bits per doubling of OSR, or +1 bit per 4×. It assumes white noise and effective averaging, not converter nonlinearity.
7) What happens if Vin is outside the range?
The computed code is clamped to the valid range, from 0 to 2^N−1. Real hardware typically saturates similarly at the rails.
8) Can this be used for differential or bipolar converters?
Yes. Use the custom range mode and enter your negative and positive endpoints. Then the tool computes FSR, step size, and codes for that span.