Inverse of xcorr?
5 views (last 30 days)
Show older comments
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 Comment
Jonas
on 9 Jul 2021
since convolution and cross correlation are very similar, you may have a look into deconvolution, also something in this thread
Answers (1)
vidyesh
on 12 Apr 2024
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)
disp(x2);
Hope this helps.
0 Comments
See Also
Categories
Find more on Multirate Signal Processing 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!