主要内容

constvel

匀速状态更新

描述

例子

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

例子

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

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

例子

全部折叠

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

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

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

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

输入参数

全部折叠

卡尔曼滤波的状态矢量为匀速运动,指定为实值2 n-element列向量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表示二维运动。如果指定为标量,则将标量值展开为aD——- - - - - -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++代码。

介绍了R2018b