Finding peaks only in signal
이전 댓글 표시
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.
답변 (2개)
Azzi Abdelmalek
2015년 7월 30일
[peak,idx]=findpeaks(YourSignal,'minpeakwidth',1000)
Star Strider
2015년 7월 30일
0 개 추천
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.
카테고리
도움말 센터 및 File Exchange에서 Descriptive Statistics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!