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.