过采样信号的特定频率分辨率所需的 DFT (FFT) 点数

信息处理 fft 频谱 自由度 频域
2021-12-23 14:38:28

我有一个以 2 MHz 和 50 kHz 带宽为中心的带通信号(信号频率从 2 MHz - 25 kHz 到 2 MHz + 25 kHz 不等)。该信号以 10 MHz 采样。我想要 FFT 中 100 Hz 的频率分辨率。

我想知道:

  1. 为了达到这个频率分辨率,我应该采集多少信号样本。

  2. 对于该频率分辨率,FFT 中的点数应该是多少。

我的想法:

带通信号的最小频率 = 1.975 MHz。

完成一个周期的最小频率=5.0633e-07秒。

5.0633e-07 秒内的样本数 = 5.0633 ~ 6 个样本。

所以至少要采集6个样本才能完成一个最小频率周期。

现在频率分辨率为 100 Hz。

由于采样频率为 10 MHz,因此可检测的最大频率为 5 MHz。

所以在 FFT 的前半部分会有 5MHz/100Hz = 50000 个点。

FFT 的后半部分是冗余的(前半部分的复共轭)。

所以我应该为上述规格取 2*50000 = 1,00,000 点 FFT(2^17 = 131072 点 FFT)。

这行得通吗?

3个回答
  1. DFT 中的分辨率由下式给出:FsN.
    因此,您需要 10e6 / 100 = 100,000 个样本才能获得所需的分辨率。
  2. 您可以将信号带到基带(解调),然后您需要较低的采样频率才能达到您想要的效果。
    由于信号的有效带宽为(双面)50 [KHz],因此可以在FS=50[KHz]要求的分辨率只需要 500 个样本。

频率分辨率fΔ

fΔ=fsN,
在哪里fs是采样频率和N是 FFT 大小。所以
N=fsfΔ=107100=105.
这意味着你的计算是正确的。假设您不对 FFT 输入向量进行零填充,N是您应该采集然后输入 FFT 的样本数。

如果你使用M样品,与M<N你可以附加NMFFT 输入归零,这将导致“缺失”频率区间的插值。

鉴于可以对 FFT 的结果进行插值(使用 Sinc 插值可能非常准确),估计频率所需的 FFT 点数取决于包含您的信号的数据的信噪比,以及分辨率的类型您需要(峰值分离或峰值估计)。

在零噪声或其他干扰的极端情况下,只需要 3 或 4 个非混叠点即可准确重构纯正弦曲线并由此估计其频率。

在另一个极端情况下,在相邻干扰水平相同的情况下,可能需要超过 2 个 FFT bin 结果从噪声中分离出来,在您的情况下可能需要超过 200000 个样本,才能分辨出与相邻噪声明显分开至少 100 Hz 的明显峰并且至少比当地的本底噪声高 3dB。

很少有噪声水平恰好使得一个具有大约 Fs/N 的噪声添加分辨率误差。在通常典型的较低噪声水平下,您可以将 FFT 结果 bin 之间的估计频率峰值内插到 bin 间距的某个分数,从而使用比 N = Fs/dF 更短的某个分数的 FFT。