Source: https://guthlabs.ai/docs/instruments/doppler-effect-calculator-sound/mechanism/

instrument mechanism / verified-with-binding-errata

# Doppler Effect Calculator (sound) mechanism

The inspectable method record for Doppler Effect Calculator (sound), kept separate from implementation and qualification.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **verified-with-binding-errata**

## Model scope

The core classical still-air Doppler formula is standard, but the specification needs explicit sign mappings, a defined shift-percent formula, unit validation, and domain constraints. The honest label is appropriate only when motion is relative to a stationary medium and relativistic, wind, and multidimensional effects are excluded.

- The ±/∓ signs are not explicitly mapped to approaching versus receding motion; a standard convention is approaching: f_obs=f_src(v+v_obs)/(v-v_src), receding: f_obs=f_src(v-v_obs)/(v+v_src), with velocities measured along the source-observer line relative to the still medium.

- The output shift percentage is specified but its formula is missing; it should be shift_percent=100*(f_obs-f_src)/f_src, assuming f_src is nonzero.

- The formula assumes collinear source and observer velocities and a stationary, homogeneous medium; these constraints are not stated in the input specification.

## Units and conventions

- All velocities must use the same unit before substitution; the examples use m/s unless explicitly converted.

- The speed of sound is 343 m/s for still air at 20 °C.

- Source and observer velocities are measured relative to the medium and along the line joining source and observer.

- Shift percentage is signed relative to the emitted frequency: positive means an increase and negative means a decrease.

- The source frequency must be greater than zero.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "source_frequency_hz": 440,
    "speed_of_sound_m_s": 343,
    "source_velocity_m_s": 0,
    "observer_velocity_m_s": 0,
    "motion": "stationary"
  },
  "expected_outputs": {
    "observed_frequency_hz": 440,
    "shift_percent": 0
  },
  "working": "Stationary case: f_obs=440*(343+0)/(343-0)=440*343/343=440 Hz. shift%=100*(440-440)/440=0%."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The calculator breaks or must reject an exactly sonic approaching source because the Doppler denominator becomes zero. It is also vulnerable to materially incorrect results if the approaching/receding branch or velocity sign convention is inferred ambiguously.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/doppler-effect-calculator-sound/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/doppler-effect-calculator-sound/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/doppler-effect-calculator-sound/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
