📄 doa.m
字号:
function [DF_Info,DF]=DOA(ft1_data,Date_Info,Station_Info,Dec_Info,source)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%初始化
% DF_Info=struct('time_index',{0},'file_name',{'ZuJJ'},'Range',{0},'Angle',{0},'Vel',{0},'range_bin',{0},'dpl_bin',{256});
DF_Info=struct('time_index',{},'file_name',{},'Range',{},'Angle',{},'Vel',{},'range_bin',{},'dpl_bin',{});
DF=[];
ns=17;
k=Date_Info.channel_num;
lebta=Date_Info.wave_length;
linex=(Station_Info.linex)';
liney=(Station_Info.liney)';
nn=Date_Info.chirp_num;
s=(nn-nn/2)/(ns-1);
blackman128=blackman(nn/2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dec_Num=length(Dec_Info);
tt=0;
for mm=1:Dec_Num
nrange=Dec_Info(mm).range_bin;
ind=Dec_Info(mm).dpl_bin;
angle_no=Dec_Info(mm).beam_bin;
angle_m=15*(angle_no-5);
angle_p=15*(angle_no-3);
fx_temp(:,:)=ft1_data(:,:,nrange);
fx=fx_temp.';
for ii=1:k
for i=1:ns
sx=fx(ii,(1+(i-1)*s):nn/2+(i-1)*s).*blackman128';
ffsx1=fft(sx);
ffsx=fftshift(ffsx1);
x(ii,i)=ffsx(ind);
end
end
[mdoa,nos]=MUSIC(x,lebta,linex,liney,source);
for i=1:nos
if(mdoa(i)<60 & mdoa(i)>-60) %& -mdoa(i)<angle_p & -mdoa(i)>angle_m)
tt=tt+1;
DF_Info(tt).time_index = Dec_Info(mm).time_index;
DF_Info(tt).file_name=Dec_Info(mm).file_name;
DF_Info(tt).Range=Dec_Info(mm).tru_range;
DF_Info(tt).Angle=mdoa(i);
DF_Info(tt).Vel=Dec_Info(mm).velocity;
DF_Info(tt).range_bin=Dec_Info(mm).range_bin;
DF_Info(tt).dpl_bin=Dec_Info(mm).dpl_bin;
DF(tt,1)=DF_Info(tt).Range;
DF(tt,2)=DF_Info(tt).Angle;
DF(tt,3)=DF_Info(tt).Vel;
DF(tt,4)=DF_Info(tt).range_bin;
DF(tt,5)=DF_Info(tt).dpl_bin;
end
end
end
if(length(DF_Info)>0)
[temprange,ind]=sort(DF(:,1));
DF=DF(ind,:);
DF_Info=DF_Info(ind);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -