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

时间:2017-12-13 12:32:39

标签: matlab normalization cross-correlation

我有以下代码用于计算信号之间的互相关。在视觉上,信号非常相关。信号长度不同,但两者的采样率均为100Hz。信号之间存在滞后(下面称为timeDiff)。

  [acor,lag] = xcorr(signal1,signal2);
  [cor,I] = max(abs(acor));
  lagDiff = lag(I);
  timeDiff = lagDiff/100;
  fprintf('Correlation = %0.5f \n',cor);

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

1 个答案:

答案 0 :(得分:1)

遵循文档 https://it.mathworks.com/help/signal/ref/xcorr.html

xcorr功能上有Normalization选项

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

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