I'm trying to compute:
[x(0)x'(0) x(0)x'(1) x(0)x'(2)
x(1)x'(0) x(1)x'(1) x(1)x'(2)
x(2)x'(0) x(2)x'(1) x(2)x'(2)]
where,
' implies a transpose of a conjugate and 0,1 and 2 represent a lag.
My understanding of the autocorrelation when dealing with one sequence in
time is ok (i think). When I'm dealing with more than one sequence
(sensor output) i lose sight of why i'm calculating it the way i am.
Perhaps my starting point above is wrong? The code is:
%----------------
x= [ 1 2 3;4 5 6;7 8 9]
[M,N]=size(x); %N is the number of sensors (rows) and M is the number of
samples (columns)
for i=1:N
X(:,i)=[ x(:,i)' zeros(1,M-1)];
end
X=(X(:))';
X1=zeros(M,N*M);
for i=1:M
for Z=1:N
z=Z-1;
X1(i,(M*(Z-1)+1:M*Z))=X(:,(i+z*(2*M-1)):(i+M-1+z*(2*M-1)));
end
end
Rxx=X1*conj(X1')
%---------------------------
Reply by Rune Allnor●March 13, 20072007-03-13
On 13 Mar, 17:33, "matque" <michelle.mcgu...@eee.strath.ac.uk> wrote:
> I'm trying to copmute the autocorrelation matrix of array outputs and
> suspect i may be doing something wrong. I'm confident that i'm getting the
> right result for vectors but when my signal is a matrix it all goes wrong.
> Looking at the examples below can anyone say if they are correct?
>
> e.g. If X=[1 2 3]
>
> autocorrelation matrix = [14 8 3
> 8 13 6
> 3 6 9]
How did you get that result? It is impossible to
answer your question based on numbers alone, you
need to tell us how you computed that matrix.
Rune
Reply by matque●March 13, 20072007-03-13
I'm trying to copmute the autocorrelation matrix of array outputs and
suspect i may be doing something wrong. I'm confident that i'm getting the
right result for vectors but when my signal is a matrix it all goes wrong.
Looking at the examples below can anyone say if they are correct?
e.g. If X=[1 2 3]
autocorrelation matrix = [14 8 3
8 13 6
3 6 9]
if X = [ 1 2 3
4 5 6
7 8 9]
autocorrelation matrix = [ 285 154 50
154 271 122
50 122 194]
Cheers!