MATLAB: How to detect peaks in a particular range

frequencysignal processing

I have a plot between 0-2000 Hz. I want to find peaks between 0-135 Hz only. I am using 'findpeaks' to detect the peaks but there is no way to extract the peaks within a particular limit. Can somebody suggest any method?

Best Answer

Ankita, you could simply limit your data in
[pks,locs] = findpeaks(data)
to cover only the frequency range between 0 and 135 Hz. For example, if your data is a 1-by-2001 vector (assuming x-vals to be evenly spaced) you could do
[pks,locs] = findpeaks(data(0:135))