這個單元要來探討的主題是:兩個Sine波合成Beating信號,有「洩漏」(Leakage),採用Hanning和Box窗函數,其「頻譜」(spectrum)會有甚麼不同?
因為要從「時間波形」(time waveform),透過FFT「快速傅立葉轉換」(fast Fourier transform),取得合成信號的「頻譜」(spectrum)。首先,回顧一下,如何進行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 = 800 條:頻率解析條數(lines of resolution, LOR),單位:條(lines)。
在此設定,R = Fmax / LOR = 0.25 Hz:頻譜的頻率解析度(Resolution)。
同時,第二個重要選項,是窗函數形式(Window Type)。本單元討論的是有「洩漏」(Leakage)的Sine波,所以,必須選用”Hanning”=「漢寧窗函數」。另外,也探討選用”Box”=「方形/均勻/矩形窗函數」的影響,以及正確的FFT參數設定方式。
第三個重要選項,是平均處理(Averaging),令平均次數(Number of Averaged):Navg = 5次。Overlap = 0%。
針對如何設定FFT參數,才能夠取得正確的、分離出兩個獨立sine波的「頻譜」(spectrum)?回顧總結如下:
1. 採用”Box”=「方形/均勻/矩形窗函數」:在「頻譜」,要有效的分離出兩個峰值(peak),FFT參數設定,必需:R ≤ dF/2。其中,R = Fmax / LOR。
2. 採用”Hanning”=「漢寧窗函數」:在「頻譜」,要有效的分離出兩個峰值(peak),FFT參數設定,必需:R ≤
dF / 2 / WF = dF / 2 / 1.5。其中,R =
Fmax
/ LOR。WF=1.5是”Hanning” 窗函數的「窗函數因子」(window factor, WF)。因為,當採用”Hanning”=「漢寧窗函數」,對於頻譜的解析度變差了,會加大「頻帶寬度」(band width, BW),BW = WF*R。BW是「頻帶寬度」(band width, BW),相當於採用”Hanning”的頻率解析度(resolution)。
參閱圖片的左下方兩個圖示,針對「無洩漏」(without Leakage)的Beating信號,採用”Hanning”=「漢寧窗函數」,理念上,FFT 參數的R要夠小,才能夠正確的分離兩個相近Sine波頻率差=dF。已知:R = Fmax / LOR。要讓R夠小,有兩種方式:
1. 固定Fmax,增大LOR:參閱左下方圖示,令:Fmax = 200 Hz,LOR = 800 條。所以:R =
Fmax
/ LOR
= 0.25
Hz。BW=WF*R =0.375 Hz。因為,dF = 1 Hz。可以滿足:BW=WF*R ≤ dF/2。也就是:R ≤ dF /
2 / WF = dF / 2 / 1.5,R = 0.25 Hz ≤ dF /
2 / 1.5 =
0.33 Hz。因而,頻譜可以正確的分離兩個相近Sine波頻率差=dF。
2. 固定LOR,減小Fmax:參閱左下方圖示,令:Fmax = 100 Hz,LOR = 400 條。所以:R =
Fmax
/ LOR
= 0.25
Hz。BW=WF*R =0.375 Hz。因為,dF = 1 Hz。可以滿足:BW=WF*R ≤
dF/2。也就是:R ≤ dF /
2 / WF = dF / 2 / 1.5,R = 0.25 Hz ≤ dF /
2 / 1.5 =
0.33 Hz。因而,頻譜可以正確的分離兩個相近Sine波頻率差=dF。
這個單元要來看「有洩漏」(with Leakage)的Beating信號,參閱圖片右上,如果,𝑭1 = 10.2 Hz,𝑭2 = 11.2 Hz,兩者的頻率差=dF=1 Hz。所以,「拍振頻率」(Beating
frequency)=Fb = dF。因此,Tb「拍振週期」=Tb=1/dF =
1/1 = 1 sec。
為什麼是「有洩漏」(with Leakage)的信號呢?取決於所設定的FFT 參數。在此,FFT 參數關係:
1. 頻率解析度R = Fmax / LOR:R = 200 / 800 = 0.25 Hz。
2. 取樣時間T = 1 / R:T = 1 / 0.25 = 4 sec。
「有洩漏」(with Leakage)現象時,以本案例來說,因為,𝑭1 = 10.2 Hz,𝑭2 = 11.2 Hz,又R = 0.25 Hz,𝑭1 / R ≠ 整數,𝑭2 / R ≠ 整數。所以,進行FFT分析,得到的「頻譜」(spectrum)就會有「洩漏」(Leakage)現象。因此,必須採用”Hanning”=「漢寧窗函數」,才可減小「頻譜」的「洩漏」(Leakage)現象。
另外,要有一個認知,實務上,量測到的振動信號,都可能有任意數值的頻率,幾乎不會是剛好F1 / R = 整數,F2 / R = 整數。所以,實務上,都是會採用”Hanning”=「漢寧窗函數」。
為了瞭解採用”Hanning”或”Box”窗函數處理的差異,針對「有洩漏」(with Leakage)現象的Beating信號,其𝑭1 = 10.2 Hz,𝑭2 = 11.2 Hz,所以,dF =
1 Hz。分別取得「頻譜」,參閱圖片右邊圖示,比較討論如下:
1. 「頻譜」之頻率解析效果:若是採用”Box”,必須:R ≤ dF / 2。R = 0.25 Hz ≤ dF /
2 =
0.5Hz。所以,可以分辨出兩個頻率。但是,由於「頻譜」呈現「有洩漏」(with Leakage)現象,類似於共振(resonance)效應,又由「頻譜」的對數座標圖示來看,會誤判是兩個自然頻率所引發的「共振」效應。若是採用”Hanning”,必須:R ≤ dF / 2 / WF = dF / 2 / 1.5。R = 0.25 Hz ≤ dF /
2 / 1.5 =
0.33 Hz。除了,可以分辨出兩個頻率。同時,由「頻譜」可以明確地辨識出兩個獨立峰值(peaks),是可以正確的解析出兩個獨立Sine波的Beating效應。
2. 「頻譜」之振幅解析效果:由對數座標的「頻譜」標示,採用”Box”,分辨出兩個頻率的量值:0.866@10.25 Hz、0.980@11.25 Hz,其中,0.866偏低於1.0。而且,「頻譜」的峰值(peaks)有明顯的「洩漏」(Leakage)現象。採用”Hanning”, 分辨出兩個頻率的量值:0.977@10.25 Hz、0.977@11.25 Hz,不僅沒有「洩漏」(Leakage)現象,而且其中,兩個頻率的振幅都更接近於1.0。顯示,採用”Hanning”,有比較正確的振幅解析。
綜合這個單元的討論,當兩個Sine波,所合成的Beating信號,有「洩漏」(Leakage),採用Hanning和Box窗函數,其「頻譜」(spectrum)會有甚麼不同?總結如下:
1. 複習討論了:FFT之【ISOC】分析的系統方塊圖(system block diagram),包括:Input輸入、System系統、Output輸出、Control控制。以瞭解如何取得「頻譜」(spectrum)。
2. 針對有Beating現象的「時間波形」,若是採用”Box”=「方形/均勻/矩形窗函數」,在「頻譜」,要有效的分離出兩個峰值(peak),FFT參數設定,必需:R ≤ dF/2。其中,R = Fmax / LOR。
3. 針對有Beating現象的「時間波形」,若是採用”Hanning”=「漢寧窗函數」,在「頻譜」,要有效的分離出兩個峰值(peak),FFT參數設定,必需:R ≤ dF / 2 / WF = dF / 2 / 1.5。其中,R = Fmax / LOR。WF=1.5是”Hanning” 窗函數的「窗函數因子」(window factor, WF)。當採用”Hanning”=「漢寧窗函數」,對於頻譜的解析度變差了,會加大「頻帶寬度」(band width, BW),BW = WF*R。BW是「頻帶寬度」(band width, BW),相當於採用”Hanning”的頻率解析度(resolution)。
4. 針對「無洩漏」(without Leakage)的Beating信號,採用”Hanning”=「漢寧窗函數」,理念上,FFT 參數的R要夠小,才能夠正確的分離兩個相近Sine波頻率差=dF。因為,R = Fmax / LOR,所以有兩種方式:(1) 固定Fmax,增大LOR,(2)
固定LOR,減小Fmax。
5. 針對「有洩漏」(with Leakage)的Beating信號,必須採用”Hanning”,不可採用”Box”,才可有:(1) 良好頻率解析之「頻譜」,(2) 良好振幅解析之「頻譜」。
以上個人看法,請多指教!
王栢村
2026.01.19







%EF%BC%8C%E6%8E%A1%E7%94%A8Hanning%E5%92%8CBox%E7%AA%97%E5%87%BD%E6%95%B8%EF%BC%8C%E5%85%B6%E9%A0%BB%E8%AD%9C%E6%9C%83%E6%9C%89%E7%94%9A%E9%BA%BC%E4%B8%8D%E5%90%8C%EF%BC%9F.jpg)