0

这是场景:

我生成的信号是: 200ms @ 2kHz 1000ms of zeros 200ms @ 2kHz

我想计算它们之间的时间延迟,而不是两个合成音频部分之间的时间延迟。但是通过在扬声器上播放信号并使用麦克风记录它(增加噪音)

Fs = 44100

我试过:1.互相关2.计算8820个样本大小的RMS窗口的两个最大值之间的差异。(当窗口位于声音部分时,我们得到最大值。

扬声器和麦克风之间的距离约为 30 厘米。我无法得到稳定的结果。为什么?

4

1 回答 1

1

如果您想准确一致地执行此操作,那么我过去使用的一种方法是将一个通道(例如左通道)从输出环回输入,然后使用另一个(即右)通道进行时序测试. 然后,您可以在左(环回)和右(实际音频)通道之间进行交叉关联。这消除了许多潜在的错误来源(缓冲区延迟、硬件延迟、软件问题等),因为左右通道将始终“同步”,并且您应该能够将测量精确到 +/- 1 个采样周期(在 44.1 kHz 时为 +/- 12 µs)。

于 2014-06-03T07:59:52.490 回答