快速傅立葉轉換(Fast Fourier Transform,FFT)是1970年代微處理器進入商業設計時首次出現的,從昂貴的實驗室型號到最便宜的業餘型號,現在幾乎每一台示波器都能提供FFT分析功能。FFT是一種功能強大的工具,高效使用FFT要求人們對FFT有一定的研究。本文將介紹如何設定並有效率地使用FFT;而其技術原理這裡不再贅述。

眾所周知,FFT是一種能夠縮短離散傅立葉轉換(Discrete Fourier Transform,DFT)計算時間的演算法,也是一種用於在頻域(frequency domain,振幅和相位與頻率的關係)中查看所擷取的時域(time domain,振幅與時間)資料的分析工具;FFT為數位示波器增加了頻域分析功能。

觀察圖1中的上半部分曲線,你看到的是一個經過振幅調變的載波,它使用梯形脈衝做為調變函數。在看圖1中的時域圖時,如果讓你告訴我訊號的頻寬,你可能一時無法回答;但如果你對這個訊號進行FFT處理,就能得到另外一個視角。這個訊號有一個線性掃描的頻率,頻寬是4.7MHz;這正是FFT為示波器增添的功能,能提供另一個看相同資料的角度。

20161207TA01P1
圖1 上面的時域圖顯示了脈衝調變的射頻載波,下方的頻域圖顯示了在997MHz和1002MHz之間均勻分佈的載頻。



FFT頻率跨距和解析頻寬

你應該在學校的電路課程裡學過,週期訊號(periodic signal)的頻率(即頻域)是週期(即時域)的倒數;同樣的關係式會在整個FFT設定過程中出現。

設定FFT最好從選擇解析頻寬(resolution bandwidth,RBW)開始,因為它與單參調整(single setting)有關;RBW(Δf)是顯示FFT頻率軸的遞增步驟。在時域中,採樣週期決定了樣本之間的時間分隔;而在頻域中,RBW是頻譜圖中相鄰「單元(cell)」之間的頻率差值。RBW是時域記錄長度——也稱為擷取時間(capture time)的倒數,如圖2所示。

20161207TA01P2
圖2 頻譜的解析度頻寬是時域記錄長度或擷取時間的倒數。



你可以用示波器的水平刻度或時間/間格(time/division)參數設定來控制RBW。圖1中的擷取時間是20μs,頻譜圖中的RBW是它的倒數,即50kHz。

設定FFT的下一步是確定頻域圖(frequency-domain view)跨距——也就是FFT中最高頻率和最低頻率之間的差異;注意,FFT通常從0Hz開始,一直到整個頻率跨距;這與射頻(RF)頻譜分析儀有很大的區別,容後解釋。

FFT的頻率跨距是示波器有效取樣速率的一半(圖3)。時域中的最短間增量──即採樣週期──決定了域中的最大部份;同樣的,頻域中的最小增量是時間記錄中最長持續時間的函數,這符合時域和頻域之間的倒數關係。

20161207TA01P3
圖3 頻譜寬度是示波器有效取樣速率的一半。



為了在頻域中取得更高的解析度,必須增加擷取的資料量,方法是增加時間/分隔設定值;這與在示波頻譜器時域圖中增加時間解析度的做法剛好相反。

從實用的角度看,時域紀錄的長度是由示波器的時間/間格參數值控制的;一旦你選擇了時間/間格參數值來達到想要的解析度頻寬,那麼控制取樣速率達到所需頻率跨距的唯一方法,是修改示波器的擷取記憶體長度。現在事情似乎變得比較複雜,而確實也是如此。

近來大多數高階示波器製造商都修改了FFT使用者介面,使它更類似於標準的射頻頻譜分析儀,設定中心頻率和頻率跨距時將解析度頻寬作為一個參數。雖然這類介面使得FFT使時用起來更容易,但確實隱藏了FFT的基本功能,導致必須接受示波器設定的時間/間格、取樣速率和記憶體長度組合。根據這部分討論的一些規則,你可以手工設定FFT,並在設定中獲得更多的自由度。

