我们能在多大程度上看到频率区间之间的信号?

信息处理 过滤器 傅里叶变换 自由度 窗函数
2022-01-27 02:29:01

我有一个简单的问题,我想弄清楚地震数据的傅立叶分析。

假设我们有一个长度为如果我采用它的(相同大小)FFT,我将得到,长度也是z[n]NZ[k]N

我知道零填充不会提高我的分辨率,但是,我想弄清楚的是:如果我采用长度 FFT,是否有任何风险会丢失一些信息,否则会出现我采用了大于N的FFT 代替?NN

我担心的情况是我的地震信号是否具有位于频率区间之间的频率的能量。如果我不进行零填充,它会显示多少 - 或不显示?如果它确实存在,我不想错过这个信号。干杯。

4个回答

从某种意义上说,零填充不会“提高分辨率”,因为它可以帮助您分离光谱中彼此非常接近(太接近)的两个峰。

但是零填充以及频域中的插值确实可以提高分辨率,因为它可以帮助您更精确地估计频谱中孤立峰的位置。实际上,时域中的零填充相当于使用 sinc() 函数(实际上是 dirichlet 函数)作为插值核在频域中进行插值。

窗口也起着重要的作用。使用“矩形”窗口(实际上,根本没有),频率落在两个 bin 之间的信号将被映射到频域中的采样 sinc,因此必须添加相邻 bin 的能量才能达到好估计。

一些窗口函数被设计为允许更好的峰值能量测量(通常称为“平顶”)。

以下是一些基本事实:

将一系列的离散傅里叶变换定义为Nxn

Xk=1Nn=0N1xnexpi2πnxk/N

我们在频率处得到 N 个独特的频率区间,从 0 到进行 k 次运行。如果序列的实际时间为,则频率区间的宽度为,最高频率区间为k/NN1T1/T(N1)/T

如果您正在测量的信号是真实的,那么Xk=XNk

好的,现在让我们来回答您的问题。

假设我们用 20 个点测量一个 2 Hz 复数正弦曲线 1 秒。然后第二个 bin(从零开始编号)将是非零的,但所有其他 bin 将为零。这一切都很好,因为 2 Hz 正好适合 1 秒的测量窗口,例如。正好 2 次振荡。

现在如果我们测量一个 12.2 Hz 的信号会发生什么?在这种情况下,信号位于两个频率区间之间的频率上。发生的情况本质上是功率主要出现在 12Hz 箱中,但也会“泄漏”到相邻的箱中。如下图所示。在那里,我们绘制了计算的傅立叶系数(蓝点)和我通过显式求和计算的 DFT 的预期结果(红线)。

您可以看到大部分功率位于 12 号箱中,但相邻箱中也有大量功率。这种在“错误”地方的能量被称为“光谱泄漏”。从这个意义上说,一组太粗糙的 bin 确实会导致信息丢失,因为您无法判断 bin 11 和 13 中的功率是来自泄漏还是来自实际音调。影响频谱功率如何泄漏到相邻箱中的细节的一件事是您在 DFT 中使用的窗口。这是一个丰富的话题,我在这里描述的太多了,但是如果你在网上搜索“傅立叶变换窗口”,你会找到你需要的。

现在回到我一开始提出的事实列表,您可以看到,如果我们简单地测量更长的时间,我们将拥有一组更精细的垃圾箱,并且至少部分缓解了这个问题。如果你通过零填充来做到这一点,你会得到更多的点,因此得到更精细的频率箱,但正如你已经说过的,你实际上没有更多的信息,因为这些零填充点是完全组成的。您如何协调这与您拥有更多频率区间的事实?当我们意识到零填充本质上是频域中的插值时,这一切都吻合了。

还有一件事。如果您只关心总功率,那么频谱泄漏就不是什么大问题。当功率从一个容器泄漏到相邻的容器时,总功率不会发生太大变化,如果有的话。您唯一需要担心频谱泄漏会破坏 DFT 中的总功率的情况是在最低频率区间。如果您需要这方面的详细信息,我可以提供。问一下。[a]

[a] : 它是否被精确保存的细节实际上比其他人可能让你相信的要复杂得多。注意那些太容易引用 Perseval 定理的人。

频谱泄漏示意图

在非零噪声中,更短的 FFT 包含更少的样本,因此更少的能量和更少的关于任何信号的信息。所以它会“错过”更多的信号,因为信号的较短窗口中的信息较少。更短的 FFT 还将信号的大部分移动到 DC 和 Fs/2 箱中,其中一些信息可能会在开窗过程中丢失,具体取决于相位。

在静止高斯噪声中,FFT 窗口越长,静止信号出现在本底噪声之上的可能性就越大,和/或允许对其频谱(峰值等)进行更准确的插值。

较短的 FFT 或窗口也可能完全错过时间上的非平稳事件(例如,如果它发生在窗口之前或之后)。

FFT 之前的零填充将与之后的高质量插值相同,以显示“bin 之间”的内容。