如何找到两个时间序列数据之间的时间延迟?

时间:2015-01-26 20:13:11

标签: matlab delay cross-correlation

我想知道如何在两个时间序列之间找到延迟,例如当我们有这个伪时间序列数据时:

A: 1 1 1 1 1 2 1 1 1 1
B: 1 1 1 1 2 1 1 1 1 1
C: 1 1 2 1 1 1 1 2 1 1

例如:

A: 1 1 1 1 1 2 1 1 1 1 
B: 1 1 1 1 2 1 1 1 1 1

clear all;
filename = 'pseudo.xls';
visi=xlsread(filename);  %nuskaitomi visi stulpeliai
[n,m]=size(visi);
A=visi(:,1);
B=visi(:,2);
C=visi(:,3);
A1=transpose(A);
B1=transpose(B);
C1=transpose(C);

t=(1:10);
plot(t,A1,'b'); hold on;
plot(t,B1,'m');

d1 = finddelay(B1,A1);
[c,lags] = xcorr(B1,A1);
d2 = -(lags(c == max(c)));

答案是d1 = 1,d2 = 1。好的。

但是B和C之间的时间延迟呢。

B: 1 1 1 1 2 1 1 1 1 1
C: 1 1 2 1 1 1 1 2 1 1
  1. 如何找到两个延迟参数?

  2. 当我们有两个很长的时间序列时它是如何工作的?

  3. 也许您可以提供更多确定时间延迟的方法?
  4. 感谢您的建议和答案:)

0 个答案:

没有答案