垂直縮放

根據示波器的不同,FFT也許可以選擇垂直刻度,也許只能是固定的單一垂直格式。最常見的垂直格式是功率頻譜(power spectrum),它以功率為單位顯示垂直振幅,常用相對於1毫瓦(mW)的分貝(dBm)來表示,並在對數垂直刻度上顯示。

這種選擇也是射頻頻譜分析儀功能的保留;實驗室等級示波器可以提供更多的資料,包括功率頻譜密度(power spectral density,PSD)、線性強度(linear magnitude)、幅值平方(magnitude squared)、相位或實數/虛數分量(real/imaginary components)。

PSD是正規化為FFT解析度頻寬的功率頻譜值,其測量單位為dBm/Hz,代表單位頻寬上的功率。PSD在測量寬頻現象(如雜訊)時非常有用。幅值格式(magnitude format)以線性單位顯示示波器測量頻譜幅度,如伏特(V)或安培(A)。

幅值平方顯示顧名思義是以幅度的平方值顯示頻譜振幅,單位可以是 V2、A2等等,並且在正規化為儀器輸入阻抗(通常是50Ω)時,為功率測量提供線性縮放。正規化(Normalization)是利用示波器的再縮放(rescale)函數實現的,它允許乘以一個常數。以 50Ω來說,幅值平方乘以0.02(即1/50),即對於50Ω輸入阻抗而言將單位改為瓦(V2/50)。

從數學的角度來看,FFT頻譜是一個複雜函數,幅值的顯示只是全貌的一半;FFT輸出由實數和虛數部分組成,一些示波器可以同時顯示這兩部分。作為實數分量和虛數分量的替代,許多示波器顯示FFT相位和幅值,這兩個成對的輸出格式(實數/虛數和幅值/相位)構成了完整的FFT。

實數/虛數分量是計算反向FFT時所需,在例如振動測量(vibration measurement)等機械應用中更常見;幅值/相位格式在電氣測量中也常見到。圖4顯示了一個方波的功率頻譜幅值/相位和實數/虛數分量的例子。

20161207TA01P4
圖4 一個方波的FFT的功率頻譜幅值、相位、實數和虛數分量。



相位頻譜(phase spectrum)使用垂直刻度,實數和虛數格式使用與源通道(source channel)相同的垂直單位,在本例中是mV。對於類似這種方波的週期性波形,相位、實數和虛數格式只在基頻和諧波頻率具備有效值。

加權函數

示波器中實現的FFT記錄長度有限,這將在頻譜顯示中引起問題,主要是取得之波形起點和終點的連續性問題。圖5顯示了起點和終點如何影響頻譜形狀。

20161207TA01P5
圖5 起點和終點的邊界條件將影響訊號經FFT處理之後的頻譜形狀。



圖5的上方兩個波形中,所擷取的訊號頻率是取樣速率的因數,獲取的波形中存在整數的週期性,起點和終點處於相同的振幅,結果生成的頻譜非常窄;下方兩個波形中,所擷取的訊號的頻率不是採樣速率的因數(sub-multiple),起點和終點位於不同的電平。

這將導致時間記錄的不連續性,生成的頻譜變得更寬,峰值電平更低,原因是頻譜擴展(spectral spreading),也稱為洩漏效應(leakage),即擷取訊號的能量被擴展到了相鄰頻率單元。更低的、與頻率有關的峰值回應被稱為「柵欄效應(picket fence)」或扇形損耗(scallop loss)。加權(Weighting,或稱Windowing)有助於將這些效應減至最低。

加權是將獲取的波形乘以一個窗函數(window function),透過調變將端點變為零;窗函數的形狀決定了頻譜響應(spectral response),包括頻譜線的形狀和任何邊帶(sidebands)的振幅。常用之加權函數的特徵如表1所示。

20161207TA01P5-1
表1 常見FFT加權(窗)函數的特徵。



