Gauss-Markov Process

Gauss-Markov process models real world processes.

One sided GM process The processes is defined for $n \geq 0$, $$ Y[n] = aY[n-1] + X[n]$$ Assume $|a| < 1$, $Y[-1] = 0$ and $X[n] \sim \mathcal{N}(0, \sigma_X^2)$.

Find correlation function $R_Y(n, l)$

$$ R_Y[n, l] = E\{Y[n]Y[n - l]\}$$$$R_Y[n, l] = \sigma_X^2 a^l \sum\limits_{i=0}^{n-l} a^{2(n - l -i)} \\ = \sigma_X^2 a^l \frac{1 - a^{2(n - l + 1)}}{1 - a^2}$$

Asymptotically as $n \rightarrow \infty$ $$R_Y[n, l] = \sigma_X^2 a^l \frac{1}{1 - a^2}$$ Asymptotically WSS.


In [83]:
from IPython.display import YouTubeVideo
YouTubeVideo('phnEFFL5K_A')


Out[83]:

In [65]:
import numpy as np
import numpy.random as rnd
import matplotlib.pyplot as plt
%matplotlib notebook

In [81]:
N = 1000
x = rnd.randn(N)
a = 0.2

y = [x[0]]
for n in range(N - 1):
    y.append(a*y[-1] + x[n])

plt.figure()
plt.plot(y, '.-', alpha=0.5)
plt.plot(x, '.-', color='r', alpha=0.5)
plt.xlabel('Time index n')


Out[81]:
<matplotlib.text.Text at 0x1137812e8>

In [82]:
# Auto-Correlation function
R = []
sigsq_x = 1
for el in range(N):
    R.append(sigsq_x*(a**el)/(1 - a**2))
plt.figure()
plt.plot(R, '.-')


Out[82]:
[<matplotlib.lines.Line2D at 0x1155902b0>]