FFT的前世今生
請看下面的實例:
圖1中正弦波測試使用的時基是5ns/div,波形時間長度是50ns,計算FFT之后的頻譜分辨率是20MHz(1/50ns),
圖1 捕獲50ns的信號,頻率分辨率是20MHz
如果改變時基設(shè)置,頻譜分辨率會有變化。如圖2所示:將時基設(shè)置為10ns/div,波形長度是100ns,頻譜分辨率可以提高到10MHz。
對于通過補零的方法增加FFT頻譜的視在分辨率,力科的示波器也有相應(yīng)的解決方案。力科示波器使用了兩種非常常用的FFT算法供用戶選擇:Cooley-Tukey算法和LeastPrime算法。Cooley-Tukey算法也稱為Power2算法,它提供了計算機一種非??焖俚腇FT計算方式,計算的FFT點數(shù)規(guī)模是2的整數(shù)方次,因此它會在示波器時域采集的信號中截取2的N次方的整數(shù)來作為FFT計算的時域樣本,該截取的整數(shù)是最接近于采樣點的整數(shù)。如下圖2所示:
圖2 捕獲100ns的信號,頻率分辨率是10MHz
圖中的正弦波頻率為500MHz,時基設(shè)置為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 補零的放出提高頻率分辨率
評論