這個單元要來探討的主題是:無「洩漏」(Leakage)信號,施予「窗函數」(Window)處理,其「頻譜」(spectrum)會有甚麼特徵?
在前一個單元:#454,【有洩漏(Leakage)信號,施予窗函數(Window)處理,如何改善取得較佳的頻譜?】,已經有介紹過,有「洩漏」(Leakage)信號,進行FFT分析信號處理,會取得不正確的「頻譜」(spectrum)。又,「洩漏」(Leakage)一定發生,必須進行窗函數處理(windowing),所以,就探討了有關「有洩漏」(With Leakage)信號,在施予4種「窗函數」(Window)處理的差異性比較。
這個單元,就來看無「洩漏」(Leakage)信號,如果,施予「窗函數」(Window)處理,其「頻譜」(spectrum)會有甚麼特徵?
首先,參閱圖片右上方圖示,分別呈現:
1. 「無洩漏」(No Leakage)信號,F0 =10.0 Hz,A =1:在「時間波形」(time waveform),量測時間T = 1/R = 1 sec,擷取到1秒,有10個完整的sine波週期,其振幅值(amplitude)是1。得到的「頻譜」(spectrum),在F=10 Hz,有一峰值(peak),其振幅值(amplitude)是1。在F=10 Hz兩側以及其他的頻率點,均為零。此「頻譜」完全正確的對應「時間波形」的特徵。
2. 「有洩漏」(With Leakage)信號,F0 =10.5 Hz,A =1:在「時間波形」(time waveform),量測時間T = 1/R = 1 sec,擷取到1秒,只有9.5個的sine波週期,其振幅值(amplitude)是1。雖然,起始點與結束點的值,都為零,但是,最後末端的信號,沒有擷取到完整的sine波週期。得到的「頻譜」(spectrum),在F=10 Hz、F=11 Hz,分別有峰值(peak),其振幅值(amplitude)不是1,而是0.652063、0.621899,兩側以及鄰近的頻率點,不為零。此「頻譜」並沒有正確的解析出單一頻率sine波「時間波形」的「頻譜」特徵。而且,這種「頻譜」特徵,會讓人誤判、以為是振動模態(vibration mode)的響應特性。這種情形,就是所謂的「洩漏」(Leakage)的現象。
再觀察「有洩漏」(With Leakage)信號的「時間波形」(time waveform)以及「頻譜」(spectrum),有施予”Hanning”「漢寧窗函數」處理的特徵,說明如下:
1. 「時間波形」(time waveform):圖片中,黑色的曲線是原始的「時間波形」,紅色的曲線是施予”Hanning”「漢寧窗函數」處理的「時間波形」,起始和結束的信號有降低,均趨近於零,而中間的信號有略微提高。
2. 「頻譜」(spectrum):當以”Hanning”「漢寧窗函數」處理的「時間波形」,進行FFT分析,所得到的「頻譜」,可以大致看到,有明顯的改善「頻譜」的「洩漏」(Leakage)現象。也就是,更接近單一頻率sine波的「頻譜」特徵。
再觀察圖片,左邊中間圖示,顯示了「有洩漏」(With Leakage)信號,F0 =10.5 Hz,A =1,在施予4種「窗函數」(Window)處理的差異性比較:
1. 從「頻譜」的振幅(Amplitude)解析的角度來看:最好的是”Flat
top”,其「頻譜」特徵,最顯著的效應是,其sine波訊號的振幅值,非常接近於1,大約是0.9967,僅有0.3%的差異。其次是,”Hamming”,約0.8797。再來是,”Hanning”,約0.8476。最差的是”Box”,約0.6520,而且,「頻譜」有嚴重的「洩漏」(Leakage)現象。
2. 從「頻譜」的頻率(frequency)解析的效果來看:”Box”,是無法正確判斷,信號是一個sine波,不必討論。其他,頻帶最寬的是,”Flat top”。其次是,”Hanning”。再來是,”Hamming”。原則上,頻帶寬度(bandwidth, BW),是越小越好。
由上一個單元:#454,探討的是「有洩漏」(With Leakage)信號,加入「窗函數」(Window)處理,有明顯改善「頻譜」的振幅(Amplitude)解析以及頻率(frequency)解析。
這個單元,要來探討的是,如果,「無洩漏」(No Leakage)信號,本來是不需要加入「窗函數」(Window)處理,「頻譜」就是正確的。但是,實務上,都要加入「窗函數」(Window)處理,那麼「頻譜」會有甚麼影響呢?
再來回顧一下,如何進行FFT「快速傅立葉轉換」(fast Fourier transform)。參閱圖片左上方,FFT之【ISOC】分析的系統方塊圖(system block diagram),重點說明如下:
1. Input輸入:就是一個信號的「時間波形」(time waveform)。
2. System系統:在此FFT,就是系統。就是要進行FFT「快速傅立葉轉換」(fast Fourier transform)。
3. Output輸出:當然就是「時間波形」信號的「頻譜」(spectrum)。
4. Control控制:進行FFT的控制變數,有三大項,包括:(1) FFT 參數(parameters),(2) 窗函數形式(Window Type),(3) 平均處理(Averaging)。
針對第一個重要選項,是FFT 參數(parameters),主要有兩個變數需要設定,定義如下:
1. Fmax = 200 Hz:最高有效頻率(maximum effective frequency),單位:Hz。
2. LOR = 200 條:頻率解析條數(lines of resolution, LOR),單位:條(lines)。
在此設定,R = Fmax / LOR = 1 Hz:頻譜的頻率解析度(Resolution)。本單元將以此設定,來探討信號的「洩漏」(leakage),如何施予「窗函數」(Window)處理,以改善取得較佳的「頻譜」(spectrum)?
同時,第二個重要選項,是窗函數形式(Window Type)。典型的窗函數,如:(1) ”Box”=「方形/均勻/矩形窗函數」,(2) ”Hanning”=「漢寧窗函數」,(3) ”Hamming”=「漢明窗函數」,(4) ”Flat
top”=「平頂窗函數」。本單元,將探討以上4種「窗函數」(Window)處理,其差異性比較。
第三個重要選項,是平均處理(Averaging),定義如下:
1. 線性平均(Linear averaging)。
2. 平均次數(Number of Averaged):Navg = 1次。因為是一次性的信號,所以,取一次平均,就是沒有平均處理(Averaging)。
3. 平均重疊率(Overlap % for averaging):Overlap
= 0 %。因為,沒有平均處理(Averaging),所以,為0 %。
接著,回顧一下「洩漏」(Leakage)的現象、原因、以及處理對策:
1. Know what? 現象:由於取樣的「時間波形」,不是完整的週期。信號頻率F0,不是FFT的頻譜解析頻率R = 1 Hz。「頻譜」的峰值,不正確,而且,F0鄰近頻率,有振幅值。無法取得正確的頻率(frequency)和振幅值(amplitude),進而影響實務上判斷信號的頻率和振幅值。
2. Know why? 原因:F0 / R 不是整數(integer)。其中,R = 頻率解析度(Resolution),R = Fmax / LOR =
200/200 = 1 Hz。
3. Know how? 對策:實務上,一個信號,任何頻率都有,不可能F0/R=整數,所以,「洩漏」(Leakage)一定發生,必須進行窗函數處理(windowing)。
參閱圖片,右邊下方圖示,顯示了「無洩漏」(No Leakage)信號,F0 =10 Hz,A =1,在施予4種「窗函數」(Window)處理的差異性比較:
1. 從「頻譜」的振幅(Amplitude)解析的角度來看:”Box”,A =1,完全正確。”Flat top”以及”Hanning”,都是A =0.998,也相當準確。”Hamming”,A =1.0782,就有+7%的差異。
2. 從「頻譜」的頻率(frequency)解析的效果來看:因為「無洩漏」,”Box”是完美的「頻譜」,只有1條頻譜值,除了F =10 Hz,A =1之外,其他頻率都是零。”Hanning”以及”Hamming”,其頻帶寬度(bandwidth, BW),也就非零值的頻譜,比”Box”多,有3條頻譜值。而”Flat
top”有更大的BW頻帶寬度,有7條頻譜值,也就是BW變大了。
上一個單元:#454,探討的是「有洩漏」(With Leakage)信號,加入「窗函數」(Window)處理,有明顯改善「頻譜」的振幅(Amplitude)解析以及頻率(frequency)解析。所以,實務上,都要加入「窗函數」(Window)處理。
實務上,可能也存在著「無洩漏」(No Leakage)信號,加入「窗函數」(Window)處理,”Hanning”或是”Flat top”,其「頻譜」的振幅(Amplitude)解析也是相當準確的。不過,缺點就是會增大了BW頻帶寬度。不過,由「頻譜」的特徵,仍然可以辨識出是單一頻率的sine波。
綜合一下這個單元的討論,無「洩漏」(Leakage)信號,施予「窗函數」(Window)處理,其「頻譜」(spectrum)會有甚麼特徵?重點說明如下:
1. 複習討論了:FFT之【ISOC】分析的系統方塊圖(system block diagram),包括:Input輸入、System系統、Output輸出、Control控制。以瞭解如何取得「頻譜」(spectrum)。
2. 針對Control variables控制變數,尤其重要,設定的參數,包括:(1) FFT 參數(parameters):Fmax = 200 Hz,以及LOR = 200 條。(2) 窗函數形式(Window Type):選擇4種「窗函數」(without window)的比較,包括:”Box”「方形/均勻/矩形窗函數」、”Hanning”「漢寧窗函數」、”Hamming”「漢明窗函數」、”Flat
top”「平頂窗函數」。(3) 平均處理(Averaging) 定義:線性平均(Linear averaging)、Navg = 1次、Overlap = 0 %。
3. 回顧探討了「有洩漏」(With Leakage)信號的現象、原因、對策。也觀察了不同窗函數處理(windowing)處理,對「頻譜」的振幅(Amplitude)與頻率(frequency)解析,能有權衡的、有效的處理方式。
4. 探討了「無洩漏」(No Leakage)信號,加入不同「窗函數」(Window)處理之影響。其中,”Hanning”或是”Flat top”,其「頻譜」的振幅(Amplitude)解析也是相當準確的。不過,缺點就是會增大了BW頻帶寬度。不過,由「頻譜」的特徵,仍然可以辨識出是單一頻率的sine波。
以上個人看法,請多指教!
王栢村
2025.12.23







%E4%BF%A1%E8%99%9F%EF%BC%8C%E6%96%BD%E4%BA%88%E7%AA%97%E5%87%BD%E6%95%B8(Window)%E8%99%95%E7%90%86%EF%BC%8C%E5%85%B6%E9%A0%BB%E8%AD%9C%E6%9C%83%E6%9C%89%E7%94%9A%E9%BA%BC%E7%89%B9%E5%BE%B5%EF%BC%9F.jpg)