如何提高示波器頻域分析的能力?
了解了“為什么示波器沒有取代頻譜儀”的原因,那么有沒有辦法讓示波器在頻域分析上變得更強大、更實用些呢?下面就分別介紹幾種目前示波器里常用的方法。
濾波
頻譜儀通過各種模擬/數字濾波器將系統帶寬限制在一個較窄的范圍內從而提高信噪比,同樣的思路當然也可以用于示波器。然而如果在示波器的模擬通道上人為引入一些模擬濾波器不但會增加成本,而且與示波器追求高帶寬的初衷相違背。為了解決這一矛盾,可以在數字域進行濾波。當已知信號中心頻率和帶寬時,可以先將ADC采樣后的數字信號下變頻到基帶(數字下變頻DDC),然后通過數字濾波器濾除帶外噪聲。這時再進行FFT得到的頻譜圖底噪就會降低。
Overlap FFT
示波器頻譜分析功能的初期做法就是將采集到的數字信號進行FFT后顯示在屏幕上。這種簡單粗暴的做法會導致下面一些問題。
首先,對于數字信號來說,離散傅里葉變換(DFT)是時域信號和頻域信號連接的紐帶。所謂DFT,就是將數字信號進行周期延拓后計算這個周期信號的離散傅里葉系數(DFS),而FFT只是一種計算DFS的快速算法。在這個過程中周期延拓有可能引入信號的不連續,從而導致產生新的頻譜分量(頻譜泄露)。如圖1所示。

其次,FFT作為一種快速算法,要求樣點個數滿足2的冪次。同時,由于硬件實現時的資源限制,其FFT點數又不能太大,例如通常會采用2048點的FFT。然而示波器一次采集的樣點數往往遠大于FFT點數,處理這個問題有兩種方式,1.不用FFT,直接計算DFT,顯然這樣會增加計算負擔,導致響應速度、刷新率降低。2. 將較長的采集信號分成若干個2048點的小段,每段分別計算FFT。注意到第二種方式雖然計算量降低了,但仍然存在頻譜泄露的問題。
為了解決這個問題,我們人為的將每個小段邊緣的信號進行衰減,即加窗。這樣信號周期延拓后就沒有不連續問題了,頻譜泄露問題得到了改善,如圖2所示。

然而問題到此并沒有完全解決,加窗就是給時域信號乘以一個窗函數,信號與系統理論告訴我們:時域的相乘就是頻域的卷積。而窗函數的頻譜顯然不是一個Delta函數,卷積后原信號的頻譜產生了彌散,因此窗函數的引入降低了頻域的分辨率。人們又根據各種不同的準則設計出不同的窗函數,如圖3所示。不同的窗函數其頻域特征并不相同,有的關注于如何降低旁瓣電平(提高幅度分辨率,即讓信號在噪聲中浮出水面),有的關注于最小化主瓣寬度(提高頻率分辨率,即讓兩個頻域相鄰信號在頻域上分辨出來)。帕斯瓦爾定理說明時域或頻域的能量是守恒的,要么把底噪壓低些主瓣就變胖點,要么把主瓣擠瘦點底噪就抬高些。總之,魚和熊掌不可兼得,表1提供了一些常用的窗函數供大家使用時參考。


另外,對于時變信號,這種分段FFT的做法還可以帶來另一個問題:有些瞬時出現的信號,很可能因為窗函數的引入而被衰減掉,無法在頻域看到。解決方法也相當直觀和有效,讓每一段FFT之間有一段重疊(overlap FFT)。如圖4所示。當然,這樣做的代價是采樣點被重復計算了,總的運算量增加了。

這里值得注意的是,不論加何種窗函數,是否overlap,分段FFT的方式相比直接計算DFT方式都會帶來一個共同的問題:頻率分辨率(RBW)降低。頻域分辨率=采樣率/DFT點數,分段計算減少了DFT點數,因此頻域分辨率變差。
其實分段FFT的方式實際上就是時頻分析中的短時傅里葉變換(STFT)。從這個角度講,示波器還可以將時間軸引入畫出一張頻譜隨時間變化而變化的時譜圖。例如圖5所示,通過觀察時頻域上的異常或許會更快的幫助我們找到問題之所在。當然,這種變換不僅限于STFT,還有Gabor變換等各種變換,就像窗函數一樣滿足不同的設計準則。此外,通過時頻譜分析對于某些特定的調制信號,例如FSK、OFDM等,還可以設定特定的時頻域觸發條件(比如在時頻譜上按時間依次畫出f1,f2,f1,f3這樣一個模板,當滿足模板的pattern出現時示波器觸發)。將現有一些示波器的頻域觸發功能擴展到時頻域觸發,這個功能在一些基帶信號的調試過程中將起到很大幫助。

推薦查看:
版權聲明:本資料屬于北京海洋興業科技股份有限公司所有,如需轉載,請注明出處!



