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]:
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]: