2013-08-30 33 views
1

我想知道數據的頻率。我有一點想法,它可以使用FFT完成,但我不知道該怎麼做。一旦我將整個數據傳遞給FFT,那麼它會給我2個峯值,但我怎樣才能得到頻率?如果有任何方法可以獲得聲音的頻率。

非常感謝。

+2

峯的位置是頻率。 –

+0

[如何從FFT結果中獲取頻率]的可能重複(http://stackoverflow.com/questions/4364823/how-to-get-frequency-from-fft-result) –

+1

這在SE上經常被問到我寫了博客文章用代碼解釋它:http://blog.bjornroche.com/2012/07/frequency-detection-using-fft-aka-pitch.html –

回答

3

看一看這個網頁的解釋如何計算它: FFT Fundamentals

也請檢查這個答案(它的C#代碼,但我認爲你可以很容易地理解它)
How do I obtain the frequencies of each value in an FFT?

最後看看這個,它使用DFT代替FFT:
Determining the magnitude of a certain frequency on the iPhone

我也發現這個實現,你可以在Obj中使用ective-C:

一個lib使用上述文庫https://github.com/jkells/sc_listener_sample

問候

1

的FFT會給你的信號的所有的正弦分量的頻率以找到頻率https://github.com/jkells/sc_listener
甲例子。相反,如果您只需要像由語音和音樂產生的普通波形的週期性頻率(更有趣的發聲和看起來像純正弦波),那麼您可能需要使用基音檢測/估計算法,而不是僅使用FFT峯值。

相關問題