资源简介
基于卡尔曼滤波算法的雷达追踪算法,采用matlab仿真实现
代码片段和文件信息
%
% Example 5.8
%
close all;
clear all;
clf;
disp(‘Covariance analysis of radar tracking problem‘);
disp(‘given as Example 5.8 in‘);
disp(‘M. S. Grewal and A. P. Andrews‘);
disp(‘Kalman Filtering: Theory and Practice Using MATLAB‘);
disp(‘4th Edition Wiley 2014.‘);
disp(‘ ‘);
disp(‘Plots histories of six mean squared state‘);
disp(‘uncertainties and six magnitudes of Kalman gains‘);
disp(‘for intersample intervals of 5 10 and 15 seconds.‘);
disp(‘ ‘);
disp(‘Six state variables:‘);
disp(‘ 1. Range to object being tracked.‘);
disp(‘ 2. Range rate of object being tracked.‘);
disp(‘ 3. object range maneuvering noise (pseudo state).‘);
disp(‘ 4. Bearing to object being tracked.‘);
disp(‘ 5. Bearing rate of object being tracked.‘);
disp(‘ 6. object bearing maneuvering noise (pseudo state).‘);
disp(‘Pseudo states are used for modeling correlated noise.‘);
%
sigma1sq = (103/3)^2;
sigma2sq = 1.3E-8;
sigmarsq = (1000)^2;
sigmatsq = (.017)^2;
rho = 0.5;
%
% State Transition matrix (the part not depending on T)
%
Phi = eye(6);
Phi(23) = 1;
Phi(56) = 1;
Phi(33) = rho;
Phi(66) = rho;
Q = zeros(6);
Q(33) = sigma1sq;
Q(66) = sigma2sq;
R = zeros(2);
R(11) = sigmarsq;
R(22) = sigmatsq;
H = zeros(26);
H(11) = 1;
H(24) = 1;
%
% arrays for saving data to be plotted
%
t = zeros(332); % time (for 3 plots)
rcov = zeros(332); % Range covariance
rrcov = zeros(332); % Range Rate covariance
bcov = zeros(332); % Bearing covariance
brcov = zeros(332); % Bearing Rate covariance
rrncov = zeros(332); % Range Rate Noise covariance
brncov = zeros(332); % Bearing Rate Noise covariance
rkg = zeros(332); % Range Kalman gain
rrkg = zeros(332); % Range Rate Kalman gain
bkg = zeros(332); % Bearing Kalman gain
brkg = zeros(332); % Bearing Rate Kalman gain
rrnkg = zeros(332); % Range Rate Noise Kalman gain
brnkg = zeros(332); % Bearing Rate Noise Kalman gain
N=0;
for T = 5:5:15
N=N+1;
disp([‘Simulating tracking at ‘num2str(T)‘ second intervals.‘]);
Phi(12) = T;
Phi(45) = T;
P = zeros(6);
P(11) = sigmarsq;
P(12) = sigmarsq/T;
P(21) = P(12);
P(22) = 2*sigmarsq/T^2 + sigma1sq;
P(33) = sigma1sq;
P(44) = sigmatsq;
P(45) = sigmatsq/T;
P(54) = P(45);
P(55) = 2*sigmatsq/T^2 + sigma2sq;
P(66) = sigma2sq;
for cycle=0:15
%
% Save a priori values
%
prior = 2*cycle+1;
t(Nprior) = T*cycle;
K = P*H‘/(H*P*H‘+R);
rcov(Nprior) = P(11); % Range covariance
rrcov(Nprior) = P(22); % Range Rate covariance
bcov(Nprior) = P(44); % Bearing covariance
brcov(Nprior) = P(55); % Bearing Rate covariance
rrncov(Nprior) = P(33); % Range Rate Noise covariance
brncov(Nprior) = P(66); % Bearing Rate Noise covariance
rkg
- 上一篇:遗传算法优化神经网络的matlab程序
- 下一篇:深度信息提取
相关资源
- 深度信息提取
- 遗传算法优化神经网络的matlab程序
- MATLAB实现BPSK
- MATLAB摄像机标定程序
- matlab基于小波融合的人脸融合
- fsvm的matlab实现
- 采样频率绘制matlab代码
- 基于轮廓提取的多边形近似匹配算法
- 基于matlab代码实现的SVPWM程序
- matlab萤火虫代码
- matlab 附和导线平差
- MATLAB数字信号处理工具箱
- 基于霍夫曼编码实现的图像无损压缩
- matlab可用粒子群工具箱 - PSOt
- matlab资源——NIT工具箱
- 朴素贝叶斯算法matlab实现
- 近邻传播聚类-MATLAB程序
- Camshift跟踪 Matlab实现
- 三种esprit算法实现doa估计
- matlab各种图像压缩源代码
- matlab小波变换合集
- 最大后验概率 MAP 准则matlab源码
- 非线性系统辨识
- 异步电机matlab仿真
- matlab 数字升余弦仿真
- 多重网格法求解微分方程-matlab
- 批量读取温度数据
- MATLAB实现DPCM编码
- lz复杂度计算的matlab程序
- 最小二乘法Matlab代码
评论
共有 条评论