什麼是窗函數?

2021-02-20 模態空間

似乎每次做FFT都需要加窗函數,很少有不加窗函數的時候。那為什麼要加窗函數,加窗有什麼好處,又有什麼壞處呢,憑什麼目的來加函數呢?

 

本文主要內容包括:

1.    為什麼要加窗函數;

2.    窗函數的定義;

3.    窗函數的時頻域特徵;

4.    加窗函數的原則;

5.    模態測試所用窗函數;

6.    窗函數帶來的影響。

在《什麼是洩漏?》中已經講到每次FFT變換隻能對有限長度的時域數據進行變換,因此,需要對時域信號進行信號截斷。即使是周期信號,如果截斷的時間長度不是周期的整數倍(周期截斷),那麼,截取後的信號將會存在洩漏。為了將這個洩漏誤差減少到最小程度(注意我說是的減少,而不是消除),我們需要使用加權函數,也叫窗函數加窗主要是為了使時域信號似乎更好地滿足FFT處理的周期性要求,減少洩漏。

 

如下圖所示,若周期截斷,則FFT頻譜為單一譜線。若為非周期截斷,則頻譜出現拖尾,如圖中部所示,可以看出洩漏很嚴重。為了減少洩漏,給信號施加一個窗函數(如圖中上部紅色曲線所示),原始截斷後的信號與這個窗函數相乘之後得到的信號為上面右側的信號。可以看出,此時,信號的起始時刻和結束時刻幅值都為0,也就是說在這個時間長度內,信號為周期信號,但是只有一個周期。對這個信號做FFT分析,得到的頻譜如下部右側所示。相比較之前未加窗的頻譜,可以看出,洩漏已明顯改善,但並沒有完全消除。因此,窗函數只能減少洩漏,不能消除洩漏。

因此,加窗的目的是為了減少洩漏。但加窗不能消除洩漏,只能減少。

信號截斷時,只能截取一定長度,哪怕原始信號是無限長的,因此,好像是用一個「窗」(確切地說更像個「框」)去作這樣的截取了。如下圖所示,原始信號是周期信號,時間很長,截取時用紅色的「窗」去截取這個周期信號,截取得到的信號如圖中下部所示。

當然這個「窗」是一個單位權重的加權函數,稱為「矩形窗」。這個「窗」外的信號是看不到的,只能看到窗內的信號,這就好比通過窗戶看外面的世界,世界很大也很精彩,您能看到的只是位於窗內的世界,而窗外的世界,您是看不到的。因此,這就是為什麼這樣的加權函數被稱為窗函數的真正原因。這樣稱呼,更為直觀形象。

 

上圖中用於截取信號的時域截取函數(就是上圖中紅色的那個「窗」)就稱為窗函數,它是一種計權函數,不同的窗函數計權是不一樣的。也就是說,可以用不同的截取函數(窗函數)來做信號截取。到底用何種窗函數基於信號類型和分析目的。常用的窗函數有矩形窗、漢寧窗、平頂窗、指數窗等。

加窗實質是用一個所謂的窗函數與原始的時域信號作乘積的過程(當然加窗也可以在頻域進行,但時域更為普遍),使得相乘後的信號似乎更好地滿足傅立葉變換的周期性要求。如下圖所示,原始的信號是不滿足FFT變換的周期性要求的,變換後存在洩漏,如果施加一個窗函數,會在一定程度上減少洩漏。為了減少洩漏,用一個窗函數與原始周期信號相乘,得到加窗後的信號為周期信號,從而滿足FFT變換的周期性要求。

使用不同的時間窗,它的時域形狀和頻域特徵是不相同的。在這,介紹三種常見的窗函數的時域表達形式,以及它們的時域窗形狀和頻域特徵。這三種窗分別是矩形窗、漢寧窗和平頂窗。它們的時域表達形式如下表所示,並且假設時間窗的範圍為0≤t≤T,如果時間t的取值區間不同,窗函數的表達形式也會略有差異。

矩形窗、漢寧窗和平頂窗的時域形狀和頻域特徵如下圖所示,可以看出,窗函數不同,時域和頻域都是不同的。

為了減少洩漏,可採用不同的窗函數來進行信號截取,因而,洩漏與窗函數的頻譜特徵相關的。窗函數的典型頻譜特徵如下圖所示:

