How to detect multiple peaks on one envelope?
3 views (last 30 days)
Show older comments
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 Comments
gonzalo Mier
on 8 May 2019
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
on 9 May 2019
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.
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!