www.gusucode.com > 基于matlab编程雷达目标航迹跟踪源码程序 > 基于matlab编程雷达目标航迹跟踪源码程序/数据处理程序/kalman_filter_initial.m
function [state_initial,variance_initial] = kalman_filter_initial(first_point_of_track ,second_point_of_track ,ts ,... sigma_r,sigma_a,sigma_e) % 函数实现功能: % kalman滤波初始化程序,为后面的递推算法的实现,产生必需的初始化量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 输入变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % first_point_of_track --> 本航迹的第一个点,3*1的矩阵,第一行表示距离,第二行表示方位角,第三行表示俯仰角 % second_point_of_track --> 本航迹的第二个点 % ts --> 每两批数据之间的间隔时间 % sigma_r --> 距离观测噪声标准差 % sigma_a --> 方位角观测噪声标准差 % sigma_e --> 俯仰角观测噪声标准差 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 输入变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%% 输出变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % state_initial --> 初始状态 % variance_initial --> 初始协方差 %%%%%%%%%%%%%%%%%%%%%%%%%%%% 输出变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求初始状态%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% range_observe=[first_point_of_track(1),second_point_of_track(1)]; azimuth_observe=[first_point_of_track(2),second_point_of_track(2)]; elevation_observe=[first_point_of_track(3),second_point_of_track(3)]; Vr(2)=(range_observe(2)-range_observe(1))/ts; Va(2)=(azimuth_observe(2)-azimuth_observe(1))/ts; Ve(2)=(elevation_observe(2)-elevation_observe(1))/ts; state_initial=[range_observe(2) Vr(2) azimuth_observe(2) Va(2) elevation_observe(2) Ve(2)]';%初始状态 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求初始状态%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求初始协方差%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% variance_initial=[sigma_r^2 sigma_r^2/ts 0 0 0 0;sigma_r^2/ts 2*sigma_r^2/ts^2 0 0 0 0;0 0 sigma_a^2 sigma_a^2/ts 0 0;... 0 0 sigma_a^2/ts 2*sigma_a^2/ts^2 0 0;0 0 0 0 sigma_e^2 sigma_e^2/ts;0 0 0 0 sigma_e^2/ts 2*sigma_e^2/ts^2];%初始协方差 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求初始协方差%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%