假设我对一组数据执行了 FFT,并且我有频率和幅度值。我想在每个 FFT 块中找到最高幅度。我需要找到至少大于最大振幅 0.4 倍的点的频率和振幅并将它们保存在一个数组中。我该怎么做?我通过不断得到一个空矩阵尝试了以下方法....
% the code after FFT
peak_points = [];
fmin = 60;
fmax = 1000;
region_of_interest = fmax>f & f>fmin;
froi = f(region_of_interest);
[p_max,loc] = max(seg_fft2(region_of_interest));
p_max;
fpeaks = froi(loc);
[points, locatn] = findpeaks(seg_fft2(region_of_interest));
if points > 0.4*p_max
peak_points = [peak_points ; points locatn]
end
我对数组不好..所以我似乎无法弄清楚这一点。将不胜感激有人在这方面的帮助......在此先感谢......