Signal processing software for pulse detection in PPG sensor data using FFT and probability density function estimation
Authors/Creators
Contributors
Project leader:
Researcher (2):
Description
This project consists of two Python scripts designed for analyzing photoplethysmographic (PPG) signals to detect pulse-related frequency peaks and performing statistical evaluation of signal amplitudes. The first script (pdf_estimator.py) processes CSV files, segments the signal into short-time windows, filters out noise, performs an FFT analysis, and identifies the dominant pulse frequency and amplitude. Results are saved to peaks.csv, and a probability density plot of peak amplitudes is generated using Kernel Density Estimation (KDE).
The second script (detection.py) analyzes the amplitudes stored in peaks.csv, randomly splits them into two groups, estimates the KDE for one group, determines a decision threshold based on a lower percentile, and calculates the percentage of values in the second group that fall below this threshold. The results are saved to a text file and visualized in a plot.
Applications:
- Biomedical signal analysis
- Pulse detection from PPG data
- Signal quality assessment
- Statistical amplitude distribution analysis
- Preprocessing for health monitoring systems
Files
peaks.csv
Additional details
Identifiers
Related works
- Is described by
- Publication: 10.3390/s25237391 (DOI)
Funding
- Bialystok University of Technology
- WZ/WE-IA/7/2023
- Bialystok University of Technology
- WZ/WE-IA/2/2023
Dates
- Created
-
2025-10-09