新闻中心

EEPW首页>测试测量>设计应用> FFT的前世今生(二)

FFT的前世今生(二)

作者: 时间:2013-03-04 来源:网络 收藏

图2 捕获100ns的信号,频率分辨率是10MHz

图中的正弦波频率为500MHz,时基设置为10ns/div,采样率为20GS/s,时域采样点数为2000points,使用Power2算法截取2000点中的1024点(210),如图中的蓝框所示(注意是从信号的中间部分截取),因此截取的时间窗口为1024×20ps=51.2ns,是500MHz信号的25.6个周期,由于截取的周期非整数倍,不可避免会产生频谱泄露,如图中的旁瓣所示,此时的频率分辨率可以达到19.35125MHz。

如果采用另外一种算法LeastPrime,可以将整个示波器时域采集的采样点进行运算,LeastPrime算法计算的FFT点数规模是2N+5K,因此2000点=24+53,不需要截取原始数据就可以运算,但是代价是计算的速度可能会慢一些(尽管我们可能觉察不到),频率分辨率可以提高到10MHz。

使用Power2算法也可以不采用截取原始波形的方式,此时我们可以选择Zero Fill(补零)的方式,增加采样点数。比如,在2000点中补48个点,2048=211,如图3所示:

4.jpg

图3 补零的放出提高频率分辨率

这48个点补的方式是头尾各补一半,但是有可能补的不是0,头24个点与第一个采样点值相同,尾24个点与最后一个采样点值相同(所以称之为Zero Fill是不完全准确的)。这里我们推荐Zero Fill的方法只在分析冲击信号FFT频谱的情况下使用。

补零法虽然能增加频谱图的视在分辨率,但是由于补的都是无效数据,所以对于频率分辨率真正的改善没有帮助,但是补零有它的好处:1.补零后,其实是对FFT结果做了插值,克服“栅栏”效应,使谱外观平滑化;我把“栅栏”效应形象理解为,就像站在栅栏旁边透过栅栏看外面风景,肯定有被栅栏挡住比较多风景,此时就可能漏掉较大频域分量,但是补零以后,相当于你站远了,改变了栅栏密度,风景就看的越来越清楚了。2.由于对时域数据的截短必然造成频谱泄露,因此在频谱中可能出现难以辨认的谱峰,补零在一定程度上能消除这种现象。

除此之外,很多人都有这样的误区:认为通过增加待分析的计算点数而不是增加采样时间就可以使FFT之后的频谱更加“精细”(频率分辨率更高)。这样的误解一般来自于示波器的用户,因为当示波器采样点比较少时,FFT的计算出来的频谱图也会很少,频谱看起来非常粗糙。这时工程师会非常有冲动把时域的采样点增多(用示波器上的插值算法很容易实现),但是如果采集信号的时间长度是不变的,工程师会发现FFT计算之后的频谱并没有显得更加“精细”,频率分辨率并没有任何改善。实际上使用插值或者增加采样率的方式仅仅是展宽了FFT之后的频谱带宽。如下图4所示,

5.jpg

图4 插值方式并不能改变频率分辨率

左上方使用了较少的时域采样点C1,右上方使用了较高的采样率C2,但是采样时间是相同的。左下是对C1进行FFT之后的频谱F1,右中是对C2进行FFT之后的频谱F2,右下是对F2相同频段进行了放大。可以看到F2比F1的频宽增加了,但是对F1频段放大之后的频谱和F1一样,没有任何频率分辨率的改善。

由此我们可以得出结论,对C1进行插值后,额外的采样点仅仅存在于较高频段,会展宽频谱的带宽,但是插值方式对于增加我们感兴趣频段的频谱分辨率没有任何帮助。

那么如果我们只对对FFT之后的频谱进行插值效果如何呢?如下图5所示:

6.jpg

图5 频域插值方式是频谱图看起来更密

图中展示了对频域插值之后的效果,并没有使频谱看起来更“窄”(毕竟插值出来的点都是假点),但是我们注意到,频域插值可以使频谱的测量更加精确。图中正弦波的频率是955MHz,插值之后频谱的Peak频率读数P2是955MHz,插值之前P1的读数为952MHz。

总之,FFT是进行信号频域分析的最广泛使用的标准化方法,也是现代数字示波器中标配的数学运算函数,我们更多了解FFT应用的细节,能更加有效地利用好这个工具,从FFT中得到更多有价值的信息。


上一页 1 2 下一页

关键词:FFT

评论


相关推荐

技术专区

关闭