Matlab 将不同长度信号的互相关归一化为[-1,1]

Matlab 将不同长度信号的互相关归一化为[-1,1],matlab,normalization,cross-correlation,Matlab,Normalization,Cross Correlation,我有下面一段代码用于计算to信号之间的互相关。从视觉上看,这些信号的相关性非常好。信号长度不同,但采样率均为100Hz。两个信号之间存在延迟(以下称为timeDiff) 我得到的相关系数是6239.06131。如何将其标准化为-1和1?因为否则很难解释。遵循文档 xcorr函数上有规范化选项 [acor,lag] = xcorr(signal1,signal2,'coeff'); 这“使序列标准化,使零滞后处的自相关等于1”。如果给定的时间偏移(滞后)导致两个序列完全正相关或负相关,“系数”

我有下面一段代码用于计算to信号之间的互相关。从视觉上看,这些信号的相关性非常好。信号长度不同,但采样率均为100Hz。两个信号之间存在延迟(以下称为timeDiff)


我得到的相关系数是6239.06131。如何将其标准化为-1和1?因为否则很难解释。

遵循文档

xcorr函数上有规范化选项

[acor,lag] = xcorr(signal1,signal2,'coeff');

这“使序列标准化,使零滞后处的自相关等于1”。如果给定的时间偏移(滞后)导致两个序列完全正相关或负相关,“系数”选项仅产生1或-1的值。

不幸的是,此选项仅在两个系列具有相同长度时有效,但情况并非如此。中M.Hassan的答案是否有用?
cor=6239.06131
是最大相关性,因此,它对应于+1的标准化值。通常,您可以执行
acor/cor
以获得
acor
向量中任何值的归一化相关性。
[acor,lag] = xcorr(signal1,signal2,'coeff');