了解 FFT 與分窗

綜覽

了解時域和頻域、快速傅立葉轉換 (FFT) 與分窗,以及如何運用於加強對訊號的了解。

內容

了解域、與 FFT

傅立葉轉換有助於了解常見的訊號,也有助於針對訊號錯誤進行疑難排解。傅立葉轉換雖是複雜的數學函式,但並非複雜難以理解的概念,而且與訊號量測結果息息相關。基本上,傅利葉轉換是接收訊號,再將訊號拆解成不同振幅與頻率的正弦波。接下來進一步探究這是什麼意思,以及傅立葉轉換的實用價值。 

所有訊號都是正弦總和

查看實際訊號時,通常會將訊號視為隨時間經過而變化的電壓。這就是時域 (Time Domain)。傅立葉定理說明,時域中的任何波形皆能以正弦和餘弦的加權總和表示。舉例來說,假設有兩個正弦波,其中一個的速度比另一個快三倍 (或者說第一個訊號的頻率是 1/3)。若將兩者相加,會產生一個不同的訊號。

圖 1:將兩個訊號相加會產生一個新的訊號。 

現在假設第二個波的振幅也是 1/3。這次受影響的只有峰值。

圖 2:訊號相加時調整振幅會影響峰值。

假設再加第三個訊號,這個訊號的振幅與頻率都是原始訊號的 1/5。若以此類推,繼續操作至達到雜訊底層為止,就能看出最終波形。

圖 3:方波是正弦波的總和。

您現在建立了一個方波。這種方式就能以連續的正弦波表示時域中的所有訊號。

可以用這種方式建構訊號確實很不錯,但您到底為什麼要在意呢?原因在於,如果能使用正弦建立訊號,也就可以將訊號解構為正弦。解構訊號後,才能查看並分析存在於原始訊號中的不同頻率。接下來看幾個範例,證明能解構訊號確實非常有用:

  • 若是解構無線電波,可以選擇想要收聽的特定頻率或工作站。
  • 如果將音波解構成不同的頻率,例如低音和高音,就能改變音調或頻率,以強化特定聲音的方式消除不需要的雜訊。
  • 如果解構不同速度與強度的地震振動,則能規劃出最好的建築設計,避免最強的振動。
  • 如果解構電腦資料,可以忽略最不重要的頻率,從而在記憶體中以更緊密的方式呈現,又稱為檔案壓縮。

使用 FFT 解訊號

傅立葉轉換 (Fourier transform) 會將訊號的時域呈現解構為頻域呈現。頻域會顯示在不同頻率下呈現的電壓。這是同一個訊號的不同呈現方式。 

示波器會進行波形取樣再將樣本轉換成離散值。由於進行了這樣的轉換,傅立葉轉換不適用於這項資料。因此會改用離散傅立葉轉換 (DFT),轉換結果會以離散值或頻段的形式呈現頻域成分。快速傅立葉 (FFT) 是經最佳化處理過的 DFT,需執行的運算較少,但本質上只能解構訊號。

請注意上方圖 1 中的訊號。圖中有兩個在不同頻率的訊號;在這種情況下,訊號在頻域中會出現兩個尖波,位置分別在一開始構成訊號之正弦的兩個頻率中。

圖 4:兩個等振幅的正弦波相加時,會在頻域中產生兩個尖波。

垂直軸代表原始訊號的振幅。上方圖 2 中的訊號有兩個振幅不一樣的不同訊號,其中最明顯的尖波對應於最高電壓正弦訊號的頻率。看看時域中的訊號就能知道出現最大電壓訊號時的頻率,從而掌握原始訊號。

圖 5:最高尖波就是最大振幅的頻率。

查看頻域中的訊號形狀也很有幫助。比方說,我們可以看看頻域中的方波。我們使用許多不同頻率的正弦波建立了方波,您會認為頻域中的訊號出現許多尖波:每增加一個訊號就有一個尖波。如果看見頻域中出現良好的陡坡,就表示原始訊號是方波。

圖 6:正弦波的頻域看起來像陡坡。

那麼,實際情況會是如何?許多混合訊號示波器 (MSO) 都有 FFT 功能。下圖是方波的 FFT 在混合訊號圖表中呈現的方式。把圖放大就能確實看到頻域中的每個尖波。

圖 7:A 顯示原始正弦波及其對應 FFT,B 則是 FFT 的放大部分,可以看見每一個尖波。

