音频信号的时间延迟

时间:2014-06-03 07:50:54

标签: matlab audio microphone speaker timedelay

以下是该方案:

我生成了一个信号:200ms @ 2kHz 1000ms零点200ms @ 2kHz

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

Fs = 44100

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

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

1 个答案:

答案 0 :(得分:0)

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