Detecting and Aligning ECG Peaks

4 views (last 30 days)
sam van Bohemen
sam van Bohemen on 8 Jan 2020
Commented: sam van Bohemen on 8 Jan 2020
I am recording ECG signals from 5 electrodes, resulting in 5 ECG traces (x,y,c,d,e)
I have been using the findpeaks function to detect the peaks in each trace. I have then been applying the rmoutliers function to detect and remove any outlier peaks that are more than 3 SD from the mean.
I am left with the location and value of the 'inlier' peaks in each trace, however the traces don't have the same number of peaks and the location of the peaks in each trace can vary by a few samples.
I am trying to write a script that allows me to align the 'inlier' peaks in each trace
Can anybody give me some guidance?
I have attached the matlab script I have been using to detect peaks and remove oultiers.
I have also attached the data file. Note when importing the data file to matlab, import columns C-G (These are the 5 ECG traces).
sam van Bohemen
sam van Bohemen on 8 Jan 2020
If you import columns C-G of the data file I attached (numbers only, not including the headings) as a column vector then run the script I attached. 5 variables are created (xpeaks, ypeaks, cpeaks, dpeaks, epeaks). Each of these variables consists of three columns, the first being the location of the peak, the second being the value of the peak and the thrid recognises that it is an inlier.

Sign in to comment.

Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!