扩展卡尔曼滤波器的实现加速度计数据

58视图(30天)
我有一个现实世界的加速计和GPS(全球定位系统(GPS)是可选的)值,我想用它来开发一个导航系统。我beieve使用命令“insfilter”和“trackingEKF”但是我在这些工作变得困难。当我使用这两个函数得到错误:“数组索引必须是正整数或逻辑值。”
我迄今为止的代码如下,视消除异常值的数据:
clc;
关闭所有;
清晰;
工作空间;
集(0,“DefaultAxesFontSize”15)
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %
%定义参数
D = csvread (“test20m3.csv”);% CSV文件读取
t = D (: 1);%定义时间
XAccRaw = D (:, 5);XAcc = XAccRaw * 9.81;%定义和转换加速轴m / s ^ 2
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %
%绘制原始加速度=轴
hFig1 =图(1);%定义第一个图
情节(t, XAcc“b -”,“MarkerSize”5);%绘制原始加速度与时间
网格;%绘制网格
持有;%的情节
字形大小= 15;%增加字体大小
标题(“原始加速度与时间”,“字形大小”、字形大小);%标题图
包含(“时间(s)”,“字形大小”、字形大小);%标签轴
ylabel (“加速度(m / s ^ 2)”,“字形大小”、字形大小);%标签轴
hFig1.WindowState =“最大化”;%放大图窗口全屏
yline (0,“k”,“线宽”1);%画一条线在y = 0
%去除离群值的数据
XoutlierIndexes = isoutlier (XAcc);%大纲加速度计异常值
情节(t (XoutlierIndexes) XAcc (XoutlierIndexes),“罗”,“MarkerSize”15);%在情节突出异常值
TX = t (~ XoutlierIndexes);%定义良好的数据点w.r.t.时间
AX = XAcc (~ XoutlierIndexes);