1Eva_IIT2017_T1 Código Morse con Markov

1ra Evaluación II Término 2017-2018. Noviembre 28, 2017

Tema 1. (15 puntos) El código Morse fué muy usado en telegrafía, transmisiones por radio marítimas y aéreas. Conocido también como alfabeto Morse, cambia los caracteres alfanuméricos a códigos combinando puntos '.' y rayas '-'.
La separación entre códigos morse se realiza con un espacio ' ', mientras que en la separación entre palabras se usan 3 espacios '   '.

Ejemplo:
un mensaje: ESPOL impulsando la sociedad del conocimiento
. ... .--. --- .-..   .. -- .--. ..- .-.. ... .- -. -.. ---   .-.. .-   ... --- -.-. .. . -.. .- -..   -.. . .-..   -.-. --- -. --- -.-. .. -- .. . -. - --- 

Realice un modelo en cadena de Markov para un experimento realizado sobre un texto codificado en morse.

Use como referencia los símbolos = '.- ', en el experimento se contaron los cambios entre símbolos mostrado los valores resultantes en la matriz “conteo”.

a) Determine el espacio de estados
b) Realice el diagrama de estados
c) Escriba la matriz de transición y ubique los valores encontrados en el diagrama.
d) Calcule la probabilidad de estado estable o largo plazo.

conteo = 
[[36532, 35233, 51578],
 [36982, 23931, 30807],
 [49822, 32564, 32194]]

Referencia: http://blog.espol.edu.ec/estg1003/morse-codificador-texto/
Rúbrica: literal a y b (5 puntos), literal c (5 puntos), literal d (5 puntos)

6. Morse cadena de Markov

Para el texto en código Morse obtenido en el ejercicio «Morse codificador texto», se requiere realizar la correspondiente cadena de Markov.

Se tiene como archivo de entrada: elaguacate_morse.txt

- ..- . .-. . ... -- .. .- -- --- .-. 
-- .. -.. .. -.-. .... .- -.-- -- .. - . ... --- .-. --- 
-- .. ... --- .-.. --- . -. -.-. .- -. - --- 
-.-- -- .. .. .-.. ..- ... .. --- -. .-.-.-
  1. Determine el espacio de estados: S= {…}
  2. Realice el diagrama de transición de estados.
  3. Realice el conteo correspondiente de las transiciones entre estados
  4. Elabore la matriz de transición usando el resultado anterior
  5. Ubique en el diagrama los valores correspondientes a las transiciones
  6. Encuentre la matriz de transición en estado estable, o largo plazo.
  7. Compare los resultados de estado estable con la pmf obtenida en el ejercicio «Morse codificador texto»
  8. Presente las observaciones
  9. Escriba las recomendaciones.

Instrucciones en Python

Un ejemplo de instrucciones para realizar el conteo de las transiciones.

# Matriz de transicion de Código Morse
# Tarea: Realizar la matriz de transición
# para la cadena de Markov
import numpy as np

# INGRESO
narchivo = 'elaguacate_morse.txt'
archivo  = open(narchivo, 'r')

# PROCEDIMIENTO
s = '.- '
n = len(s)
conteo = np.zeros(shape=(n,n), dtype=int)
linea  = archivo.readline()
while not(linea ==''):
    linea = linea.strip('\n')
    m = len(linea)
    for i in range(0,m-1,1):
        simbolo = linea[i]
        simbolosigue = linea[i+1]
        f = s.find(simbolo)
        c = s.find(simbolosigue)
        conteo[f,c] = conteo[f,c] +1
    
    print(linea)
    linea = archivo.readline()

# SALIDA
print('matriz de conteo: ')
print('   .   -  espacio')
print(conteo)

Resultado del algoritmo

matriz de conteo: 
   .   -  espacio
[[123 116 145]
 [100  93 123]
 [156  92 102]]

Media, Varianza correlacion

Procesos aleatorios Discretos en tiempo

Media:
m_X(n) = E[X(n)]
Varianza:
VAR[X(n)] = E[(X(n) - m_X(n))^2]

Autocorrelación
R_X(n_1,n_2) = E[X(n_1,n_2)]

