Filtros wiener

27
FILTRO WIENER

description

Características, tipos y aplicaciones de los filtros Wiener.

Transcript of Filtros wiener

Page 1: Filtros wiener

FILTRO WIENER

Page 2: Filtros wiener

FILTROS ADAPTATIVOS

Sistema digital compuesto por Filtro lineal programable de entrada x(n) y salida ŷ(n) Los coeficientes se reprograman de una muestra a la

siguiente a través de un algoritmo de adaptación Los coeficientes cambian su valor dinámicamente en

el tiempo El sistema puede ser inestable por lo que se utiliza

con mucha frecuencia los sistemas FIR Son incondicionalmente estable.

Page 3: Filtros wiener

3

Filtro Lineal Programable X

-1

x(n)

y(n)

ŷ(n)

h(n)e(n)

Algoritmo adaptativo

Esquema de un filtro Adaptativo

+

Page 4: Filtros wiener

INTRODUCCIÓN A LOS FILTROS WIENER

Los filtros de Wiener son los mejores filtros lineales de mínimos cuadrados, que pueden ser usados para predicción, estimación, interpolación, filtrado de señal y ruido, etc.

Para diseñarlos se necesita tener un conocimiento previo apropiado de las propiedades estadísticas de la señal de entrada. El problema reside en que este conocimiento generalmente no se puede obtener

Page 5: Filtros wiener

INTRODUCCIÓN A LOS FILTROS WIENER

En su lugar se usan filtros adaptativos, que hacen uso de los datos de entrada para aprender los datos estadísticos requeridos.

La teoría de Wiener es importante para el presente estudio porque los filtros adaptativos que serán empleados convergen asintóticamente (en media) en las soluciones de Wiener.

El filtro consigue ajustar su estructura tiempo-frecuencia a las características tiempo frecuencia de la señal que se desea estimar y obtener así una reducción selectiva del ruido.

Page 6: Filtros wiener

FILTRO DE WIENER

Es un sistema al que le llegan dos señales: x(n) y e(n). A los coeficientes del filtro se les llama w(n), que son los que multiplican a la entrada x(n) para obtener la salida.y(n)=w(n)x(n)e(n)=d(n)-y(n)

Page 7: Filtros wiener

CARACTERÍSTICAS:

El objetivo del filtrado de Wiener es determinar la respuesta impulsional h*(n), de longitud Q muestras, de modo que la salida y(n) sea lo mas parecida posible a la señal d(n). Se puede tomar, como medida de parecido, el error cuadrático medio entre la salida y la referencia.

ξ = E{|d(n) − y(n)| 2 }

Page 8: Filtros wiener

La respuesta impulsiva del filtro de

Wiener se obtiene encontrando una expresión para el error cuadrático medio y minimizándola con respecto a la respuesta impulsiva.

Siendo Φmm la auto correlación y Φmn la correlación cruzada de dos señales m y n.

Page 9: Filtros wiener

El valor mínimo del error determina los coeficientes óptimos del filtro, es decir su mejor diseño.La ecuación que nos permite encontrar los coeficientes (W), del filtro es:

Rxw=rdx

Donde

Rx Matriz de Autocorrelación rdx Vector de Correlación CruzadaW Vector de coeficientes.

Page 10: Filtros wiener

TIPOS DE FILTROS WIENER

Existen diversas estructuras para el filtro de wiener. Comenzaremos con el caso en q el filtro puede ser no causal y de duración infinita, el filtro IIR no causal .

Posteriormente añadiremos la restricción de causalidad para obtener un filtro IIR causal. Por ultimo, la restricción de longitud finita nos conducirá al filtro FIR.

Page 11: Filtros wiener

Filtro de Wiener  IIR

Nuestro propósito es diseñar un filtro h(n) que produzca una salida:

y(n) = x(n) * h(n)

Tan cercana como sea posible, en sentido cuadrático-medio, a la respuesta deseada, d(n).

El enunciado del problema es idéntico para filtros FIR y para IIR, pero existe una gran diferencia que cambia la solución.

Para el filtro FIR, existe un número finito de posibles coeficientes del filtro, mientras que con el filtro IIR, el número de incógnitas, es decir, de valores de h(n) para todo n, es infinito.

Vamos a considerar dos situaciones:

Primero el caso en que no aplicamos restricciones a la solución. Obtendremos que el filtro óptimo es, en general, no causal, y por tanto, irrealizable:  Filtro Wiener IIR no causal.

Posteriormente, aplicaremos la condición de causalidad, y para ello forzaremos  h(n) a cero para valores de índice n negativos: Filtro Wiener IIR causal.

Page 12: Filtros wiener

FILTRO DE WIENER IIR NO CAUSAL

Para un filtro de Wiener IIR no causal (sin restricciones), debemos determinar la respuesta impulsional, h(n),

que minimice el error cuadrático medio

donde e(n) es la diferencia entre la respuesta deseada d(n) y la salida del filtro de Wiener,

Para encontrar la respuesta derivamos x respecto a h*(k) para todo k e igualamos las derivadas a cero. Así, obtenemos

