假设采样率为, 我现在有样品,然后我可以得到频率。
我对Matlab 的 FFT 文档感到困惑,该文档说频率存在于:
(Fs/2) * linspace(0, 1, N/2+1)
实际频率很可能不在生成的频率中。我们应该怎么做才能得到真实的频率?
假设采样率为, 我现在有样品,然后我可以得到频率。
我对Matlab 的 FFT 文档感到困惑,该文档说频率存在于:
(Fs/2) * linspace(0, 1, N/2+1)
实际频率很可能不在生成的频率中。我们应该怎么做才能得到真实的频率?
任何测量都有有限的精度。一般来说,您无法准确找到真实频率。您可以改为以必要的精度对其进行评估。在 FFT 的情况下,如果实际频率与 FFT 频率网格不完全匹配,则功率谱主要分布在相邻频率区间(通常在所有区间中,但大部分集中在几个相邻频率区间)。不过,您可以通过找到此类频谱的最大值来估计实际频率。处理 FFT,您可以通过增加样本数量来提高频率搜索的精度。如果你不能,你应该使用另一种功率谱估计技术,但这是一个单独的问题。
希望这可以帮助。
为了计算一些频率分量,通常使用Goertzel 算法。请注意,频率不需要位于网格上(与 FFT 一样)。
这不是 FFT 的固有缺点。这是与有限长度窗口或样本数量以及任何先验假设或 S/N 比分析更相关的固有缺点。在低噪声中,可以通过插值在 FFT 结果箱之间估计窄带“真实”频率峰值。请参阅:过采样信号的特定频率分辨率所需的 FFT 点数