Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

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

Inspectable records

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_ERRATA
  • evidence-tranche5/tranche5-results.json