1 of 21

Heart Rate Detection by Discrete Fourier Transform (DFT) of a Photoplethysmographic (PPG) signal

2 of 21

Problems-

  • Heart rate detection from motion corrupted ppg signals
  • Motion Artefacts (MA) have very large frequency components in the ppg signal

Solutions-

  • The heart rate (HR) signal is usually between 30 bpm to 200 bpm
  • The MA signal is seldom found within this range
  • Therefore, the two signal components (HR and MA) can be separated by filtering with an appropriate band pass filter

PROBLEMS:

  • Heart rate detection from motion corrupted PPG signals
  • The Motion Artifacts (MA) signal has significant frequency components in the PPG signal
  • The MA signal peak can be greater than the Heart Rate (HR) signal

SOLUTIONS:

  • The HR signal is always between 30 bpm to 200 bpm
  • MA signals are seldom found in this region
  • The two signals can therefore be separated by using a band pass filter with the current pass-band and stop-bands

3 of 21

PROJECT IN SHORT:

  • Observe the corrupted PPG signal in frequency domain
  • Create a band-pass filter that passes signals between 30 bpm to 200 bpm
  • Observe the PPG signal before and after filtering
  • Calculate the heart rate from the highest peak on the frequency spectrum after filtering
  • Verify our results by correlating the filtered signal with the original signal and again calculating the heart rate

4 of 21

Dataset Info

Benchmark data for RR estimation from the photoplethysmogram used in “Multiparameter respiratory rate estimation from the photoplethysmogram”

by W. Karlen, S. Ramen.

Adds demographics information such as weight, age and ventilation mode to meta structure

Free to use

Adds signal.ecg,labels.ecg, and reference.hr.ecg; allows to compare hr against ECG

5 of 21

Extracting Input From Dataset

6 of 21

Input signal

7 of 21

Zoomed in

8 of 21

Frequency Spectrum of Input

9 of 21

10 of 21

Zoomed in

11 of 21

Constructing the Bandpass Filter

Creating a bandpass function

Using Kaiser Window

Passband:

30-200 BPM

12 of 21

BPF Output

Passband matches with code

13 of 21

Filtering the Input Signal

Convolution in Time Domain

Multiplication in Frequency Domain

OR

14 of 21

Greatest Spike found at

105.5 BPM

Filtered Output Zoomed in

15 of 21

Reconstructed Signal

16 of 21

Zoomed in

17 of 21

Verifying the Result with Correlation

Correlation between

Input signal & recovered signal

18 of 21

19 of 21

Correlation output zoomed in

20 of 21

The two peaks shown in the figure has a difference of 170 (value of K1)

Converting it into BPM;

We get peak difference at

(300/170)*60 = 105.88 BPM

After Filtering, Peak was found at

105.5 BPM

Therefore, The result is verified with correlation!

21 of 21

THANK YOU !!

Mumtahina Islam Sukanya

ID: 1606039

Ishtiaque Ahmed Showmik

ID: 1606035

MD Obaidur Rahman

ID: 1606057

Mohammad Ali Kazmi

ID: 1606061

MD Adnan Faisal Hossain

ID: 1606063