variable thresholding for peak detection in ecg signal

11 views (last 30 days)
[qrspeaks,locs] = findpeaks(ecg signal,'MinPeakHeight',0.5,...
'MinPeakDistance',200);
I used the fixed threshold 0.5 for peak detection. But can anyone please help me to solve how to set variable threshold for finding peaks ?

Answers (1)

Star Strider
Star Strider on 3 Jun 2020
I’m guessing that your signal has a wandering baseline, so MinPeakHeight is inconsistent with it. If that’s true, you can either use the highpass (or bandpass) functions and filter the signal to eliminate the wandering baseline, or experiment with MinPeakProminence to isolate the R-waves (that’s usually the objective).
  3 Comments
Star Strider
Star Strider on 4 Jun 2020
The findpeaks function does not allow adaptive thresholding.
Use MinPeakProminence instead, as I already advised.
Hari raj
Hari raj on 5 Jun 2020
yes sir but even if i use minpeakprominence i could not get the exact R peaks without setting adaptive thresholding. Can you tell how to detect R peaks with adaptive thresholding for various arrhythmia condition?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!