各種窗函數頻譜特徵的主要差別在於:主瓣寬度(也稱為有效噪聲帶寬,ENBW)、幅值失真度、最高旁瓣高度和旁瓣衰減速率等參數。加窗的主要想法是用比較光滑的窗函數代替截取信號樣本的矩形窗函數,也就是對截斷後的時域信號進行特定的不等計權,使被截斷後的時域波形兩端突變變得平滑些,以此壓低譜窗的旁瓣。因為旁瓣洩露量最大,旁瓣小了洩露也相應減少了。不同的窗函數具有不同的頻譜特徵,下表列出了一些常用窗函數的特徵。

主瓣寬度主要影響信號能量分布和頻率分辨能力。頻率的實際分辨能力為有效噪聲帶寬乘以頻率解析度,因此,主瓣越寬,有效噪聲帶寬越寬,在頻率解析度相同的情況下,頻率的分辨能力越差。如下圖所示,紅色為平頂窗(3.77∆f),黑色為漢寧窗(1.5∆f),藍色為信號頻率,可以明顯地看出,主瓣越窄,頻率分辨越準確。對於窗函數寬的主瓣而言,如果有鄰近的小峰值頻率,則越難辨別出來。

旁瓣高低及其衰減率影響能量洩漏程度(頻譜拖尾效應)。旁瓣越高,說明能量洩漏越嚴重,衰減越慢,頻譜拖尾越嚴重。對50.5Hz(頻率解析度為1Hz)的信號分別施加矩形窗(紅色)、漢寧窗(綠色)和平頂窗(藍色),用對數顯示幅值,加窗後的結果如下圖所示。從圖中可以看出,矩形窗的頻譜拖尾更嚴重。

相對而言,如果旁瓣能量較小,高度趨於零,使得信號能量相對集中於主瓣,則較為接近真實的頻譜。不同的窗函數對信號頻譜的影響是不一樣的,這主要是因為不同的窗函數,產生洩漏的大小不一樣,頻率分辨能力也不一樣。

加窗函數時,應使窗函數頻譜的主瓣寬度應儘量窄,以獲得高的頻率分辨能力;旁瓣衰減應儘量大,以減少頻譜拖尾,但通常都不能同時滿足這兩個要求。各種窗的差別主要在於集中於主瓣的能量和分散在所有旁瓣的能量之比。

 

窗的選擇取決於分析的目標和被分析信號的類型。一般說,有效噪聲頻帶越寬,頻率分辨能力越差,越難於分清有相同幅值的鄰近頻率。選擇性(即分辨出強分量頻率鄰近的弱分量的能力)的提高與旁瓣的衰減率有關。通常,有效噪聲帶寬窄的窗,其旁瓣的衰減率較低,因此窗的選擇是在二者中取折衷。

 

因而,窗函數的選擇一般原則如下

1.    如果截斷的信號仍為周期信號,則不存在洩漏,無須加窗,相當於加矩形窗。

2.    如果信號是隨機信號或者未知信號,或者有多個頻率分量,測試關注的是頻率點而非能量大小,建議選擇漢寧窗,像LMS Test.Lab中默認加的就是漢寧窗。

3.    對於校準目的,則要求幅值精確,平頂窗是個不錯的選擇。

4.    如果同時要求幅值精度和頻率精度,可選擇凱塞窗。

5.    如果檢測兩個頻率相近、幅值不同的信號,建議用布萊克曼窗。

6.    錘擊法試驗力信號加力窗,響應可加指數窗。

所有的窗函數都會使時域信號的開始和結束端歸零。用於錘擊試驗的「力窗」和「指數窗」卻是個例外。

 

力窗是單位增益的窗函數(實質是部分矩形窗),作用於脈衝激勵發生的那部分時段。加力窗是為了消除可能來自於力錘激勵通道的噪聲。通常,設置力窗的寬度約為數據樣本窗口的2-10%,使得力脈衝完全位於這個單位增益窗內,力窗之外的時域樣本紀錄則被加權置零。需要著重注意的是,力窗從來不能消除測試過程中可能出現的二次連擊的影響。使用力窗消除連擊所造成的影響,將嚴重扭曲輸入力譜。

 

