find shift using cross correlation
Mostrar comentarios más antiguos
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 ?

Respuestas (1)
Image Analyst
el 1 de Mayo de 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 comentarios
mustafa alnasser
el 1 de Mayo de 2015
Image Analyst
el 1 de Mayo de 2015
Attach s1 and s2 in a mat file so we can run your code.
mustafa alnasser
el 1 de Mayo de 2015
mustafa alnasser
el 13 de Mayo de 2015
Angel Romero
el 21 de Jun. de 2017
Hi there! I tried to solve your problem but I wasn´t able. Any solution so far?
Angel Romero
el 21 de Jun. de 2017
Were you able to fix it?. I'm looking forward to hearing from you. Thanks.
Categorías
Más información sobre Correlation and Convolution en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!