本文试图用Matlab研究样本协方差矩阵特征值的统计方差为了说明这一点,每个样本协方差矩阵都是由有限个向量快照(受随机高斯白噪声影响)构造的然后,在大量的试验中,生成大量这样的矩阵并对其进行特征分解,以估计特征值的理论统计量。
根据几个来源(例如,见[1,等式.3]和[2,等式.11]),每个样本特征值的方差应等于理论特征值的平方,除以用于每个协方差矩阵的向量快照数然而,我从Matlab得到的结果甚至都不接近。
我的代码有问题吗用Matlab(我从来没有遇到过类似的问题)。
下面是一个非常简单的例子:
% Data vector length
Lvec = 5;
% Number of snapshots per sample covariance matrix
N = 200;
% Number of simulation trials
Ntrials = 10000;
% Noise variance
sigma2 = 10;
% Theoretical covariance matrix
Rnn_th = sigma2*eye(Lvec);
% Theoretical eigenvalues (should all be sigma2)
lambda_th = sort(eig(Rnn_th),'descend');
lambda = zeros(Lvec,Ntrials);
for trial = 1:Ntrials
% Generate new (complex) white Gaussian noise data
n = sqrt(sigma2/2)*(randn(Lvec,N) + 1j*randn(Lvec,N));
% Sample covariance matrix
Rnn = n*n'/N;
% Save sample eigenvalues
lambda(:,trial) = sort(eig(Rnn),'descend');
end
% Estimated eigenvalue covariance matrix
b = lambda - lambda_th(:,ones(1,Ntrials));
Rbb = b*b'/Ntrials
% Predicted (approximate) theoretical result
Rbb_th_approx = diag(lambda_th.^2/N)
参考文献:
[1]Friedlander,B.;Weiss,A.J.;,“On the second-order statistics of the eigenvectors of sample covariance matrices,”信号处理,IEEETransactions on,vol.46,no.11,pp.3136-31391998年11月
[2]Kaveh,M.;Barabell,A.;,“The statistical performance of the MUSIC and the minimum-norm algorithms in resolving plane waves in noise,”声学、语音和信号处理,IEEE汇刊,第34卷,第2期,第331-3411986年4月
最佳答案
根据你方第一次引用的摘要:
“统计文献中已导出特征向量的二阶统计量公式,并得到广泛应用由于特征向量定义的不一致性,我们指出了数值模拟中观测到的统计数据与理论公式之间的差异我们提出两种解决这一矛盾的方法第一步是修改理论公式以匹配计算结果第二个涉及到对计算的简单修改,使它们与现有公式匹配。
听起来有点不一致,而且这两个“解决方案”听起来像是黑客,但是如果没有实际的文件,就很难帮上忙。