FFT结果重复?

信息处理 fft 离散信号 信号分析 声音的 音频处理
2022-02-05 11:29:21

我正在尝试从音乐声音输入中检测音符。我的程序可以在这里运行问题是频率响应中的模式在重复: 在此处输入图像描述

我怀疑房间里的回声会导致更高的频率分量。如果我尝试使用这样的发声器,重复次数会少得多,但它就在那里。尝试例如 165 Hz(注 E3)。

我的主要问题是,为什么有时重复在 FFT 中的尖峰比实际信号高(见上图)。这种情况偶尔会在测试人声时发生。我知道实际信号是第一个,因为我在另一个软件(iPhone 上的 Singer's Studio)中对其进行了测试。

1个回答

有趣的代码!从图片中很难理解,但我确实从链接站点运行了 OP 的代码,我无法播放足够大的声音来进行真正的测试,但对于低音量信号似乎不是很敏感。图形上没有指示频率轴,但我假设屏幕左侧是 DC,屏幕右侧是采样率的一半。

代码中的采样率为 4200(我假设是 Hz),这对于音频来说太低了,这表明 OP 正在看到高于 2100 Hz 奈奎斯特频率的所有较高频率的混叠。由于音频系统的带宽可能为 15 KHz,因此在该频率范围内以 2100 Hz 的倍数出现的任何信号都会折叠起来,并且更明显地解释了由于混叠而导致的多个频率。

我确实将 sampleRate 更改为 44100 并且它看起来(以我的最低测试能力)表现得更符合预期。

房间回声本身不应该是非线性的,这意味着它们不会产生新的频率,而只会修改已经存在的频率的相位和幅度。