其實ABS(x)的操作只有一轉換從結果列表中將實際/虛擬的一對變成一個數量級。除非你想保留未來使用的虛構部分,否則就這樣做。所以在轉換之後,結果列表中的每個數字代表頻譜中特定頻率處的信號幅度。所以頻率由列表索引表示。當您在XY圖上繪製數據時,您看到的是您的源信號包含的頻率的大小。不要忘記,只有你的前半部分數據是有效的。另一半通常是由於混疊造成的前半部分的鏡像。
例如,假設您在包含以10Khz採樣的數據的wav文件上運行1024點FFT。 FFT將採用該10Khz頻譜並將其分成1024個「分箱」。然後FFT將決定源wav文件中每個頻譜塊的大小。你的輸出應該是那些垃圾箱。通常當我進行頻率分析時,我得到的實際數字並不重要。它相對於周圍的,我很感興趣,垃圾箱的大小。
對於更詳細一點,我們依靠疊加原理其中規定,包含許多頻率的任何隨時間變化的信號可以拆分分成許多包含一個分量頻率的信號,反之亦然。所以FFT輸出反映了這個屬性。輸出列表中的每個值都表示單個頻率(通常稱爲「bin」)信號的幅度,該頻率出現在您的源信號中。將所有這些信號組合在一起,你應該得到你的源信號。
哦,如果你不知道,由於奈奎斯特規則(或法律,不確定),只有你的結果列表的前半部分是有效的,這說明所有的採樣系統只能複製信號中的頻率最多隻有采樣頻率的一半。因此,如果您在10Khz採樣信號,則只能從採樣過程中採集的數據中重現高達5Khz的頻率。同樣的原理是隻有前半部分FFT數據有效的原因。下半場是上半場的別名。
對不起,這個冗長的解釋,你的問題並沒有說明你有什麼經驗,所以我認爲需要解釋一下FFT的一般要點。
可能重複的[如何提取與python fft值相關的頻率](http://stackoverflow.com/questions/3694918/how-to-extract-frequency-associated-with-fft-values-in-python ) – kennytm 2010-09-12 15:09:24