필터 지우기
필터 지우기

Inverse of xcorr?

조회 수: 12 (최근 30일)
Mariano Arnaiz
Mariano Arnaiz 2021년 7월 9일
답변: vidyesh 2024년 4월 12일
Hi all.
I have a signal that is a cross correlation between to signals:
X=xcorr(A,B)
But in my case I get X and I can compute B... any idea how to make the inverse of the cross correlation so that I get:
A=ixcorr(X,B)
  댓글 수: 1
Jonas
Jonas 2021년 7월 9일
since convolution and cross correlation are very similar, you may have a look into deconvolution, also something in this thread

댓글을 달려면 로그인하십시오.

답변 (1개)

vidyesh
vidyesh 2024년 4월 12일
Hi Mariano,
Inverse of the cross-correlation can be calculated using the deconv function (as suggested by Jonas). Note that for two real signals 'x' and 'y', cross-correlation of 'x' and 'y' is equal to convolution of 'x' and 'y[-n]' (time reversal of y).
Therefore you can calculate 'x' using the below code.
x = randi([1,10],1,5);
y = randi([1,10],1,6);
R = xcorr(x,y);
x2 = (deconv(R,fliplr(y)));
disp(x)
8 4 10 9 6
disp(x2);
8.0000 4.0000 10.0000 9.0000 6.0000 0.0000
Hope this helps.

카테고리

Help CenterFile Exchange에서 Correlation and Convolution에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by