Published October 9, 2025 | Version 1
Software Open

Signal processing software for pulse detection in PPG sensor data using FFT and probability density function estimation

Contributors

Project leader:

  • 1. ROR icon Bialystok University of Technology

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

Files (298.7 kB)

Name Size Download all
md5:5d64269de30508d02ac84067cdaf068c
4.2 kB Download
md5:a9bc54e45bb8c9d07e803be09738c906
7.7 kB Download
md5:a7d490c36eed99b99e05adefe214e3e7
283.3 kB Preview Download
md5:6c10c13bd35b8e0049d02a5b888c8351
3.4 kB Preview Download

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