FFT的前世今生(二)
圖2 捕獲100ns的信號,頻率分辨率是10MHz
圖中的正弦波頻率為500MHz,時基設置為10ns/div,采樣率為20GS/s,時域采樣點數(shù)為2000points,使用Power2算法截取2000點中的1024點(210),如圖中的藍框所示(注意是從信號的中間部分截取),因此截取的時間窗口為1024×20ps=51.2ns,是500MHz信號的25.6個周期,由于截取的周期非整數(shù)倍,不可避免會產(chǎn)生頻譜泄露,如圖中FFT的旁瓣所示,此時的頻率分辨率可以達到19.35125MHz。
如果采用另外一種FFT算法LeastPrime,可以將整個示波器時域采集的采樣點進行FFT運算,LeastPrime算法計算的FFT點數(shù)規(guī)模是2N+5K,因此2000點=24+53,不需要截取原始數(shù)據(jù)就可以運算,但是代價是計算的速度可能會慢一些(盡管我們可能覺察不到),頻率分辨率可以提高到10MHz。
使用Power2算法也可以不采用截取原始波形的方式,此時我們可以選擇Zero Fill(補零)的方式,增加采樣點數(shù)。比如,在2000點中補48個點,2048=211,如圖3所示:
圖3 補零的放出提高頻率分辨率
這48個點補的方式是頭尾各補一半,但是有可能補的不是0,頭24個點與第一個采樣點值相同,尾24個點與最后一個采樣點值相同(所以稱之為Zero Fill是不完全準確的)。這里我們推薦Zero Fill的方法只在分析沖擊信號FFT頻譜的情況下使用。
補零法雖然能增加頻譜圖的視在分辨率,但是由于補的都是無效數(shù)據(jù),所以對于頻率分辨率真正的改善沒有幫助,但是補零有它的好處:1.補零后,其實是對FFT結(jié)果做了插值,克服“柵欄”效應,使譜外觀平滑化;我把“柵欄”效應形象理解為,就像站在柵欄旁邊透過柵欄看外面風景,肯定有被柵欄擋住比較多風景,此時就可能漏掉較大頻域分量,但是補零以后,相當于你站遠了,改變了柵欄密度,風景就看的越來越清楚了。2.由于對時域數(shù)據(jù)的截短必然造成頻譜泄露,因此在頻譜中可能出現(xiàn)難以辨認的譜峰,補零在一定程度上能消除這種現(xiàn)象。
除此之外,很多人都有這樣的誤區(qū):認為通過增加待分析的計算點數(shù)而不是增加采樣時間就可以使FFT之后的頻譜更加“精細”(頻率分辨率更高)。這樣的誤解一般來自于示波器的用戶,因為當示波器采樣點比較少時,F(xiàn)FT的計算出來的頻譜圖也會很少,頻譜看起來非常粗糙。這時工程師會非常有沖動把時域的采樣點增多(用示波器上的插值算法很容易實現(xiàn)),但是如果采集信號的時間長度是不變的,工程師會發(fā)現(xiàn)FFT計算之后的頻譜并沒有顯得更加“精細”,頻率分辨率并沒有任何改善。實際上使用插值或者增加采樣率的方式僅僅是展寬了FFT之后的頻譜帶寬。如下圖4所示,
圖4 插值方式并不能改變頻率分辨率
左上方使用了較少的時域采樣點C1,右上方使用了較高的采樣率C2,但是采樣時間是相同的。左下是對C1進行FFT之后的頻譜F1,右中是對C2進行FFT之后的頻譜F2,右下是對F2相同頻段進行了放大??梢钥吹紽2比F1的頻寬增加了,但是對F1頻段放大之后的頻譜和F1一樣,沒有任何頻率分辨率的改善。
由此我們可以得出結(jié)論,對C1進行插值后,額外的采樣點僅僅存在于較高頻段,會展寬頻譜的帶寬,但是插值方式對于增加我們感興趣頻段的頻譜分辨率沒有任何幫助。
那么如果我們只對對FFT之后的頻譜進行插值效果如何呢?如下圖5所示:
圖5 頻域插值方式是頻譜圖看起來更密
圖中展示了對頻域插值之后的效果,并沒有使頻譜看起來更“窄”(畢竟插值出來的點都是假點),但是我們注意到,頻域插值可以使頻譜的測量更加精確。圖中正弦波的頻率是955MHz,插值之后頻譜的Peak頻率讀數(shù)P2是955MHz,插值之前P1的讀數(shù)為952MHz。
總之,F(xiàn)FT是進行信號頻域分析的最廣泛使用的標準化方法,也是現(xiàn)代數(shù)字示波器中標配的數(shù)學運算函數(shù),我們更多了解FFT應用的細節(jié),能更加有效地利用好這個工具,從FFT中得到更多有價值的信息。
評論