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!