文章內容主要來源於html
Fast Fourier Transform Introduction.net
咱們知道數字信號處理的主要數學工具是傅里葉變換,而傅里葉變換是研究整個時間域和頻率域的關係,當運用計算機實現測試信號處理時,不可能對無限長的信號進行測量和運算,而是取其有限的時間片斷進行分析。具體作法是從信號中截取一個時間片斷,而後用截取的信號時間片斷進行週期延拓處理,獲得虛擬的無限長信號,再進行傅里葉變換和相關分析。無限長信號被截斷後,其頻譜發生了畸變,咱們稱爲頻譜能量泄漏,爲了減小頻譜泄漏,可採用不一樣的截取函數對信號進行截斷,截斷函數稱爲窗函數,簡稱爲窗。htm
每次FFT變換隻能對有限長度的時域數據進行變換,所以須要對時域信號進行信號截斷,即便是週期信號,若是截斷的時間長度不是週期的整數倍(整週期截斷),那麼截取後的信號將會存在頻譜泄漏,爲了將這個泄漏偏差減小到最小程度(不是消除),咱們須要使用窗函數。加窗主要是爲了使時域信號彷佛更好的知足FFT處理的週期性要求,減小泄漏。blog
圖1 整週期截斷、非整週期截斷及加窗後的頻譜ip
如上圖1所示,若整週期截斷,則FFT頻譜爲單一譜線。若爲非整週期截斷,則頻譜出現拖尾,能夠看出泄漏很嚴重。爲了減小泄漏,給信號施加一個窗函數,原始截斷後的信號與這個窗函數相乘以後獲得的信號爲圖1最右側的信號。能夠看出,此時信號的起始時刻和結束時刻幅值都爲0,也就是說在這個時間長度內,信號爲週期信號,可是隻有一個週期,對這個信號作FFT分析,相比以前未加窗的頻譜,泄漏已明顯改善,但並未徹底消除,所以窗函數只能減小泄漏,不能消除泄漏。ci
信號截斷時,只能截取必定長度,哪怕原始信號是無限長,就好像是用一個「窗」(確切來講更像一個「框」)去作這樣的截取。以下圖2所示,原始信號是週期信號,時間很長,截取時用紅色的「窗」去截取這個週期信號,截取獲得的信號如圖3所示。
圖2 原始信號
圖3 時間窗截斷後的信號
固然,這個「窗」是一個單位權重的加權函數,成爲「矩形窗」。這個「窗」外的信號是看不到的,就比如經過窗戶看外面的世界,世界很大也很精彩,但您能看到的只是位於窗內的世界。這就是爲何這樣的加權函數被成爲窗函數的真正緣由。
上圖3中用於截取信號的時域截取函數稱爲窗函數,它是一種加權函數,不一樣窗的加權是不同的,也就是說,能夠用不一樣的窗函數來作信號截斷。經常使用的窗函數有矩形窗、漢寧窗、平頂窗和指數窗等。
加窗實質是用一個所謂的窗函數與原始的時域信號作乘積的過程,使得相乘後的信號彷佛更好的知足傅里葉變換的週期性要求,以下圖4所示,原始的信號是不知足FFT變換的週期性要求的,變換後存在泄漏,若是施加一個窗函數,會在必定程度上減小泄漏。
原始週期信號 窗函數 加窗後的信號
圖4 信號加窗
使用不一樣的時間窗,他們的時域形狀和頻域特徵是不相同的,這裏主要介紹三種常見的窗函數的時域表達形式,以及他們的時域窗形狀和頻域特徵。這三種窗分別是矩形窗、漢寧窗和平頂窗。它們的時域表達式以下表所示,而且假設時間窗的範圍爲0≤t≤T,t的取值區間不一樣,窗函數的表達形式會略有差別。
窗函數 時域表達式
矩形窗
漢寧窗
平頂窗
矩形窗、漢寧窗和平頂窗的時域形狀和頻域特徵以下圖5~圖6所示,能夠看出,窗函數不一樣,時域和頻域都是不一樣的。
圖5 三種窗函數的時域形狀
圖6 三種窗函數的頻域特徵
窗函數的典型頻譜特徵以下圖7所示:
圖7 窗函數的典型頻譜特徵
但一般都不能同時知足這兩個要求,各類窗的差異主要在集中於主瓣的能量和分散在全部旁瓣的能量之比。窗函數的選擇取決於分析的目標和被分析信號的類型,通常來講,有效噪聲頻帶越寬,頻率分辨能力越差,越難於分清有相同幅值的鄰近頻率。選擇性的提升與旁瓣的衰減率有關,一般有效噪聲帶寬窄的窗,其旁瓣的衰減率較低,所以窗的選擇在兩者中進行折中處理。
窗函數的選擇通常原則以下:
1. 若是截斷的信號仍爲週期信號,則不存在泄漏,無需加窗,至關於加矩形窗;
2. 若是信號是隨機信號或者未知信號,或者有多個頻率份量,測試關注的是頻率點而非能量大小,建議選擇漢寧窗;
3. 對於校準目的,則要求幅值精確,平頂窗是個不錯的選擇;
4. 若是同時要求幅值精度和頻率精度,可選擇凱塞窗;
5. 若是檢測兩個頻率相近、幅值不一樣的信號,建議用布萊克曼窗;
6. 錘擊法試驗,力信號加力窗,響應可加指數窗。
有效噪聲帶寬怎麼定義的?
如何在窗函數時域或頻域上判斷有效噪聲帶寬大小?
如何在Matlab中對比分析不一樣窗函數的時頻特性?