Utility: Guass-Markov
Description
The purpose of this module is to apply a second-order bounded Gauss-Markov random walk process onto a variable of interest.
Example Use Cases
- Add brown noise to signal: This module is primarily used within sensor models, such as
SimpleNavigator
,to add random walk (brown) noise to sensed states/signals.
Module Implementation
To breakdown the definition of a Gauss-Markov process, a Gauss process is when all probability distributions are Gaussian, while a Markov process is a “memoryless” random walk i.e. the prior state does not influence the future direction of the walk.
Given a vector of random random variables \(\mathbf{X} = [X_1,X_2,…,X_n]\), for any variable \(\mathbf{a} = [a_1,a_2,…,a_n]\), any linear combination of them is assumed to be normally distributed e.g.
The the mean, variance and covariance can be written as,
In 2 dimensions, the covariance matrix can then be written as,
It is assumed that \(\mathbf{C}\) is invertible and therefore \(det(\mathbf{C})\neq0\).
The expected value and covariance matrix then completely specify the probability distribution matrix of a Gaussian vector \(\mathbf{X}\).
The Markov random walk process can then be computed by advancing the current state \(\mathbf{X}\) using an \(n\times n\) propagation matrix \([P]\), such that the new state is computed as,
Where the noise vector \(\mathbf{X}_{noise}\) applies a Gaussian perturbation to the next state based on a user defined noise matrix, which is typically the covariance matrix \([C]\), and bounded random numbers \(\mathbf{Y}_r\) that are limited such that random walk remains within user defined bounds i.e.
References
[1] Russell Carpenter and Taesul Lee. A Stable Clock Error Model Using Coupled First and Second-Order Gauss-Markov Processes. NASA Technical Note AAS 08-109