查看頻域中的訊號有助於進行訊號的驗證與除錯。舉例來說,假設您的電路應該會輸出正弦波。下方圖 8 會顯示時域中示波器的輸出訊號。看起來很好!

圖 8:兩個波形非常相似,如果將這兩個波形相加,就會像是完美的正弦波。

不過,查看在頻域中的訊號時,由於您認為只會在一個頻率輸出一個訊號正弦波,因此您會預期只有一個尖波。不過,您可以看見頻率更高的位置有一個較小的尖波;這也就是說,正弦波並沒有您想像得那麼好。您可以使用這個電路排除導致在該特定頻率加入雜訊的原因。頻域非常適合用於顯示時域中的乾淨訊號實際上是否包含串音、雜訊或抖動。

圖 9:看看圖 8 中看似完美的正弦波,就能發現這裡其實出現了短暫的干擾。

 

分窗

雖然對訊號執行 FFT 能提供非常精闢的分析,但仍須了解 FFT 的限制,以及如何使用分窗提高訊號清晰度。

什麼分窗

使用 FFT 量測訊號的頻率成分時,就是根據一組有限的資料進行分析。實際的 FFT 轉換會假設是一組有限的資料,也就是一個連續頻譜 (定期訊號中的某一段期間)。就 FFT 而言,時域與頻域均為循環拓撲,因此判讀時會將時間波形的兩個端點視為彼此相連。受測訊號是定期訊號,且整數期間會填滿擷取時間間隔時,由於 FFT 符合這項假設,因此不會受到任何影響。

量測整數期間 (A) 會得到理想的 FFT (B)

圖 10:量測整數期間 (A) 會得到理想的 FFT (B)。

然而,受測訊號的期間往往並非整數。因此,有限的量測訊號可能會導致出現截斷的波形,這個波形的特性可能不同於原始的連續時間訊號,且其有限特性可能會導致受測訊號出現急遽的轉換變化。這種急遽轉換不具連續性。

擷取中的期間數若不是整數,端點就不具連續性。這些人為的不連續性會出現在 FFT 中,是原始訊號中不存在的高頻成分。這些頻率可能會比奈奎斯特頻率高很多,而且會在 0 與取樣率的一半之間產生混疊。因此,使用 FFT 得到的頻譜並非原始訊號的實際頻譜,而是拖尾頻譜。看起來就像某個頻率的能量流失到了其他頻率。這個現象稱為頻譜流失,會導致較細的頻譜線擴散至較寬的訊號。

量測非整數期間 (A) 會導致 FFT 增加頻譜流失 (B)

圖 11:量測非整數期間 (A) 會導致 FFT 增加頻譜流失 (B)。 

您可以運用分窗技術盡可能降低在非整數週期內執行 FFT 的影響。分窗會降低示波器所擷取之每個有限序列邊緣的不連續振幅。分窗就是將時間記錄乘以長度有限的窗,其振幅會發生平穩的變化,並逐漸接近邊緣的零。如此一來,波形的端點就會交集,因而產生沒有急遽轉換的連續波形。這種技巧又稱為套用窗

圖 12:套用窗可以將頻譜流失造成的影響降到最低。

函式

可以套用的分窗函式分為數種類型,因訊號而異。要了解特定分窗函式對頻譜的影響,就需深入了解分窗函式的頻率特性。 

以實際的窗圖為例,分窗函式的頻率特性是連續頻譜,有一個主瓣與數個旁瓣。主瓣集中在時域訊號的每個頻率成分,而旁瓣則接近 0。旁瓣的高度代表分窗對主瓣週圍頻率造成的影響。強正弦訊號的旁辦回應可能會超過鄰近弱正弦訊號的主辦回應。較低的旁瓣通常會減少受測 FFT 的流失,但會增加主瓣的頻寬。旁瓣滾降率是指旁瓣峰的漸近衰減率。提高旁瓣滾降率就能減少頻譜流失。

選擇分窗函式並不容易。每個分窗函式各有其特性,且分別適用於不同的用途。要選擇分窗函式,就必須評估訊號的頻率內容。

  • 如果訊號包含遠離目標頻率的強干擾頻率成分,請選擇旁瓣滾降率較高的平滑窗。
  • 若訊號包含接近相關頻率的牆干擾訊號,請選擇最大旁辦準位較低的分窗函式。
  • 如果相關頻率含兩個或兩個以上彼此非常接近的訊號,頻譜解析度就很重要。在這種情況下,最好選擇主瓣非常窄的平滑窗。
  • 若單一頻率成分的振幅準確度比該成分在指定頻段中的確切位置更重要,請選擇主辦較寬的分窗函式。
  • 如果訊號頻譜的頻率內容相當平,或者是寬頻,請使用均勻分窗函式,或是不使用分窗函式。
  • 一般來說,在 95% 的情況下,漢寧窗 (翰氏窗) 就夠了。漢明窗的頻率解析度良好,頻譜流失較少。如果您不了解訊號的本質,但想套用平滑窗,請從翰式窗開始。

