ADC quantization error, SQNR and ENOB explained
An analog-to-digital converter (ADC) rounds every sample to one of 2N levels, so even a perfect converter is wrong by up to half a step. That rounding error, quantization error, sets the best signal-to-noise ratio an ideal N-bit converter can reach: 6.02N + 1.76 dB for a full-scale sine wave. This guide derives that number, shows where it breaks down, and explains how ENOB, oversampling and dither build on it.
Sampling, quantization and LSB size
Digitizing discretizes two axes. Sampling takes snapshots at a fixed rate fs, discretizing time. Quantization maps each snapshot's amplitude onto a finite set of levels, discretizing amplitude. The two steps fail in different ways.
Sampling is reversible in principle: if the input has nothing above fs/2, the samples hold everything needed to rebuild it. Quantization is not. Once 1.0003 V is stored as one code, the extra fraction is gone from that sample for good. For the general idea, which also underlies AI model compression, see what is quantization.
LSB size and the quantizer staircase
An N-bit converter splits its full-scale range (FSR) into 2N equal steps. One step is the least significant bit, written LSB, q or Δ:
FSR is the span of input voltage the converter accepts, usually set by its reference. Because the codes run from 0 to 2N − 1, the all-ones code sits one LSB below analog full scale.
Worked example: a 12-bit ADC with a 3.3 V reference
Unipolar input range 0 to 3.3 V, N = 12, so 212 = 4,096 codes.
- LSB = 3.3 V / 4,096 = 0.80566 mV ≈ 0.806 mV
- Maximum rounding error = ±½ LSB = ±0.403 mV
- RMS quantization noise = 0.806 mV / √12 ≈ 0.233 mV
- A 1.000 V input: 1,000 mV / 0.80566 mV = 1,241.21, which rounds to code 1,241. That code represents 1,241 × 0.80566 mV = 999.83 mV, an error of −0.17 mV, inside the ±0.403 mV bound.
| Bits (N) | Levels (2N) | LSB |
|---|---|---|
| 8 | 256 | 12.9 mV |
| 10 | 1,024 | 3.22 mV |
| 12 | 4,096 | 0.806 mV |
| 16 | 65,536 | 50.4 µV |
| 24 | 16,777,216 | 0.197 µV |
Mid-tread and mid-rise quantizers
There are two standard ways to place the levels of a uniform quantizer:
A mid-tread quantizer has a flat step centred on zero, so inputs within ±Δ/2 read as exactly zero. With an even number of codes it cannot be symmetric: two's-complement output has one more negative code than positive. A mid-rise quantizer puts a step edge at zero, giving outputs of ±Δ/2, ±3Δ/2 and so on. It is symmetric but has no zero, so a near-silent input toggles between +Δ/2 and −Δ/2.
Quantization error and the uniform noise model
Define the error as e = xQ − x. For any input inside the range, an ideal rounding quantizer keeps |e| ≤ Δ/2. Outside the range the converter clips and the error is unbounded; that is overload, a separate problem.
To predict the noise a converter adds, engineers model e as a random variable spread uniformly between −Δ/2 and +Δ/2. Its probability density is 1/Δ on that interval, so:
Analog Devices' tutorials reach the same result another way, by treating the error as a sawtooth and averaging its square over one period. The model also treats the noise as white, spread evenly from dc to fs/2.
When the model is valid
The uniform, signal-independent model is an approximation. It holds when the input is "busy": it crosses many LSBs between samples and has no simple relationship to the sample clock. Analog Devices' MT-229 says it holds in most cases with N > 6 when the input frequency is not an exact submultiple of fs. It breaks down for slowly changing or very small signals, and for tones locked to the sample rate. In those cases the error repeats with the signal and appears as harmonic distortion rather than a smooth noise floor. That failure is what dither fixes, as covered further down.
One clear explainer a week
New tools, guides and formats across AI, signals, audio and physics. No spam; unsubscribe any time.
Deriving SQNR = 6.02N + 1.76 dB
Ideal signal-to-quantization-noise ratio (SQNR) is quoted for a sine that exactly fills the input range. The derivation takes five lines.
- The full range is 2NΔ peak to peak, so the sine's peak amplitude is A = 2NΔ/2.
- The RMS of a sine is its peak divided by √2: Srms = 2NΔ / (2√2).
- From the noise model, Nrms = Δ/√12.
- Divide them. Δ cancels: Srms/Nrms = 2N · √12/(2√2) = 2N · √1.5.
- Convert to decibels: SQNR = 20·log10(2N) + 20·log10(√1.5) = N · 20·log102 + 10·log101.5.
6.02 = 20·log102 (each bit doubles the number of levels, halving the noise amplitude). 1.76 = 10·log101.5 (the ratio of a full-scale sine's power to the noise power at N = 0). The noise is measured over the full Nyquist band, dc to fs/2.
Worked example: 16-bit and 24-bit ideal SQNR
- 12-bit: 6.02 × 12 + 1.76 = 74.0 dB
- 16-bit: 6.02 × 16 + 1.76 = 96.32 + 1.76 = 98.1 dB
- 24-bit: 6.02 × 24 + 1.76 = 144.48 + 1.76 = 146.2 dB (146.3 dB with unrounded constants)
These are ceilings for a full-scale input. SQNR falls one decibel for every decibel the signal is below full scale: a sine at −20 dBFS on an ideal 16-bit converter has about 78 dB SQNR.
ENOB: turning a measured SINAD into bits
Real converters add thermal noise, reference noise, clock jitter and distortion. Datasheets capture all of it in SINAD (signal to noise and distortion), measured with a near-full-scale sine. Solving the SQNR equation for N gives the effective number of bits:
If a 14-bit converter measures 70 dB SINAD, its ENOB is (70 − 1.76)/6.02 ≈ 11.3 bits. The extra 2.7 bits of resolution are real codes, but their information is buried in noise. When the test tone is below full scale, Analog Devices' MT-003 adds the shortfall back first: ENOB = (SINAD + 20·log10(full scale / input amplitude) − 1.76)/6.02.
The gap widens at high resolution. With a 10 V range, a 24-bit LSB is 596 nV (MT-010), while a 2.2 kΩ resistor at room temperature produces about 0.6 µV RMS of Johnson noise in 10 kHz, √(4kTRB). Thermal noise alone fills an LSB, so no 24-bit converter reaches 146 dB.
Try it: ADC and bit-depth calculator
LSB size, ideal SNR, ENOB from measured SINAD, oversampling gain and audio file size in one panel.
Oversampling and noise shaping
The 6.02N + 1.76 dB figure counts noise from dc to fs/2. If your signal occupies only a bandwidth BW, a digital low-pass filter can remove the noise above it. The gain, called process gain, is:
fs/2BW is the oversampling ratio (OSR). Each doubling of OSR adds 10·log102 = 3.01 dB, which is half a bit.
Oversampling alone is expensive: one extra bit takes 4× the rate, four bits take 256×. MT-001's example samples at 65 MSPS for a 30 kHz channel. That is an OSR of about 1,083 and a process gain of 10·log10(1,083) ≈ 30.3 dB.
Delta-sigma (sigma-delta) converters do better with noise shaping. A feedback loop around a coarse quantizer, often a 1-bit comparator, uses an integrator that passes the signal but pushes the quantization noise toward high frequencies. A digital decimation filter then removes most of that noise. MT-022 plots SNR against OSR: roughly 9 dB per doubling for a first-order loop and 15 dB per doubling for a second-order loop, compared with 3 dB for plain oversampling. Its example is an ideal second-order modulator at OSR 64, reaching about 80 dB (about 13 ENOB). Plain oversampling at the same ratio gains only 18 dB.
Dither: trading noise for resolution
Dither is a small random signal added before quantization so that the error behaves like noise again. Take the 12-bit, 3.3 V converter above with a steady input at 1,241.3 LSB. Without noise it reads 1,241 every time, and averaging leaves a permanent −0.3 LSB error. Add random noise of roughly half an LSB to one LSB RMS, and the output toggles among neighbouring codes: mostly 1,241, often 1,242, sometimes 1,240. The average of many readings moves toward 1,241.3. Each reading is noisier, but the average resolves fractions of an LSB.
Steven W. Smith's DSP Guide notes that the analog noise already present is often enough to act as dither. Elaborate systems use subtractive dither: a known random sequence is added before the ADC and subtracted digitally afterwards, keeping the linearizing benefit without most of the added noise. Audio uses dither for a different goal, removing audible distortion when reducing word length. That is covered in audio bit depth and dither.
To watch the staircase, error and SQNR change with bit depth, try the quantization playground.
Key takeaways
- LSB = FSR / 2N; a 12-bit converter with a 3.3 V range has an LSB of about 0.806 mV.
- An ideal rounding quantizer is never wrong by more than ±½ LSB inside its range.
- Modeled as uniform noise, the error has variance Δ²/12 and an RMS value of Δ/√12 ≈ 0.29 LSB.
- Ideal SQNR for a full-scale sine is 6.02N + 1.76 dB: 74 dB at 12 bits, 98 dB at 16, 146 dB at 24.
- ENOB = (SINAD − 1.76)/6.02 converts real performance back into bits.
- Oversampling adds 3 dB (half a bit) per doubling; noise-shaping delta-sigma loops add much more.
- Dither keeps the error noise-like, which makes averaging work below one LSB.
Frequently asked questions
Is quantization error the same thing as quantization noise?
Quantization error is the exact, deterministic difference between each sample and its true value. Quantization noise is the statistical model of that error as a random signal with variance Δ²/12. The model is accurate for busy signals and inaccurate for slow, small or clock-locked signals.
Where does the 1.76 dB in the SQNR formula come from?
It is 10·log10(1.5). It comes from the ratio of a full-scale sine's RMS value, 2NΔ/(2√2), to the noise RMS, Δ/√12. The 2N part becomes 6.02N dB. The constant √12/(2√2) = √1.5 becomes 1.76 dB.
Does doubling the sample rate give one more bit?
No. Plain oversampling with filtering adds 3.01 dB per doubling, which is half a bit. One extra bit needs 4× the rate. Noise-shaping converters improve faster than that, depending on loop order.
Why is my converter's ENOB lower than its resolution?
SINAD includes thermal noise, reference noise, clock jitter and harmonic distortion as well as quantization noise. At 16 bits and above these usually dominate, so measured ENOB falls below N.
Sources and further reading
- Analog Devices MT-001: Taking the mystery out of SNR = 6.02N + 1.76 dB — sawtooth derivation, Nyquist-band assumption and process gain
- Analog Devices MT-229: Quantization noise, an expanded derivation — step-by-step algebra and conditions for the uncorrelated-noise model
- Analog Devices MT-003: SINAD, ENOB, SNR, THD, THD + N and SFDR — ENOB definition and below-full-scale correction
- Analog Devices MT-010: Data converter static specifications — LSB size tables and the all-ones code convention
- Analog Devices MT-022: Sigma-delta ADC basics — oversampling, noise shaping and SNR versus loop order
- Steven W. Smith, The Scientist and Engineer's Guide to DSP, chapter 3 — quantization as additive noise, its failure for slow signals, and dithering
- Sascha Spors, DSP lecture notes: linear uniform quantization — mid-tread and mid-rise definitions with code
- TI Precision Labs: Types of noise in ADCs — quantization noise versus thermal noise in practical converters