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

📄 lfm2_mp_snr_1.m

📁 信号与信息处理——阵列信号处理DOA估计的matlab算法
💻 M
字号:
tic
  %  the  data of signal
clear;
format short;
c=3*10.^8;
L=8;
N=128*2;
fm1=0.25;%fc1=0.275;
fm2=0.32;%fc2=0.349;
Km1=0.025;
Km2=0.033;
Phia1=0;
Phia2=0;
f0=0.32;
lamta=c/f0;
len=lamta/2;
%len=1/2;
P1=8*pi/180;
P2=13*pi/180;
  for  nn=1:7;   
  snr=5*(nn-3);
  Amp=sqrt(2*10^(snr/10));
t=1:N;
sig1=Amp.*exp(j*2*pi*(Km1/2*(t.^2)/N+fm1*t+Phia1));
f1=1*Km1*t/N+fm1;
sig2=Amp.*exp(j*2*pi*(Km2/2*(t.^2)/N+fm2*t+Phia2));
f2=1*Km2*t/N+fm2;

s=[sig1;sig2];

 
  for i=1:N;
  l=1:L;  
  x1=exp(j*2*pi*(len*f1(1,i)*(l-1)*sin(P1))/c);
  x2=exp(j*2*pi*(len*f2(1,i)*(l-1)*sin(P2))/c);
 
  a1=x1.';
  a2=x2.';
  a=[a1,a2];
  S(:,i)=a*s(:,i);
  end
  %a=[a1.';a2.'];
   for times=1:2
     times 
 noise=randn(L,N)+j*randn(L,N);
 
 z=S+noise;
 sig1=z(1,:);
 %**************** 信号1频率参数 ********************
 [gamma1,r1,atom1]=mp_f_K_Pi(N,sig1);  
 gamma1;
 %**************** 信号2频率参数 ********************
 sig2=sig1-r1*atom1;
 [gamma2,r2,atom2]=mp_f_K_Pi(N,sig2);  
 gamma2;
%**************** 信号1DOA ********************
 doa_range1=[0 30 1];
 doa_doa1=mp_doa(z,len,gamma1,doa_range1);
 
 doa_range2=[doa_doa1-1 doa_doa1+1 0.01];
 doa_1(times)=mp_doa(z,len,gamma1,doa_range2);
 %**************** 信号2DOA ********************
 doa_range1=[0 30 1];
 doa_doa2=mp_doa(z,len,gamma2,doa_range1);
 
 doa_range2=[doa_doa2-1 doa_doa2+1 0.01];
 doa_2(times)=mp_doa(z,len,gamma2,doa_range2);
 temp=0;
 if  doa_1(times)>doa_2(times)
     temp=doa_2(times);
     doa_2(times)=doa_1(times);
     doa_1(times)=temp;
 end
 end
     doa_mean1(nn)=mean(doa_1);
    doa_resm1(nn)=rmse(doa_1,8);
     doa_mean2(nn)=mean(doa_2);
    doa_resm2(nn)=rmse(doa_2,13);
end
doa_resm1
doa_resm2
nn=-10:5:20;
semilogy(nn,doa_resm1,'r-*',nn,doa_resm2,'b-o');
%plot(nn,doa_resm,'r-*');
xlabel('SNR/dB');
ylabel('RMSE/degree');
 toc

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -