Finding Local Maximums in a Signal?

2 views (last 30 days)
Chinwe Orie
Chinwe Orie on 31 Jul 2018
Answered: Honglei Chen on 31 Jul 2018
I have a set of signal data and I'd like to find the local maximums. For example, one of the graphs below has two peaks while the other one has more than two. I've been thinking of ways to try to create a near universal code to detect all of these. I've been using the findpeaks function but I've noticed that when I try to use it, it will only give me the points all around the very highest peak, not the other local maximums. Any other ideas? Thanks.

Answers (1)

Honglei Chen
Honglei Chen on 31 Jul 2018
If you think the first plot has only two peaks, findpeaks may still be your best bet, you may want to pass the signal through a low pass filter first to make it easier to configure findpeaks.
If you really want all local maximums, there is a new function called islocalmax introduced in R2017b.
HTH

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!