Autocovarianza:
C_X(n_1,n_2) = E[\{X(n_1) - m_X(n_1) \} \{ X(n_2) - m_X(n_2)\}
C_X(n_1,n_2) = R_X(n_1,n_2) - m_X(n_1) m_X(n_2)

5. Morse codificador texto

Para la transmisión de texto, por ejemplo la letra de una canción, se puede codificar a Morse usando inicialmente el procedo de los ejemplos anteriores.

Por ejemplo, una parte del archivo origen: elaguacate_Letra.txt

Tu eres mi amor 
mi dicha y mi tesoro 
mi sólo encanto 
y mi ilusión.

se convertiría en: elaguacate_morse.txt

- ..- . .-. . ... -- .. .- -- --- .-. 
-- .. -.. .. -.-. .... .- -.-- -- .. - . ... --- .-. --- 
-- .. ... --- .-.. --- . -. -.-. .- -. - --- 
-.-- -- .. .. .-.. ..- ... .. --- -. .-.-.-

que puede ser guardado en otro archivo  y procesado como un proceso estocástico.

Hay que considerar que en la codificación estandar Morse, no existen las letras con tíldes (‘áéíóú’) que para la transmisión se debe quitar las tildes.


Funciones complementarias

Se usa como función básica como codificador Morse la descrita en el problema básico.

Cuando el tema a tratar es un texto más largo, se abordan más detalles del procesamiento del texto, como el quitar las tildes antes de codificar la letra. En el estándar de la codificación Morse (origen en inglés) no se usaban las tildes en las letras, para ésta operación se usa la funcion quitatildes().

Como complemento se añaden las funciones de codificación por línea, otra función para el conteo de símbolos,

La codificación en python usada para el ejemplo se adjunta:

# Código Morse -  codificador de texto
# propuesta: edelros@espol.edu.ec
import numpy as np
import matplotlib.pyplot as plt

def morsecodec(caracter):
    equivale={
        'A':'.-', 'B':'-...', 'C':'-.-.', 
        'CH':'----', 'D':'-..', 'E':'.', 
        'F':'..-.', 'G':'--.', 'H':'....', 
        'I':'..', 'J':'.---', 'K':'-.-',
        'L':'.-..', 'M':'--', 'N':'-.', 
        'Ñ':'--.--', 'O':'---', 'P':'.--.', 
        'Q':'--.-', 'R':'.-.', 'S':'...', 
        'T':'-', 'U':'..-', 'V':'...-',
        'W':'.--', 'X':'-..-', 'Y':'-.--', 
        'Z':'--..',
        '0':'-----', '1':'.----', '2':'..---', 
        '3':'...--', '4':'....-', '5':'.....', 
        '6':'-....', '7':'--...', '8':'---..', 
        '9':'----.', 
        '.':'.-.-.-', ',':'-.-.--', '?':'..--..', 
        '"':'.-..-.', '!':'--..--', ' ':' '}
    # Si caracter no está en equivale
    codigo = caracter
    # codifica a morse
    caracter = caracter.upper()
    if (caracter in equivale):
        codigo = equivale[caracter]    
    return(codigo)

def quitatildes(linea):
    sintilde = {'á':'a', 'é':'e', 'í':'i',
                'ó':'o', 'ú':'u'}
    nueva = ''
    for caracter in linea:
        if (caracter in sintilde):
            caracter = sintilde[caracter]
        nueva = nueva + caracter
    return(nueva)

def morselinea(linea):
    linea = linea.strip('\n')
    linea = linea.strip(' ')
    linea = quitatildes(linea)
    lineamorse = ''
    for caracter in linea:
        enmorse = morsecodec(caracter)
        lineamorse = lineamorse + enmorse + ' '
    return(lineamorse)

def cuentasimbolo(texto,simbolos):
    k = len(simbolos)
    veces = np.zeros(k,dtype=int)
    n = len(texto)
    for fila in range(0,n,1):
        unalinea = texto[fila]
        unalinea = unalinea.strip('\n')
        m = len(unalinea)
        for caracter in unalinea:
            donde = simbolos.find(caracter)
            if (donde>=0): #Si no encuentra es negativo
                veces[donde] = veces[donde]+1
    total = np.sum(veces)
    return(veces)

# PROGRAMA -----------------------------

# INGRESO
nombrearchivo = 'elaguacate_Letra.txt'

# PROCEDIMIENTO
# procesa el archivo
archivo  = open(nombrearchivo,'r')
unalinea = archivo.readline()
codificado = []
while not(unalinea==''):
    unalinea = unalinea.strip('\n')
    unalinea = unalinea.lower()
    lineamorse = morselinea(unalinea)
    codificado.append(lineamorse)
    unalinea = archivo.readline()
archivo.close()

# cuenta símbolos
simbolos = '.- '
conteo   = cuentasimbolo(codificado,simbolos)
total    = np.sum(conteo)
pmf      = conteo/total

# SALIDA
print('Texto en morse: ')
n = len(codificado)
etiquetas = ['punto','raya','espacio']
for i in range(0,n,1):
    print(codificado[i])

# PMF
print('PMF')
print(etiquetas)
print(pmf)

# GRAFICA
x = np.arange(0,len(conteo),1)
plt.stem(x,pmf)
plt.xticks(x,etiquetas)
plt.title('pmf')
plt.show()

# ARCHIVO
narchivo = 'morsetexto.txt'
archivo  = open(narchivo,'w')
for i in range(0,n,1):
    linea = codificado[i]+'\n'
    archivo.write(linea)
archivo.close()

Al final se presenta la pmf, sus valores y gráficas, junto al archivo morsetexto.txt como resultado.

PMF
['punto', 'raya', 'espacio']
[ 0.3588785   0.2953271   0.34579439]

Tarea: Procese los datos necesarios para generar la función de distribución acumulada (cdf), el valor esperado, varianza y desviación estándar.

Realice las observaciones y recomendaciones necesarias para mejorar el algoritmo que haya encontrado al usar su propio texto.

Suma y Retraso de procesos estocásticos

Referencia: León García ejemplos 10.4 y 10.5 p58, Gubner Ejemplo 10.18 p396

Suma de dos procesos

Encuentre la densidad espectral de potencia de Z(t) = X(t) + Y(t), donde X(t) y Y(t) son procesos conjuntamente estacionarios en el sentido amplio WSS.

Solución

Autocorelación de Z(t) es

R_Z(\tau) = E[Z(t + \tau )Z(t)] = = E[(X(t+ \tau)+ Y(t + \tau ))(X(t) + Y(t))] R_Z(\tau) = R_X(\tau) + R_{XY}(\tau) +R_{YX}(\tau) + R_Y(\tau)

La densidad espectral de potencia se calcula como:

S_Z(f) = Fourier\{ R_X(\tau) + R_{XY}(\tau) +R_{YX}(\tau) + R_Y(\tau) \} S_Z(f) = S_X(f) + S_{XY}(f) +S_{YX}(f) + S_Y(f)

Referencia: León García Ejemplo 10.5 p.582, Gubner Ejemplo 10.18 p396

Retraso

Sea Y(t) = X(t- d), donde d es una constante de retraso y donde X(t) es estacionario en el sentido amplio WSS.
Encuentre RYX(τ), SYX(f), RY(τ) y SY(f)

Solución

Usando las definiciones se tiene que:

R_{YX}(\tau) = E[Y(t + \tau )X(t)] = = E[X(t + \tau - d)X(t)] = R_{YX}(\tau) = R_X (\tau - d)

que usando la propiedad de desplazamiento en tiempo de la transformada de Fourier:

S_{YX}(f) = Fourier\{ R_X(\tau - d) \} = = S_X(f) e^{-j2 \pi fd} = = S_X(f) \cos (2\pi fd) - jS_x(f) sin (2 \pi fd)

Finalmente.

R_Y(\tau) = E[Y(t + \tau)Y(t)] = = E[X(t + \tau - d)X(t - d)] = R_X(\tau) S_Y(f) = Fourier\{ R_Y(\tau) \} = Fourier\{ R_X(\tau) \} = S_Y(f) = S_X(f)

Note que la densidad espectral de potencia crusada es compleka, y que SX(f) = SY (f) sin importar el hecho que X(t) ≠ Y(t). Entonces SX(f) = SY(f) lo que no implica que X(t) = Y(t)

Alfabeto Matriz Transición

Referencia: Ross 2.2 p25, Telex, TTY o teletipo(Wikipedia)

Funciones de Matriz de transición de alfabeto

Es posible determinar la matriz de transición entre las letras del alfabeto continuando con el ejercicio de Funciones de probabilidad o masa.

Para procesar el texto se usa como entrada un archivo en formato .txt, analizando por línea, por símbolo y contando las veces que hay transición desde una letra del alfabeto.

Nota: Considere solo el total de letras, no el total de símbolos (no incluye «,;.!?» etc.)

El resultado que se obtiene es la matriz en los archivo adjuntos:

transicionesletras.txt

transicionesletrasfreq.txt

pueden ser importados para otro algoritmo, programa u hoja electrónica

matriz de conteo: 
[[   1 318 440 874   14  31  56  59    8  20  0 729 314  631 27   0   78   43  749  745  210  85  64  1  27 67 38]
 [ 134   0   0   0   86   0   0   0  153   8  0 184   0    2  0  56    0    0  167   67    3  40   0  0   0  1  0]
 [ 427   0  69   0  318   1   0 135 1064   0  2  63   0    0  0 877    0    0   82    0  174 394   0  0   0  0  0]
 [ 677   0   0   0 1872   0   8   1  513   1  0   1  20    0  0 689    0    2   36    0    4  71   5  0   0  0  0]
 [ 155  82 416 229   12  53 134   3   21  60 17 655 340 1921 12  34  112   18 1328 1479  138  27  61 24 139 37 40]
 [  45   0   0   0  111   0   0   0  194   0  0  18   0    0  0  48    0    0   25    0    0 160   0  0   0  0  0]
 [  90   0   0   0  104   0   1   0  108   0  1  22   2   30  0 114    0    0  105    2    1 146   0  0   0  0  0]
 [ 261   0   0   0   99   0   0   0   15   0  0   0   3    3  0 183    0    0    1    1    7  42   0  1   0  0  0]
 [ 499 165 439 546  473 123 155   3    0   6  0 143 371  778  4 326   60   12  281  326  285   2 162  0   1  0 37]
 [  29   0   0   0   48   0   0   0    6   0  0   0   0    0  0  46    0    0    0    0    0  29   0  0   0  0  0]
 [  19   0   0   0   12   0   0   0    0   0  0   0   0    0  0   1    0    0    0    0    0   0   0  0   0  0  0]
 [1299   0  19  20  513   3  53   0  281   0  1 172  46    2  0 560    5   28    4   27   97 152  12  0   0  3  0]
 [ 379  80   0   0  531   0   0   0  374   0  0   0   6    2  0 588  312    0   12    1    1  66   0  0   0  1  0]
 [ 501   2 447 379  361  63  86   0  385   6  1   0  33   13  0 541    1   16    2  214 1034 100  38  1   0  0 34]
 [  20   0   0   0    3   0   0   0    0   0  0   0   0    0  0  22    0    0    0    0    0   0   0  0   0  0  0]
 [   0 108 116 197   43  28  54   4   10  12  0 165 404  768  3   0  125    2  628 1356   97   6  18  0   5 11  5]
 [ 334   0  32   0  310   0   0   2  116   0  0 193   0    0  0 560    1    0  412    1   29 222   0  0   0  0  0]
 [   0   0   0   0    0   0   0   0    0   0  0   0   0    0  0   0    0    0    0    0    0 692   0  0   0  0  0]
 [1058  16  74 111  774  22  57   0  486   1  1  40  93   35  0 522   21   13  105  129  191  39  24  0   0  3 51]
 [ 306   2 118  31  576  40   0   2  694   0  2   2  92    0  0 333  150    5    0    4  731 374   2  1   0  0  0]
 [ 840   0   4   0  954   0   1   8  429   0  0   3   0    3  0 771    0    0  475    1    6 150   0  0   0  0  4]
 [ 232  50 100  54  976   9  25   1  134   5  0 166  82  758  0  12   69    0  115  166   83   0   9  0   0 38  9]
 [ 112   0   0   0  272   0   0   0  168   0  0   0   0    0  0  68    0    0    1    0    0  10   0  0   0  0  0]
 [   0   0   0   0    9   0   0   0    1   0  0   0   0    0  0   0    0    0    0    1   21   0   0  0   0  0  0]
 [  14   0  13   0    0   0   0   0   81   0  0   0   0    0  0   0   46    0    0    0   21   0   0  0   0  0  0]
 [  33   0   0   0   22   0   0   0    0   0  0   0   0    2  0  36    0    0    0    0    0   2   0  0   0  0  0]
 [ 117   0   7   0    0   0   3   0    0   0  0   0   0    0  0  22    0    0    0    0    2   3   0  0   0  0  0]]
matriz de conteo:
[[  1.77e-04  5.64e-02  7.81e-02  1.55e-01   2.48e-03  5.50e-03  9.94e-03  1.04e-02   1.42e-03  3.55e-03  0.00e+00  1.29e-01   5.57e-02  1.12e-01  4.79e-03  0.00e+00   1.38e-02  7.63e-03  1.33e-01  1.32e-01   3.73e-02  1.51e-02  1.13e-02  1.77e-04   4.79e-03  1.19e-02  6.75e-03]
 [  1.48e-01  0.00e+00  0.00e+00  0.00e+00   9.54e-02  0.00e+00  0.00e+00  0.00e+00   1.69e-01  8.87e-03  0.00e+00  2.04e-01   0.00e+00  2.21e-03  0.00e+00  6.21e-02   0.00e+00  0.00e+00  1.85e-01  7.43e-02   3.32e-03  4.43e-02  0.00e+00  0.00e+00   0.00e+00  1.10e-03  0.00e+00]
 [  1.18e-01  0.00e+00  1.91e-02  0.00e+00   8.81e-02  2.77e-04  0.00e+00  3.74e-02   2.95e-01  0.00e+00  5.54e-04  1.74e-02   0.00e+00  0.00e+00  0.00e+00  2.43e-01   0.00e+00  0.00e+00  2.27e-02  0.00e+00   4.82e-02  1.09e-01  0.00e+00  0.00e+00   0.00e+00  0.00e+00  0.00e+00]
 ...
 [  7.59e-01  0.00e+00  4.54e-02  0.00e+00   0.00e+00  0.00e+00  1.94e-02  0.00e+00   0.00e+00  0.00e+00  0.00e+00  0.00e+00   0.00e+00  0.00e+00  0.00e+00  1.42e-01   0.00e+00  0.00e+00  0.00e+00  0.00e+00   1.29e-02  1.94e-02  0.00e+00  0.00e+00   0.00e+00  0.00e+00  0.00e+00]]

Instrucciones en Python

# procesar un archivo de texto
# Determinar la matriz de transición
# para las letras del alfabeto(incluye ñ)
import numpy as np

# INGRESO
# archivo=input('archivo a leer.txt: ')
nombrearchivo =' eureka_poe_edgar_allan.txt'

# PROCEDIMIENTO
alfabeto = 'abcdefghijklmnñopqrstuvwxyz'
k = len(alfabeto)
matriz     = np.zeros(shape=(k,k),dtype=int)
transicion =
np.zeros(shape=(k,k),dtype=float)
total = 0

# procesa el archivo
archivo  = open(nombrearchivo,'r')
unalinea = archivo.readline()
while not(unalinea == ''):
    unalinea = unalinea.strip('\n')
    unalinea = unalinea.lower()
    m = len(unalinea)
    for j in range(0,m-1,1):
        unsimbolo = unalinea[j]
        donde = alfabeto.find(unsimbolo)
        siguiente = unalinea[j+1]
        dondesig  = alfabeto.find(siguiente)
        if (donde>=0 and dondesig>=0):
            #Si no encuentra es negativo
            matriz[donde][dondesig] = matriz[donde][dondesig]+1
            total = total + 1
    unalinea = archivo.readline()
archivo.close()

# Determina matriz de transicion
for i in range(0,k,1):
    suma = np.sum(matriz[i,:])
    transicion[i]=matriz[i,:]/suma

# Salida
print('matriz de conteo: ')
print(matriz)
print('matriz de transición:')
print(transicion)
np.savetxt('transicionletras.txt',matriz, fmt='%d')
np.savetxt('transicionletrasfreq.txt',transicion)

Densidad espectral de Potencia de PM

Referencia: León-García Ejemplo 10.2 p581, Gubner Ejemplo 10.21 p399

Ejercicio

Sea X(t) = a cos(ω t + Θ), donde Θ es uniforme en el intervalo (0,2π) Encontrar la autocovarianza de X(t).
Encuentre la densidad espectral de potencia de SX(f):

Solución

S_X(f) = Fourier\{ R_X (\tau) \}

Autocorrelación

R_X (t_1,t_2) = E[(a \cos(\omega t_1 + \Theta)) (a \cos(\omega t_2 +\Theta))]

Recordando que:

E[g(x)] = \int_{-\infty}^{\infty} g(x) f(x) dx cos(x) cos(y) = \frac{cos(x-y) + cos(x+y) }{2}

se tiene que:

= \int_{-\pi}^{\pi} [a\cos(\omega t_1 + \Theta) a\ cos(\omega t_2 +\Theta)] \frac{1}{2\pi} d\Theta = \int_{-\pi}^{\pi} a^2 \frac{\cos(\omega (t_1 - t_2))+\cos(\omega (t_1 + t_2)+ 2\Theta)}{2} \frac{1}{2\pi} d\Theta = a^2 \int_{-\pi}^{\pi} \frac{cos(\omega (t_1 - t_2))}{2} \frac{1}{2\pi} d\Theta + a^2\int_{-\pi}^{\pi} \frac{cos(\omega (t_1 + t_2 )+ 2\Theta)}{2} \frac{1}{2\pi} d\Theta

El primer integral, el coseno no depende de Θ, mientras que el segundo integral es semejante al intergral de la media y cuyo resultado es cero.

= a^2 \left. \frac{cos(\omega (t_1 - t_2))}{2} \frac{\Theta}{2\pi} \right|_{-\pi}^{\pi} + 0 R_X (t_1,t_2) = \frac{a^2}{2} cos(\omega (t_1 - t_2)) R_X (t_1,t_2) = \frac{a^2}{2} cos(\omega \tau)

La densidad espectral de potencia entonces es:

S_X(f) = Fourier\{ R_X (\tau) \} = Fourier\{ \frac{a^2}{2} cos(\omega \tau) \} = \frac{a^2}{2} Fourier\{ cos(\omega \tau) \} = \frac{a^2}{2} Fourier\{ cos(2\pi f_0 \tau) \}

usando las tablas de transformadas de Fourier:

= \frac{a^2}{2} (\frac{1}{2}\delta (f-f_0) + \frac{1}{2} \delta (f+f_0)) = \frac{a^2}{4} \delta (f-f_0) + \frac{a^2}{4} \delta (f+f_0))

