find shift using cross correlation

9 views (last 30 days)
mustafa alnasser
mustafa alnasser on 1 May 2015
Commented: Angel Romero on 21 Jun 2017
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 ?

Answers (1)

Image Analyst
Image Analyst on 1 May 2015
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 Comments
Angel Romero
Angel Romero on 21 Jun 2017
Hi there! I tried to solve your problem but I wasn´t able. Any solution so far?
Angel Romero
Angel Romero on 21 Jun 2017
Were you able to fix it?. I'm looking forward to hearing from you. Thanks.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!