當前位置:
首頁 > 知識 > 什麼是窗函數?

什麼是窗函數?

主要內容包括: 1. 為什麼要加窗函數; 2. 窗函數的定義; 3. 窗函數的時頻域特徵; 4. 加窗函數的原則; 5. 模態測試所用窗函數; 6. 窗函數帶來的影響。 1. 為什麼要加窗 每次FFT變換隻能對有限長度的時域數據進行變換,因此,需要對時域信號進行信號截斷。即使是周期信號,如果截斷的時間長度不是周期的整數倍(周期截斷),那麼,截取後的信號將會存在泄漏。為了將這個泄漏誤差減少到最小程度,我們需要使用加權函數,也叫窗函數。加窗主要是為了使時域信號似乎更好地滿足FFT處理的周期性要求,減少泄漏。 如下圖所示,若周期截斷,則FFT頻譜為單一譜線。若為非周期截斷,則頻譜出現拖尾,如圖中部所示,可以看出泄漏很嚴重。為了減少泄漏,給信號施加一個窗函數(如圖中上部紅色曲線所示),原始截斷後的信號與這個窗函數相乘之後得到的信號為上面右側的信號。可以看出,此時,信號的起始時刻和結束時刻幅值都為0,也就是說在這個時間長度內,信號為周期信號,但是只有一個周期。對這個信號做FFT分析,得到的頻譜如下部右側所示。相比較之前未加窗的頻譜,可以看出,泄漏已明顯改善,但並沒有完全消除。因此,窗函數只能減少泄漏,不能消除泄漏。 因此,加窗的目的是為了減少泄漏。 2. 窗函數的定義 信號截斷時,只能截取一定長度,哪怕原始信號是無限長的,因此,好像是用一個「窗」(確切地說更像個「框」)去作這樣的截取了。如下圖所示,原始信號是周期信號,時間很長,截取時用紅色的「窗」去截取這個周期信號,截取得到的信號如圖中下部所示。 當然這個「窗」是一個單位權重的加權函數,稱為「矩形窗」。 上圖中用於截取信號的時域截取函數(就是上圖中紅色的那個「窗」)就稱為窗函數,它是一種計權函數,不同的窗函數計權是不一樣的。也就是說,可以用不同的截取函數(窗函數)來做信號截取。到底用何種窗函數基於信號類型和分析目的。常用的窗函數有矩形窗、漢寧窗、平頂窗、指數窗等。 3. 窗函數的時頻域特徵 加窗實質是用一個所謂的窗函數與原始的時域信號作乘積的過程(當然加窗也可以在頻域進行,但時域更為普遍),使得相乘後的信號似乎更好地滿足傅立葉變換的周期性要求。如下圖所示,原始的信號是不滿足FFT變換的周期性要求的,變換後存在泄漏,如果施加一個窗函數,會在一定程度上減少泄漏。為了減少泄漏,用一個窗函數與原始周期信號相乘,得到加窗後的信號為周期信號,從而滿足FFT變換的周期性要求。 × 原始周期信號×窗函數 加窗後的信號 使用不同的時間窗,它的時域形狀和頻域特徵是不相同的。在這,介紹三種常見的窗函數的時域表達形式,以及它們的時域窗形狀和頻域特徵。這三種窗分別是矩形窗、漢寧窗和平頂窗。它們的時域表達形式如下表所示,並且假設時間窗的範圍為0≤t≤T,如果時間t的取值區間不同,窗函數的表達形式也會略有差異。 矩形窗、漢寧窗和平頂窗的時域形狀和頻域特徵如下圖所示,可以看出,窗函數不同,時域和頻域都是不同的。 為了減少泄漏,可採用不同的窗函數來進行信號截取,因而,泄漏與窗函數的頻譜特徵相關的。窗函數的典型頻譜特徵如下圖所示: 窗函數的典型頻譜特徵 各種窗函數頻譜特徵的主要差別在於:主瓣寬度(也稱為有效雜訊帶寬,ENBW)、幅值失真度、最高旁瓣高度和旁瓣衰減速率等參數。加窗的主要想法是用比較光滑的窗函數代替截取信號樣本的矩形窗函數,也就是對截斷後的時域信號進行特定的不等計權,使被截斷後的時域波形兩端突變變得平滑些,以此壓低譜窗的旁瓣。因為旁瓣泄露量最大,旁瓣小了泄露也相應減少了。不同的窗函數具有不同的頻譜特徵,下表列出了一些常用窗函數的特徵。 主瓣寬度主要影響信號能量分布和頻率分辨能力。頻率的實際分辨能力為有效雜訊帶寬乘以頻率解析度,因此,主瓣越寬,有效雜訊帶寬越寬,在頻率解析度相同的情況下,頻率的分辨能力越差。如下圖所示,紅色為平頂窗(3.77?f),黑色為漢寧窗(1.5?f),藍色為信號頻率,可以明顯地看出,主瓣越窄,頻率分辨越準確。對於窗函數寬的主瓣而言,如果有鄰近的小峰值頻率,則越難辨別出來。 旁瓣高低及其衰減率影響能量泄漏程度(頻譜拖尾效應)。旁瓣越高,說明能量泄漏越嚴重,衰減越慢,頻譜拖尾越嚴重。對50.5Hz(頻率解析度為1Hz)的信號分別施加矩形窗(紅色)、漢寧窗(綠色)和平頂窗(藍色),用對數顯示幅值,加窗後的結果如下圖所示。從圖中可以看出,矩形窗的頻譜拖尾更嚴重。 相對而言,如果旁瓣能量較小,高度趨於零,使得信號能量相對集中於主瓣,則較為接近真實的頻譜。不同的窗函數對信號頻譜的影響是不一樣的,這主要是因為不同的窗函數,產生泄漏的大小不一樣,頻率分辨能力也不一樣。 4. 加窗函數的原則 加窗函數時,應使窗函數頻譜的主瓣寬度應盡量窄,以獲得高的頻率分辨能力;旁瓣衰減應盡量大,以減少頻譜拖尾,但通常都不能同時滿足這兩個要求。各種窗的差別主要在於集中於主瓣的能量和分散在所有旁瓣的能量之比。 窗的選擇取決於分析的目標和被分析信號的類型。一般說,有效雜訊頻帶越寬,頻率分辨能力越差,越難於分清有相同幅值的鄰近頻率。選擇性(即分辨出強分量頻率鄰近的弱分量的能力)的提高與旁瓣的衰減率有關。通常,有效雜訊帶寬窄的窗,其旁瓣的衰減率較低,因此窗的選擇是在二者中取折衷。 因而,窗函數的選擇一般原則如下: 1. 如果截斷的信號仍為周期信號,則不存在泄漏,無須加窗,相當於加矩形窗。 2. 如果信號是隨機信號或者未知信號,或者有多個頻率分量,測試關注的是頻率點而非能量大小,建議選擇漢寧窗,像LMS Test.Lab中默認加的就是漢寧窗。 3. 對於校準目的,則要求幅值精確,平頂窗是個不錯的選擇。 4. 如果同時要求幅值精度和頻率精度,可選擇凱塞窗。 5. 如果檢測兩個頻率相近、幅值不同的信號,建議用布萊克曼窗。 6. 錘擊法試驗力信號加力窗,響應可加指數窗。 5. 模態測試所用窗函數 所有的窗函數都會使時域信號的開始和結束端歸零。用於錘擊試驗的「力窗」和「指數窗」卻是個例外。 力窗是單位增益的窗函數(實質是部分矩形窗),作用於脈衝激勵發生的那部分時段。加力窗是為了消除可能來自於力錘激勵通道的雜訊。通常,設置力窗的寬度約為數據樣本窗口的2-10%,使得力脈衝完全位於這個單位增益窗內,力窗之外的時域樣本紀錄則被加權置零。需要著重注意的是,力窗從來不能消除測試過程中可能出現的二次連擊的影響。使用力窗消除連擊所造成的影響,將嚴重扭曲輸入力譜。 指數窗通常用於在採樣時間長度內信號沒有完全衰減到零的響應信號。指數窗的應用強制響應信號更好地滿足FFT變換的周期性要求。通常,對於小阻尼結構,錘擊激起的結構響應在採樣時間長度的末端不會完全衰減到零。這種情況下,變換後的數據將遭受泄漏影響。為了將泄漏減少到最低程度,需要對測量響應數據施加指數窗,如下圖所示。 對於錘擊法測試,應盡量實現無泄漏的測量,即響應不需要加指數窗,因為加窗之後,相對而言,阻尼會是過估計,使得估計出來的阻尼大於實際的阻尼。因此,可以通過增加採樣時間,使響應有足夠的時間衰減,以避免加窗。 對於激振器測試最常用是矩形窗和漢寧窗。需要明白的是所有窗函數都會使數據失真。需要記住的是窗函數總是會使測到的峰值發生失真,並且總會給出這樣的假象:測量得到的FRF中的結構阻尼大於結構實際存在的阻尼,而這兩個非常重要的屬性剛好是我們需要從FRF中估計的屬性。矩形窗會使得幅值失真36%,漢寧窗失真16%。FRF的幅值失真從而使得阻尼估計不準確。 6. 窗函數帶來的影響 窗函數會使信號幅值失真,那麼窗函數對計算RMS值是否有影響呢?由於加窗使得頻率峰值失真,因此,如果計算峰值處的RMS值,必然也是有影響的。如下圖所示,由於峰值高低不一樣,則對應的RMS也不一樣。但如果計算窄帶RMS或整個頻帶的總RMS值呢? 從上圖可以看出,不同的窗函數下,計算19-87Hz內的總有效值都為0.71,因此,對於不同的窗函數下,計算總有效值是沒有影響的。因為能量雖然泄漏到旁瓣上,但總的能量是不變的。 從第3小節中對比原始信號和加窗後的信號可以看出,信號的能量在起始和結束位置都計權置零,因而,從能量的角度來考慮,加窗後的信號能量要比加窗之前的能量小。因此,如果對信號施加了窗函數,則頻譜還需要進行修正。修正分幅值修正和能量修正,如果是單條譜線則為幅值修正;如果是寬頻則為能量修正。但需要記住一點,這個工作,通常商業軟體會自動處理,無須人工處理,只需要知道有這麼一步工作即可。 每個窗函數對數據的頻域描述都有影響。一般而言,窗函數將降低函數峰值幅值的精度,並且使得最終得到的阻尼似乎比實際真實存在的阻尼要更大。儘管這些誤差完全是不想要的,但相比泄漏造成的嚴重失真而言,它們還是更能讓人接受。

什麼是窗函數?

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

TypeScript基礎之高級類型的可辨識聯合(Discriminated Unions)
ajax一切正常卻出不來結果怎麼辦?

TAG:程序員小新人學習 |