FILTRO LMS INTRODUCCION- 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) 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 } 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 al impulso. Siendo Φmm la auto correlación y Φmn correlación cruzada de dos señales m y n. la 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 Cruzada W Vector de coeficientes. 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. 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. 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. 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. 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: APLICACIONES 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. El filtro de Wiener como cancelador de ecos. Por falta de aislamiento en el 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. CANCELADOR DE RUIDO UTILIZANDO UN FILTRO ADAPTIVO NLMS Como forma de solucionar este problema se realiza lo siguiente, se coloca otro micrófono cerca del martillo neumático, y mediante un filtro adaptivo, se busca estimar el "ruido" que se suma a mi señal, para luego restarlo y así obtener la voz del orador únicamente. Nuestro objetivo es realizar el filtro FIR, cuyos coeficientes se adapten mediante el algoritmo NLMS (Normlaized Least Mean Square) para cancelar el ruido CANCELACIÓN ADAPTIVA DE RUIDO Una de las técnicas de procesamiento adaptivo de señales mas simples y efectivas es la cancelación de ruido adaptiva. Como se muestra en la figura, la entrada primaria u(n) contiene la señal mas el ruido, donde v2(n) es la referencia del ruido, un filtro adaptivo es usado para estimar el ruido de u(n) y el ruido estimado y(n) se resta del canal primario. La salida del cancelador de ruido es entonces e(n). FILTRO DE WEINER ADAPTIVO (COEFICIENTES ADAPTADOS POR LMS) La implementación más común de un filtro adaptivo es la estructura transversal. La señal de salida del filtro y(n) es donde: Algoritmo de adaptación: El algoritmo de adaptación usa la señal de error: e(n) = u(n) – y(n) Donde y(n) es la salida del filtro. El vector de entradas v2(n) y e(n) son utilizados para actualizar los coeficientes del filtro adaptivo de acuerdo al criterio que se quiera minimizar. El criterio que utilizamos nosotros es el de minimizar el error cuadrático medio: Ya habíamos visto que Donde La solución óptima se obtiene resolviendo la ecuación: , que minimiza el error cuadrático medio, Donde llegábamos a la solución: Un algoritmo LMS ampliamente usado es un algoritmo que adapta los coeficientes en cada muestra. Este método puede evitar el complicado cálculo de R-1 y p, este algoritmo es un método práctico para encontrar soluciones aproximadas a la ecuación anterior. (8) Donde b es el paso de adaptación que controla la estabilidad y la velocidad de convergencia. Para el algoritmo LMS, el gradiente en la n-ésima iteración , es estimado asumiendo el error al cuadrado como un estimador del error cuadrático medio. Así, la expresión para el estimador del gradiente puede ser simplificada a: Al sustituir este estimador instantáneo del gradiente en la ecuación (8) conduce al algoritmo LMS de Widrow-Hoff: donde 2β es usualmente reemplazado por β en la implementación práctica . Si comenzamos con un w(0) cualquiera, el vector de coeficientes convergerá a su solución óptima w*, si se cumple que: donde λmax es el mayor valor propio de la matriz R. λ max puede ser acotado por: donde Tr[R] es la traza de R y r(0) = E{v22(n)} es la potencia promedio de la entrada. Para aplicaciones de procesamiento de señales, la consideración práctica más importante es la velocidad de convergencia, que determina la habilidad del filtro de seguir señales no estacionarias. Hablando generalmente, la convergencia del vector de coeficientes está garantizada sólo cuando el coeficiente más lento ha convergido. La constante de tiempo del modo más lento es: Esto indica que la constante de tiempo para la convergencia de los coeficientes es inversamente proporcional a by además depende de los valores propios de la matriz de autocorrelación de la entrada. Con valores propios muy eparados i.e. λ max λ min, el tiempo de establecimiento está limitado por el modo más lento, λ min. La adaptación basada en un estimador del gradiente resulta en ruido en el vector de coeficientes, y por lo tanto una pérdida de performance. Este ruido en el proceso adaptivo causa que el vector de coeficientes en régimen varíe aleatoriamente alrededor del vector de coeficientes óptimos. Todo esto nos lleva a ver el compromiso entre la velocidad de convergencia y el error en régimen, si queremos obtener una velocidad de convergencia buena, entonces el paso b debe ser grande, pero en este caso la performance en régimen del filtro no sería muy buena, y viceversa si queremos obtener buena performance en régimen, entonces debemos hacer que b sea chico, pero esto limita la velocidad de convergencia. GRACIAS