主要内容

constvel

等速状态更新

描述

例子

updatedstate= constvel (状态返回更新后的状态,状态,在一秒时间步长后的等速卡尔曼滤波运动模型。

例子

updatedstate= constvel (状态dt指定时间步长,dt

updatedstate= constvel (状态wdt也指定了状态噪声,w

例子

全部折叠

以秒为间隔更新二维匀速运动状态。

状态= (1;1;2;1);状态= constvel(状态)
状态=4×12 1 3 1

更新二维匀速运动状态,时间间隔为1.5秒。

状态= (1;1;2;1);状态= constvel (1.5),
状态=4×12.5000 1.0000 3.5000 1.0000

输入参数

全部折叠

常速运动的卡尔曼滤波状态向量,指定为实值2 n-元素列向量N为空间运动自由度的个数。的状态是笛卡儿状态。对于每个空间运动度,状态向量的形式如下表所示。

空间维度 状态向量的结构
一维 [x, vx)
二维 [x, vx; y; v]
三维 [x, vx; y; v; z; vz]

例如,x代表了x协调和vx表示的速度x方向。如果运动模型是一维的,值沿yz假设坐标轴为零。如果运动模型是二维的,值沿z坐标轴为零。位置坐标单位是米速度坐标单位是米/秒。

例子:[5; 1。0;2;3;. 05]

数据类型:|

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

例子:0.5

数据类型:|

状态噪声,指定为标量或实值D——- - - - - -N矩阵。D运动维数和N是状态向量的个数。例如,D= 2对于二维运动。如果指定为标量,标量值将展开为D——- - - - - -N矩阵。

数据类型:|

输出参数

全部折叠

更新的状态向量,以实值向量或实值矩阵的形式返回,其元素数量和维数与输入状态向量相同。

算法

对于二维等速过程,时间步长后的状态转移矩阵,T,是块对角线,如图所示。

x k + 1 v x k + 1 y k + 1 v y k + 1 1 T 0 0 0 1 0 0 0 0 1 T 0 0 0 1 x k v x k y k v y k

每个空间维度的块是:

1 T 0 1

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

扩展功能

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

介绍了R2017a