The Multi Signal Viewer is an integrated web-based application for multi-domain signal visualization, processing, and AI-assisted analysis. Including an adaptive sampling framework applied across all supported domains β allowing users to control and analyze signal behavior under different sampling frequencies, while ensuring accuracy through built-in anti-aliasing filters.
- Visualize multi or single-channel
ECG/EEGsignals and detect abnormalities using a pretrainedAI model.
- Vehicle-Passing Doppler Effect: simulate car sounds with controllable
velocity (v)andfrequency (f); estimate both using an AI model from real recordings. - Drone Detection: detect the presence of drones or submarines among background sounds using an AI classifier.
-
Support for multi or single-channel ECG/EEG recordings.
-
Automatic abnormality detection.
-
Real-time adaptive
downsamplingwith visual and AI-based feedback. -
pause and play the signal.
-
Four viewer modes:
Continuous-time viewer|XOR graph|Polar graph|Reoccurrence graph
- When the user moves the slider, the viewer uses
scipy.signalto automatically resample the signal to the selected frequency.- In simple terms: this step removes the high-frequency parts of the signal and then reduces the number of samples so the new version looks the same but is smoother and slower.
- The new signal is then used both for display and for processing.
- A small readout next to the slider shows the current target sampling frequency and the original sampling frequency.
ECG.signal.mp4
EEG.signal.mp4
Symptom: After using the downsampling slider to reduce the displayed sampling frequency, running the integrated AI detection model sometimes produces an incorrect / false result (for example: an abnormal signal is labeled as "normal", misclassification of rhythm, or wrong event timing).
Observed effects
- Temporal features (peaks, QRS onset) may shift slightly due to filtering and resampling, affecting detectors that rely on precise timing.
- Spectral features are altered (loss of high-frequency content) which can degrade classifiers trained on higher-bandwidth inputs.
- Interactive human speech feature:
- allowing users to listen to voice recordings and use an AI classifier to detect whether the speaker is male or female.
- When users apply downsampling, the voice naturally changes β causes noticeable aliasing and distortion in high-frequency components such as
sorshsounds. - To handle this, we introduced the Speech Anti-Aliasing Model
Speech samples are played, then downsampled using a slider that controls the sampling rate. The audio before and after downsampling reveal how lowering the sampling frequency affects speech clarity and introduces noise, showing the impact of sampling rate on human voice perception.
Speech.signal.viewer.mp4
This part focuses on detecting the frequency and speed of car sounds. The audio signals are downsampled to observe how reducing the sampling rate affects the sound characteristics. The spectrogram and the audio playback are displayed before and after downsampling to visualize and hear the changes in frequency content and clarity.
car.sound.detection.mp4
Car sounds are generated and played to demonstrate how downsampling impacts the quality of the audio. A slider is used to adjust the sampling rate, allowing users to notice how the sound becomes noisier or distorted at lower rates.
Car.sound.generation.mp4
This module uses an AI model to detect whether an audio input belongs to a drone or non-drone source. Users can upload or record a sound, and the system analyzes its acoustic features to predict the class in real time.
An interactive downsampling slider allows users to reduce the sampling rate of the audio. When downsampling is applied, important high-frequency features of the drone sound are lost β causing the model to misclassify the sound as non-drone.
Drone.mp4
| Layer | Tools & Frameworks | Description | Data / Model Source |
|---|---|---|---|
| Frontend | React.js, react-plotly.js | Interactive UI for real-time signal visualization and user controls. | β |
| Backend | Flask (Python) | Handles signal processing, AI model inference, and data communication with the frontend. | β |
| AI / ML Models | TensorFlow | Pretrained models for abnormality detection (ECG/EEG), Doppler parameter estimation, and sound classification. | ECG model, Drone Model, EEG model using CSP and classifier,Gender_classification_model |
| Sampling | Scipy.Signals | β | β |
| Anti-Aliasing | VoiceFixer lib | β | β |
| Data | CSV , .wav | Supported formats for signal input/output. | PhysioNet_ecg dataset, Drones dataset, Car_sound dataset,EEG_dataset from brainlat |
| Nayera Sherif | Nada Hesham | Shahd Ayman | Nada Hassan |
|---|



