Signal Normalization for cross correlation
조회 수: 22(최근 30일)
표시 이전 댓글
mustafa alnasser 2015년 6월 19일
답변: Abhiram Bhanuprakash 2015년 6월 22일
I need to do a cross correlation between two signals to find the displacement ( it is the same signal but it is moving and i need to find how much it shift). I need to signal normalization before doing the cross correlation , there are many techniques and each one gave different results , could you advise which is best technique .
Abhiram Bhanuprakash 2015년 6월 22일
Since in your case you are doing a cross-correlation between a signal and its own shifted version, to simplify things, you would just need to ensure that the signal and its shifted version have the same scaling. To ensure this, you can use something like:
% s1 = some signal
% s2 = time shifted s1
s1 = s1/max(abs(s1));
s2 = s2/max(abs(s2));
scorr = xcorr(s1,s2);
You can also see the examples in the documentation for xcorr .
Hope this helps,
Find more on Correlation and Convolution in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!