Historical source. Some claims in older records were subsequently corrected. The associated article states the adopted interpretation. This record preserves the original source alongside its rendered reading view.
Rendered archival Markdown
This reading view preserves headings, tables, lists, code fragments and mathematical notation from the local research record.
Digital Ghost: Contactless Vital Sensing via Spline-Based Acoustic Doppler
Project Context: Internal R&D / Feasibility Study Core Technologies: Python, NumPy, SciPy (DSP), SoundDevice (CoreAudio)
1. Executive Summary
The "Digital Ghost" project is an experimental engineering initiative designed to turn standard, unmodified consumer audio hardware (a laptop's built-in speaker and microphone) into a medical-grade, contactless vital sign monitor.
The system operates by emitting a continuous, inaudible 20 kHz ultrasonic pilot tone. As these sound waves reflect off a human subject, the physiological movements of their chest wall—specifically macro-respiration (breathing) and micro-cardiac tremors (ballistocardiography)—induce phase shifts in the reflected acoustic waves. By detecting the resulting Doppler shifts, the system can extract real-time vital signs without requiring the subject to wear any sensors.
The primary engineering breakthrough of this project is the abandonment of traditional Fast Fourier Transforms (FFTs) in favor of a Stabilized 2nd-Order Cardinal Exponential Spline Operator. This mathematical approach bypasses the time-frequency uncertainty limits of FFTs, allowing the system to achieve blazing-fast 100 FPS temporal resolution capable of isolating the sharp transient mechanical "thump" of a human heartbeat.
2. The Theoretical Problem: Biological Masking & FFT Limits
Traditional acoustic sensing systems rely on the Short-Time Fourier Transform (STFT) to track frequency shifts over time. However, the FFT is fundamentally bound by the Gabor Limit:
- To achieve high frequency resolution (necessary to detect tiny Doppler shifts), you must analyze a long window of time.
- Analyzing a long window of time destroys temporal resolution, meaning sharp, fast events are smoothed out and lost.
This presents a critical problem for vital sign extraction due to Biological Masking:
- Respiration causes a large chest displacement (~5 mm) at a slow rate (~0.2 to 0.3 Hz).
- The Heartbeat causes a microscopic displacement (< 0.5 mm) containing sharp transient frequencies up to 5-10 Hz.
Using FFTs, the massive 5 mm breathing wave completely obscures the tiny 0.5 mm cardiac transient. A window long enough to see the Doppler shift is too long to resolve the heartbeat.
3. The Mathematical Breakthrough: Annihilating Filters
To solve this, the Digital Ghost models the acoustic environment as a continuous-time Linear Differential Equation (LDE) rather than transforming it into the frequency domain.
Assuming the room contains a single dominant moving reflector modulating the pilot tone, the received signal can be modeled as a complex exponential. By Prony's method, this signal is annihilated by an FIR filter. Applying this filter in the time domain yields the fundamental recurrence relation:
x[n+1] - 2cos(ωT)x[n] + x[n-1] = 0
Instead of using costly covariance matrices to solve for ω (the instantaneous frequency), we algebraically isolate the parameter using a stabilized dot-product estimator over a block of N samples:
cos(ωT) = Σ (x[n-1] + x[n+1]) x[n] / (2 Σ x[n]²)
By applying arccos(), we extract the exact instantaneous frequency at the temporal resolution of the analyzed block, limited only by the Signal-to-Noise Ratio (SNR), not the Gabor limit. Subtracting the 20 kHz baseline reveals the raw Doppler velocity.
4. Implementation & System Architecture
The Python implementation (ghost_v2.py) bridges this pure mathematics with real-time, fault-tolerant Digital Signal Processing (DSP).
A. The 100 FPS Overlap-Add Rolling Buffer
Audio hardware requires large buffer sizes (e.g., 50 ms / 2400 samples) to prevent clicking and buffer underflows. Running the Spline Operator at this rate yields 20 FPS, which is too slow to resolve a heartbeat without aliasing.
The solution is an Overlap-Add Rolling Buffer. The DSP engine maintains a continuous 50 ms context array. Every 10 ms (480 samples), the buffer is shifted, new data is appended, and the Spline Operator evaluates the entire 50 ms window. This achieves the mathematical stability of a 50 ms window while delivering the 100 FPS updates required to resolve cardiac transients.
B. Tri-Path DSP Pipeline
The raw Doppler velocity is processed through three independent mathematical pathways to solve Biological Masking:
- Path A (Velocity): Uses a fast Exponential Moving Average (EMA) DC-Blocker (
α = 0.05) to instantly zero drift, providing crisp, real-time visual feedback for gross physical movements. - Path B (Macro-Respiration): Uses a stronger velocity DC-blocker followed by pure accumulation (integration without a "leak" factor). This perfectly models slow, 5-second physiological breathing waves without mathematical decay.
- Path C (Micro-Cardiac): The integrated displacement signal is passed through a 2nd-order Butterworth Bandpass filter (0.8 Hz to 2.5 Hz). This surgically isolates the micro-tremors from the massive breathing wave.
5. Empirical Results & Validation
Offline analysis of a 44-second controlled trial validated the system's capabilities:
- Signal Stability: The 50 ms rolling buffer maintained a raw velocity noise standard deviation of just 0.25 Hz.
- Respiration: The integration path successfully identified a dominant macro-respiratory frequency of 0.134 Hz (8.1 breaths/min).
- Cardiac Activity: Spectral analysis of the isolated bandpass path identified a dominant micro-cardiac peak at 0.805 Hz (48.3 beats/min).
The "Acoustic Shadow" Phenomenon
Empirical testing revealed a significant hardware constraint. The Spline Operator averages the acoustic poles of the entire room. The direct Line-of-Sight (LOS) path from the laptop speaker to the adjacent microphone creates a massive, static 20 kHz vector that dilutes the minute Doppler shifts bouncing off the subject.
By placing a dense physical barrier (e.g., a book) between the speaker and microphone arrays, an Acoustic Shadow is generated. This physical high-pass filter attenuates the direct LOS path, forcing the system to operate almost exclusively on multi-path reflections originating from the subject's chest, drastically improving the cardiac signal-to-noise ratio.
6. Conclusion
The Digital Ghost project successfully proves the viability of using continuous-time LDE physics models and Stabilized Spline Operators for high-resolution acoustic sensing. By breaking the time-frequency uncertainty limit and supporting it with robust multi-path DSP and sliding-window buffering, it is possible to extract medical-grade macro and micro vital signs using entirely standard, off-the-shelf consumer audio hardware.
View raw MD source
# Digital Ghost: Contactless Vital Sensing via Spline-Based Acoustic Doppler
**Project Context:** Internal R&D / Feasibility Study
**Core Technologies:** Python, NumPy, SciPy (DSP), SoundDevice (CoreAudio)
---
## 1. Executive Summary
The "Digital Ghost" project is an experimental engineering initiative designed to turn standard, unmodified consumer audio hardware (a laptop's built-in speaker and microphone) into a medical-grade, contactless vital sign monitor.
The system operates by emitting a continuous, inaudible 20 kHz ultrasonic pilot tone. As these sound waves reflect off a human subject, the physiological movements of their chest wall—specifically macro-respiration (breathing) and micro-cardiac tremors (ballistocardiography)—induce phase shifts in the reflected acoustic waves. By detecting the resulting Doppler shifts, the system can extract real-time vital signs without requiring the subject to wear any sensors.
The primary engineering breakthrough of this project is the abandonment of traditional Fast Fourier Transforms (FFTs) in favor of a **Stabilized 2nd-Order Cardinal Exponential Spline Operator**. This mathematical approach bypasses the time-frequency uncertainty limits of FFTs, allowing the system to achieve blazing-fast 100 FPS temporal resolution capable of isolating the sharp transient mechanical "thump" of a human heartbeat.
---
## 2. The Theoretical Problem: Biological Masking & FFT Limits
Traditional acoustic sensing systems rely on the Short-Time Fourier Transform (STFT) to track frequency shifts over time. However, the FFT is fundamentally bound by the **Gabor Limit**:
- To achieve high *frequency resolution* (necessary to detect tiny Doppler shifts), you must analyze a long window of time.
- Analyzing a long window of time destroys *temporal resolution*, meaning sharp, fast events are smoothed out and lost.
This presents a critical problem for vital sign extraction due to **Biological Masking**:
1. **Respiration** causes a large chest displacement (~5 mm) at a slow rate (~0.2 to 0.3 Hz).
2. **The Heartbeat** causes a microscopic displacement (< 0.5 mm) containing sharp transient frequencies up to 5-10 Hz.
Using FFTs, the massive 5 mm breathing wave completely obscures the tiny 0.5 mm cardiac transient. A window long enough to see the Doppler shift is too long to resolve the heartbeat.
---
## 3. The Mathematical Breakthrough: Annihilating Filters
To solve this, the Digital Ghost models the acoustic environment as a continuous-time Linear Differential Equation (LDE) rather than transforming it into the frequency domain.
Assuming the room contains a single dominant moving reflector modulating the pilot tone, the received signal can be modeled as a complex exponential. By Prony's method, this signal is annihilated by an FIR filter. Applying this filter in the time domain yields the fundamental recurrence relation:
`x[n+1] - 2cos(ωT)x[n] + x[n-1] = 0`
Instead of using costly covariance matrices to solve for `ω` (the instantaneous frequency), we algebraically isolate the parameter using a stabilized dot-product estimator over a block of `N` samples:
`cos(ωT) = Σ (x[n-1] + x[n+1]) x[n] / (2 Σ x[n]²)`
By applying `arccos()`, we extract the exact instantaneous frequency at the temporal resolution of the analyzed block, limited only by the Signal-to-Noise Ratio (SNR), not the Gabor limit. Subtracting the 20 kHz baseline reveals the raw Doppler velocity.
---
## 4. Implementation & System Architecture
The Python implementation (`ghost_v2.py`) bridges this pure mathematics with real-time, fault-tolerant Digital Signal Processing (DSP).
### A. The 100 FPS Overlap-Add Rolling Buffer
Audio hardware requires large buffer sizes (e.g., 50 ms / 2400 samples) to prevent clicking and buffer underflows. Running the Spline Operator at this rate yields 20 FPS, which is too slow to resolve a heartbeat without aliasing.
The solution is an **Overlap-Add Rolling Buffer**. The DSP engine maintains a continuous 50 ms context array. Every 10 ms (480 samples), the buffer is shifted, new data is appended, and the Spline Operator evaluates the *entire* 50 ms window. This achieves the mathematical stability of a 50 ms window while delivering the 100 FPS updates required to resolve cardiac transients.
### B. Tri-Path DSP Pipeline
The raw Doppler velocity is processed through three independent mathematical pathways to solve Biological Masking:
1. **Path A (Velocity):** Uses a fast Exponential Moving Average (EMA) DC-Blocker (`α = 0.05`) to instantly zero drift, providing crisp, real-time visual feedback for gross physical movements.
2. **Path B (Macro-Respiration):** Uses a stronger velocity DC-blocker followed by pure accumulation (integration without a "leak" factor). This perfectly models slow, 5-second physiological breathing waves without mathematical decay.
3. **Path C (Micro-Cardiac):** The integrated displacement signal is passed through a 2nd-order Butterworth Bandpass filter (0.8 Hz to 2.5 Hz). This surgically isolates the micro-tremors from the massive breathing wave.
---
## 5. Empirical Results & Validation
Offline analysis of a 44-second controlled trial validated the system's capabilities:
* **Signal Stability:** The 50 ms rolling buffer maintained a raw velocity noise standard deviation of just 0.25 Hz.
* **Respiration:** The integration path successfully identified a dominant macro-respiratory frequency of **0.134 Hz (8.1 breaths/min)**.
* **Cardiac Activity:** Spectral analysis of the isolated bandpass path identified a dominant micro-cardiac peak at **0.805 Hz (48.3 beats/min)**.
### The "Acoustic Shadow" Phenomenon
Empirical testing revealed a significant hardware constraint. The Spline Operator averages the acoustic poles of the entire room. The direct Line-of-Sight (LOS) path from the laptop speaker to the adjacent microphone creates a massive, static 20 kHz vector that dilutes the minute Doppler shifts bouncing off the subject.
By placing a dense physical barrier (e.g., a book) between the speaker and microphone arrays, an **Acoustic Shadow** is generated. This physical high-pass filter attenuates the direct LOS path, forcing the system to operate almost exclusively on multi-path reflections originating from the subject's chest, drastically improving the cardiac signal-to-noise ratio.
---
## 6. Conclusion
The Digital Ghost project successfully proves the viability of using continuous-time LDE physics models and Stabilized Spline Operators for high-resolution acoustic sensing. By breaking the time-frequency uncertainty limit and supporting it with robust multi-path DSP and sliding-window buffering, it is possible to extract medical-grade macro and micro vital signs using entirely standard, off-the-shelf consumer audio hardware.