⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 esprit11.m

📁 ESPRIT11算法,是借助旋转不变技术估计信号参数,用matlab写的,大家可以参考一下啊!
💻 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 + -