1

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

我想要做的是使用 MATLAB 交叉关联这两个信号,以了解该信号的检测时间和滞后持续时间。Xcorr 内置函数与零滞后相关,此处并非如此。

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

4

1 回答 1

0

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

例如,如果您对两个 100 个样本长的信号进行互相关并希望实现 160 的窗口长度,您将获得互相关,这将产生一个 201 个样本的长信号,并且将在互相关的中间获得 160 个样本信号,即从信号开始处剔除 20 个样本,从信号结束处剔除 21 个样本。

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

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

希望我把事情说清楚

于 2014-06-23T20:22:57.363 回答