Analysis Walkthrough

Case FA-2026-001 | Step-by-step from raw recordings to onset times

SYNCHRONIZATION

The 4 recordings were captured independently on separate phones with no timecode synchronization. A common reference signal is needed to align them to a shared timebase.

Method

PA vocal content — the word "GREAT" spoken just before the gunshot — provides a signal common to all 4 recordings via the PA speakers
Manual alignment in Ableton Live to sub-sample precision
Verified via GCC-PHAT cross-correlation across 9 overlapping windows (200–4000Hz speech band)
Sub-sample refinement via parabolic interpolation

Results

Sub-sample lock
R1, R2, R3: <0.01 samples
R4: ±1 sample (at estimator noise floor)
Accuracy
±1 sample at 48kHz = ±0.021ms
Closure test
PASSED — max error 0.03 samples (0.6μs)
Drift
None detected (±0.005ms early vs late speech)

GCC-PHAT residual lag across 6 receiver pairs and 9 time windows. All residuals < 0.03 samples.

ACOUSTIC EVENT CLASSIFICATION

CRITICAL

A supersonic gunshot produces two distinct acoustic events that arrive separately at each microphone. Confusing them invalidates the entire analysis.

SUPERSONIC CRACK
Frequency: 4–8kHz
Wavefront: Conical (Mach cone)
Source type: LINE source
Arrives: FIRST
Cannot use for TDOA — produces location smear along bullet trajectory, not a point.
MUZZLE BLAST
Frequency: <500Hz
Wavefront: Spherical
Source type: POINT source
Arrives: SECOND
Valid for TDOA — spherical wavefront produces a unique intersection point.
Receiver Crack (4–8kHz) Blast (<500Hz) Separation
R1 1840.6ms 1864.5ms 23.9ms
R2 1840.0ms ~1855.0ms ~15.0ms
R3 1840.0ms 1855.0ms 15.0ms
R4 1846.1ms 1856.5ms 10.4ms

Key finding: The crack arrives nearly simultaneously at R1/R2/R3 (~1840ms) but 6ms later at R4 (1846ms). This constrains bullet trajectory geometry — R4 is farther from the trajectory than the other three receivers.

Crack (blue) arrives before blast (orange) at all receivers. Separation varies from 10.4ms (R4) to 23.9ms (R1).

MUZZLE BLAST ONSET PICKING

A 500Hz zero-phase Butterworth lowpass filter isolates the muzzle blast energy, removing the supersonic crack that contaminates broadband onset picks. Zero-phase filtering is critical — a standard IIR filter introduces group delay that shifts the apparent onset time.

Receiver Onset (ms) Method Confidence
R2 1855.0 Informed by R3 proximity High
R3 1855.0 <500Hz, 5× threshold High
R4 1856.5 <500Hz, 3× threshold Moderate
R1 1864.5 <500Hz, positive onset at 2.2× Moderate

LP 500Hz filtered waveforms with onset markers. Pre-onset noise gives way to the blast pulse at each receiver.

PA CORRECTION

The Ableton synchronization aligned PA vocal arrivals at each receiver. This removed PA propagation delays from the sync — but those delays are not present in the gunshot signal. The PA delays must be added back to get true gunshot TDOAs.

Why this is a bounded uncertainty, not a showstopper

The effective PA source at each receiver depends on speaker directionality (EV Everse 12", facing NE ~66°), which is not precisely known
Sensitivity analysis: solution moves only ~0.22m per ms of PA correction error
Given the ~15ft equal-distance geometry, total PA model uncertainty is <1 meter
5 independent PA models tested — all produce solutions within a 1-meter envelope

Five PA correction models produce solutions within a 1-meter envelope. The PA correction is a systematic uncertainty, not a showstopper.

NOTE: R2–R3 REDUNDANCY

R2 and R3 are 1.6m apart — effectively one receiver for TDOA geometry. The maximum possible TDOA between them is 4.6ms. They measure nearly identical onsets (both at 1855.0ms). The system is effectively 3 independent receivers with one redundant consistency check. This is actually a strength: if R2 and R3 disagreed significantly, it would indicate a systematic error in the analysis. They don't — confirming the onset picks and synchronization are self-consistent.