传感器融合与卡尔曼滤波器

29日视图(30天)
AEW
AEW 2023年1月2日
评论道: AEW2023年2月15日
(1)我想知道如何执行对象与线性卡尔曼滤波跟踪” trackingKF “使用不止一个跟踪对象的测量。换句话说,我想执行一个移动对象的传感器融合与卡尔曼滤波器使用两个位置测量(从两个传感器数据处理计算)。下面的代码演示了如何我用一套的位置测量。
XY_pos1 = (33.544 - -214.86
99.551 - -218.83
140.1 - -213.7
179.69 - -206.96
218.29 - -200.07
236.45 - -215.53
270.55 - -200.66
311.27 - -193.14
347.55 - -176.33
378.1 - -167.25
405.9 - -145.6
422.43 - -132.86
452.4 - -92.974
462.61 - -70.885
470.82 - -54.077
470.59 - -42.721
467.96 - -24.212
459.13 - 4.495
452.39 - 40.051
458.39 - 69.918
440.54 - 104.4);
initialState = [XY_pos1 (1);0;XY_pos1 (2);0);
KF = trackingKF (“MotionModel”,“二维恒定速度”,“状态”,initialState);
步伐= 0.5;
k = 1:尺寸(XY_pos1, 1)
predStates (k) =预测(KF,步伐);
corrStates (k) =正确(KF, XY_pos1 (k,:));
结束
(2)另外,我想知道线性卡尔曼滤波器可以忽略异常或嘈杂的位置测量。
谢谢你知道你可以提供。

接受的答案

兰德Kivelevitch
兰德Kivelevitch 2023年1月3日
编辑:兰德Kivelevitch 2023年1月3日
回答你第一个问题:是的,卡尔曼滤波不介意测量到相同的传感器,两个传感器,或多个传感器。只要你知道你当每个传感器检测和使用正确的时间区别每个连续测量,你可以用它以同样的方式,你上面写的。它将看起来的:
XY_pos1 = (33.544 - -214.86
99.551 - -218.83
140.1 - -213.7
179.69 - -206.96
218.29 - -200.07
236.45 - -215.53
270.55 - -200.66
311.27 - -193.14
347.55 - -176.33
378.1 - -167.25
405.9 - -145.6
422.43 - -132.86
452.4 - -92.974
462.61 - -70.885
470.82 - -54.077
470.59 - -42.721
467.96 - -24.212
459.13 - 4.495
452.39 - 40.051
458.39 - 69.918
440.54 - 104.4);
t1 = 0.5 *(1:尺寸(XY_pos1, 1));%承担dt传感器1是0.5秒
%创建一个数组1时间和位置传感器测量
XYT1 = (t1, XY_pos1];
%重复传感器2假设的dt是1秒。我用相同的
%的数据,但其他时间测定
XYT2 = XYT1(1:2:最终,);
%的测量时间
XYT = sortrows ([XYT1; XYT2]);
%从代码在本质上是一样的,但是请注意使用
%的XYT变量
initialState = [XYT (1、2);0;XYT (1、3);0);
KF = trackingKF (“MotionModel”,“二维恒定速度”,“状态”,initialState);
k = 1:尺寸(XYT, 1) 1
步伐= XYT (k + 1, - 1) -XYT (k, 1);
predStates (k) =预测(KF,步伐);
:corrStates (k) =正确(KF, XYT (k + 1, 2:3) ');
结束
%绘制结果
情节(XYT (:, 2), XYT (:, 3),“x”DisplayName =“测量”);
持有
情节(predStates (: 1) predStates (:, 3), DisplayName =“预测”);
情节(corrStates (: 1) corrStates (:, 3), DisplayName =“纠正”);
传奇(位置=“西北”)
卡尔曼滤波器可以忽略“局外人”或“噪声”位置测量吗?
简短的回答是否定的。主要使用卡尔曼滤波器是滤波器的测量,所以它不应该忽略噪声测量。然而,如果你知道有一些异常值是完全的原因(例如,你得到一个测量(1000、1000)在上面的设置中,然后你——作为一个知情人士问题应该删除,测量的数据集。过滤器不能猜这个测量是比另一个更离群值测量。
6个评论

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!