find shift using cross correlation
4 次查看(过去 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 ?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/149675/image.jpeg)
0 个评论
回答(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 个评论
Angel Romero
2017-6-21
Hi there! I tried to solve your problem but I wasn´t able. Any solution so far?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!