Page actions
instrument / verified-with-binding-errata
Sample Rate / Nyquist & ADC Resolution Calculator
The current ledger marks this instrument verified with errata that must be applied at binding time.
Status: VERIFIED_WITH_ERRATALifecycle: verified-with-binding-errata
Ledger state
The current ledger marks this instrument verified with errata that must be applied at binding time.
- Area
- Electrical & Electronics Engineering — Circuits, Power Systems, Electronics Lab
- Tranche
- tranche-5
- Evidence ID
- t5-195
- Ledger rows
- 1
No ledger note is attached.
Review findings
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.
Formula and scope findings
- 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.
Unit assumptions
- 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.
Boundary hardening
Recorded hazards
- 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.
Errata and corrections
Tranche errata
theoretical_snr_db · vector 1
73.76
74
72.24+1.76 written as 73.76; her v2 addition is correct
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"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."
}
Related workflows
No source-defined multi-instrument workflow membership is recorded.
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_WITH_ERRATAevidence-tranche5/tranche5-results.json