频率分辨率(“bin size”倒数)是否总是与采样持续时间(窗口长度)成正比?

信息处理 fft 过滤器
2022-02-13 04:42:18

我是 DSP 和一般信号处理(数字或模拟)的新手。在实现 FFT/Goertzel 时,我注意到分辨率(“bin size”倒数)与采样持续时间成正比。换句话说; 您想要的分辨率越严格,您必须采样的时间越长(无论采样周期/采样速度有多快或多慢(显然高于奈奎斯特速率))。有没有办法解决这个问题(使用 FFT/Goertzel 以外的一些技术)或者这是一个固有的科学原理?如果是这样,那么该原理是否也适用于模拟滤波器?Goertzel 算法是否是检测特定频率存在的最佳解决方案,具有最佳分辨率(最严格的滤波器)?

4个回答

对于基向量的正交性,DFT(或 FFT)基向量在 DFT 长度中都具有不同但精确的整数个完整周期,例如,如果一个基向量的 FFT 结果 bin 具有 K 个完整周期,则下一个 bin 将为 K+1 个完整周期。

因此,如果您希望 DFT 分离正弦波的 2 个频率,它们的频率越接近,两个波形恰好分开 1 个完整周期或周期所需的时间间隔越长,DFT 越长(FFT,或Goertzel,或小波等)适合该时间间隔进行测量,并且至少具有完整的分离结果箱。

即使您不想等到正弦波的两个频率相差一个完整周期,也可以说噪声非常小,如果它们相差仅 0.1 度 (pi/1800.0) 的相位变化,您就可以区分 2 个正弦波。一些窗口,规则仍然适用。您想要区分或解决的 2 个频率越接近,您等待它们相差 0.1 度相移或几乎无法检测到的变化的时间就越长(回归拟合在某些统计误差范围或分布内) , ETC。)

否则,您无法将它们区分开来,因此可以声称可以做到的分辨率或准确性水平。

噪声越多,您必须等待的差异就越大(可能超过 1 度,甚至可能在测量时间窗口内达到超过 2 个完整周期的差异)。

请注意,即使使用模拟滤波器(或 IIR),通常带宽越窄,Q 值越高,脉冲响应越长,因此响应或检测更窄频率范围的测量延迟越长。

因此,“最紧密”的拟合需要更多时间和/或低噪声(包括干扰和测量误差),或非常高的信噪比(或这样的假设,并希望该假设实际上是正确的.)

首先,请记住,DFT/FFT 频谱分辨率和 DFT 频率间隔不是一回事。给定一个固定长度的记录,您可以通过对给定数据执行任意长度的 FFT 轻松更改 DFT bin 频率间隔。但这不会改变您的光谱分辨率,它受初始数据长度的限制。粗略地说,您的总观察间隔越长,您的光谱分辨率就越好(越精细)......

考虑以下离散时间傅里叶变换属性:

x[n]w[n]X(ejω)2πW(ejω)

相乘的有限长度序列称为窗口,表示的观察区间。它在频域中的反射是真实输入频谱与窗口频谱在频率上的卷积这种卷积导致输入频谱的拖尾;也就是输入光谱分辨率的损失。w[n]x[n]x[n]X(ejω)W(ejω)

如果你有一个无限长(比如矩形)的观察,那么你会有(没有尺度):

  • x[n]w[n]x[n]
  • W(ejω)δ(ω)
  • X(ejω)W(ejω)X(ejω)

FFT/DFT 变换下可达到的光谱分辨率基本上遵循这一理论限制。

Goertzel 算法也受到这一事实的限制。与 DFT 计算的整个频谱相比,它是一种计算少量任意频率的有效方法。

如果您有关于信号的其他信息,那么严格来说这不是真的。例如,您的 FFT 适用于在 Nyquist 频率处具有频带上限但可以从 DC 开始的输入信号。但是如果你知道你的输入信号也有一个最小频率呢?

尽管如此,虽然这可以用来反驳标题问题的确切表述,但基本事实是,关于信号的信息越多(在时域中),关于该信号的信息越多(在频域中) )。在较长时间内测量输入是获得更多数据的一种明显方法。

以直观的方式理解这些关系的最简单方法是从 DFT 的第一条规则开始:

bin 索引是以每帧周期为单位的频率。

时期。你拿多少样本都没关系。

假设您在箱 4 和箱 5 有音调。现在,将您的音程加倍。这些音调现在位于 bin 8 和 10。因此,增加间隔会增加 bin 的间距。

以固定间隔增加样本数量会移动到奈奎斯特频率所在的位置。如果您有 100 个样本,则奈奎斯特为每帧 50 个周期。如果将其加倍到 200 个样本,则奈奎斯特移动到每帧 100 个周期。在第一种情况下,每帧 60 个周期的音调将显示为每帧 40 个周期的别名,但在第二种情况下被正确识别为 60。

奈奎斯特频率与帧大小无关。它在每个周期发生两个样本,这与每个样本的弧度相同。π