필터 지우기
필터 지우기

Peak detection not detecting any peaks

조회 수: 8 (최근 30일)
isra
isra 2017년 5월 22일
댓글: isra 2017년 5월 26일
I'm trying to find peaks in an ECG signal, I normalized it and tried to detect the peaks above multiple thresholds, but it seams that it only detects low peaks and not high peaks. Here is a picture of a sample signal window with the threshold set to 0.6
and here is it with the threshold set to 0.2
It seems like the highest threshold that I can put is 0.2, anything above is not detectable. Here is my findpeaks call:
[~,locs] = findpeaks(v,'MinPeakHeight',resp2);
where resp2 is the threshold (0-1) values. When no peaks are detected, I get the following warning:
if true
Warning: Invalid MinPeakHeight. There are no data points greater than MinPeakHeight.
> In findpeaks>removePeaksBelowMinPeakHeight (line 373)
In findpeaks (line 139)
In autodetection3 (line 39)
end
Thanks

답변 (1개)

David Ding
David Ding 2017년 5월 25일
Hi Isra,
Please check the raw data to ensure that the peaks near 1 is actually present in the data series. If so, you may try to have "findpeaks" detect these points by calling:
findpeaks(v, 'Threshold', 0.5);
This will only detect the highest points as they are at least 0.5 above their neighboring samples.
Thanks,
David
  댓글 수: 1
isra
isra 2017년 5월 26일
Hi david I've checked the data, and I already normalize every segment of data before applying peak detection on it. I found peaks at 0.9 amplitude but for some reason they are not detected. I also tried what you suggested and I got no peaks detected even with very low thresholds. Here is how I called the function.
[Pks,locs]= findpeaks(v, 'threshold', 0.5)

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by