Binary vs redundant SAR
One sampled input, one comparator, one capacitor array. Only the weights differ.
Model notes
ADCToolbox. The conversion, capacitor mismatch, calibration and spectrum analysis are ports of ADCToolbox 0.9.1 and agree with it to 0.001 ENOB.
Conversion. Comparison j adds weight wj to the DAC level kept so far and keeps it when the input is not lower. The code is the sum of the kept nominal weights.
Weights. Binary: wj = 2N−1−j. Redundant: integers shrinking by a radix of 1.8 that add up to 2N − 1; at 16 bits this is the weight set of the ADCToolbox examples. A comparison that wrongly drops its weight is recovered while the input stays within the later weights plus one LSB.
Capacitor mismatch. Weight wj is built from wj/wmin unit capacitors, each with relative mismatch σ, so its relative error is σ/√units. New chip draws another set of errors.
Comparator noise. Gaussian, drawn anew for every decision. The stepped conversion uses one draw; New noise replaces it.
Calibration. Sine-fit weight calibration: a least-squares fit of the bit columns plus an offset to a unit sine at the known frequency 499/4096 fs, rescaled to the nominal weight sum. The spectra use a second tone at 613/4096 fs, so the weights are tested on data they were not fitted to.
Spectrum. 4096 conversions of a −0.5 dBFS sine, rectangular window. ENOB = (SNDR − 1.76) / 6.02. The largest spur is labelled with its harmonic order when it is one.
Input frequency. None of these errors depend on it: every conversion works on a held sample, so another tone frequency only moves the harmonics.