Find peak using MinPeakWidth

12 views (last 30 days)
Luis Eduardo Cofré Lizama
Answered: Raunak Gupta on 18 Feb 2020
Dear All, I am struggling to get some peaks right becasue it seems I am not using the input MinPekWidth properly. For example, in the figure all but the 4th peak are ok. Any ideas how could I solve this prob?
[v,HC] = findpeaks(data,'MinPeakHeight',0,'MinPeakDistance',90,'MinPeakWidth',8)

Answers (1)

Raunak Gupta
Raunak Gupta on 18 Feb 2020
Visually I can see that the fourth peak you are getting is because it is the local maximum around the location of that peak. Here I suggest setting the MinPeakProminence instead of setting MinPeakDistance because setting MinPeakDistance finds the maximum value in signal and ignore all the peaks within MinPeakDistance range. In that case achieving what is required in the question is not possible. Instead setting MinPeakProminence can ensure that the value is not dropping too fast around a peak.




Community Treasure Hunt

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

Start Hunting!

Translated by