How to compute the time lag by cross-correlation of ir-regular time series, accurately?
2 views (last 30 days)
Show older comments
HI everyone,
My data set consists of monthly observations of two parameters (already normalized) over a 50 years time window?
I require to compute the time-lag between these two time series on yearly basis, at first. IN addition, I also need to compute the time lag over 5 years windows or any other window length.
May someone suggest how i can accurately compute the phase lag.
Here is what I did so far:
% Data presentation
cd_ev=readmatrix('file.csv'); % selected candidate earthquake
tim=datenum(cd_ev(:,3),cd_ev(:,4),cd_ev(:,5),cd_ev(:,6),cd_ev(:,7),cd_ev(:,8));
p1=cd_ev(:, 9);
p2=cd_ev(:, 10);
figure(1)
plot(tim, p1)
hold on
plot(tim, p2)
hold off
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1396099/image.png)
Cross-correlation result
[c,lags] = xcorr(p1,p2);
[c,lags] = xcorr(p1,p2,'normalized');
figure(2)
stem(lags,c)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1396104/image.png)
Thank you!
3 Comments
Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!