资源简介
此程序是用于单目标的跟踪定位代码,系统选用匀加速的情况,代码没有bug,可直接运行出结果,比较了运用KF前后的RMSE均方根误差,有图形表示,适合初学者学习Kalman Filter。
用得好,麻烦好评一下,谢谢嘻嘻嘻!
代码片段和文件信息
% Kalman滤波在船舶GPS导航定位系统中的应用
function main
clc;clear;
T=1;%雷达扫描周期
N=80/T;%总的采样次数
X=zeros(4N);%目标真实位置、速度
X(:1)=[-100220020];%目标初始位置、速度
Z=zeros(2N);%传感器对位置的观测
Z(:1)=[X(11)X(31)];%观测初始化
delta_w=1e-2;%如果增大这个参数,目标真实轨迹就是曲线
Q=delta_w*diag([0.510.51]) ;%过程噪声均值
R=100*eye(2);%观测噪声均值
F=[1T00;0100;001T;0001];%状态转移矩阵
H=[1000;0010];%观测矩阵
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for t=2:N
X(:t)=F*X(:t-1)+sqrtm(Q)*randn(41);%目标真实轨迹
Z(:t)=H*X(:t)+sqrtm(R)*randn(21); %对目标观测
end
%卡尔曼滤波
Xkf=zeros(4N);
Xkf(:1)=X(:1);%卡尔曼滤波状态初始化
P0=eye(4);%协方差阵初始化
for i=2:N
Xn=F*Xkf(:i-1);%预测
P1=F*P0*F‘+Q;%预测误差协方差
K=P1*H‘*inv(H*P1*H‘+R);%增益
Xkf(:i)=Xn+K*(Z(:i)-H*Xn);%状态更新
P0=(eye(4)-K*H)*P1;%滤波误差协方差更新
end
%误差更新
for i=1:N
Err_Observation(i)=RMS(X(:i)Z(:i));%滤波前的误差
Err_KalmanFilter(i)=RMS(X(:i)Xkf(:i));%滤波后的误差
end
%画图
figure
hold on;box on;
plot(X(1:)X(3:)‘-k‘);%真实轨迹
plot(Z(1:)Z(2:)‘-b.‘);%观测轨迹
plot(Xkf(1:)Xkf(3:)‘-r+‘);%卡尔曼滤波轨迹
legend(‘真实轨迹‘‘观测轨迹‘‘滤波轨迹‘)
figure
hold on; box on;
plot(Err_Observation‘-ko‘‘MarkerFace‘‘g‘)
plot(Err_KalmanFilter‘-ks‘‘MarkerFace‘‘r‘)
legend(‘滤波前误差‘‘滤波后误差‘)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%计算欧式距离子函数
function dist=RMS(X1X2);
if length(X2)<=2
dist=sqrt( (X1(1)-X2(1))^2 + (X1(3)-X2(2))^2 );
else
dist=sqrt( (X1(1)-X2(1))^2 + (X1(3)-X2(3))^2 );
end
%%%%%%%%%%%%%%%%%%%%%%%%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-21 16:31 KF Boat_ZKX\
文件 1656 2018-12-19 20:12 KF Boat_ZKX\BoatCSDN.m
文件 26240 2018-12-21 16:31 KF Boat_ZKX\Error Analysis.fig
文件 34517 2018-12-21 16:31 KF Boat_ZKX\KF Boat Tracking.fig
文件 2485 2018-12-21 16:31 KF Boat_ZKX\KF_BoatLocation_ZKX.asv
文件 2492 2018-12-21 16:31 KF Boat_ZKX\KF_BoatLocation_ZKX.m
文件 73 2018-12-19 20:17 KF Boat_ZKX\RMSE.m
- 上一篇:川崎机器人程序
- 下一篇:打字游戏 as3.0
相关资源
- Kalman滤波原理及程序手册.doc282116
- 源码图像去噪-lee filter.rar
- 论文研究-基于卡尔曼滤波与PID控制的
- 卡尔曼滤波书籍
- 车辆轨迹预测经典模型
- Sallen Key拓扑电路
- 相当不错的扩展卡尔曼和无迹卡尔曼
- 经典有用的SLAM卡尔曼滤波入门资料中
- 基于卡尔曼滤波的行人检测
- 线性调频信号的压缩以及加窗处理
- 文件内容检索工具 filefilter 1.0
- 最优估计大作业:基于kalman滤波的组
- 一维二维Klaman滤波算法
- 卡尔曼滤波在GPS动态定位中的研究
- 基于卡尔曼滤波的数据融合
- TI滤波器仿真filterpro链接.txt
- 卡尔曼滤波器英文介绍
- CFK容积卡尔曼滤波的多维滤波代码
- ADS1292-呼吸、心率之卡尔曼滤波
- 组合导航仿真程序
- 卡尔曼率波kalman_intro_chinese_V1.2.pdf
- 基于卡尔曼滤波的移动机器人运动目
- an economical class of digital filters for dec
- digital filter基流分割
- Kalman 滤波经典论文
- 基于FPGA实现的自适应卡尔曼滤波器的
- kalman filtering in R(R语言实现卡尔曼滤
- 基于扩展Kalman滤波的双基地声呐目标
- bloomFilter 中的hash函数及测试程序
- 自平衡小车arduino+mpu6050+卡尔曼滤波
评论
共有 条评论