find shift using cross correlation
显示 更早的评论
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
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 个评论
mustafa alnasser
2015-5-1
Image Analyst
2015-5-1
Attach s1 and s2 in a mat file so we can run your code.
mustafa alnasser
2015-5-1
mustafa alnasser
2015-5-13
Angel Romero
2017-6-21
Hi there! I tried to solve your problem but I wasn´t able. Any solution so far?
Angel Romero
2017-6-21
Were you able to fix it?. I'm looking forward to hearing from you. Thanks.
类别
在 帮助中心 和 File Exchange 中查找有关 Correlation and Convolution 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!