非常窄的 FFT 窗口函数?

Posted

技术标签:

【中文标题】非常窄的 FFT 窗口函数?【英文标题】:Very narrow FFT window functions? 【发布时间】:2013-10-13 19:23:28 【问题描述】:

提供最窄波瓣宽度的平顶窗函数有哪些?

我正在进行 FFT 分析,我需要得到的正弦波主瓣尽可能窄,但要避免扇形损失。我要求平顶功能,因为这些功能最适合减少扇形。我不介意旁瓣,如果不是因为它巨大的扇形,即使是矩形窗口对我来说也足够好......

现在我正在使用本文中的 SFT3M 窗口:http://www.rssd.esa.int/SP/LISAPATHFINDER/docs/Data_Analysis/GH_FFT.pdf


PS。我也在那里问过这个问题:https://math.stackexchange.com/questions/524617/very-narrow-fft-window-functions 我可能犯了一个错误,我感觉我没有在正确的网站上发布。

【问题讨论】:

它可能更适合 Math SE,因为它与编程没有太大关系。但除此之外,波瓣宽度不是“可配置”的吗? IE。如果您将 2*x 而不是 x 传递给函数,那么您基本上是在压缩它,对吗? 编辑:当然,改变波瓣的宽度也会改变 FFT。 @Groo 我的意思是频域中的波瓣,给定时域中的正弦波。我需要一个 time-domain 窗口函数,它会在 frequency 域中产生一个窄而平顶的峰值。 好的,知道了。我想你已经在 Wikipedia 文章中查看了那个窗口比较图表? 是的,我做到了,但是在***页面中,平顶窗口严重不足。这种类型的 Windows 在我链接的 pdf 中有更好的解释。我正在考虑为自己设计我正在寻找的窗口,但我需要先对 fft 有更多的了解,所以我最好先问... 这个问题在这里似乎是题外话,更适合 math.stackexchange.com。已经在this post 中询问(并回答)了。 【参考方案1】:

考虑窗口函数的 Kaiser-Bessel 系列和 Blackman-Harris 系列。可以说,它们提供了分辨紧密间隔的频谱分量的最佳能力,尤其是在一个或多个频谱分量以 40 dB 或更小的比率支配所有其他频谱分量的情况下。

此图显示了 10.5 Hz 处的 1.0 级频谱分量和 16 Hz 处的 0.01 级频谱分量。 16 Hz 音相对于主音衰减 40 dB,并且非常接近主频。使用 Kaiser-Bessel a=3.5 对复合正弦信号进行加窗,以显示 Kaiser-Bessel 窗在附近存在强信号时解析弱信号的能力。

您可以在这里尝试使用各种信号的不同窗口函数:

Fourier transform calculator - Sooeet.com

【讨论】:

这些窗口有利于抑制旁瓣并且相对较窄。但它们不利于避免扇形损失。为避免扇形损失,您需要一个平顶窗口。 Wikipedia 有一个平顶窗口的例子。可以创建更窄的平顶窗户,尽管它们不会那么平坦。

以上是关于非常窄的 FFT 窗口函数?的主要内容,如果未能解决你的问题,请参考以下文章

在 fft 中应用窗口函数的正确方法

错误结果绘图窗口 FFT

FFT窗口大小的意义

快速傅立叶变换应用窗口和重叠

如何在matlab的powergui里面进行fft分析

hive 窗口函数