计算频谱泄漏的程度

信息处理 fft 频谱
2022-02-04 14:47:14

作为对这个问题的跟进-

有没有一种方法可以计算给定箱中的频谱泄漏量,即给定输入幅度,相邻箱中存在幅度的百分比是多少?

或者给定输入频率和每个 bin 的频率范围,我可以计算每个 bin 中存在的幅度吗?

3个回答

时域中的窗口化导致与频域中该窗口的变换进行卷积。所以你需要计算这个卷积的结果才能看到效果(有些人称之为“泄漏”)。

您可以对使用的窗口函数(矩形、Von Hann 等)的变换进行采样,以确定窗口纯单频正弦曲线的 FFT 频率响应。对于矩形窗口,FFT 结果中明显“泄漏”的幅度将是归一化 Sinc 函数(更准确地说是一对归一化周期性 Sinc 或 Dirichlet 核)的样本,在与频率 bin 中心偏移的整数偏移处采样,乘以正弦波的幅度。

在我的 dsp 网页上尝试了完整的 Dirichlet 对频率响应结果的方程:http: //www.nicholson.com/rhn/dsp.html#4

但仅使用归一化 Sinc 作为窗口变换方程通常足够接近,除了 DC 或 0 Hz 旁边的 bin 和 bin N/2 旁边的 bin。

对于矩形以外的窗口,使用它们的变换而不是 Sinc 函数,如果需要,上采样和/或插值。

Fred harris在他 1978 年的论文Use of Windows for Harmonic Analysis 中使用了几种测量方法

  • 最高旁瓣电平 (dB)
  • 旁瓣衰减(dB/倍频程)
  • 相干增益(无量纲)
  • 等效噪声带宽(箱)
  • 3.0 dB 带宽(箱)
  • 扇贝损失 (dB)
  • 最坏情况过程损耗 (dB)
  • 6.0 db 带宽(箱)
  • 重叠相关性 (%)

下面是表 1 的屏幕截图,比较了这些措施的几个不同窗口。

在此处输入图像描述

我认为您问题的最佳解决方案是使用Hann Function这样的窗口函数,它可以减少频谱泄漏:

未开窗 在此处输入图像描述

使用 Hann Window 加窗 在此处输入图像描述 但是,这种方法不会让您恢复该频率仓的原始幅度(请注意,在这种情况下,加窗信号损失了大约 40% 的能量)。

你也可以看看这个这篇文章