El promedio de potencia de la señal es RX(0) = a2/2.
De toda esta potencia, se concentra en las frecuencias en f0 positiva y negativa, por lo que la densidad espectral de potencia en esta frecuencias es infinita.

Densidad Espectral de Potencia Concepto

Referencia: León García 10.1.1 p578

Sea X(t) un proceso aleatorio contínuo en el tiempo estacionario en el sentido amplio WSS, con media mX y función de autocorrelación RX(t).

Si cambiamos el dominio de la función desde tiempo a frecuencia, lo anterior deberá también cambiarse de dominio. Si la función densidad de probabiliad se cambia de dominio, se conocería como periodograma estimador, y se llega a determinar la densidad espectral de potencia de X(t) definida como:

S_X (f) = lim_{T \rightarrow \infty} \frac{1}{T} E \left[ \left| \tilde{x} (f) \right| ^2\right]

La densidad espectral de potencia de X(t) está dada por la transformada de Fourier de la función de autocorrelación:

S_X (f) = Fourier\{R_x(\tau) \} = \int_{-\infty}^{\infty} R_x(\tau) e^{-j2\pi f \tau} d\tau

La potencia promedio de X(t) se expresa también como:

E[ X^2(t)] = R_X(0) = \int_{-\infty}^{\infty} S_X (f) df

