Filtro de Wiener IIR causal



    En esta sección vamos a aplicar la restricción de causalidad al filtro de Wiener. La respuesta impulsional, por tanto, será cero para valores de n menores de cero, y la estimación de d(n) tomará la forma

    Debemos encontrar los coeficientes que minimizan el error cuadrático medio, y para ello, derivamos x respecto a h*(k) con k = 0 e igualamos las derivadas a cero. Así obtenemos las ecuaciones de Wiener-Hopf para el filtro de Wiener IIR causal:

    Para resolver las ecuaciones de Wiener-Hopf, consideramos primero el caso en que la entrada al filtro es ruido blanco, w(n) de varianza sw2. Denotando los coeficientes del filtro de Wiener por  f(n), las ecuaciones quedan

Como rw(k) = sw2d(k), tenemos

y en el dominio z transformado

    El sumatorio

es la parte causal de Sdw(z), por tanto

    En aplicaciones típicas de filtrado de Wiener, es improbable que la entrada al filtro sea ruido blanco. Por ello, vamos a considerar que x(n) es un proceso aleatorio con un espectro de potencia racional sin ceros ni polos en el círculo unidad.

    Debemos encontrar el filtro F(z) causal y hallar la descomposición en B(z) H(z) para obtener el filtro IIR causal H(z). Trabajando sobre F(z) se cumple la anterior condición (de ruido blanco).
 

    Calculemos ahora la densidad espectral de potencia Sdx(z). La función de correlación se define como

donde x(n) se obtiene al filtrar ruido blanco con el filtro B(z).

    Y la densidad espectral de potencia compleja es

    Y al sustituir en la expresión del filtro F(z)

    Puesto que F(z) = B(z) H(z), podemos obtener H(z), el filtro IIR causal como

   donde  Sx(z)sw2 B(z) B*(1/z*).
 


    Obtenemos ahora la expresión del error mínimo:

    En el dominio frecuencial,

o también,


    Por último, vamos a obtener una interesante interpretación del filtro de Wiener causal a partir del filtro de Wiener no causal.
    Utilizaremos la factorización espectral Sx(z)sw2 B(z) B*(1/z*) para expresar el filtro no causal Hnc(z) como

    Visto como una cascada de dos filtros, podemos escribir

donde el primer filtro es el filtro causal blanqueador que genera w(n) a partir de x(n), y el segundo es el filtro no causal que produce la estimación de mínimo e.c.m. de d(n) a partir de w(n). Comparando filtros (causal y no causal), observamos que el filtro causal se obtiene a partir del no causal tomando la parte causal de [Sdx(z) / B*(1/z*)].
 
 


    Ejemplos

    1.- Filtrado de Wiener IIR causal. Comparación con filtros FIR e IIR no causal.
 

Ir a filtrado IIR