@Kadir:
與離散傅立葉變換(DFT或FFT)處理之前加窗數據的目的,是儘量減少頻譜泄漏,這恰好在嘗試傅里葉變換非週期性數據。
窗口化通過在序列的開始和結束時將數據平滑強制爲零而不是在此之前進行。縮短窗口會不必要地破壞信息。
所以你的窗口長度應該與你的樣本序列的長度相匹配。例如,對於1024個採樣,窗口長度應該爲1024.
如果要分辨的最高頻率爲3 KHz,請以各種採樣率使用8192個採樣或更多采樣,例如16384或32768個採樣。
此外,嘗試使用不同的FFT算法,不同的樣本長度和不同的窗口,包括Hann(Hanning),還有其他更好的旁瓣衰減窗口,例如Blackman-Harris系列和Kaiser-Bessel系列等
如果您的應用程序有噪聲,您可能必須選擇更好的噪聲抑制窗口和更高的光譜分辨率窗口。因此,嘗試不同的窗口是一個好主意,所以你可以找到最適合你的應用程序。
現在,記下每個設置(即每個窗口,樣本長度,採樣率等)的結果,並查找跨多個設置達成一致的結果。你將會學到很多關於你的數據的信息,並且很可能找到你的問題的答案。
您可以用Matlab做到這一點:http://www.mathworks.com/help/techdoc/ref/fft.html
或此在線FFT頻譜分析儀:http://www.sooeet.com/math/fft.php
而且不要忘記在這裏發表您的結果。
感謝您的回覆。他們所稱的「Formants」通常具有大約100赫茲的分離度。儘管有時會重疊,但它們的第二個格式在1000Hz時是完全不同的。所以我可能會下降到128.如果我使用等於數據長度(1024:1024)的窗口大小,我會放任何東西嗎? – 2011-04-06 19:07:19
@Kadir:我認爲16Hz就足夠了 - 只要你能識別出單個諧波,然後用這些信息來確定共振頻率,那麼你應該沒問題。 – 2011-04-06 20:31:23
再次感謝,保羅。那就是問題所在。所有的「能源」似乎都處於高端。從理論上講,我應該看到個別的諧波,然後我可以確定這些共振子,但我不知道。我是否應該使用256p移動平均值這樣的東西,因爲我對300-3000Hz頻段感興趣,大概是頻譜的一半? – 2011-04-06 21:18:29