Extract Heart Rate from a Noisy PPG signal

In this notebook we'll go over how to analyse a noisy PPG signal and extract heart rate. We will take several examples, a very clean PPG signal, a noisy PPG signal with motion artifacts, a noisy PPG signal from a smartwatch, and a signal from a smartring. (Acknowledgement: The notebook and datasets are based on HeartPy, a Python-based Heart Rate Analysis toolkit)

There's four datasets that we will look at in this notebook:


You can go through all examples and analyze each one to see how they look and how to filter them to determine heartrate.

Analyzing the signal with FFT

Lets see if we can extract heart rate by taking the Fast Fourier Transform (FFT) of the denoised PPG signal and simply looking for the tallest frequency peak.

Conclusion

Now you know how PPG signals from wearable devices look and how to analyze them and remove noise and determine the heart rate.