即使不使用分窗函式,也會使用高度一致的矩形窗卷積處理訊號,因為它會在輸入訊號時擷取快照並處理離散訊號。這種卷積運算的頻譜會有正弦函式的特性。因此,無窗通常稱為均勻窗或矩形窗,原因是分窗效應還在。

漢明窗與翰式分窗函式都屬於正弦波形。這兩個分窗函式都會產生峰值寬但旁峰低的現象。不過,翰式窗會在兩端達到零,消除所有不連續性。漢明窗不會達到零,因此訊號仍會有些許不連續性。由於這樣的差異,漢明窗消除最近旁辦的成效最好,但消除其他任何旁辦的成效則較差。有些雜訊量測作業需要優於其他窗的頻率解析度,即使出現些許旁辦也不成問題,這類量測非常適合使用這些分窗函式。

圖 13:漢明窗與翰式窗會使峰值較寬,但會產生不錯的低旁辦。

Blackman-Harris 窗與漢明窗及翰式窗相似。結果產生的頻譜峰值較寬,但旁辦壓縮成效較佳。這個分窗函式分為兩種主要類型。4 項式 Blackman-Harris 是很好的通用分窗函式,在高 90s dB 會產生旁瓣抑制與寬度適中的主瓣。7 項式 Blackman-Harris 分窗函式有您會需要的所有動態範圍,但其主瓣較寬。

圖 14:Blackman-Harris 會產生較寬的峰值,但旁瓣壓縮效果極佳。 

凱澤窗會在振幅準確度、旁瓣距離和旁瓣高度等各種相互衝突的目標之間取得平衡。這個分窗函式與 BlackmanHarris 分窗函式大致相同,但在主瓣寬度相同的情況下,近端的旁瓣往往偏高,而遠端的旁瓣則較低。選擇這個分窗函式通常表示訊號接近雜訊底層。

平頂視窗也是正弦波,但實際上會與零線相交。如此一來,頻域中的峰值就會更寬,而且會比其他分窗函式更接近訊號的實際振幅。 

平頂視窗會產生較準確的振幅資訊

圖 15:平頂視窗會產生較準確的振幅資訊。 

這些只是其中少數可行的分窗函式。選擇分窗函式並沒有通用的方法。不過,下表能協助您進行初步選擇。請務必比較不同分窗函式的效能,根據用途找出最適合的一種。

 

訊號內容分窗函式
正弦波或正弦波的組合翰氏
正弦波 (振幅準確度很重要)平頂
窄頻隨機訊號 (振動資料)翰氏
寬頻隨機 (白噪音)均勻
密集的正弦波均勻、漢明
激發訊號 (錘擊)力窗
回應訊號指數
不明內容翰氏
正弦波或正弦波的組合翰氏
正弦波 (振幅準確度很重要)平頂
窄頻隨機訊號 (振動資料)翰氏
寬頻隨機 (白噪音)均勻
頻率相近但振幅大不相同的兩個音調Kaiser-Bessel
頻率相近且振幅幾乎相同的兩個音調均勻
準確的單音調振幅量測值平頂

摘要

  • 時域中的所有訊號都能以一系列正弦表示。
  • FFT 轉換會將訊號的時域呈現解構成頻域呈現,用於分析訊號中的不同頻率。
  • 頻域非常適合用於顯示時域中的乾淨訊號實際上是否包含串音、雜訊或抖動。
  • 頻譜流失是由訊號中原始非整數週期數的不連續性所造成,且可使用分窗進行改善。
  • 分窗會降低示波器所擷取之每個有限序列邊緣的不連續振幅。
  • 無窗通常會稱為均勻窗或矩形窗,因為仍然會有分窗效應。
  • 一般來說,在 95% 的情況下,漢寧窗就夠了。漢明窗的頻率解析度良好,頻譜流失較少。
  • 您應該比較不同分窗函式的效能,以利根據用途找出最適合的分窗函式。

後續步驟