指數窗通常用於在採樣時間長度內信號沒有完全衰減到零的響應信號。指數窗的應用強制響應信號更好地滿足FFT變換的周期性要求。通常,對於小阻尼結構,錘擊激起的結構響應在採樣時間長度的末端不會完全衰減到零。這種情況下,變換後的數據將遭受洩漏影響。為了將洩漏減少到最低程度,需要對測量響應數據施加指數窗,如下圖所示。

對於錘擊法測試,應儘量實現無洩漏的測量,即響應不需要加指數窗,因為加窗之後,相對而言,阻尼會是過估計,使得估計出來的阻尼大於實際的阻尼。因此,可以通過增加採樣時間,使響應有足夠的時間衰減,以避免加窗。

 

對於激振器測試最常用是矩形窗和漢寧窗。需要明白的是所有窗函數都會使數據失真。需要記住的是窗函數總是會使測到的峰值發生失真,並且總會給出這樣的假象:測量得到的FRF中的結構阻尼大於結構實際存在的阻尼,而這兩個非常重要的屬性剛好是我們需要從FRF中估計的屬性。矩形窗會使得幅值失真36%,漢寧窗失真16%。FRF的幅值失真從而使得阻尼估計不準確。

窗函數會使信號幅值失真,那麼窗函數對計算RMS值是否有影響呢?由於加窗使得頻率峰值失真,因此,如果計算峰值處的RMS值,必然也是有影響的。如下圖所示,由於峰值高低不一樣,則對應的RMS也不一樣。但如果計算窄帶RMS或整個頻帶的總RMS值呢?

從上圖可以看出,不同的窗函數下,計算19-87Hz內的總有效值都為0.71,因此,對於不同的窗函數下,計算總有效值是沒有影響的。因為能量雖然洩漏到旁瓣上,但總的能量是不變的。

 

從第3小節中對比原始信號和加窗後的信號可以看出,信號的能量在起始和結束位置都計權置零,因而,從能量的角度來考慮,加窗後的信號能量要比加窗之前的能量小。因此,如果對信號施加了窗函數,則頻譜還需要進行修正。修正分幅值修正和能量修正,如果是單條譜線則為幅值修正;如果是寬帶則為能量修正。關於加窗後的頻譜修正,請參考《簡單總結FFT變換的幅值和能量校正》。但需要記住一點,這個工作,通常商業軟體會自動處理,無須人工處理,只需要知道有這麼一步工作即可。

 

在《01.04:錘擊測試使用指數窗會引起什麼問題嗎?》一文中曾經指出,錘擊法測試對響應加指數窗以最小化洩漏是必須的,但是如果加大的指數窗函數可能會扭曲了真實的FRF,致使在FRF的密集模態很難觀測到。因此,指數窗的使用,雖然是數位訊號處理必須考慮的事項,但是當估計小阻尼結構和密集模態時,如果使用不當,將會引起一些嚴重的問題。

 

每個窗函數對數據的頻域描述都有影響。一般而言,窗函數將降低函數峰值幅值的精度,並且使得最終得到的阻尼似乎比實際真實存在的阻尼要更大。儘管這些誤差完全是不想要的,但相比洩漏造成的嚴重失真而言,它們還是更能讓人接受。

為了實現年底破萬小目標,請朋友們

推薦給有需要的朋友,轉發到朋友圈!‍

回復「1」,傳感器安裝基本要求

回復「2」,查看FFT相關理論知識

回復「3」,查看旋轉機械數據分析

回復「4」,模態測試分析基本經驗

回復「5」,查看Peter模態空間經典文章

回復「6」,合格NVH工程師應具備的硬體條件

回復「7」,全部原創文章連結(截止到9月23日)

相關焦點

  • 信號分析中的多種窗函數!
    上圖未使用窗函數,下圖使用了Hanning窗,洩漏問題明顯改善。Hanning窗在始末兩端都為0,規避了所有不連續性,因此該窗函數適用於持續性噪聲和周期性聲音信號。一般來說,在95%情況下,Hanning窗都適用。
  • 【matlab】什麼是漢明窗?加Hanmming窗的作用?
    什麼是漢明窗?加Hanmming窗的作用?1.什麼是漢明窗?答:我是做語音識別的,我就從語音的角度跟你說一下吧。語音信號一般在10ms到30ms之間,我們可以把它看成是平穩的。一種方式就是構造一個函數。這個函數在某一區間有非零值,而在其餘區間皆為0.漢明窗就是這樣的一種函數。它主要部分的形狀像sin(x)在0到pi區間的形狀,而其餘部分都是0.這樣的函數乘上其他任何一個函數f,f只有一部分有非零值。為什麼漢明窗這樣取呢?因為之後我們會對漢明窗中的數據進行FFT,它假設一個窗內的信號是代表一個周期的信號。
  • 你還在愁不會選擇FFT窗函數嗎?
    摘要我們在使用FFT分析功能的時候,是否產生過疑惑,如何選取窗函數?選取的窗函數是否適合當前的信號?點開本文,你就知道啦!大多數工程師都知道,FFT是研究整個時間域和頻率域的關係,通過對信號頻率的分析定位異常,可是在使用FFT分析功能的時候,應該如何選取窗函數?本文就FFT窗函數做一個簡要的介紹,幫助您更加了解各類窗函數。一、窗是什麼?
  • 典型窗函數分析,對LFM信號進行時域和頻域加窗對比
    為了減少頻譜能量洩漏,可採用不同的截取函數w(n)對信號進行截斷,通常稱為加窗序列,簡稱為窗。不同的窗函數對信號頻譜的影響是不一樣的,這主要是因為不同的窗函數產生洩漏的大小不一樣,頻率分辨能力也不一樣。為了不影響截短序列的相位響應,通常需要窗函數保持線性相位。
  • 模態空間—不同類型的模態試驗中窗函數該如何使用?
    對於不同類型的模態試驗,用什麼窗函數最合適?我們討論一下這個問題。
  • 使用示波器的FFT對信號進行頻域分析之三-窗函數的選擇
    (矩形窗主瓣窄,旁瓣大,頻率識別精度最高,幅值識別精度最低;布萊克曼窗主瓣寬,旁瓣小,頻率識別精度最低,但幅值識別精度最高)為了減少頻譜旁瓣和柵欄效應的影響,我們在FFT 運算中使用窗函數,圖1 顯示了Hanning(漢寧窗)使用後的效果。窗函數位於下圖中左上角的柵格中紅色的波形,疊加在黃色的時域信號上。窗函數與時域信號時域相乘。結果顯示在左下角的藍色波形。
  • Chapter1|1.4-1.6錘擊法和激振器法最需要考慮的事項與窗函數
    在許多測量情況中,窗函數是一個必備的惡魔。雖然優先考慮不使用任何窗函數,但是洩漏的替代方法完全是不可接受的。正如前面討論的一樣,有多種激勵方法能提供無洩漏的測量,因而不需要使用任何窗函數。然而,很多時候,特別是現場實驗和採集工作數據時,窗函數又是必需的。那麼,最常用的窗函數有哪些呢?
  • DFT之窗函數
    DFT學習筆記,是關於DFT的變換公式以及其的一些特性DFT之洩露,關於洩露的現象以及產生的原因;今天這篇,主要是關於窗函數。窗函數為了減小DFT的洩露,需要減小主瓣寬度和旁瓣幅度;理想的窗函數是主瓣寬度窄,旁瓣幅度小。矩形窗函數首尾值的突變,是其產生旁瓣的原因。
  • 什麼是捲簾窗 捲簾窗優點
    什麼是捲簾窗 捲簾窗優點 2018-08-07 11:05:56 來源:全球紡織網 什麼是捲簾窗?
  • Excel小白講概念-什麼是函數?什麼是易失性函數?
    什麼是易失性函數?搞定這些我們才能更好的盤它!不好意思,你想多了,它沒有那麼智能,最好還是養成左右括號一起輸入後再輸入裡面的參數,否則代碼一多,有什麼顏色提示也白費!函數可以按參數多少分為無參函數和有參函數,而無參函數大部分是易失性函數,那麼這個易失性什麼原因導致的呢?什麼樣的操作會導致易失性的發生呢?這就是接下來要聊的內容。
  • 百葉窗有哪些材質 百葉窗相對窗簾有什麼好處
    不知道從什麼時候開始,百葉窗慢慢的成為一種流行。很多家庭不喜歡安裝窗簾就喜歡安裝百葉窗,那麼百葉窗有哪些材質呢?相對窗簾有什麼好處呢?為什麼可以用來代替窗簾。看看就知道了。一、百葉窗有哪些材質1、木質百葉窗木百葉質感溫潤,一般用椴木、松木、西洋杉和鳳凰木。其中,椴木材質最常見,質地穩定性高,價格實惠。至於松木、西洋杉什麼的因為油脂高,紋木較細緻;而鳳凰木則質地較輕,不會造成窗框承重壓力,經特殊處理後不易變形,比較適合大面積需要百葉窗的區域。
  • 鋁合金百葉窗選購需要注意什麼 鋁合金百葉窗品牌推薦
    鋁合金百葉窗屬於百葉窗的一種,它跟其他材質的百葉窗相比,最大的優勢是質量會比較好,也因此獲得了很多人的青睞,那鋁合金百葉窗選購需要注意什麼?有很多人不知道該選擇什麼牌子的產品,本文為此做了鋁合金百葉窗品牌推薦。
  • 什麼是百葉窗隔斷 百葉窗隔斷安裝方法及注意事項
    今天我們要給大家介紹的是百葉窗隔斷,那什麼是百葉窗隔斷?百葉窗隔斷的安裝方法和注意事項都有哪些呢?下面一起來了解看看吧。【什麼是百葉窗隔斷】百葉窗隔斷—百葉窗隔斷外框首要百葉窗隔斷的外框之所以挑選鋁合金,是因為鋁合金不易生鏽,並且經用、耐磨,簡單清潔。
  • matlab中的spectrogram函數對信號做短時傅立葉分析
    「把整個時域過程分解成無數個等長的小過程,每個小過程近似平穩,再傅立葉變換,就知道在哪個時間點上出現了什麼頻率了。」這就是短時傅立葉變換。matlab中的spectrogram函數來做短時傅立葉變換,下面是其參數的解釋。
  • 隨機激勵下頻響函數相干較低成因淺析
    從圖2可以看出,相干函數在大部分頻段都相對較好,而峰值位置的相干函數均處於較低的水平。圖2 頻響函數分析圖為對比分析頻率解析度對相干函數的影響,調整頻響函數計算點數以獲得不同的頻率解析度,關注288Hz附近峰值的相干函數幅值如表1所示。
  • 百葉窗定製什麼價格最合適?
    不同材質百葉窗,定製價格不同,想要知道百葉窗定製什麼價格最合適?肯定要知道是什麼材質的百葉窗,所以下面安徽金用護欄的小編就給大家介紹目前最常見幾種百葉窗的定製價格以及告訴大家什麼價格定製最合適。
  • 外牆窗套線條用什麼材質的 外牆窗套線條怎麼安裝
    在很多的樓房狀況上,我們都可以看到形狀統一顏色統一的方框框,這就是外牆窗套線條。他對窗戶有著一定的裝飾作用,可以讓整個的樓房建築看起來更加的協調和規範,同時也能夠起到美化環境的作用。有很多人想要了解外牆窗套線條用什麼材質的好?
  • 奇函數加上偶函數是什麼函數,怎麼證明?
    奇函數和偶數進行四則運算還是不是奇偶函數了?該如何證明?hello,大家好這裡是尖子生數理化教育,這次課程咱們來為大家講一下奇函數與偶函數進行四則運算該如何進行相關的奇偶性的判斷以及如何進行相關的證明。幫助高一的學生們在這次期中考試中取得理想的成績哦。
  • 立即執行函數是什麼,與普通函數的區別在哪裡?
    在每段js代碼塊中,js雖然沒有像Java高級語言的預編譯機制,但是在javascript中,會提前對函數聲明優先解讀,這就是js中的「函數式聲明提升」,所以函數聲明也可以在函數調用表達式後面。也就是平常的函數調用,一旦聲明,在這個頁面的頭尾隨時都可以調用,函數聲明一直存在著隨時準備著被調用,沒有被釋放。
  • 【ADAMS】矩陣/數組函數
    矩陣/數組函數可很方便地完成針對矩陣/數組的操作。(1)矩陣/數組的基本操作函數ALIGN 將數組轉換到從特定值開始ALLM 返回矩陣元素的邏輯值ANGLES 將方向餘弦矩陣轉換為指定旋轉順序下的角度矩陣ATAN(x) 數字表達式x 的反正切值ATAN2(x1,x2) 兩個數字表達式x1,x2 的四象限反正切值(3)取整函數INT(x)