DFT泄漏 频谱泄漏 (FFT)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013608300/article/details/78704762

DFT泄漏(频谱泄漏)

作者:冰三点水

本贴简单介绍DFT泄漏的原理以及处理方法,转帖请尊重原创 http://blog.csdn.net/u013608300/article/details/78704762。

DFT(Discrete Fourier Transform,离散傅立叶变换)中涉及到一个概念是DFT泄漏,DFT泄漏是信号的能量在所有DFT输出径中都有出现的现象,其中的关键词是:信号、能量、所有、径。N点DFT径的幅频响应遵循一个sinc的函数,由于信号频率和采样频率和数据点数之间不满足整数关系,所以会出现DFT泄漏。比如:采样频Fs率为500000sps,采样点数N为500000(即采样一秒),那么DFT之后横坐标的频率分辨率为Fs/N = 500000/500000=1hz。如果输入的信号为13.3khz,那么在DFT结果的横坐标将无法对应到13.3khz,因为此Fs和N对应的频率分辨率为1hz,只能分辨整数频率,此时DFT泄漏明显。波形实例见图1和图3,图1为使用14位adc ltc1746采集10khz信号的时域结果,采集速度为500000sps,原始信号的峰峰值为3.0Vpp,信号为10khz,图2为图1的波形细节。

图1 采样信号时域图

图2 时域波形细节

我们来看看在取其中的16384点进行DFT运算后的结果,图3为进行DFT运算后,归一化的功率谱。采样频率Fs为500000sps,采样点数N为16384,则频率分辨率为500000/16384=36.5hz,而原始信号为10khz,非整数倍关系,故而产生严重DFT泄漏

图3 归一化后功率谱,DFT泄漏

怎么避免DFT泄露呢?通常有两种方法:

1、合理设置采样点、采样率、信号频率之间的关系。(适合单频)

2、加窗函数。

对于第一点,可以按照下面的公式设置Fs、N、f之间的数量关系。f/Fs=M/N。其中M为采样点中包含M(奇数)个单频信号,N为了便于DFT计算通常取2的次幂。但是在近似估计中,可以直接取N为f的整数倍(16000点对应10khz的信号频率),此时频谱泄漏依然存在,但是却减小许多,见图4,要能够看出图4中依然存在DFT泄漏.图5是ltc1746手册中给的一张图,我们可以和图3图4对比一下。

对于第二点,是一个减弱DFT泄漏的方法(不是完全消除),加窗是为了减弱DFT径幅频响应旁瓣以此来降低DFT泄漏,通过强制平滑采样信号的起始和结束为单一共同值来实现(不加窗时,可以按照用举行创截取(点积)理论上无穷长的信号,由于矩形窗01的跳变,导致旁瓣的强度高),加窗就是抑制旁瓣。

图4 输入信号整数倍的采样点数

图5 ltc1746手册中的标准图

最后,对于DFT泄漏以及弥补措施,最好通过计算机软件(如matlab)多实现理解会比较深刻。

转帖请尊重原创,错误之处请指出。

 

17年12月

天津

 

展开阅读全文

没有更多推荐了,返回首页