Finding Local Maximums in a Signal?

2 次查看(过去 30 天)
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.

回答(1 个)

Honglei Chen
Honglei Chen 2018-7-31
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

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by