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

📄 plane_azimuth_fre.m

📁 基于面阵的信号方位角与频率的联合估计
💻 M
字号:
function Plane_Azimuth_Fre  %用MUSIC算法对面阵(平行线阵)方位角与频率进行联合估计
                            %%%方位角是信号与线阵的夹角
clc;
clear;
close all;
MX=16;                            %阵元数目
MY=2;
N=4;                              %信源数目
c=1500;                           %波速度
f=30000;                          %工作频率
lamda=c/f;                        %波长
d=0.5*lamda;                      %阵元间距
snap=1000;                        %快拍数目
snr=20;
format short
ratio=0.5;
fs=1000;
ts=1/fs;
t=(0:snap-1)/fs;
theta_in=[40,0.3;60,0.3;96,0.1;100,0.2]; %输入信号

X=Signal(t,MX,MY,N,snap,ratio,theta_in,snr,f);
      Rx=X*X'/snap;
      [U,R]=eig(Rx);
      size(Rx);
for iii=1:MX*MY
    b(iii)=abs(R(iii,iii));
end
[c,e]=sort(b);
for iii=1:(MX*MY-N)
U_n(:,iii)=U(:,e(iii));
end
Theta=0:180;
omig=0:0.01:0.5;
for ii=1:length(Theta)
    for jj=1:length(omig)
        a_theta=[];
        for vvv=1:MY
         for vv=1:MX
         Temp(vv,:)=exp(j*2*pi*ratio*omig(jj)*((vv-1)*cos(Theta(ii)*pi/180)+(vvv-1)*sin(Theta(ii)*pi/180)));
         end 
         a_theta=[a_theta;Temp];
       end
       P_MUSIC(ii,jj)=10*log10(1/abs(a_theta'*U_n*U_n'*a_theta));
    end
end
[X,Y]=meshgrid(omig,Theta);
figure(1);
mesh(X,Y,P_MUSIC);grid on;xlabel('归一化频率');ylabel('方向角');title('平行线阵频率与方位角联合估计—MUSIC算法');
return
% %========================================信号源====均匀平行线阵====================
% %M阵元数 ,N信源数 ,snap快拍数 ,R阵元间距与波长比 ,theta 信源方位角  ,SNR 信噪比
function out=Signal(t,MX,MY,N,snap,R,theta,SNR,f0)   

for ii=1:N
 S(ii,:)=exp(j*2*pi*(f0*theta(ii,2)*t+0.5*2^(ii-1)*t.^2));
end
 for ii=1:N
     A1=[];
     for jj=1:MY
         for jjj=1:MX
         Temp(jjj,:)=exp(j*2*pi*R*theta(ii,2)*((jjj-1)*cos(theta(ii,1)/180*pi)+(jj-1)*sin(theta(ii,1)*pi/180)));
         end
         A1=[A1;Temp];
     end
       A(:,ii)=A1;
 end
   X0=A*S;
   randn('state',0);
    real_noise=randn(size(X0));
     randn('state',3);
      imag_noise=randn(size(X0));
       noise0=(real_noise+j*imag_noise)/2^0.5;
         noise=10^(-SNR/20)*noise0;
    out=X0+noise;
return

⌨️ 快捷键说明

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