Matlab中的窗口互相关

时间:2014-04-24 13:50:14

标签: matlab cross-correlation

我有两个信号。一个是由电话生成一个波形文件(原始信号),另一个信号记录到一个文件(第一个信号的延迟副本)。

我想要做的是使用MATLAB交叉关联这两个信号,以了解该信号的检测时间和滞后持续时间。 Xcorr内置函数关联的滞后为零,这不是这里的情况。

我想知道如何以及在什么基础上设置窗口长度,我读了很多关于相关性但我真的不知道如何开始实现它。

1 个答案:

答案 0 :(得分:0)

假设您有2个长度为N和M的信号。这2个信号的相关性将具有一个长度(N + M + 1)。窗口的作用基本上只是作用信号,但是裁剪来自中心那么如果我想要一个K的窗口长度,我只需要在(N + M + 1)长度相关信号的中间中取K个样本

例如,如果您将两个100个样本的长信号进行交叉相关并希望实现160的窗口长度,那么您将获得交叉相关性,这将产生201个样本长信号,并且将获得160个样本的中间值互相关信号,即从信号的开头敲出20个样本,从信号的末尾敲出21个样本。

现在,让我们继续延迟检测。如果我理解你纠正你有2个信号,但是一个信号只是另一个信号的延迟版本而你想估计那个延迟是什么,是吗?

在这种情况下你想要做的是计算2个信号的互相关(用maxlags = 0)并找出互相关信号最大的位置,信号最大点与信号最大点之间的距离交叉相关信号的中点为您提供信号的延迟(在样本数量中,实际延迟(以秒为单位)取决于这些样本代表的秒数。

希望我说清楚