【发布时间】:2013-10-01 08:17:54
【问题描述】:
我正在尝试查找音频信号的 FFT 峰值的幅度和频率。 执行 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))
% index into froi to find the frequency of the peaks
p_max;
f_p_max = froi(loc);
[points, locatn] = findpeaks(seg_fft2(region_of_interest));
aboveMax = points > 0.4*p_max;
if any(aboveMax)
peak_points = [peak_points ; points(aboveMax) locatn(aboveMax)];
end
虽然我能够得到正确的幅度,locatn(aboveMax) 并没有给我频率.....
我需要做什么才能获得频率值?我尝试了以下行,而不是locatn(aboveMax),即froi(locatn(aboveMax)),但我得到了错误
???使用 ==> horzcat 时出错
CAT 参数尺寸不一致。
【问题讨论】:
标签: matlab