La densiddad espectral de potencia también se relaciona con la autocorrelación y autocovarianza por medio de la transformada de Fourier:

S_X(f) = Fourier\{ C_x (\tau) + m^2_x\}

si consideramos que m_x es un componente constante o «DC»

S_X(f) = Fourier\{ C_x (\tau)\} + m^2_x \delta(f)

ampliando el concepto a densidad espectral de potencia cruzada SX,Y (f) se define como:

S_{X,Y}(f) = Fourier\{ R_{X,Y} (\tau) \}

Autocorrelación Propiedades

Referencia León-García 9.6 p522

Potencia Promedio

La función autocorrelación a τ=0 entrega la potencia promedio (segundo momento) del proceso:

R_{X}(0) = E[X(t)^2]

para todo valor de t

Función par respecto a τ

R_{X}(\tau) = E[X(t+\tau)X(t)] = E[X(t)X(t+\tau)] = R_{X}(-\tau)

Mide la tasa de cambio

La función de autocorrelación es una medida de la tasa de cambio de un proceso aleatorio

P[|X(t+\tau) - X(t)| > \epsilon] = P[(X(t+\tau) - X(t))^2 > \epsilon ^2] \leq \frac{E[(X(t+\tau) - X(t))^2]}{\epsilon ^2} =\frac{2\{R_X(0) - R_X(\tau) \}}{\epsilon ^2}

como resultado de usar la inequidad de Markov

tiene maximo en τ=0

si se usa la inequidad de Cauchy-Schwarz:

E[XY]^2 \leq E[X^2]E[Y^2] R_X(\tau )^2 = E[X(t+ \tau) X(t)]^2 \leq E[X^2(t+ \tau)] E[X^2(t)] = R_X(0) |R_X(\tau)| \leq R_X(0)

Periódica en media cuadrática

si R_X(0) = R_X(d) , entonces R_X(\tau) es periódica con periodo d y X(t) es «periódica en media cuadrática».

R_X(\tau + d)| = R_X(\tau)

se aproxima a el cuadrado de la media cuando τ tiende a infinito