www.gusucode.com > 基于matlab编程雷达目标航迹跟踪源码程序 > 基于matlab编程雷达目标航迹跟踪源码程序/数据处理程序/track_die_out.m
function [trust_track,track_data_output,number_of_track] = track_die_out(trust_track ,track_data_output,number_of_track) %函数功能:航迹消亡 %当未用实点更新次数达到该航迹消亡门限值时,该条航迹消亡,删除该条航迹的所有信息 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 输入变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % trust_track --> 可靠航迹文件,存储已经形成的可靠航迹的新息 % 1-6列:每条航迹最后一个点的滤波信息,1距离,2距离向速度,3方位角,4方位角向速度,5俯仰角,6俯仰角速度 % 7-42列:滤波误差协方差信息,本是一个6*6的矩阵,存成行则变成36列 % 43航迹识别标志,44来/去,45是第几个点,46实点/补点,47属于哪个通道,48航迹未被更新次数,49更新标志0未更新/1更新,50航迹消亡的门限值; % track_data_output --> 该批次数据处理完毕后,输出的航迹信息,存储输出航迹信息的多行8列矩阵;各列代表含义如下:1距 % 离,2方位角,3俯仰角,4属于第几条航迹,5来/去,6积累时间,7是第几个点,8实点/补点,9属于哪个通道; % number_of_track --> 已经形成的可靠航迹数 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 输入变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 输出变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % trust_track --> 可靠航迹文件,存储已经形成的可靠航迹的新息 % 1-6列:每条航迹最后一个点的滤波信息,1距离,2距离向速度,3方位角,4方位角向速度,5俯仰角,6俯仰角速度 % 7-42列:滤波误差协方差信息,本是一个6*6的矩阵,存成行则变成36列 % 43航迹识别标志,44来/去,45是第几个点,46实点/补点,47属于哪个通道,48航迹未被更新次数,49更新标志0未更新/1更新,50航迹消亡的门限值; % track_data_output --> 该批次数据处理完毕后,输出的航迹信息,存储输出航迹信息的多行9列矩阵;各列代表含义如下:1距 % 离,2方位角,3俯仰角,4属于第几条航迹,5来/去,6积累时间,7是第几个点,8实点/补点,9属于哪个通道; % number_of_track --> 已经形成的可靠航迹数 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 输出变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% index_num_unnew=find(trust_track(:,48) == trust_track(:,50));%找到未用实点更新次数达到该航迹消亡门限值的可靠航迹所在行 index_track=trust_track(index_num_unnew,43);%找到未用实点更新次数达到该航迹消亡门限值的可靠航迹号 temp_num1=size(index_track,1);%要消亡的航迹的数目 for i=1:temp_num1 track_data_output(find(track_data_output(:,4)==index_track(i)),:)=[];%删除未用实点更新次数达到该航迹门限值的航迹信息 trust_track(find(trust_track(:,43) == index_track(i)),:) = [];% 删除未用实点更新次数达到该航迹门限值的可靠航迹 if(index_track(i)<number_of_track)%也就是说,如果要消亡的不是最后一条航迹,需要将航迹号重新赋值 for cnt_index=index_track(i)+1:number_of_track index_move1=find(trust_track(:,43) == cnt_index); if(index_move1>0) trust_track(index_move1,43)=cnt_index-1; track_data_output(find(track_data_output(:,4)==cnt_index),4)=cnt_index-1; end end end end number_of_track=number_of_track-temp_num1;%剩余航迹的数目