這個單元要來探討的主題是:兩個Sine波合成Beating「拍振/拍擊/重擊」信號,如何設定FFT參數,取得正確的「頻譜」(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 = 200 條:頻率解析條數(lines of resolution, LOR),單位:條(lines)。
在此設定,R = Fmax / LOR = 1 Hz:頻譜的頻率解析度(Resolution)。
同時,第二個重要選項,是窗函數形式(Window Type)。本單元討論的是無「洩漏」(Leakage)的Sine波,所以,選用”Box”=「方形/均勻/矩形窗函數」。
第三個重要選項,是平均處理(Averaging),令平均次數(Number of Averaged):Navg = 1次。因為是一次性的信號,所以,取一次平均,就是沒有平均處理(Averaging)。
其次,主題提到Beating「拍振/拍擊/重擊」信號,參閱圖片左下方圖示,兩個「頻率」(frequency)不同、但是相近的Sine波合成信號,其「頻譜」(spectrum)特徵,回顧說明如下:
1. 𝑭1 = 10 Hz, 𝑨1
= 1 , 𝝓𝟏=𝟎°。 𝑭2 =
11 Hz, 𝑨2 = 1 , 𝝓𝟐=𝟎°:兩個「簡諧波」(harmonic wave),𝑨「振幅」(amplitude)相同,𝝓「相位角」(phase angle)相同,只是𝑭𝟎「頻率」(frequency)不同。當𝑭1 = 10 Hz,𝑭2 = 11 Hz,其合成信號的「時間波形」特徵,稱之為「拍振/拍擊/重擊」(Beating)。對應的「頻譜」,沒有意外,很正確,分別在𝑭 = 10 Hz,𝑭 = 11 Hz,都出現振幅=1的峰值(peak)。但是,要注意的是,如果,不知道「時間波形」,僅觀察「頻譜」,將會誤以為只是單一峰值(peak)、單一頻率的「簡諧波」。因為,𝑭 = 10 Hz,𝑭 = 11 Hz,兩個峰值(peak)相連在一起。
2. 𝑭1 = 10 Hz, 𝑨1
= 1 , 𝝓𝟏=𝟎°。 𝑭2 =
12 Hz, 𝑨2 = 1 , 𝝓𝟐=𝟎°:當𝑭1 = 10 Hz,𝑭2 = 12 Hz,其合成信號的「時間波形」特徵,也有Beating「拍振/拍擊/重擊」現象。稍後再深入討論Beating的現象。對應的「頻譜」,沒有意外,很正確,分別在𝑭 = 10 Hz,𝑭 = 12 Hz,都出現振幅=1的峰值(peak)。但是,不同的是,在𝑭 = 11 Hz,振幅=0,所以,在𝑭 = 10 Hz,𝑭 = 12 Hz的峰值(peak)是分離的,很明確地取得了兩個不同「頻率」的「簡諧波」之特徵。這樣的「頻譜」特徵,會是有效的、可解讀的「頻譜」。
甚麼是Beating「拍振/拍擊/重擊」?說明如下:
1. Beating的現象:在「時間波形」(time waveform)出現如圖示的波形,就稱之為Beating「拍振/拍擊/重擊」。
2. Beating的原因:兩個Sine波,其頻率,相近,但不相等。例如:𝑭1 = 10 Hz,𝑭2 = 12 Hz,兩者的頻率差=dF=2 Hz。
3. Beating的頻率、Beating的週期:由dF頻率差,可得到「拍振週期」(Beating period)=Tb=1/dF = 1/2 = 0.5 sec。由Tb「拍振週期」可得到「拍振頻率」(Beating frequency)=Fb = 1/Tb =
2 Hz= dF。
如果,𝑭1 = 10 Hz,𝑭2 = 11 Hz,兩者的頻率差=dF=1 Hz。所以,「拍振頻率」(Beating
frequency)=Fb = dF。因此,Tb「拍振週期」=Tb=1/dF =
1/1 = 1 sec。
在此案例:𝑭1 = 10 Hz,𝑭2 = 11 Hz,兩者的頻率差=dF=1 Hz。觀察圖片右上方圖示,原始的FFT的控制變數(control variables)設定:
(1) FFT參數:Fmax=200 Hz & LOR= 200條。因此,頻率解析度(Resolution):R = Fmax / LOR =
1 Hz。
(2) 窗函數處理(Windowing):Box。因為是「無洩漏」(No Leakage)信號。
(3) 平均處理(Averaging):5次,overlap= 0%。為了取得較長的「時間波形」(time waveform)。
由「頻譜」可看出,在𝑭 = 10 Hz,𝑭 = 11 Hz,都出現振幅=1的峰值(peak)。但是,要注意的是,如果,不知道「時間波形」,僅觀察「頻譜」,將會誤以為只是單一峰值(peak)、單一頻率的「簡諧波」。因為,𝑭 = 10 Hz,𝑭 = 11 Hz,兩個峰值(peak)相連在一起。實務上,不會解讀為是兩個獨立頻率的效應。
所以,以上的FFT的控制變數(control variables)設定,是無法分離出、辨識得到兩個獨立的頻率!那麼,要如何設定FFT參數呢?
已知:有兩個相近Sine波頻率差=dF。必需設定:R ≤
dF/2。其中,R = Fmax / LOR = 1 / T。
以此條件,檢視以上的FFT的控制變數(control variables)設定,R =
Fmax
/ LOR
= 200 / 200 = 1 Hz,T = 1 / R = 1 / 1 =
1 sec,dF = 11 – 10 = 1 Hz,R = 1 Hz > dF/2 = 0.5 Hz,所以無法分辨。
改善處理方式之一,觀察圖片右下方圖示,令:(1) FFT參數:Fmax=200 Hz & LOR=
400條。因此,頻率解析度(Resolution):R = Fmax
/ LOR
= 0.5
Hz。其他設定不變。
以此條件,檢視以上的FFT的控制變數(control variables)設定,R =
Fmax
/ LOR
= 200 / 400= 0.5 Hz,T = 1 / R = 1 / 0.5 = 2 sec,dF = 11 – 10 = 1 Hz,R = 0.5 Hz = dF/2 = 0.5 Hz,所以可以分辨。因為,滿足了條件:R ≤ dF/2。
觀察以此FFT設定,得到的「頻譜」,可以確實、明確地、分離出在𝑭 = 10 Hz,𝑭 = 11 Hz,有兩個峰值(peak),中間在𝑭 = 10.5 Hz,是0。可以改善LOR= 200條,無法分辨、分離出兩個峰值(peak)的不足。
最後,也看一下圖片左下方圖示的另一個例子,當,𝑭1 = 10 Hz,𝑭2 = 12 Hz,其合成信號的「時間波形」特徵,也有Beating「拍振/拍擊/重擊」現象。使用Fmax=200 Hz & LOR=
200條,卻是可以成功的分離出兩個峰值(peak)?
因為,dF = 12 – 10 = 2 Hz,R = Fmax / LOR = 200 / 200 = 1 Hz,所以,R
= 1
Hz= dF/2
= 1
Hz,這是滿足了條件:R ≤ dF/2。因此,可以有效的分離出兩個峰值(peak)。
綜合一下這個單元的討論,兩個Sine波合成Beating「拍振/拍擊/重擊」信號,如何設定FFT參數,取得正確的「頻譜」(spectrum)?總結如下:
1. 複習討論了:FFT之【ISOC】分析的系統方塊圖(system block diagram),包括:Input輸入、System系統、Output輸出、Control控制。以瞭解如何取得「頻譜」(spectrum)。
2. 回顧了Beating「拍振/拍擊/重擊」的「時間波形」(time waveform)特徵,可以辨識Tb「拍振週期」(Beating period)以及Fb= 1/Tb「拍振頻率」(Beating frequency)。由「頻譜」可以辨識兩個相近頻率的dF頻率差。進而驗證Fb= dF。可以透過「時間波形」以及「頻譜」特徵,進行交叉比對、確認是否有Beating的現象!
3. 針對有Beating現象的「時間波形」,在「頻譜」,要有效的分離出兩個峰值(peak),FFT參數設定,必需:R ≤ dF/2。其中,R = Fmax / LOR。
4. 兩個對比案例,相同的Beating「時間波形」,𝑭 = 10 Hz,𝑭 = 11 Hz,dF =
11 – 10 = 1
Hz。(1)當FFT參數:Fmax=200 Hz & LOR= 200條,R
= 1
Hz > dF/2
= 0.5
Hz,所以無法分辨。(2)當FFT參數:Fmax=200 Hz & LOR=400條,R
= 0.5 Hz = dF/2 = 0.5 Hz,所以可以分辨。因為,滿足了條件:R ≤ dF/2。
以上個人看法,請多指教!
王栢村
2025.12.30






0 意見:
張貼留言