# singer

Singer acceleration motion model

## Syntax

## Description

returns the updated states from the current `updatedstates`

= singer(`states`

)`states`

based on the Singer
acceleration motion model. The default time step is 1 second.

specifies the time step, `updatedstates`

= singer(`states`

,`dt`

)`dt`

, in seconds.

specifies the target maneuver time constant, `updatedstates`

= singer(`states`

,`dt`

,`tau`

)`tau`

, in seconds. The
default target maneuver time constant is 20 seconds.

## Examples

## Input Arguments

## Output Arguments

## Algorithms

The Singer acceleration model assumes the acceleration at time step
*k*+1, which depends on the acceleration at time step *k*
with exponential decay as:

$$a(k+1)=a(k)*\mathrm{exp}(-T/\tau )$$

where *a*(*k*) is the acceleration at
time step *k*, *T* is the time step, and
*τ* is the target maneuver time constant.

For a 1-D singer model state *p* = [*x*,
*vx*, *ax*]^{T}, the state
propagation is:

$$p(k)=\left[\begin{array}{ccc}1& T& (\alpha T-1-{e}^{-\alpha T})/{\alpha}^{2}\\ 0& 1& (1-{e}^{-\alpha T})/\alpha \\ 0& 0& {e}^{-\alpha T}\end{array}\right]p(k)+w(k)$$

where *α* = 1/*τ* is the reciprocal of
the target maneuver time constant and *w*(*k*) is the Singer
model process noise at time step *k*. See `singerProcessNoise`

for more
details on the process noise.

## References

[1] Singer, Robert A.
*"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."*
(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.

## Extended Capabilities

## Version History

**Introduced in R2020b**

## See Also

`initsingerekf`

| `singerjac`

| `singermeas`

| `singermeasjac`

| `singerProcessNoise`