Source: https://guthlabs.ai/docs/instruments/sample-rate-nyquist-frequency-checker/

instrument / verified-clean

# Sample Rate / Nyquist Frequency Checker

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

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/sample-rate-nyquist-frequency-checker/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/sample-rate-nyquist-frequency-checker/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/sample-rate-nyquist-frequency-checker/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/sample-rate-nyquist-frequency-checker/qualification/>)

## Ledger state

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

**Area**: Audio, Music, Photography & Color

**Tranche**: tranche-4

**Evidence ID**: t4-001

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The core arithmetic formula is correct under consistent frequency units. The instrument should be revised to define sample-rate units, reject nonpositive rates, clarify the Nyquist-boundary wording, and either remove the aliasing-check claim or add a signal-frequency input and explicit aliasing rule.

### Formula and scope findings

- fmax=fs/2 is the standard Nyquist-frequency formula, but the wording "maximum representable frequency" is potentially misleading: frequencies at or above fs/2 are not safely representable without qualification, and exactly fs/2 is a boundary case.

- The claimed aliasing check is not implemented by fmax=fs/2 alone. An aliasing check requires a signal/input frequency and a defined rule, such as flagging frequencies at or above fs/2.

- The common-rate table output is not explicitly defined as a formula or output schema, although its values can be generated by applying fmax=fs/2 to each listed rate.

### Unit assumptions

- The sample rate and resulting Nyquist frequency must use the same frequency unit.

- If sample rate is supplied in Hz, the output is in Hz; if supplied in kHz, the output is in kHz.

- The listed common rates mean 44.1 kHz, 48 kHz, 96 kHz, and 192 kHz, equivalent to 44100 Hz, 48000 Hz, 96000 Hz, and 192000 Hz.

- A clearly labeled unit field or a fixed input convention is required; the current spec only says "sample rate".

## Boundary hardening

### Recorded hazards

- A zero or negative sample rate is invalid and must be rejected; zero yields a mathematically defined result but no usable sampling capability.

- The implementation must avoid implying that a frequency exactly equal to fs/2 is generally safe to represent; use a boundary-aware label such as Nyquist limit or require frequency < fs/2.

- The aliasing claim is incomplete without a signal-frequency input and a comparison rule.

- Unit omission can cause a 1000-fold error, such as interpreting 44.1 kHz as 44.1 Hz.

- The common-rate table should explicitly state units and whether values are displayed in Hz or kHz.

## 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": 44100,
    "sample_rate_unit": "Hz"
  },
  "expected_outputs": {
    "nyquist_frequency": 22050,
    "nyquist_frequency_unit": "Hz"
  },
  "working": "fmax = fs / 2 = 44100 Hz / 2 = 22050 Hz."
}
````

## Related workflows

[Audio Engineer's Rackdigital limits](<https://guthlabs.ai/docs/instrument-workflows/audio-rack/>)

## 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`
