How to calculate autocorrelation matrix eigenvalues without actually creating the matrix

5 visualizzazioni (ultimi 30 giorni)
Hi, I am working with a large autocorrelation vector (size 1.023e6 ). It is well known that the autocorrelation matrix can be formed easily from the autocorrelation vector i.e for
[Rx(0) Rx(1) Rx(2)]
would form the following matrix
Rxx=[Rx(0) Rx(1) Rx(2);Rx(1) Rx(0) Rx(1);Rx(2) Rx(1) Rx(0)];
In the first row we have all the values contained in the matrix. My goal is to calculate the eigenvalues using eig, but it is impossible to create the matrix due to memory limitations.I would like to know if there is a way to calcute the eigenvalues using the autocorrelation vector as an argument (without actually creating the autocorrelation matrix).
Thanks in advance.

Risposta accettata

Matt J
Matt J il 30 Gen 2014
Modificato: Matt J il 30 Gen 2014
Rxx is Toeplitz. If it is also circulant, then the eigenvalues are just fft(Rx). Circulancy would occur if your signal had some sort of periodicity to it, or if you were using some kind of toroidal edge conditions, x(N+1)=x(1).
  3 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Linear Algebra in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by