Esta ecuación se conoce como principio de ortogonalidad, y establece que x es mínimo y los coeficientes del filtro asumen sus valores óptimos cuando e(n) está incorrelado con cada muestra de entrada x(n) que es utilizada para el cálculo de la estimación. Como consecuencia, el error también es ortogonal a la salida del filtro. Este principio establece una condición suficiente y necesaria para la optimización.

Page 13: Filtros wiener

Ordenando términos llegamos a

  

  Observamos que el valor medio esperado en la izquierda es la autocorrelación de x(n), y que el término de la derecha es la correlación cruzada entre x(n) y d(n). Por tanto, podemos escribir la ecuación anterior como

ecuaciones de Wiener-Hopf para el filtro de Wiener IIR no causal.

Page 14: Filtros wiener

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:

Page 15: Filtros wiener

PROGRAMACIÓN EN MATLAB

La siguiente función implementada en Matlab se encarga de calcular los coeficientes de un filtro FIR según el método de Wiener.

Una utilidad puede ser la cancelación de ruido

Con el siguiente código, podremos obtener un filtro de orden 'p' con el que realizar una estimación del ruido aditivo de la señal información.

Page 16: Filtros wiener

DEFINIMOS LA SEÑAL DE ENTRADA

P=15; Orden del filtro N=200; Número de muestras k=1: N; Vector w0=0.45; Frecuencia del filtro d=sin(w0*k)‘; Señal deseada eps=1; Varianza del ruido Blanco n=eps*randn(N,1); x=d+n; Señal más ruido plot(x,'r'); pause;

Page 17: Filtros wiener

GRÁFICA DE LA SEÑAL DE ENTRADA

Page 18: Filtros wiener

APLICAR EL FILTRADO DE WIENER r=xcorr(x); Correlamos la señal de entrada R=toeplitz(r(N:N+P-1)); Calculamos la matriz R ptemp=xcorr(x,d); p=ptemp(N:N+P-1); Calculamos el vector P w=R\p Los coeficientes del filtro son:

w =

0.1208 0.10700.0905 0.0416-0.0104 -0.0574-0.0774 -0.0922-0.0831 -0.0703-0.0269 0.01720.0613 0.07230.0783

Page 19: Filtros wiener

Los coeficientes mostrados anteriormente son los

coeficientes que mejor filtran el ruido de la señal. Obviamente, la respuesta es diferente, ya que no

estamos utilizando la matriz de autocorrelación real, sino una estimación en base a las muestras de que disponemos, que cambian cada vez que creamos la señal x al tener una componente aleatoria.

Vamos a ver cómo queda la señal después de filtrarla con nuestro filtro recién calculado, y lo compararemos con la señal deseada.

xrec=filter(w,1,x); plot(xrec); hold on; plot(d,'g'); hold off;

Page 20: Filtros wiener

GRÁFICA DE LA SEÑAL FILTRADA CON LA DESEADA

Page 21: Filtros wiener

IMAGEN FILTRADA

Page 22: Filtros wiener

Otra aplicación de interés del filtrado de Wiener esta en los denominados canceladores de ruido. En esta ocasión, se supone que la señal deseada s(t) (habitualmente voz o audio) se ve afectada por un ruido aditivo h(t)*w(t), donde h(t) es el canal de propagación del ruido hasta el micrófono. Si dicho ruido puede captarse (muy importante) libre de señal deseada, vía otro micrófono (o un galga extensiométrica si se trata de una superficie vibrante, caso de ruido de baja frecuencia), entonces puede usarse de referencia para cancelar este a la salida . Lo que se espera del filtro de Wiener es que sea capaz de lograr una copia adecuada del canal h(t).

Bajo un diseño óptimo del filtro, el error será precisamente la señal deseada libre de ruido. Esto ocurrirá cuando el filtro copie perfectamente el canal de propagación del ruido. Es crucial que el canal, denominado de datos en la figura, no contenga señal deseada s(n), de otro modo se produciría la cancelación de ésta. Por esta razón es recomendable el usar sensores de vibración en paneles vibrantes o micrófonos direccionales con un nulo en la dirección donde se recoge la señal deseada. Para comprobar el correcto funcionamiento del filtro se calculara la coherencia espectral de los datos con la referencia.

APLICACIONES

Page 23: Filtros wiener
Page 24: Filtros wiener

El filtro de Wiener como cancelador de ecos. Por falta de aislamiento enel transformador híbrido cercano al origen de la conversación 2, la conversación de 1 vuelve después de atravesar el híbrido (modelado como un canal lineal). El cancelador debe generar una réplica de dicho canal para eliminar el eco.

Page 25: Filtros wiener

CONCLUSIONES

El filtro Wiener determina la respuesta impulsional de forma que el error sea lo más pequeño posible.

Se implementa en las aplicaciones de procesado de señales, desde receptores de comunicaciones, codificadores de fuente, etc. Todos los sistemas incluyen de un modo u otro un filtro de Wiener.

Page 26: Filtros wiener

  El filtrado lineal óptimo (filtro de Wiener)

aparece en multitud de problemas de comunicaciones.

• Su obtención requiere conocer (o estimar) los estadísticos de 2º orden.

• El filtro de Wiener extrae de la entrada la parte correlada con la señal deseada (si p=0, w=0).

• La señal de error resultante está incorrelada con la entrada (y con la salida del filtro): Principio de ortogonalidad.

Page 27: Filtros wiener

GRACIAS