Finding peaks only in signal
Ältere Kommentare anzeigen
I want to find only the peaks in a signal that could have more than one frequency as shown in the picture

At the trough there is sometime small peaks that are being picked up using the findpeaks function.
Antworten (2)
Azzi Abdelmalek
am 30 Jul. 2015
[peak,idx]=findpeaks(YourSignal,'minpeakwidth',1000)
Star Strider
am 30 Jul. 2015
0 Stimmen
You have a clean signal without much noise.
I would begin by doing an fft on your signal, and use it to choose the frequency components of interest. Then use a bandpass filter to keep the frequencies you want. (A brief description of filter design and implementation is here.)
After that, use findpeaks, choosing the appropriate name-value pairs to tweak it to your needs as necessary. It will be much easier to use findpeaks on the filtered signal than on the original unfiltered signal.
Kategorien
Mehr zu Descriptive Statistics finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!