find shift using cross correlation

11 次查看(过去 30 天)
Dear all;
i have a confusion when i am using xcorr function in matlab , suppose i have attached two signals , is this function give the amount of shift in between signals ? is there any conversion factor that shall i use ?

回答(1 个)

Image Analyst
Image Analyst 2015-5-1
I suggest you start with a simple example, like
signal1 = zeros(1, 10);
signal1(5) = 1;
signal2 = zeros(1, 10);
signal2(8) = 1;
Then look at the length of the output and where the max/peak/spike is located. You'll figure it out.
By the way, I don't think it's well known that the max of the correlation is not always when the two signals are optimally overlapped - it just tells you when the area under the curve of the multiplication of the two signals is greatest. I believe this is why normalized cross correlation was invented. This is done by the function normxcorr2 in the Image Processing Toolbox. (Demo available upon request).
  6 个评论
Angel Romero
Angel Romero 2017-6-21
Hi there! I tried to solve your problem but I wasn´t able. Any solution so far?
Angel Romero
Angel Romero 2017-6-21
Were you able to fix it?. I'm looking forward to hearing from you. Thanks.

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by