文档

constvel

匀速状态更新

语法

Updatedstate = constvel(状态)
Updatedstate = constvel(state,dt)

描述

例子

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

例子

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

例子

全部折叠

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

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

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

State = [1;1;2;State = constvel(State,1.5)
状态=4×12.5000 1.000 3.5000 1.000

输入参数

全部折叠

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

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

例如,x代表了x协调和vx的速度x方向。如果运动模型是1-D,值沿y而且z假设坐标轴为零。如果运动模型是2-D的,值沿着z假设轴为零。位置坐标以米为单位,速度坐标以米/秒为单位。

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

数据类型:|

过滤器的时间步间隔,指定为正标量。时间单位以秒为单位。

例子:0.5

数据类型:|

输出参数

全部折叠

更新的卡尔曼滤波状态向量,返回为与输入状态向量具有相同元素个数和解释的实值向量。

算法

对于二维恒速过程,经过时间步长的状态转移矩阵,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中介绍

这个话题有帮助吗?