How to calculate autocorrelation matrix eigenvalues without actually creating the matrix
6 ビュー (過去 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.
0 件のコメント
採用された回答
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).
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!