This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

constacc

Constant-acceleration motion model

Syntax

updatedstate = constacc(state)
updatedstate = constacc(state,dt)

Description

example

updatedstate = constacc(state) returns the updated state, state, of a constant velocity Kalman filter motion model for a step time of one second.

example

updatedstate = constacc(state,dt) specifies the time step, dt.

Examples

collapse all

Define an initial state for 2-D constant-acceleration motion.

state = [1;1;1;2;1;0];

Predict the state 1 second later.

state = constacc(state)
state = 6×1

    2.5000
    2.0000
    1.0000
    3.0000
    1.0000
         0

Define an initial state for 2-D constant-acceleration motion.

state = [1;1;1;2;1;0];

Predict the state 0.5 s later.

state = constacc(state,0.5)
state = 6×1

    1.6250
    1.5000
    1.0000
    2.5000
    1.0000
         0

Input Arguments

collapse all

Kalman filter state vector for constant-acceleration motion, specified as a real-valued 3N-element vector. N is the number of spatial degrees of freedom of motion. For each spatial degree of motion, the state vector takes the form shown in this table.

Spatial DimensionsState Vector Structure
1-D[x;vx;ax]
2-D[x;vx;ax;y;vy;ay]
3-D[x;vx;ax;y;vy;ay;z;vz;az]

For example, x represents the x-coordinate, vx represents the velocity in the x-direction, and ax represents the acceleration in the x-direction. If the motion model is in one-dimensional space, the y- and z-axes are assumed to be zero. If the motion model is in two-dimensional space, values along the z-axis are assumed to be zero. Position coordinates are in meters. Velocity coordinates are in meters/second. Acceleration coordinates are in meters/second2.

Example: [5;0.1;0.01;0;-0.2;-0.01;-3;0.05;0]

Data Types: double

Time step interval of filter, specified as a positive scalar. Time units are in seconds.

Example: 0.5

Data Types: single | double

Output Arguments

collapse all

Updated state vector, returned as a real-valued vector or real-valued matrix with same number of elements and dimensions as the input state vector.

Algorithms

For a two-dimensional constant-acceleration process, the state transition matrix after a time step, T, is block diagonal:

[xk+1vxk+1axk+1yk+1vyk+1ayk+1]=[1T12T200001T0000010000001T12T200001T000001][xkvxkaxkykvykayk]

The block for each spatial dimension has this form:

[1T12T201T001]

For each additional spatial dimension, add an identical block.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2018b