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

instrument / verified-clean

DSP: Sample Rate & Nyquist Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: VERIFIED_CLEANLifecycle: verified-clean

Inspectable records

Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Area
Computing & Information
Tranche
tranche-4
Evidence ID
t4-208
Ledger rows
1

No ledger note is attached.

Review findings

The arithmetic formulas are standard under their stated assumptions, but the instrument needs an explicit unit contract, input validation, an equality rule for the Nyquist boundary, and an honest label such as ideal full-scale sine-wave quantization SNR rather than unrestricted dynamic range.

Formula and scope findings

  • f_nyquist=f_s/2 is correct for the Nyquist frequency and is also the theoretical upper frequency boundary for uniformly sampled real signals, but the specification does not define whether a signal exactly equal to the boundary should trigger the aliasing warning.
  • The aliasing warning rule is underspecified: it says to warn when the signal exceeds Nyquist, but does not define behavior for equality, negative frequencies, bandwidth-containing signals, or signals with multiple frequency components.
  • dynamic_range(dB)≈6.02×bits+1.76 is the standard ideal quantization SNR for a full-scale sine wave, not a universal measured dynamic range. It requires ideal ADC quantization assumptions and should be labeled accordingly.
  • The claimed max representable frequency is not given as a separate formula or output definition; it appears intended to equal f_s/2 for real sampling.

Unit assumptions

  • sample_rate is interpreted in Hz before calculation; for example, 48 kHz must be converted to 48,000 Hz.
  • signal frequency is interpreted in Hz and compared against Nyquist using the same units.
  • bit depth is a positive integer number of quantization bits.
  • The dynamic-range formula assumes an ideal N-bit quantizer, a full-scale sinusoidal input, and quantization-noise-limited operation; the result is an approximate dB value.
  • Frequencies are treated as nonnegative magnitudes for the aliasing comparison.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

The arithmetic formulas produce expected finite results, including at the exact Nyquist boundary and at the largest finite sample rate. However, the specification leaves the signed-frequency convention undefined, allowing the same input (-25000 Hz at a 48000 Hz sample rate) to produce either an aliasing warning or no warning. Input-domain validation for nonphysical or extreme values is also unspecified.

Errata and corrections

No applied erratum is attached to this unique-name record.

Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

{
  "inputs": {
    "sample_rate_hz": 48000,
    "bit_depth_bits": 16,
    "signal_frequency_hz": 1000
  },
  "expected_outputs": {
    "nyquist_frequency_hz": 24000,
    "max_representable_frequency_hz": 24000,
    "aliasing_warning": false,
    "dynamic_range_db": 98.08
  },
  "working": "Nyquist = 48,000 / 2 = 24,000 Hz. Max representable frequency = 24,000 Hz. Signal comparison: 1,000 Hz > 24,000 Hz is false, so aliasing_warning = false. Dynamic range = 6.02 × 16 + 1.76 = 96.32 + 1.76 = 98.08 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_CLEAN
  • evidence-tranche4/tranche4-results.json
  • BOUNDARY_HAZARD_CATALOG.json