%===============================产生信号===================================
M=1000; %快拍数
thetas=[5,30]*pi/180; %信号来波方向
Ns=length(thetas);%信号源个数2
for n=1:Ns
SS(n,1:M)=randn(1,M)+j*randn(1,M);
SS(n,1:M)=SS(n,1:M)/sqrt(SS(n,1:M)*SS(n,1:M)'/M);
A(1:Ne,n)=exp(j*[0:Ne-1].'*beta*d*sin(thetas(n)));
end
%================================Monte-Carlo===============================
SNR=-20:1:20;
monte=100; %Monte-Carlo模拟的次数
kk=0;
for nsnr=1:length(SNR)
Ns_est=0;
kk=kk+1;
correct1=0;
correct2=0;
for mk=1:monte
Renoise=randn(Ne,M);
%=========产生零均值,方差为1的高斯白噪声==========
for n=1:Ne
Renoise(n,:)=Renoise(n,:)./std(Renoise(n,:));
Renoise(n,:)=Renoise(n,:)-mean(Renoise(n,:));
end
%================================================
Ps=10.^(SNR(nsnr)./10); %信号功率
S=sqrt(Ps).*SS;
Y=A*S+Renoise; %接收到的信号
R=Y*Y'./M; %计算协方差矩阵