Motion Model, State, and Process Noise
Introduction
A motion model describes how a target or object moves with respect to time and is usually expressed as an equation of motion governing the transition of target states, such as position and velocity. You can use a motion model to simulate the ideal motion of a target. In estimation filters, you use a motion model to predict the estimated state from one time step to the next.
In real applications, modeling the exact motion of targets is often impossible, because the target motion can be perturbed by unknown external effects. Process noise is commonly used to account for these motion uncertainties in an estimation system.
There are many conventions for defining motion models, states, and process noise in the literature. However, this topic focuses on the conventions used in the Sensor Fusion and Tracking Toolbox™, which assume the process noise is constant between discrete time steps.
Constant Velocity Model
The constvel
function models constant
velocity motion, which assumes that the velocity vector is constant. In many cases, even
though the target velocity vector is not exactly constant, you can use this model if the
velocity vector does not change consistently. In fact, because of the simplicity of the
constant velocity model, you can often try to use the constant velocity model before
using other motion models.
The constvel
function defines the state as [x,
vx,
y,
vy,
z,
vz], with the variables
specified in this order.
State Component | Definition |
---|---|
x | x-coordinate of the target, specified as a scalar. |
vx | x-direction velocity of the target, specified as a scalar. |
y | y-coordinate of the target, specified as a scalar. |
vy | y-direction velocity of the target, specified as a scalar. |
z | z-coordinate of the target, specified as a scalar. |
vz | z-direction velocity of the target, specified as a scalar. |
Since the motion model assumes decoupled x-,
y-, and z-motion, you can use the
constvel
function to model 1-D, 2-D, or 3-D constant velocity
motion.
With process noise, the constvel
model for the 1-D
x-motion is:
where T is the time step size of the discrete model, k is the time step index, and wx(k) is the process noise in the x-direction at the k-th time step. From the equation, the function treats the process noise as an acceleration disturbance. If you do not specify the process noise, the function assumes the process noise to be zero.
To model 3-D motion, the function repeats the equation for the y- and z-directions as:
where wy and wz represent the process noise for the y- and z-directions, respectively.
Constant Acceleration Model
The constacc
function models constant
velocity motion, which assumes that the acceleration vector is constant. In many cases,
even though the target acceleration vector is not exactly constant, you can use the
constant acceleration model if the target acceleration vector does not change
consistently.
The constvel
function defines the state as [x,
vx,
ax,
y,
vy,
ay,
z,
vz,
az], with the variables
specified in this order.
State Component | Definition |
---|---|
x | x-coordinate of the target, specified as a scalar. |
vx | x-direction velocity of the target, specified as a scalar. |
ax | x-direction acceleration of the target, specified as a scalar. |
y | y-coordinate of the target, specified as a scalar. |
vy | y-direction velocity of the target, specified as a scalar. |
ay | y-direction acceleration of the target, specified as a scalar. |
z | z-coordinate of the target, specified as a scalar. |
vz | z-direction velocity of the target, specified as a scalar. |
az | z-direction acceleration of the target, specified as a scalar. |
Since the motion model assumes decoupled x-,
y-, and z-motion, you can use the
constacc
function to model 1-D, 2-D, or 3-D constant
acceleration motion.
With process noise, the constant acceleration model for the 1-D x-motion is:
where T is the time step size of the discrete
model, k is the time step index, and
wx is the process
noise in the x-direction. From the equation, the
constacc
function models the process noise as an acceleration
disturbance. If you do not specify the process noise, the function assumes the process
noise is zero.
To model 2-D or 3-D motion, simply repeat the equations for the y- and z-directions.
Constant Turn Rate Model
The constturn
function models the
horizontal constant turn motion, in which the turn rate and turn radius of the target
trajectory are constant. In many cases, even though the target turn rate and turn radius
are not exactly constant, you can use the constant turn rate model if the turn rate and
turn radius do not change consistently.
The consturn
function defines the state as [x,
vx,
y,
vy,
ω, z,
vz], with the
variables specified in this order.
State Component | Definition |
---|---|
x | x-coordinate of the target, specified as a scalar. |
vx | x-direction velocity of the target, specified as a scalar. |
y | y-coordinate of the target, specified as a scalar. |
vy | y-direction velocity of the target, specified as a scalar. |
ω | Turn rate in the x-y plane, specified as a scalar. |
z | z-coordinate of the target, specified as a scalar. |
vz | z-direction velocity of the target, specified as a scalar. |
In the model, the x- and y-motion depends on the turnrate, ω. The equation for the 2-D motion is:
where T is the time step size of the discrete model, k is the time step index, and wx, wy, and wω represent the process noise for the x-motion, the y-motion, and the turn rate, respectively. The two variables TS and TC are:
This figure shows the target motion from one time step to the next step using the 2-D constant turn rate model without process noise. During one time step, the target moves from (x1, y1) to (x2, y2) following an arc of radius r and angle ωT. The velocities v1 and v2 are perpendicular to their respective radial directions. The magnitude of the velocity is constant along the entire arc as:
From the equation of motion, the constturn
function treats the
process noise for the x- and y-motion as
acceleration disturbances and treats the process noise for the turn rate as the
disturbance of the turn rate.
To model 3-D motion, simply add the z-motion equation of the constant velocity model since the z-motion is decoupled from the x-y motion in the constant turn model.
Singer Model
The singer
function models the target
motion with a state definition similar to that of the constant acceleration motion.
However, the Singer model assumes that the target acceleration decays over time. Thus,
the Singer model allows you to model targets that change their motion between different
constant velocity sections by using limited-time linear acceleration or turn.
Like the constacc
function, the constvel
function defines the state as [x,
vx,
ax,
y,
vy,
ay,
z,
vz,
az], , with the
variables specified in this order.
State Component | Definition |
---|---|
x | x-coordinate of the target, specified as a scalar. |
vx | x-direction velocity of the target, specified as a scalar. |
ax | x-direction acceleration of the target, specified as a scalar. |
y | y-coordinate of the target, specified as a scalar. |
vy | y-direction velocity of the target, specified as a scalar. |
ay | y-direction acceleration of the target, specified as a scalar. |
z | z-coordinate of the target, specified as a scalar. |
vz | z-direction velocity of the target, specified as a scalar. |
az | z-direction acceleration of the target, specified as a scalar. |
Since the motion model assumes decoupled x-, y-,
and z-motion, you can use the singer
function to
model 1-D, 2-D, or 3-D Singer motion.
Without the process noise, the Singer model for the 1-D x-motion can be expressed as:
where T is the time step size of the discrete model, k is the time step index, and α = 1/τ is the reciprocal of the target maneuver time constant τ. If τ → +∞, the Singer model reduces to the constant acceleration model.
The process noise in the signer model follows a Markov process and is not white noise.
You can use the singerProcessNoise
function to generate the process noise and add to the state. See [1] or [2] for more
details.
Summary
This table summarizes the motion models, model states, and their application assumptions. You can always start by using a simpler model, such as the constant velocity model, and review the estimation performance before applying more sophisticated models.
Function | Motion Model | 1-D State | 2-D State | 3-D State | Application Assumption |
---|---|---|---|---|---|
constvel | Constant velocity | [x, vx] | [x, vx, y, vy] | [x, vx, y, vy, z, vz] | The velocity vector of the target is roughly constant. |
constacc | Constant acceleration | [x, vx, ax] | [x, vx, ax, y, vy, ay] | [x, vx, ax, y, vy, ay, z, vz, az] | The acceleration vector of the target is roughly constant. |
constturn | Constant turn rate | N/A | [x, vx, y, vy, ω] | [x, vx, y, vy, ω, z, vz] | The turn rate and turn radius of the target are roughly constant. |
singer | Singer | [x, vx, ax] | [x, vx, ax, y, vy, ay] | [x, vx, ax, y, vy, ay, z, vz, az] | The target can often perform maneuvers. |
References
[1] Singer, Robert. "Estimating optimal tracking filter performance for manned maneuvering targets." IEEE Transactions on Aerospace and Electronic Systems 4 (1970): 473-483.
[2] Blackman, Samuel S., and Robert Popoli. Design and Analysis of Modern Tracking Systems. Artech House Radar Library, Boston, 1999.
[3] Li, X. Rong, and Vesselin P. Jilkov. "Survey of maneuvering target tracking: dynamic models." Signal and Data Processing of Small Targets 2000, vol. 4048, pp. 212-235. International Society for Optics and Photonics, 2000.