Finding peaks in a noisy data set

5 views (last 30 days)
Mehrii
Mehrii on 1 Nov 2019
Edited: Adam on 1 Nov 2019
Hi,
I have a data plot attached in the image. I am trying to find the strongest peaks in it but since, it is noisy it gives out alot of peaks. Even if I use minumum peak height, there are some peaks within that height range.
I tried to smooth out the data but it still gives me some extra points. Is there some better way of doing it?
  1 Comment
Adam
Adam on 1 Nov 2019
Edited: Adam on 1 Nov 2019
doc findpeaks
includes numerous different ways of filtering out peaks, including 'MinPeakProminence', if you have the Signal Processing Toolbox.
If that doesn't work though then smoothing is the usual solution. There are a vast number of smoothing algorithms you can use.
doc sgolayfilt
is often my favoured approach as it fits much better to the original data than simpler smoothing methods.
It isn't an exact science though. You have to tune these things for your specific data and it isn't easy to find a generic way you can parameterise smoothing for a whole bunch of different inputs.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!