0
我在試圖找出音頻信號的FFT峯值的幅度和頻率。 執行FFT後,Ive使用以下代碼;在matlab中使用'findpeaks'後獲得頻率值
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參數維度不一致。
PS:看到http://www.mathworks.co.uk/help/signal/ref/findpeaks.html爲例 – am304
好吧,那麼如何我可以寫一個代碼,以便我可以得到每個循環後的峯值振幅以及頻率值? – user2482542
就像我說過的,'points'是峯值振幅,'locatn'是頻率矢量中相應頻率的指數。 – am304