📄 method_tm_2d.m
字号:
function [Dec_Info,Dec]=method_TM_2D(CurFieldNum,CurFileName,Date_Info,ft2_data,ft2_dbf)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%初始化
Dec_Info=struct('time_index',{0},'file_name',{'ZuJJ'},'range_bin',{0},'dpl_bin',{256},'velocity',{0},'tru_range',{0},'beam_bin',{0});
N1=Date_Info.chirp_num; Bragg=Date_Info.bragg; range_num=Date_Info.valid_range;
SpecToVelCoef=Date_Info.wave_length/(2*N1*Date_Info.chirp_period);
Bragg_L=floor(N1/2+1-Bragg); Bragg_L_M=Bragg_L-15; Bragg_L_P=Bragg_L+15;
Bragg_R=floor(N1/2+1+Bragg); Bragg_R_M=Bragg_R-15; Bragg_R_P=Bragg_R+15;
mm=0;
M=10;
N=16;
M1=N/2+2;
M2=M/2+2;
total_num=(M+3)*(N+3)-5;
T1=140;T2=40;
Threshold_2D=0.2;
for range=M2:(range_num-M2+1)
for angle_no=1:7
dbf_data=ft2_dbf(:,angle_no,range);
basenoise(angle_no)=median(dbf_data);
end
for dpl=M1:(N1-M1+1)
aaa_angle=ft2_dbf(dpl,:,range);
[Xrd,angle_no]=max(aaa_angle);
Snr1=0;
aaa=ft2_dbf((dpl-1):(dpl+1),angle_no,(range-1):(range+1));
aaa1=max(max(aaa));
[value1,dpl1]=max(ft2_dbf(Bragg_L_M:Bragg_L_P,angle_no,range));
dpl1=Bragg_L_M+dpl1-1;
[value2,dpl2]=max(ft2_dbf(Bragg_R_M:Bragg_R_P,angle_no,range));
dpl2=Bragg_R_M+dpl2-1;
if abs(dpl2-dpl1-2*Bragg)>=4
dpl2=0;
dpl1=0;
end
if (aaa1==Xrd)&(dpl~=dpl1)&(dpl~=dpl2)
value1=ft2_dbf((dpl-N/2-1):(dpl+N/2+1),angle_no,(range-M/2-1):(range+M/2+1));
value1((N/2+1):(N/2+3),1,M/2+2)=0;
value1(N/2+2,1,(M/2+1):(M/2+3))=0;
sort_all=sort(value1(1:end));
temp_dpl=sum(sort_all((T1+6):(end-T2)));
Snr1=Xrd/temp_dpl;
if Snr1>Threshold_2D
mm=mm+1;
Dec_Info(mm).time_index=CurFieldNum;
Dec_Info(mm).file_name=CurFileName;
Dec_Info(mm).range_bin=range+Date_Info.begin_range-1;
Dec_Info(mm).dpl_bin=round(dpl/2);
RangeData=ft2_data(dpl,:,(range-1):(range+1));
RangeMid=RangeInterp(RangeData);
Dec_Info(mm).tru_range=(Dec_Info(mm).range_bin+RangeMid)*Date_Info.range_res;
Dec_Info(mm).beam_bin=angle_no;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dec(mm,1)=mm;
Dec(mm,2)=range+Date_Info.begin_range-1;
Dec(mm,3)=round(dpl/2);
Dec(mm,4)=(dpl-1-N1/2)*SpecToVelCoef;
Dec(mm,5)=Dec_Info(mm).tru_range;
Dec(mm,6)=angle_no;
end
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -