在進行信號的頻譜分析,常會提到「window」視窗加權函數,那麼甚麼是window function「視窗函數」、weighting function「加權函數」?有哪些種「視窗加權函數」可以選用,在頻譜分析中,扮演怎樣的角色?這個單元就來介紹有哪些種「視窗加權函數」。
首先,由圖1是先前單元【頻譜分析儀如何處理量測信號?】:介紹了「頻譜分析儀」處理量測信號的功能及其動作原理,包括:反假象濾波器(anti-aliasing
filter, AA filter)、類比數位轉換器(A/D converter, analog-to-digital converter)、視窗/加權函數(window/weighting
function)、快速傅立葉轉換(FFT, fast Fourier transform)。
在對一個信號做FFT的頻譜分析,其中,第4個步驟就有weighting
(window)的處理,簡單的說:「視窗加權函數」是在解決「洩漏」(leakage)的問題。而【甚麼是洩漏(leakage)?】呢?
1. 洩漏的現象:在信號的頻譜圖,其頻率的振幅,有不正確的分析結果。
2. 洩漏的原因:是信號的頻率f,與FFT的分析參數:頻率解析度Δf,沒有能夠整除。因為f/Δf≠整數,所以,就沒有能夠完全正確的解析信號的頻率f,連帶也不能正確解析信號的振幅X。
3. 洩漏的解決方法:需要使用「視窗函數」(window function)、或稱「加權函數」(weighting
function),能夠降低「洩漏」之影響。
參閱圖2顯示常見的5種window視窗函數的方程式及其圖示。如果,時間域的「原始信號」為x(t),「加權函數」為w(t),「加權後的信號」xw(t),可以寫成:xw(t)=x(t)*w(t),也就是在一個time frame中,每個時間點對應相乘。這個time frame,是指欲進行FFT的信號之「時間區間」,或稱為「總取樣時間」,可參閱:【甚麼是取樣頻率(sampling frequency)?】。
參閱圖2,有5種window「視窗加權函數」w(t)的特徵,以及以一個正弦波「原始信號」x(t)為例,取得「加權後的信號」xw(t)之說明如下:
1. Rectangle (boxcar)
window矩形視窗加權函數:在一個time frame,Rectangle window數值都是1,也就是相當於沒有加權的效果。所以,可以看出x(t)與xw(t)是完全相同的信號。適用在沒有洩漏(leakage)的信號。在實務上,如果是隨機信號,幾乎都會有洩漏,因為信號的頻率組成是隨機的、任意的頻率,所以,都會有洩漏的現象。因此,隨機信號是不會採用Rectangle window。
2. Hanning window漢寧視窗加權函數:在一個time frame,Hanning window呈現接近一個半正弦波的特性,「加權後的信號」xw(t),可以看出兩端的數值都為零,使得起始點與終點的數值相同,可以降低洩漏(leakage)的效應。Hanning window常用於隨機信號的頻譜分析,可以得到不錯的頻率解析及其振幅解析。
3. Kaiser-Bessel window開氏貝索視窗加權函數:Kaiser-Bessel window與Hanning window的作用效果相近,可以看出w(t) 「加權函數」有差異,不過Kaiser-Bessel時間域波形與Hanning相近。因此,以Kaiser-Bessel「加權後的信號」xw(t),與Hanning window相似,所以沒有呈現。Kaiser-Bessel window,在頻率解析略遜於Hanning
window,不過頻率對應的振幅解析略優於Hanning window,同樣也都可以適用於隨機信號的頻譜分析。
4. Flat-top window平頂視窗加權函數:Flat-top window對於頻率解析度,在以上這4種window來說,是最不好的一種。但是,在頻率對應振幅的解析是最優的,甚至可以得到幾乎完全正確的振幅。因此,對於標準振動源的加速度規校正、或是標準音源的麥克風校正,非常有用。當進行加速度規及麥克風校正時,因為標準振動源及音源都是單一頻率信號,又因為是要校正信號的振幅值,所以,建議採用Flat-top window,可以有較精準的振幅解析。讀者可參考:【如何進行「加速規」校正?】、【如何進行「麥克風」校正?】。
5. Exponential window指數視窗加權函數:Exponential window的加權函數,係由σ「衰減率」(decay rate)控制,或是由τ「時間常數」(time
constant)為「衰減率」的倒數來設定其指數視窗加權函數w(t)的波形。對於「衰減型的信號」,特別是傳統實驗模態分析,採用衝擊鎚敲擊結構,以加速度規量測結構響應,量測到的加速度信號會是「指數衰減」(exponential decay)的特性。如果在一個time frame的時間區間,信號沒有衰減到零,這時,就需要在加速度響應,施予Exponential window,可以降低時間域信號的truncation
error「截斷誤差」影響,以免頻譜會有「柵欄效應」(fence effect)的產生。相關討論,可參閱:【Window effect on decay signal for FFT】、【Window effect on decay signal for FFT (2)】。
在FFT頻譜分析時,綜合一下以上對window視窗加權函數的探討:
1. 在FFT頻譜分析,需要選用適當的window視窗加權函數,主要在降低洩漏(leakage)的效應。
2. 在FFT頻譜分析時,若是著重於頻率解析,不同window的優先選序:Rectangle、Hanning、Kaiser-Bessel、Flat top。
3. 在FFT頻譜分析時,若是著重於頻率的振幅解析,不同window的優先選序:Flat top、Kaiser-Bessel、Hanning、Rectangle。
4. 如果是對一個隨機信號的FFT頻譜分析,一般而言,是希望了解隨機信號的頻率組成(frequency content),也希望能得到好的振幅解析。因此,選用Hanning或Kaiser-Bessel都適當。如前述,Hanning的頻率解析略優於Kaiser-Bessel;Kaiser-Bessel的振幅解析略優於Hanning。普遍來說,對於隨機信號的FFT,最常用的選擇是Hanning window。
5. 如果是對一個單一頻率的信號,進行FFT頻譜分析,又希望對該信號有精準的振幅解析,最常見的這種狀況,就是加速度規及麥克風的校正,此時,由於是要求振幅的精準度,所以應該選用Flat top window。
6. 如果要對一個具有指數衰減特徵的信號,進行FFT頻譜分析,又如果該衰減信號,在一個time frame,還沒有衰減到接近零,這時,需要使用Exponential window,使得加權後的信號xw(t),能夠強迫衰減到接近零,如此,方可降低時間域信號的「截斷誤差」(truncation
error),所造成的頻譜「柵欄效應」(fence
effect)之現象。
本單元介紹了「window」視窗加權函數的特性及其選用的原則,對於FFT頻譜分析的信號處理過程是重要的步驟之一。希望由本單元的探討,讀者能夠進一步了解「window」的基本理念。
以上個人看法,請多指教!
王栢村
2019.04.18YouTube影片連結
圖1、先前單元【頻譜分析儀如何處理量測信號?】
圖2、常見的5種window視窗函數的方程式及其圖示
0 意見:
張貼留言