📄 esprit11.m
字号:
clear;
format long;
c=3*10.^8;
L=6;
m=L-1;
sam=256;
N=256;
w1=1;
w2=0.99;
phase=0;
%for nn=1:5;
snr1=10;
snr2=5;
Amp1=sqrt(2*10^(snr1/10));
Amp2=sqrt(2*10^(snr2/10));
lamta=c/w1;
len=lamta/2;
P1=60*pi/180;
P2=30*pi/180;
for t=1:sam,
s1(t)=Amp1*(exp(j*2*pi*w1*0.1*t));
s2(t)=Amp2*(exp(j*2*pi*w2*0.1*t));
end
s=[s1(1:N);s2(1:N)];
i=1:L;
x1=exp(j*2*pi*w1*(len*(i-1)*sin(P1)/c));
x2=exp(j*2*pi*w2*(len*(i-1)*sin(P2)/c));
a11=x1(:,1:m);
a12=x2(:,1:m);
a21=x1(:,2:L);
a22=x2(:,2:L);
aa1=[a11.',a12.'];
aa2=[a21.',a22.'];
time=100;
a=[aa1;aa2];
aa=zeros(2,time);
for n=1:time;
noise=randn(2*m,N)+j*randn(2*m,N);
z=a*s+noise;
Rz=(z*z')/(N-1);
[e,v]=eig(Rz);
es=e(:,1:2);
en=e(:,(3:(2*m)));
es1=es(1:m,:);
es2=es(L:(2*m),:);
eez1=[es1';es2'];
eez2=[es1,es2];
eezz=eez1*eez2;
[ee,vv]=eig(eezz);
vv12=ee(1:2,3:4);
vv22=ee(3:4,3:4);
vvz=-vv12/(vv22) ;
[eee,vvv]=eig(vvz);
ang=angle(vvv);
ang1=ang(1,1);
ang2=ang(2,2);
est1=asin((ang1*c/w1)/(2*pi*len));
est2=asin((ang2*c/w2)/(2*pi*len));
agl1=est1*180/pi;
agl2=est2*180/pi;
aa(1,n)=agl1;
aa(2,n)=agl2;
end
doa_1=mean(aa(1,:))
doa_2=mean(aa(2,:))
aas=std(aa(1,:))
bbs=std(aa(2,:))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -