主要内容

constacc

恒加速运动模型

描述

例子

updatedstate= constacc (状态返回更新后的状态,状态,一个恒加速度卡尔曼滤波运动模型的步长为1秒。

例子

updatedstate= constacc (状态dt时间步长,dt

updatedstate= constacc (状态wdt还指定了状态噪声,w

例子

全部折叠

定义二维恒加速度运动的初始状态。

状态= [1; 1; 1; 2; 1; 0];

预测1秒后的状态。

状态= constacc(状态)
状态=6×12.5000 2.0000 1.0000 3.0000 1.0000 0

定义二维恒加速度运动的初始状态。

状态= [1; 1; 1; 2; 1; 0];

以后预测状态0.5秒。

状态= constacc (0.5),
状态=6×11.6250 1.5000 1.0000 2.5000 1.0000 0

输入参数

全部折叠

恒定加速度运动的卡尔曼滤波状态向量,指定为实数3 n元向量。N是空间运动自由度的数目。对于每个空间运动度,状态向量采用该表所示的形式。

空间维度 状态向量的结构
一维 [x, vx; ax)
二维 [x, vx;斧子;y v,唉)
三维 [x, vx;斧子;y v;是的;z; vz; az)

例如,x代表x协调,vx表示速度x方向,斧头表示的加速度x方向。如果运动模型在一维空间中,则y- 和z-轴被假定为零。如果运动模型在二维空间中,值沿z-轴被假定为零。位置坐标以米为单位。速度坐标的单位是米/秒。加速度坐标的单位是米/秒2

例子:[5, 0.1, 0.01, 0; -0.2; -0.01; 3; 0.05; 0]

数据类型:

滤波器的时间步长间隔,指定为一个正标量。时间单位是秒。

例子:0.5

数据类型:|

状态噪声,指定为标量或真实值D——- - - - - -N矩阵。D运动的维度数是多少N是状态向量的个数。如果指定为标量,则标量值将展开为D——- - - - - -N矩阵。

数据类型:|

输出参数

全部折叠

更新状态向量,作为与输入状态向量具有相同元素数和维数的实值向量或实值矩阵返回。

算法

对于二维等加速度过程,经过一个时间步长的状态转移矩阵,T,是块对角线:

x k + 1 v x k + 1 一个 x k + 1 y k + 1 v y k + 1 一个 y k + 1 1 T 1 2 T 2 0 0 0 0 1 T 0 0 0 0 0 1 0 0 0 0 0 0 1 T 1 2 T 2 0 0 0 0 1 T 0 0 0 0 0 1 x k v x k 一个 x k y k v y k 一个 y k

每个空间维度的块具有此形式:

1 T 1 2 T 2 0 1 T 0 0 1

对于每个额外的空间维度,添加一个相同的块。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了R2018b