表1總結了對每種窗函數最大限度減小側瓣(sidelobes)和扇形損耗的能力。圖6則顯示了在相同輸入訊號條件下窗函數對頻譜線的影響。

20161207TA01P6
圖6 圖中顯示了在相同輸入訊號條件下,不同加權函數對頻譜響應的影響。



頻譜線變寬可以減少扇形損耗,這是有意義的,因為相鄰單元中的訊號會在更高振幅點重疊,以獲得更寬的響應,並將扇形損耗減至最小。

窗函數的選擇取決於具體需求;如果你要量測比擷取窗(acquisition window)小的瞬變(transient),那麼不要使用窗函數,因為頻譜峰值的振幅將根據擷取窗中的瞬變位置而改變;在這種情況下,矩形窗(rectangular window,無加權)是最好的選擇,越窄的窗響應可以提供越好的頻率解析度和更寬的響應——Blackman Harris窗或平頂(Flat Top)窗——產生更為精確的振幅測量結果。如果你要兩者兼顧,一個好的折衷方案是Von Hann或Hamming窗。

頻域平均

平均(averaging)的功能可以用來改善擷取訊號的訊號雜訊比(SNR),並且通常要求多次擷取。平均可以在時域內完成,也可以在頻域內完成;與觸發事件不同步的訊號,例如雜訊,將與平均次數呈正比衰減。圖7是頻域平均的一個例子。

20161207TA01P7
圖7 頻域平均可以改善SNR,並提供更大的動態測量範圍。包含雜訊的訊號FFT在經過許多次擷取的平均後可以消除雜訊,從而看到更低電平的諧波。



頻域中的平均是將多次擷取的每個頻率單元的內容加總,然後除以擷取次數來實現的。那些與擷取不同步的訊號將被平均為零,而同步訊號則連續累加。在圖7中,內含雜訊之訊號的FFT包括頻譜被擴展的雜訊分量,這些雜訊隱藏了低電平的諧波;平均有助於提高SNR、降低雜訊,使得諧波分量可見。以同樣的方式,那些與擷取不同步的訊號振幅也將 降低。

設定實例

試想需要在一個4GHz頻寬示波器上設定FFT,其頻率跨距是10MHz,中心頻率是2.48GHz,解析頻寬為10kHz,用於分析一個連續的週期性訊號。根據上述討論,只需簡單地設定示波器的時間/間格參數就能完成解析頻寬的設定。10kHz的解析頻寬要求擷取或捕獲時間為100μs,或者時間/間格參數設為每分隔10μs;還應設定示波器的垂直靈敏度(電壓/間格),以便訊號佔據至少90%的輸入範圍,儘量提高其動態範圍。

FFT的頻率跨距由取樣速率控制;由於這個跨距必須包含2.48GHz訊號頻率,因此必須大於這個頻率的兩倍。5GHz或更高的頻率應該沒問題。示波器的最大取樣速率是20GS/s。利用示波器的時基(timebase)設定來調整擷取記憶體長度,可以獲得想要的取樣速率。在本例使用的示波器中,將記憶體長度設為1MS,可以實現10GS/s的取樣速率和100μs的擷取時間。詳細的FFT設定見圖8。

20161207TA01P8
圖8 本案例使用的主要FFT參數設定。



數學函數F1的FFT欄位包含一些主要的FFT設定,並被設定為顯示功率頻譜。由於訊號被顯示為連續的,因此加權函數類型可以選擇Von Hann窗,它可以在頻率解析度和振幅平坦度之間提供良好折衷。FFT欄位顯示的解析度頻寬(Δf)為10kHz,寬度為5GHz。縮放(zoom)欄位可以讓你將中心頻率設為2.48GHz,水準刻度設為1MHz/間隔,如圖8中的F1軌跡所示。

小結

本文討論了一些重要的FFT特性,解釋了如何利用這些特性設定FFT以實現有效率的分析;下次你需要於示波器中使用FFT功能時必可派上用場!