How to calculate autocorrelation matrix eigenvalues without actually creating the matrix

5 次查看(过去 30 天)
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.

采纳的回答

Matt J
Matt J 2014-1-30
编辑:Matt J 2014-1-30
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 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by