Skip to main content

Chapter 53
Doppler and Beat Frequency Flows

Wave Coherence and Optics
Author: Mark Anthony Higgins
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 February 2026
Audio Overview
Flow Algebra
flow "Doppler and Beat Frequency Flows" v1.0

# ---------- PURPOSE ----------
# Models frequency variation and superposition between moving sources and observers.
# The Doppler effect arises from relative motion altering wave phase arrival rate.
# Beat frequency emerges from interference between two close frequencies — a temporal interference pattern.
# IB measures coherence retention in temporal phase alignment.
# IB = 1 → perfect coherence (pure tone or steady shift).
# IB < 1 → partial coherence (phase jitter, modulation blur).

# ---------- PARAMETERS ----------
params:
  units: "SI"
  f0: positive                   # source frequency [Hz]
  v_wave: positive                # propagation speed (sound/light) [m/s]
  v_source: real = 0.0            # velocity of source (+ = toward observer)
  v_observer: real = 0.0          # velocity of observer (+ = toward source)
  IB: 0.0..1.0 = 1.0              # temporal coherence index
  Δf: real?                       # frequency difference between two waves [Hz]
  include_beat: bool = false
  include_motion: bool = true
  λ_decay: nonnegative = 0.0      # damping rate of coherence [s^-1]
  dt: positive?                   # timestep for coherence update [s]

# ---------- STATE ----------
state WaveInteraction:
  f_obs: real                     # observed frequency [Hz]
  f_beat: real                    # beat frequency [Hz]
  phase_diff: real                # relative phase between waves [rad]
  amplitude_envelope: real        # modulation amplitude
  coherence_loss: real            # 1 - IB
  signal_state: str               # "steady", "modulated", or "diffuse"

# ---------- INVARIANTS ----------
invariants:

  # Doppler shift for moving observer and source
  if params.include_motion:
    WaveInteraction.f_obs = params.f0 * (params.v_wave + params.v_observer) / (params.v_wave - params.v_source)
  else:
    WaveInteraction.f_obs = params.f0

  # Beat frequency (temporal interference)
  if params.include_beat and params.Δf is defined:
    WaveInteraction.f_beat = abs(params.Δf)
  else:
    WaveInteraction.f_beat = 0

  # Amplitude envelope for beats (two close frequencies)
  if params.include_beat:
    WaveInteraction.amplitude_envelope = 2 * cos(π * WaveInteraction.f_beat * t)
  else:
    WaveInteraction.amplitude_envelope = 1

  # Phase difference evolution
  WaveInteraction.phase_diff = 2π * WaveInteraction.f_beat * t

  # Coherence decay law
  params.IB = clamp(params.IB - params.λ_decay * (1 - params.IB) * (params.dt or 1), 0, 1)
  WaveInteraction.coherence_loss = 1 - params.IB

  # Signal classification
  if params.IB == 1 and not params.include_beat:
    WaveInteraction.signal_state = "steady"
  elif params.include_beat and params.IB > 0.5:
    WaveInteraction.signal_state = "modulated"
  else:
    WaveInteraction.signal_state = "diffuse"

# ---------- TRANSFORMS ----------
transforms:

  shift_velocity:
    comment: "Change source or observer velocity to simulate Doppler shift."
    params.v_source += Δv_source
    params.v_observer += Δv_observer

  introduce_beat:
    comment: "Enable temporal interference from two frequencies."
    params.include_beat = true
    params.Δf = Δf_value

  decay_coherence:
    comment: "Apply damping to coherence index."
    params.IB = clamp(params.IB - 0.01 * (1 - params.IB), 0, 1)

# ---------- MONITORS ----------
monitors:
  doppler_consistency:
    assert params.v_wave > 0
    comment: "Wave speed must be positive for physical Doppler shift."
  beat_visibility:
    if params.include_beat:
      comment: "Beat visibility decreases as IB falls."
  coherence_bounds:
    assert 0 <= params.IB <= 1

# ---------- SCENES ----------
scenes:

  stationary_source:
    given params:
      f0: 440
      v_wave: 343
      v_source: 0
      v_observer: 0
    expect:
      WaveInteraction.f_obs = 440
      comment: "No motion — observed frequency equals source frequency."

  approaching_source:
    given params:
      f0: 440
      v_wave: 343
      v_source: 30
      v_observer: 0
    expect:
      WaveInteraction.f_obs > 440
      comment: "Approaching source compresses wavefronts — frequency increases."

  receding_source:
    given params:
      f0: 440
      v_wave: 343
      v_source: -30
    expect:
      WaveInteraction.f_obs < 440
      comment: "Receding source stretches wavefronts — frequency decreases."

  beat_superposition:
    given params:
      f0: 440
      Δf: 5
      v_wave: 343
      include_beat: true
      IB: 1.0
    expect:
      WaveInteraction.signal_state = "modulated"
      comment: "Two close frequencies produce amplitude modulation — beats."

  coherence_decay:
    given params:
      f0: 440
      Δf: 5
      include_beat: true
      IB: 0.6
      λ_decay: 0.02
      dt: 1.0
    enable:
      - decay_coherence
    expect:
      WaveInteraction.signal_state = "diffuse"
      comment: "Phase instability blurs beat envelope — partial coherence."

