How to detect multiple peaks on one envelope?

3 次查看(过去 30 天)
I'm trying to count the number of envelopes (cycles) peaks - their single absolute peak - in my signal. I have used findpeaks but it gives me multiple peaks on each envelope. I only want the absolute peak of each envelope.
I can't use minimum peak height or threshold because some envelopes are shorter/softer but need to be calculated in my algorithm. My min peak distance is set to the average distance between the local minima (now my local maxima as I inverted the signal).
  2 个评论
gonzalo Mier
gonzalo Mier 2019-5-8
Why didn't you try to use max or min function in each envelope? If you know the data of each envelope, you can find the highest and the lowest value easily. If there is more complexity behind that, can you try to add more info please?
Star Strider
Star Strider 2019-5-9
Explore the findpeaks documentation to get the prominence value for each peak, then see if setting 'MinPeakProminence' will give you ther result you want. Alternatively, you can use the prominence values returned by findpeaks to index into the findpeaks output.

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by