Cross correlation negative lag time
이전 댓글 표시
Hi everybody, I am cross correlating two signals and plotting the lag times as delays in a histogram to see what the predominant delay is. I am getting a very prominant delag at lag time 0 to -1 hrs and am just wondering what this means in terms of which station is the causative one. By this I mean, which signal is seen first and whis is a result? Thank you for any help
답변 (2개)
Wayne King
2012년 9월 21일
편집: Wayne King
2012년 9월 21일
If you look at the help for xcorr(), you'll see how the inputs are lagged with respect to each other. If the A input is delayed by 4 samples with respect to B and you use:
[xc,lags] = xcorr(A,B,...)
You'll get the maximum at the positive lag 4.
However, if you enter
[xc,lags] = xcorr(B,A,...)
you'll get the maximum at negative lag 4.
For example:
B = randn(40,1);
% A is a delayed version of B, delayed by 4 samples
A = [zeros(4,1) ; B];
[xc,lags] = xcorr(A,B,20);
stem(lags,xc) % delay is positive
% now reverse order of inputs
[xc,lags] = xcorr(B,A,20);
figure;
stem(lags,xc) %delay is negative
In both cases, the delay is correctly indicated as 4.
댓글 수: 2
Sarah
2012년 9월 21일
Wayne King
2012년 9월 21일
If you want a signal which is delayed in time relative to another to appear as a positive lag in the cross correlation, then enter that input first.
If you have a model where a signal Y is a delayed version of X, so that
Y(n) = X(n-\tau)
for some positive lag \tau, then if that is what you mean by X is driving Y, then entering
[xc,lags] = xcorr(Y,X);
gives you the maximum at lag \tau (the positive lag \tau)
SANDEEP LINGUTLA
2016년 10월 26일
0 개 추천
in matlab officetemp file when we do auto correation there is lag of days in negative as days are not negative why the days are negtive in graph shown
카테고리
도움말 센터 및 File Exchange에서 Correlation and Convolution에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!