2

I'm working on PPG signals. and I want to detect some points for feature extraction. but I can't detect the point illustrated in the following figure on my own dataset:

base image

I have tried to use fft as the following code:

clear
clc
close all
%% Data Importation and Extraction
load('testdata.mat');

increment = 1;
x = [1:increment:length(PPG)];
d = deriv2(PPG);
%%
subplot 211
plot(x,PPG);xlim([0 100]);grid on
subplot 212

plot(diff(diff(PPG)));xlim([0 100]);grid on

enter image description here

Here is my own dataset: https://www.dropbox.com/s/9qmrcxffzwa7z7h/testdata.mat?dl=0

Ebrahim Poursadeqi
  • 1,776
  • 2
  • 17
  • 27

1 Answers1

0

I recently did a coursework on trying to estimate BPM of heart, by analysing every 5 sec. worth of samples. (The input was taken from phone camera, with flash ON)

But I did my implementation in Python, by using peak detection function available in SciPy. (I got decent results with it). Although I'm not sure whether if there is any similar kind of function available in MATLAB.

https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html

You can use the available parameters to detect relevant +ve peaks accordingly.

A helpful tip: Prominence is the most important parameter out of all the available parameters.

n_upp
  • 1
  • 2