Matlab xcorr是否正确计算了两组数据之间的延迟?

Matlab xcorr是否正确计算了两组数据之间的延迟?,matlab,Matlab,现在我正在研究声音定位算法。我使用时差法。我在matlab中使用了xcorr函数。假设这两个信号是正弦波。我发现若两个波的相位差为π,我可以得到互相关结果中的两个峰值,它们的值相等。所以我不知道哪个阶段是超前的,哪个阶段是滞后的。如果相位差大于pi,例如一个波领先另一个周期,则结果是错误的。我用语音信号来测试算法,我发现如果相位差大于pi,结果有时是错误的。 我读过几篇论文,其中大部分都使用互相关算法来识别声音位置。但我不知道如何解决我的问题 您是否考虑过采样频率?正弦信号(相同频率)的滞后或超

现在我正在研究声音定位算法。我使用时差法。我在matlab中使用了xcorr函数。假设这两个信号是正弦波。我发现若两个波的相位差为π,我可以得到互相关结果中的两个峰值,它们的值相等。所以我不知道哪个阶段是超前的,哪个阶段是滞后的。如果相位差大于pi,例如一个波领先另一个周期,则结果是错误的。我用语音信号来测试算法,我发现如果相位差大于pi,结果有时是错误的。
我读过几篇论文,其中大部分都使用互相关算法来识别声音位置。但我不知道如何解决我的问题

您是否考虑过采样频率?正弦信号(相同频率)的滞后或超前是不确定的,因为正弦函数是周期性的。互相关信号中应该有无限多个相等的峰值。此外,在时域中定义了互相关。因此相位差在这里没有意义。差异必须以秒或样本数表示。