Table of Contents

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.

\[ Y = a_1 X_1 + a_2 X_2 + ...+ a_n X_n = \mathbf{a}^T\mathbf{X} \]

The the mean, variance and covariance can be written as,

\[ \mu_n = E[X_n] \\ \sigma_{nn} = E[(X_n - \mu_n)^2] = var[X_n] \\ \sigma_{nm}^2=cov(X_n)=E[(X_n - \mu_n)(X_m - \mu_m)] \]

In 2 dimensions, the covariance matrix can then be written as,

\[ \mathbf{C} = \begin{bmatrix} \sigma_{11}^2 & \sigma_{12}^2\\ \sigma_{12}^2 & \sigma_{22}^2 \end{bmatrix} \]

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,

\[ \mathbf{X}_{new} = [P]\mathbf{X}_{old} + \mathbf{X}_{noise} \]

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.

\[ \mathbf{X}_{noise} = [C]\mathbf{Y}_{r} \]

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