Clear Filters
Clear Filters

Computing the autocorrelation Matrix in Matlab

8 views (last 30 days)
Hello everyone.
Iam reading a course in signal processing and we talked about autocorrelation and the autocorrelation Matrix. As far as I have understood, Matlab can compute the sample autocorrelation sequence by using the xcorr() function.
The result would be according to formula: rx(k) = 1/N*Sum(x(n)*x(n+k)), giving the autocorrelations rxx(0,0), rxx(0,1), rxx(0,2)...
From that I could easily create the autocorrelation Matrix Rxx by i.ex. using the teoplitz() function to get:
Rxx = rxx(0) rxx*(1) rxx*(2) ... rxx*(n-1)
rxx(1) rxx(0) rxx*(1) ... rxx*(n-2)
rxx(2) rxx(1) rxx(0) .... rxx*(n-2)
Now Iam wondering what happens if a have an autocorrrelation like this:
rx(k,l) = 1/N*Sum(x(n-k)*x(n+l))
where the autocorrelation depends on both time k and time l.
I would like to compute an autocorrelation of the form:
Rxx = rxx(0,0) rxx(0,1) rxx(0,2) ... rxx(0,n-1)
rxx(1,0) rxx(1,1) rxx(1,2) ... rxx(1,n-2)
rxx(2,0) rxx(2,1) rxx(2,2) ... rxx(2,n-2)
.... .... .... ... ...
How would can do that in Matlab?
Thanks in advance,
kind regards,
Mike

Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!