基本信息
源码名称:2-d music高分辨率方位估计
源码大小:0.97KB
文件格式:.zip
开发语言:MATLAB
更新时间:2019-10-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


clc;
clear all;

Pd=8000;
s1=1/1000*exp(j*pi/3*[0:Pd])';
s2=1/1000*exp(j*pi/4*[0:Pd])';
s3=1/1000*exp(j*pi/5*[0:Pd])';
save sig3 s1 s2 s3;

m=6; % 阵元数
p=3; % 信号数
%俯仰角为入射方向与圆阵轴线之间的夹角,方位角为x轴到入射线在圆阵上投影的夹角
st1=10; % 俯仰角
dt1=20; % 方位角
st2=20;
dt2=30;
st3=30;
dt3=40;

st=[st1;st2;st3];
dt=[dt1;dt2;dt3];

nn=4096; 
SN1=20; 
SN2=20;
SN3=20;
sn=[SN1;SN2;SN3];
degrad=pi/180;

load sig3
tt=1:nn;
S=[s1(tt),s2(tt),s3(tt)].';
noise=randn(m,nn) j*randn(m,nn); 
Ps=S*S'/nn;
ps=diag(Ps);
refp=2*10.^(sn/10);
tmp=sqrt(refp./ps);
S2=diag(tmp)*S;

% 圆半径为半波长
A=zeros(m,p);
%k=[0:m-1]';
for t=1:p
%A(:,t)=exp(j*pi*(sin(st(t)*degrad)*cos(dt(t)*degrad)*cos(2*pi*k/m) sin(st(t)*degrad)*sin(dt(t)*degrad)*sin(2*pi*k/m)));
A(1,t)=1;
A(2,t)=exp(j*pi*cos(st(t)*degrad)*cos(dt(t)*degrad));
A(3,t)=exp(j*2*pi*cos(st(t)*degrad)*cos(dt(t)*degrad));
A(4,t)=exp(j*pi*sin(st(t)*degrad)*cos(dt(t)*degrad));
A(5,t)=exp(j*pi*cos(st(t)*degrad)*cos(dt(t)*degrad) j*pi*sin(st(t)*degrad)*cos(dt(t)*degrad));
A(6,t)=exp(j*2*pi*cos(st(t)*degrad)*cos(dt(t)*degrad) j*pi*sin(st(t)*degrad)*cos(dt(t)*degrad));
%构造A阵
end
X=A*S2 noise;

Rxx=X*X'/nn;
[U,s,v]=svd(Rxx);
Vs=U(:,1:p);
Vu=U(:,p 1:m);

a=[0:1:90];
e=[0:1:90];
for st1=0:length(a)-1
    for dt1=0:length(e)-1
        %k=[0:m-1]';
        %AA=exp(j*pi*(sin(st1*degrad)*cos(dt1*degrad)*cos(2*pi*k/8) sin(st1*degrad)*sin(dt1*degrad)*sin(2*pi*k/8)));
        AA=[1;exp(j*pi*cos(st1*degrad)*cos(dt1*degrad));exp(j*2*pi*cos(st1*degrad)*cos(dt1*degrad));
            exp(j*pi*sin(st1*degrad)*cos(dt1*degrad));
            exp(j*pi*cos(st1*degrad)*cos(dt1*degrad) j*pi*sin(st1*degrad)*cos(dt1*degrad));
            exp(j*2*pi*cos(st1*degrad)*cos(dt1*degrad) j*pi*sin(st1*degrad)*cos(dt1*degrad))];
        WW=AA'*Vu*Vu'*AA;
        Pmusic(st1 1,dt1 1)=abs(8./WW);%角谱
    end 
end 

mesh(e,a,Pmusic);
title('MUSIC空间谱');
xlabel('方位角'); 
ylabel('俯仰角');
zlabel('角谱');
grid on; 
view([90,0]);