XCORR function to find the lag time between two signals
Show older comments
Hello
I am using the XCORR function to find the lag time between two signals, but when processing the measured data the lag is always the same, physically it is not possible. I have noticed that the lags are whole numbers, is it possible to obtain correlation coefficients with lags with decimals?
Thank you
1 Comment
Adam
on 20 Feb 2019
The correlation is only done at the sample rate defined so that is why lag is always integer. If you had a continuous signal then you would have a continuous lag value, but obviously that is not possible in a digitised signal. You can interpolate your signal by e.g. a factor of 10 though which will give you lags that would be the equivalent of beung 1 decimal place at the original scale.
Answers (1)
Honglei Chen
on 20 Feb 2019
Edited: Honglei Chen
on 20 Feb 2019
0 votes
We probably need a bit more info to understand why the lag is always the same. But by default xcorr returns the delay in lags, that's why it's always a whole number. You can translate that lag to time by mulitplying it to the sampling time, and then you will start to see decimals.
HTH
Categories
Find more on Correlation and Convolution in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!