MATLAB: Why does findpeaks detects minimas

accelerationdetect maximasfindpeaksSignal Processing Toolbox

I got the data of an acceleration sensor and I want to detect only the local maximas, I used
plot(data);
findpeaks(data);
but it also detected the minimas, but why?
With
findpeaks(data,'MINPEAKHEIGHT',2);
it worked as I expected the function to work, but I can't use 2 as a static threshold for my application. Did I something wrong, that it also detects the minimas or do I have to find a way to implement an adaptive threshold?

Best Answer

It is not detecting minima, it is detecting noise peaks near the minima. The findpeaks function has a number of name-value pair arguments that can help you detect only what you want. Consider MinPeakHeight and MinPeakDistance, and others to get the result you want.
Related Question