Web-App Overview: Visualizing Signals
This viewer demonstrates the signal processing workflow central to techniques like Eulerian Video
Magnification (EVM), as shown in the referenced video about detecting blood flow. The goal is to extract
a weak, periodic signal (like a heartbeat, or **Pulse Rate Variability**) from noisy data, similar to
how subtle color changes in skin are amplified to reveal the cardiac cycle.
The screen is divided into two main graphs:
- Time Domain (Top): Shows the raw, noisy "color intensity" signal over time. The
fundamental heart rate signal (sine wave) is buried under random noise, simulating motion artifacts
and environmental interference.
- Frequency Domain (Bottom): Shows the signal after a simulated **Fourier
Transform**. This process converts the signal from time to frequency, isolating the main components.
The prominent peak represents the strong, periodic heart rate (our signal of interest), which is
clearly visible above the generalized noise floor. This peak allows us to measure the heart rate
precisely.
How to Use
Interact with the simulation using the controls below the canvas:
- Heart Rate (BPM): Adjusts the fundamental frequency of the hidden periodic signal.
Watch how the peak shifts in the Frequency Domain graph.
- Signal Strength (Amplitude): Changes how strong the underlying heart rate signal
is. A low amplitude means the signal is harder to spot in the Time Domain.
- Noise Level: Adds random, high-frequency noise. High noise levels make the Time
Domain signal look chaotic, but the Frequency Domain still cleanly isolates the low-frequency heart
rate.
- Sonification Toggle (Key: S): Maps the fundamental frequency to an audible tone,
demonstrating how the signal can be translated into sound.
- Play Demo (Key: D): Automatically cycles through preset scenarios to showcase
different signal conditions (e.g., strong signal, high noise, fast heart rate).
Future Directions
This single-page viewer provides a foundation for more complex physiological simulations. Potential
enhancements include:
- Phase Map Simulation: Add a third graph showing the phase shift across synthetic
neighboring pixels, illustrating how blood flow *velocity* is calculated based on timing differences
between nearby regions, as discussed in the video.
- Interactive Band-Pass Filter: Allow the user to drag a window (the "band-pass
filter") over the Frequency Domain graph and see only that frequency range reflected in the Time
Domain output.
- Multi-Signal Overlay: Introduce a second, lower-frequency signal (e.g., respiration
rate) to demonstrate separating multiple physiological signals from one stream of data.