【发布时间】:2014-04-30 02:23:51
【问题描述】:
我无法在此图中找到 4 个主要峰值
信号值非常不稳定,因为它们先升后降,很难找到最大值和它的索引。
function [peaks, locations] = findMaxs (mag, threshold)
len = length(mag);
prev = 1;
cur = 2;
next = 3;
k = 1; %number of peaks
while next < len
if mag(cur) - mag(prev) > threshold
if mag(cur) > mag(next)
peaks(k) = mag(cur);
fprintf('peak at %d\n', cur);
k = k + 1;
end
end
prev = cur;
cur = next;
next = next + 1;
end
end
findpeaks() 给了我太多的结果,所以我正在使用这个函数。但是,如果我将阈值设置得太低,我会得到太多的结果,如果我将它设置得稍微太高,我就会错过一个主要的峰值。
我该怎么做?
【问题讨论】:
标签: matlab signal-processing fft