Page actions
instrument mechanism / verified-with-binding-errata
Sample Rate / Nyquist & ADC Resolution Calculator mechanism
The inspectable method record for Sample Rate / Nyquist & ADC Resolution Calculator, kept separate from implementation and qualification.
Status: VERIFIED_WITH_ERRATALifecycle: verified-with-binding-errata
Model scope
The honest-label statement is appropriate but should be expanded to state that the SNR result applies to an ideal ADC driven by a full-scale sine wave. The specification needs an explicit definition of signal_bandwidth as fmax, or additional bandpass start/stop-frequency inputs; therefore it cannot receive an unconditional PASS.
- fs≥2fmax is valid for a baseband, band-limited signal when fmax means the highest frequency component; the input is called signal bandwidth, which is not generally equal to fmax for a bandpass signal.
- The equality fs=2fmax is an ideal theoretical boundary; practical sampling normally requires fs>2fmax plus an anti-aliasing filter guard band.
- LSB=Vref/2^N assumes Vref is the total unipolar ADC input span divided into exactly 2^N equal code intervals. It is not universally correct if Vref means a maximum endpoint, for bipolar ranges, or for a specified ADC code-width convention.
- SNR(dB)≈6.02N+1.76 is the ideal quantization SNR for a full-scale sine wave with an ideal ADC and uniformly distributed quantization error; it is not a general SNR for arbitrary signal amplitudes or real ADCs.
- The phrase 'Nyquist limit' is ambiguous because the formula computes the minimum sample rate for a specified highest input frequency, whereas the Nyquist frequency is normally fs/2.
Units and conventions
- signal_bandwidth_hz is interpreted as the highest frequency fmax of a baseband signal, not merely occupied bandwidth.
- All frequency inputs and outputs use hertz; 1 MHz=1,000,000 Hz and 1 kHz=1,000 Hz.
- adc_bits is a nonnegative integer N.
- vref_v is a positive voltage span in volts for a unipolar ADC.
- LSB output is in volts per code.
- SNR is in decibels and assumes a full-scale sine-wave input to an ideal ADC.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"signal_bandwidth_hz": 20000,
"adc_bits": 12,
"vref_v": 3.3
},
"expected_outputs": {
"min_sample_rate_hz": 40000,
"lsb_v": 0.0008056640625,
"theoretical_snr_db": 73.76
},
"working": "Assume 20,000 Hz is fmax. Minimum sample rate = 2×fmax = 2×20,000 = 40,000 Hz. LSB = Vref/2^N = 3.3/2^12 = 3.3/4096 = 0.0008056640625 V. SNR = 6.02N+1.76 = 6.02×12+1.76 = 72.24+1.76 = 73.76 dB."
}Failure boundary
- Reject negative frequency, negative ADC bit depth, non-integer bit depth, and nonpositive Vref inputs.
- Prevent division by zero or invalid results when Vref is zero or when ADC bit depth is invalid.
- A bandpass signal cannot be assigned a valid minimum sample rate from bandwidth alone; its frequency location is also required unless the input is explicitly defined as fmax.
- Sampling exactly at 2fmax provides no practical guard band and can be sensitive to phase and filtering; recommend a strict greater-than condition or an explicit practical-margin option.
- The ideal SNR formula does not account for ENOB, thermal noise, clock jitter, distortion, reference noise, front-end noise, or non-full-scale signal amplitude.
- Clarify whether the displayed Nyquist quantity is minimum sample rate or Nyquist frequency.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche5/tranche5-results.json