资源简介
此程序是用于单目标的跟踪定位代码,系统选用匀加速的情况,代码没有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
相关资源
- 基于Filter-Hook Driver的个人防火墙
- crossfilter tutorial
- Tracking and Kalman Filtering Made Easy
- 卡尔曼滤波与组合导航原理_第三版
- 卡尔曼滤波与组合导航原理
- 利用ffmpeg的filter混音
- 交互多模IMM 卡尔曼滤波
- 卡尔曼滤波、自适应卡尔曼、抗差卡
- 卡尔曼滤波初学详解,包你懂!
- 滤波-卡尔曼滤波-互补滤波
- 国内首家采用MS全新 MiniFilter架构的
- 双向不敏卡尔曼滤波的无源定位算法
- 容积卡尔曼滤波(CKF)和嵌入式容积
- 低通滤波器设计软件(FilterLab) v2.
- 好用滤波器设计软件 Filter Wiz pro 3.2
- 卡尔曼滤波与组合导航
- 基于Verilog HDL的卡尔曼滤波器的设计
- JULIUSO. SMITHIII《INTRODUCTION TO DIGITAL FI
- Filter Wiz PRO 3.2破解版滤波器软件
- 卡尔曼滤波理论与实践英文原版+代码
- stereo matching using tree filtering
- Microstrip Filters for RF Microwave Applicatio
- LAVFilters-0.68.1安装.rar
- Introduction_To_Digital_Signal_Processing_And_
- 使用kalman滤波实现动态行人检测与跟
- Adaptive Filters: Theory and Applications-2nd
- Gradient Domain Guided Image Filtering
- 行人跟踪OPENCV代码
- 何凯明引导滤波去雾算法
- 卡尔曼滤波 宋文尧
评论
共有 条评论