En el procesamiento de señales , el filtro de Wiener es un filtro que se utiliza para producir una estimación de un proceso aleatorio deseado o de destino mediante el filtrado lineal invariante en el tiempo ( LTI ) de un proceso ruidoso observado, suponiendo que se conocen espectros de señal y ruido estacionarios y ruido aditivo. El filtro de Wiener minimiza el error cuadrático medio entre el proceso aleatorio estimado y el proceso deseado.
Descripción
El objetivo del filtro de Wiener es calcular una estimación estadística de una señal desconocida utilizando una señal relacionada como entrada y filtrando esa señal conocida para producir la estimación como salida. Por ejemplo, la señal conocida puede consistir en una señal de interés desconocida que ha sido corrompida por ruido aditivo . El filtro de Wiener se puede utilizar para filtrar el ruido de la señal corrompida para proporcionar una estimación de la señal subyacente de interés. El filtro de Wiener se basa en un enfoque estadístico , y se ofrece una explicación más estadística de la teoría en el artículo sobre el estimador de error cuadrático medio mínimo (MMSE) .
Los filtros deterministas típicos están diseñados para una respuesta de frecuencia deseada . Sin embargo, el diseño del filtro de Wiener adopta un enfoque diferente. Se supone que se tienen conocimientos de las propiedades espectrales de la señal original y del ruido, y se busca el filtro lineal invariante en el tiempo cuya salida se acerque lo más posible a la señal original. Los filtros de Wiener se caracterizan por lo siguiente: [1]
Sea una señal desconocida que debe estimarse a partir de una señal de medición . Donde alfa es un parámetro ajustable. se conoce como predicción, se conoce como filtrado y se conoce como suavizado (consulte el capítulo sobre filtrado de Wiener de [1] para obtener más detalles).
El problema del filtro de Wiener tiene soluciones para tres casos posibles: uno en el que es aceptable un filtro no causal (que requiere una cantidad infinita de datos pasados y futuros), el caso en el que se desea un filtro causal (que utiliza una cantidad infinita de datos pasados) y el caso de respuesta al impulso finita (FIR) en el que solo se utilizan datos de entrada (es decir, el resultado o la salida no se devuelven al filtro como en el caso IIR). El primer caso es sencillo de resolver, pero no es adecuado para aplicaciones en tiempo real. El principal logro de Wiener fue resolver el caso en el que está en vigor el requisito de causalidad; Norman Levinson proporcionó la solución FIR en un apéndice del libro de Wiener.
consiste en la parte causal de (es decir, aquella parte de esta fracción que tiene una solución temporal positiva bajo la transformada inversa de Laplace)
es el componente causal de (es decir, la transformada inversa de Laplace de es distinta de cero solo para )
es el componente anticausal de (es decir, la transformada inversa de Laplace de es distinta de cero solo para )
Esta fórmula general es complicada y merece una explicación más detallada. Para escribir la solución en un caso específico, se deben seguir estos pasos: [2]
Comience con el espectro en forma racional y factorícelo en componentes causales y anticausales: donde contiene todos los ceros y polos en el semiplano izquierdo (LHP) y contiene los ceros y polos en el semiplano derecho (RHP). Esto se llama factorización de Wiener-Hopf .
Seleccione solo aquellos términos de esta expansión que tengan polos en el LHP. Llamemos a estos términos .
Dividir por . El resultado es la función de transferencia de filtro deseada .
Filtro de Wiener de respuesta al impulso finito para series discretas
El filtro de Wiener de respuesta finita al impulso (FIR) causal, en lugar de utilizar una matriz de datos X y un vector de salida Y determinados, encuentra pesos de derivación óptimos utilizando las estadísticas de las señales de entrada y salida. Rellena la matriz de entrada X con estimaciones de la autocorrelación de la señal de entrada (T) y el vector de salida Y con estimaciones de la correlación cruzada entre las señales de entrada y salida (V).
Para obtener los coeficientes del filtro de Wiener, considere la señal w [ n ] que se alimenta a un filtro de Wiener de orden (número de tomas anteriores) N y con coeficientes . La salida del filtro se denota x [ n ] que se da por la expresión
El error residual se denota por e [ n ] y se define como e [ n ] = x [ n ] − s [ n ] (véase el diagrama de bloques correspondiente). El filtro de Wiener está diseñado para minimizar el error cuadrático medio ( criterio MMSE ), que se puede expresar de forma concisa de la siguiente manera:
donde denota el operador de expectativa. En el caso general, los coeficientes pueden ser complejos y pueden derivarse para el caso donde w [ n ] y s [ n ] también son complejos. Con una señal compleja, la matriz a resolver es una matriz de Toeplitz hermítica , en lugar de una matriz de Toeplitz simétrica . Para simplificar, lo siguiente considera solo el caso donde todas estas cantidades son reales. El error cuadrático medio (MSE) puede reescribirse como:
Para encontrar el vector que minimiza la expresión anterior, calcule su derivada con respecto a cada
Suponiendo que w [ n ] y s [ n ] son cada uno estacionarios y conjuntamente estacionarios, las secuencias y conocidas respectivamente como la autocorrelación de w [ n ] y la correlación cruzada entre w [ n ] y s [ n ] se pueden definir de la siguiente manera:
Por lo tanto, la derivada del MSE puede reescribirse como:
Tenga en cuenta que, en términos reales , la autocorrelación es simétrica: si la derivada es igual a cero, el resultado es:
que puede reescribirse (utilizando la propiedad simétrica anterior) en forma de matriz
Estas ecuaciones se conocen como ecuaciones de Wiener-Hopf . La matriz T que aparece en la ecuación es una matriz de Toeplitz simétrica . En condiciones adecuadas en , se sabe que estas matrices son definidas positivas y, por lo tanto, no singulares, lo que produce una solución única para la determinación del vector de coeficientes del filtro de Wiener, . Además, existe un algoritmo eficiente para resolver dichas ecuaciones de Wiener-Hopf, conocido como algoritmo de Levinson-Durbin, por lo que no se requiere una inversión explícita de T.
En algunos artículos, la función de correlación cruzada se define de manera opuesta: Entonces, la matriz contendrá ; esto es solo una diferencia en la notación.
Cualquiera que sea la notación utilizada, tenga en cuenta que para los números reales :
Relación con el filtro de mínimos cuadrados
La realización del filtro causal de Wiener se parece mucho a la solución de la estimación de mínimos cuadrados , excepto en el dominio del procesamiento de señales. La solución de mínimos cuadrados, para la matriz de entrada y el vector de salida es
El filtro de Wiener FIR está relacionado con el filtro de mínimos cuadrados medios , pero el criterio de minimización del error de este último no depende de correlaciones cruzadas o autocorrelaciones. Su solución converge a la solución del filtro de Wiener.
Señales complejas
Para señales complejas, la derivación del filtro complejo de Wiener se realiza minimizando = . Esto implica calcular derivadas parciales con respecto a las partes reales e imaginarias de , y exigir que ambas sean cero.
Las ecuaciones de Wiener-Hopf resultantes son:
que puede reescribirse en forma matricial:
Obsérvese aquí que:
El vector de coeficientes de Wiener se calcula entonces como:
Aplicaciones
El filtro de Wiener tiene diversas aplicaciones en el procesamiento de señales, el procesamiento de imágenes, [3] sistemas de control y comunicaciones digitales. Estas aplicaciones generalmente se dividen en cuatro categorías principales:
Por ejemplo, el filtro Wiener se puede utilizar en el procesamiento de imágenes para eliminar el ruido de una imagen. Por ejemplo, utilizando la función de Mathematica: WienerFilter[image,2]en la primera imagen de la derecha, se genera la imagen filtrada que se encuentra debajo.
Se utiliza comúnmente para eliminar el ruido de las señales de audio, especialmente el habla, como preprocesador antes del reconocimiento de voz .
Historia
El filtro fue propuesto por Norbert Wiener durante la década de 1940 y publicado en 1949. [4] [5] El equivalente en tiempo discreto del trabajo de Wiener fue derivado independientemente por Andrey Kolmogorov y publicado en 1941. [6] Por lo tanto, la teoría a menudo se llama teoría de filtrado de Wiener-Kolmogorov ( cf. Kriging ). El filtro de Wiener fue el primer filtro diseñado estadísticamente que se propuso y posteriormente dio lugar a muchos otros, incluido el filtro de Kalman .
^ ab Brown, Robert Grover; Hwang, Patrick YC (1996). Introducción a las señales aleatorias y al filtrado de Kalman aplicado (3.ª ed.). Nueva York: John Wiley & Sons. ISBN 978-0-471-12839-7.
^ Welch, Lloyd R. "Teoría de Wiener–Hopf" (PDF) . Archivado desde el original (PDF) el 20 de septiembre de 2006. Consultado el 25 de noviembre de 2006 .
^ Boulfelfel, D.; Rangayyan, RM; Hahn, LJ; Kloiber, R. (1994). "Restauración tridimensional de imágenes de tomografía computarizada por emisión de fotón único". IEEE Transactions on Nuclear Science . 41 (5): 1746–1754. Bibcode :1994ITNS...41.1746B. doi :10.1109/23.317385. S2CID 33708058.
^ Wiener N: La interpolación, extrapolación y suavizado de series temporales estacionarias, Informe de los Servicios 19, Proyecto de investigación DIC-6037 MIT, febrero de 1942
^ Wiener, Norbert (1949). Extrapolación, interpolación y suavizado de series temporales estacionarias . Nueva York: Wiley. ISBN978-0-262-73005-1.
^ Kolmogorov AN: 'Secuencias estacionarias en el espacio de Hilbert', (en ruso) Bull. Universidad de Moscú 1941 vol. 2 no. 6 1-40. Traducción al inglés en Kailath T. (ed.) Estimación lineal de mínimos cuadrados Dowden, Hutchinson & Ross 1977 ISBN 0-87933-098-8