2011-07-09 72 views
-1

我有關於FFT的一些問題。我想用FFT來分析WAV文件的頻率,16位雙頻,44100Hz。我想分析每50ms,以便在給定時間有2205個樣本。所以:FFT爲WAV文件和輸出繪製頻譜

  1. 我必須使用FFT作爲2205採樣作爲輸入數組數據?而輸出也是一個有2205個元素的數組呢?
  2. 我想提請WAV文件的頻譜一些媒體播放器做的,但我必須使用所有陣列或它的一個價值?
+0

許多重複在SO上,例如從今天早些時候:(http://stackoverflow.com/questions/6627288/audio-spectrum-analysis-using-fft-algorithm-in-java) –

回答

0

這個問題不是很清楚,我可能誤解了,但我不認爲你在問如何執行FFT。

但是,你應該使用所有數據樣本作爲輸入到FFT,並畫出使用所有的輸出數據的頻譜。

+0

[在Java中使用FFT算法音頻頻譜分析]我想提請譜像這個:http://www.winradio.com/home/ds-analyzer.jpg – itakanzebo

+0

我不明白x-axix(hz)中所有數據的含義,請向我解釋。謝謝 – itakanzebo

+0

因此,您需要使用輸出數據繪製圖表。必須有許多圖表庫可用... FFT太複雜了,無法在這裏解釋。我所能做的就是向你推薦參考資料:http://en.wikipedia.org/wiki/FFT – pavium

0

基本上,如果你的採樣率是2205,最大FFT的頻率,你可以計算爲採樣率的一半,而不走樣即1103

繪製你需要有頻率值的所有值的頻譜和相應的FFT值的實數部分。