# ---------- NOTES ----------
notes:
  - **Doppler Shift:**  
    \[
    f' = f_0 \frac{v_\text{wave} + v_\text{observer}}{v_\text{wave} - v_\text{source}}
    \]
    Describes observed frequency for relative motion between source and observer.

  - **Beat Frequency:**  
    \[
    f_\text{beat} = |f_1 - f_2|
    \]
    Temporal interference pattern resulting from two nearby frequencies.

  - **Amplitude Modulation:**  
    \[
    A(t) = 2\cos(\pi f_\text{beat} t)
    \]
    Governs the envelope oscillation — perceived as loudness variation in sound.

  - **Coherence Law:**  
    \[
    \dot{I_B} = -\lambda (1 - I_B)
    \]
    Models loss of temporal phase alignment due to environmental or systemic damping.

  - **Interpretation:**  
    - Doppler effect = moving boundary altering phase arrival rate.  
    - Beat pattern = interference in time between close frequencies.  
    - Both arise from recursive modulation of phase coherence.  

  - **Visualization:**  
    - Left: stationary wavefronts and compressed wavefronts for Doppler motion.  
    - Middle: two sinusoids interfering to form beat envelope.  
    - Right: blurred modulation envelope as IB < 1 (temporal coherence decay).
Overview

Every oscillation is a dialogue between source and observer — a continuous negotiation of phase through motion and time.
When the geometry of that dialogue changes, the rhythm of arrival changes too.
This is the essence of the Doppler effect: not simply a shift in tone, but a reconfiguration of temporal curvature — how phase lines intersect an observer’s frame.
When two nearby frequencies interact, that same process produces a beat pattern — a slower modulation arising from the interference of phase histories.
Both effects emerge from the same structure: recursive phase realignment in time.


🔹 1. Classical Form — Doppler Shift

When either a source or observer moves relative to a wave, the apparent frequency changes because the spacing between successive wavefronts is altered.
If the source moves toward the observer, each crest arrives sooner; if it moves away, each crest arrives later.
The observed frequency is given by:

\[ f' = f_0 \frac{v_{\text{wave}} - v_{\text{source}}}{v_{\text{wave}} + v_{\text{observer}}} \] ``

This equation describes how the motion of the boundary redefines the effective wavelength in the observer’s frame.
Classically, this is treated as compression or stretching of the wavefronts — but in the coherence framework, it is phase density modulation: the observer experiences a different temporal sampling of the same continuous field.

A moving boundary effectively bends time within the wave’s local geometry — not relativistically, but as a dynamic phase reindexing of coherence.


🔸 2. Beats — Temporal Interference

When two waves of slightly different frequency f1f_1 and f2f_2 overlap, their instantaneous amplitudes combine:

\[ I = I_1 + I_2 + 2\sqrt{I_1 I_2}\cos(\Delta\phi) \]

where Δϕ=2π(f1−f2)t.\Delta\phi = 2\pi(f_1 - f_2)t.

\[ f_{\text{beat}} = |f_1 - f_2| \]

Beats are the temporal analogue of spatial interference fringes.
They arise when phase coherence alternates between alignment and opposition — a periodic constructive/destructive recursion in time.
Where phase alignment persists (IB=1I_B = 1), beats are crisp and stable; as coherence drifts, the modulation softens into a blur of amplitude variation.


🔹 3. Coherence and the Law of Temporal Alignment

Both Doppler shift and beat patterns depend on how well phase memory is maintained across cycles.
The coherence law:

\[ \dot{I_B} = -\lambda (1 - I_B) \]

captures how temporal alignment decays through damping, turbulence, or noise.
A high IBI_B means that each phase crest knows where it came from — the field maintains a consistent rhythm.
As IBI_B falls, the wave’s memory diffuses: beats lose definition, and Doppler shifts fluctuate.
What was once rhythmic becomes stochastic — the sound or signal loses clarity as coherence dissolves.


🔸 4. Unified Coherence Framework — Motion and Interference in Time

The Doppler effect and beat interference are two manifestations of recursive temporal modulation:

  • Doppler: phase rate shifts continuously due to motion — a dynamic reindexing of coherence.
  • Beats: phase difference oscillates between sources — a static superposition of nearby frequencies.

In both cases, the system measures how quickly its curvature changes with respect to time.
The observer does not perceive “frequency” as a quantity but as the rhythm of phase intersection — the rate at which coherence crosses the boundary of awareness.
Thus, frequency is not inherent to the wave but emergent from the relationship between field and frame.

Resonance, Doppler, and beats are all points along the same continuum:
when feedback is spatial (standing wave), coherence forms a pattern;
when feedback is temporal (phase modulation), coherence forms a tone.


🔹 5. Dissipation — The Loss of Temporal Memory

As damping increases (λ>0\lambda > 0), phase drift accumulates.
The envelope of beats becomes unstable, and frequency ceases to be sharply defined.
This is not a failure of physics, but the natural relaxation of coherence — energy diffusing across unresolved curvature.
In the limit IB→0I_B \to 0, the waveform becomes noise: uncorrelated phase events with no persistent rhythm.

The fading of a resonant tone, the blurring of beats, or the instability of Doppler under turbulence all describe the same phenomenon — curvature memory decaying in time.


🧠 Summary

The Doppler effect and beat patterns are two expressions of time-based coherence flow.
They reveal how motion and superposition sculpt temporal geometry:

  • Doppler: phase curvature shifted by moving boundaries.
  • Beats: phase curvature alternately reinforced and cancelled.
  • IB: the degree to which temporal memory remains intact.

In the HST–Flow view:

“Motion bends time through phase density;
interference modulates it through phase recursion.”

Both are self-consistent reflections of the same principle:
waves are coherence structures re-encoding themselves through time.


Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ
Designed By