我有这个matlab函数,它接受.wav文件并绘制其FFT。
function [ output_args ] = plotFFT( file_name )
[file,Fs] = wavread(file_name);
L = length(file);
NFFT = 2^nextpow2(L);
Y = fft(file,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
bar(f,2*abs(Y(1:NFFT/2+1)))
从这里开始,我该如何检测图表中的峰值?我只需要一个峰值频率列表及其幅度值。我可以设置一个阈值,但这不是最好的方法,因为高频谐波的幅度与低频噪声相似。
提前致谢!