Synthetic realistic noise-corrupted PPG database and noise generator for the evaluation of PPG denoising and delineation algorithms

This database is meant to evaluate the performance of denoising and delineation algorithms for PPG signals affected by noise. The noise generator allows applying the algorithms under test to an artificially corrupted reference PPG signal and comparing its output to the output obtained with the original signal. Moreover, the noise generator can produce artifacts of variable intensities, permitting the evaluation of the algorithms’ performance against different noise levels. The reference signal is a PPG sample of a healthy subject at rest during a relaxing session.


The database includes 1 recording of 72 seconds of synchronous PPG and ECG signals sampled at 250 Hz using a Medicom device, ABP-10 module (Medicom MTD Ltd., Russia). It was collected from a healthy subject during an induced relaxation by guided autogenic relaxation. For more information about the data collection, please refer to the following publication:

In addition, PPG signals corrupted by the noise generator at different levels are also included in the database.

Realistic noise generator

Motion Artifacts in PPG signals generally appear in the form of sudden spikes (in correspondence to the subject’s movement) and slowly varying offsets (baseline wander) due to the changes in distance between the skin and the sensor after every sudden movement. For this reason, conventional noise generators — using random noise drawn from different distributions such as Gaussian or Poissonian — do not allow to properly evaluate the algorithm’s performance, as they can only provide unrealistic noises compared to the one commonly found in PPG signals. To overcome this issue, we designed a more realistic synthetic noise generator that can simulate those two behaviors, enabling us to corrupt a reference signal with different noise levels. The details about noise generation are available in the reference paper.

Data Files

The reference PPG signal can be found in Datasets\GoodSignals\PPG and the simultaneously acquired ECG in Datasets\GoodSignals\ECG. The folder Datasets\NoisySignals contains 340 noisy PPG signals affected by different levels of noise. The names describe the intensity of the noise (evaluated in terms of the standard deviation of the random noise used as input for the noise generator, see reference paper). Five noisy signals are produced for every noise level by running the noise generator with five random seeds each (for noise generation).

Name convention: ppg_stdx_y denotes the y-th noisy PPG signal produced using a noise with a standard deviation of x.

Datasets\BPMs contains the ground truth for the heart-rate estimation computed in windows of 8s with an overlap of 2s.


The folder Code contains the MATLAB scripts to generate the noisy files by generating the realistic noise with the function noiseGenerator.

When referencing this material, please cite:

Masinelli, G.; Dell’Agnola, F.; Valdés, A.A.; Atienza, D. SPARE: A Spectral Peak Recovery Algorithm for PPG Signals Pulsewave Reconstruction in Multimodal Wearable Devices. Sensors 202121, 2725.

Related Publications

Synthetic realistic noise-corrupted PPG database and noise generator for the evaluation of PPG denoising and delineation algorithms
Masinelli, Giulio; Dell'Agnola, Fabio; Valdés, Adriana; Atienza, David