【数据融合】kalman滤波导航数据融合【含Matlab源码 3621期】

在这里插入图片描述

⛄一、 卡尔曼滤波kalman信息融合

1 kalman原理
卡尔曼滤波是一种递推式滤波方法,不须保存过去的历史信息,新数据结合前一刻已求得的估计值及系统本身的状态方程按一定方式求得新的估计值。

1.1 线性卡尔曼
假设线性系统状态是k,卡尔曼原理可用以下五个公式表达:
X(k|k-1)=A X(k-1|k-1)+B U(k) ………… (1)
P(k|k-1)=A P(k-1|k-1) A’+Q ……… (2)
X(k|k)= X(k|k-1)+Kg(k) (Z(k)-H X(k|k-1)) ……… (3)
Kg(k)= P(k|k-1) H’ / (H P(k|k-1) H’ + R) ……… (4)
P(k|k)=(I-Kg(k) H)P(k|k-1) ……… (5)
式(1)中,X(k|k-1)是利用上一状态预测的结果,X(k-1|k-1)是上一状态最优的结果,U(k)为现在状态的控制量;式 (2)中,P(k|k-1)是X(k|k-1)对应的covariance,P(k-1|k-1)是X(k-1|k-1)对应的 covariance,A’表示A的转置矩阵,Q是系统过程的covariance;现在状态(k)的最优化估算值为X(k|k);Kg为卡尔曼增益(Kalman Gain)。

1.2 扩展卡尔曼
实际系统总是存在不同程度的非线性,对于非线性系统滤波问题,常用的处理方法是利用线性化技巧将其转化为一个近似的线性滤波问题,这就是扩展Kalman 滤波方法(Extended Kalman Filter,EKF )思路。扩展Kalman 滤波建立在线性Kalman 滤波的基础上,其核心是对一般的非线性系统将滤波值非线性函数f()和h()展开成Taylor级数并略去二阶及以上项,得到一个近似的线性化模型,然后应用Kalman 滤波完成对目标的滤波估计处理。

1.3、无迹卡尔曼
扩展Kalman滤波是对非线性的系统方程或者观测方程进行泰勒展开并保留其一阶近似项,不可避免地引入了线性化误差。如果线性化假设不成立,采用这算法则会导致滤波器性能下降以至于造成发散。无迹Kalman 滤波(Unscented Kalman Filter,UKF )摒弃了对非线性函数进行线性化的传统做法,采用Kalman 线性滤波框架,对于预测方程,使用无迹变换(Unscented Transform, UT) 来处理均值和协方差的非线性传递问题。

2 数据融合(信息融合)
将经过集成处理的多传感器信息进行合成,形成一种对外部环境或被测对象某一特征的表达方式称为信息融合。常见由以下几种信息融合方法。
(1)综合平均法,即把各传感器数据求平均,乘上权重系数;
(2)贝叶斯估计法,通过先验信息和样本信息得到后验分布,再对目标进行预测;
(3)D-S法,采用概率区间和不确定区间判定多证据体下假设的似然函数进行推理;
(4)神经网络法,以测量目标的各种参数集为神经网络的输入,输出推荐的目标特征或权重;
(5)kalman法、专家系统法等。。。

⛄二、部分源代码

% read original data
X = load(‘z+n.txt’);
posOfEast = X(:, 1);
posOfNorth = X(:, 2);
GPSHeading = heading_preprocess(X(:, 3));
% GPSHeading = X(:, 3);
GPSSpeed = X(:, 4);
GyroAngularRate = X(:, 5);
Odometer = X(:, 6);

% add gaussian white noise (mean=0, variance=8)
posOfEastNoisy = posOfEast + randn(length(posOfEast), 1)*8;
posOfNorthNoisy = posOfNorth + randn(length(posOfEast), 1)*8;

% draw curve with and without noise to compare
figure(1)
x = 1:length(posOfEast);
subplot(211);
plot(x, posOfEast-690000, ‘g’);
hold on;
plot(x, posOfEastNoisy-690000, ‘r’);
legend(‘原始数据’, ‘加噪数据’);
ylabel(‘东面’);
subplot(212);
plot(x, posOfNorth-4850000, ‘g’);
hold on;
plot(x, posOfNorthNoisy-4850000, ‘r’);
legend(‘原始数据’, ‘加载数据’);
ylabel(‘北面’);

% generate observed data
Z = [posOfNorthNoisy’;posOfEastNoisy’;GPSHeading’;GPSSpeed’;…
GyroAngularRate’];

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]陈寅,林良明,颜国正.D-S证据推理在信息融合应用中的存在问题及改进[J].系统工程与电子技术. 2000,(11)

[2]邓肯·麦克尼尔.多传感器数据融合:基于卡尔曼滤波和神经网络的方法[M].机械工业出版社, 2005

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值