Filtros de Wiener Tratamiento Estadístico de Señales Pablo Musé, Ernesto López, Luis Di Martino {pmuse,elopez,dimartino}@fing.edu.uy Departamento de Procesamiento de Señales Instituto de Ingeniería Eléctrica Facultad de Ingeniería Abril de 2015 Biblio: I Haykin, Adaptive Filter Theory, 4ta. edición: Capítulo 2 y Apéndice B. I Hayes, Statistical Digital Signal Processing and Modeling, 1996: Capítulo 7, secs. 7.2 y 7.3. Introducción Estudiaremos una clase de filtros en tiempo discreto, óptimos en un sentido que definiremos más adelante, llamados Filtros de Wiener. Filtrado lineal óptimo: planteo del problema Given input samples and filter coefficients Input u(0), u(1), u(2), … Linear discrete-time filter w0, w1, w2, … Conditions at time n Output y(n) – Σ Desired response d(n) + Estimation error e(n) Figure 2.1 I {u(n)}, {d(n)}: realizaciones de procesos estocásticos conjuntamente Block diagram representation of the statistical filtering problem. WSS, de media nula (si no, basta con restárselas). I © 2002 Prentice Hall, Inc. de la respuesta deseada en tiempo n. y(n): estimación Simon Haykin I e(n) = d(n) − y(n): error de estimación en tiempo n Adaptive Filter Theory 4E Objetivo: hacer e(n) “lo más chico posible” en algún sentido estadístico. Restricciones y opciones de diseño I Sobre el filtro I I I Restricciones: lineal y discreto. Opciones: FIR o IIR. Trataremos la teoría para IIRs (siendo los FIRs un caso particular), pero nos focalizaremos en los FIRs por ser inherentemente estables. Obs: cuando tratemos con filtros adaptivos, tener que lidiar con IIRs y sus posibles inestabilidades hacen del problema difícil de manejar. Por esta razón en general en filtros adaptivos se utilizan FIRs, a pesar que los IIR son mucho menos demandantes computacionalmente. Restricciones y opciones de diseño I Sobre el filtro I I I I Restricciones: lineal y discreto. Opciones: FIR o IIR. Trataremos la teoría para IIRs (siendo los FIRs un caso particular), pero nos focalizaremos en los FIRs por ser inherentemente estables. Obs: cuando tratemos con filtros adaptivos, tener que lidiar con IIRs y sus posibles inestabilidades hacen del problema difícil de manejar. Por esta razón en general en filtros adaptivos se utilizan FIRs, a pesar que los IIR son mucho menos demandantes computacionalmente. Sobre el criterio estadístico de optimalidad I I I E[|e(n)|]: convexo, no diferenciable. Corresponde a distribuciones de Laplace. E[|e(n)|2 ]: convexo, diferenciable. Corresponde a distribuciones Gaussianas. Es matemáticamente más sencillo de tratar (podemos calcular gradientes). Otros. Posibles Aplicaciones Dependiendo de cómo están vinculadas u(n) y d(n), varios problemas fundamentales pueden ser planteados como un filtrado de Wiener: Posibles Aplicaciones Dependiendo de cómo están vinculadas u(n) y d(n), varios problemas fundamentales pueden ser planteados como un filtrado de Wiener: I Filtrado: u(n) = d(n) + v(n), con v(n) ruido. Estimar d(n) a partir de muestras ruidosas con un filtro causal, i.e. a partir de las muestras u(n), u(n − 1), u(n − 2), . . . . Posibles Aplicaciones Dependiendo de cómo están vinculadas u(n) y d(n), varios problemas fundamentales pueden ser planteados como un filtrado de Wiener: I Filtrado: u(n) = d(n) + v(n), con v(n) ruido. Estimar d(n) a partir de muestras ruidosas con un filtro causal, i.e. a partir de las muestras u(n), u(n − 1), u(n − 2), . . . . I Suavizado: idem salvo que el filtro puede ser no causal. Por ejemplo, estimar d(n) offline a partir de todo el registro de datos disponibles (previos y posteriores a n). Posibles Aplicaciones Dependiendo de cómo están vinculadas u(n) y d(n), varios problemas fundamentales pueden ser planteados como un filtrado de Wiener: I Filtrado: u(n) = d(n) + v(n), con v(n) ruido. Estimar d(n) a partir de muestras ruidosas con un filtro causal, i.e. a partir de las muestras u(n), u(n − 1), u(n − 2), . . . . I Suavizado: idem salvo que el filtro puede ser no causal. Por ejemplo, estimar d(n) offline a partir de todo el registro de datos disponibles (previos y posteriores a n). I Predicción: si d(n) = u(n + 1) y el filtro es causal, se busca estimar u(n + 1) a partir de u(n) y sus muestras previas. Posibles Aplicaciones Dependiendo de cómo están vinculadas u(n) y d(n), varios problemas fundamentales pueden ser planteados como un filtrado de Wiener: I Filtrado: u(n) = d(n) + v(n), con v(n) ruido. Estimar d(n) a partir de muestras ruidosas con un filtro causal, i.e. a partir de las muestras u(n), u(n − 1), u(n − 2), . . . . I Suavizado: idem salvo que el filtro puede ser no causal. Por ejemplo, estimar d(n) offline a partir de todo el registro de datos disponibles (previos y posteriores a n). I Predicción: si d(n) = u(n + 1) y el filtro es causal, se busca estimar u(n + 1) a partir de u(n) y sus muestras previas. I Deconvolución: u(n) = h ∗ d(n) + v(n). El objetivo es encontrar algún filtro de respuesta al impulso g(n) tal que podamos estimar ˆ = g ∗ u(n). d(n) Posibles Aplicaciones Dependiendo de cómo están vinculadas u(n) y d(n), varios problemas fundamentales pueden ser planteados como un filtrado de Wiener: I Filtrado: u(n) = d(n) + v(n), con v(n) ruido. Estimar d(n) a partir de muestras ruidosas con un filtro causal, i.e. a partir de las muestras u(n), u(n − 1), u(n − 2), . . . . I Suavizado: idem salvo que el filtro puede ser no causal. Por ejemplo, estimar d(n) offline a partir de todo el registro de datos disponibles (previos y posteriores a n). I Predicción: si d(n) = u(n + 1) y el filtro es causal, se busca estimar u(n + 1) a partir de u(n) y sus muestras previas. I Deconvolución: u(n) = h ∗ d(n) + v(n). El objetivo es encontrar algún filtro de respuesta al impulso g(n) tal que podamos estimar ˆ = g ∗ u(n). d(n) I Otros. Filtrado de Wiener: Solución al problema I Objetivo: encontrar w0 , w1 , w2 , . . . tales que se minimice Jn (w) = E[|e(n)2 |] = J(w). I Desarrollaremos la solución matemática a este problema de optimización estadística abordando dos enfoques diferentes pero complementarios: I El principio de ortogonalidad (característicos de los espacios de Hilbert) I La superficie de performance del error e(n). Las ecuaciones normales o de Wiener-Hopf (1) I Entrada: Resp. al impulso del filtro: I u(0), u(1), u(2), . . . w0 , w1 , w2 , . . . complejas e infinitas. Salida del filtro: y(n) = +∞ X wk∗ u(n − k), n = 0, 1, 2, . . . k=0 H =w u(n), con wT = [w0 , w1 , w2 , . . . ], u(n)T = [u(n), u(n − 1), u(n − 2), . . . ] I e(n) = d(n) − y(n). I Recordemos que {u(n)}, {d(n)} son realizaciones de procesos estocásticos conjuntamente WSS, de media nula Las ecuaciones normales o de Wiener-Hopf (2) Queremos ver bajo qué condiciones en w (o cual es el filtro tal que) J(w) = E[e∗ (n)e(n)] alcanza el mínimo. Definamos pT = [p(0), p(−1), p(−2), . . . ] = E[u(n)d∗ (n)]. Ejercicio: 1. Escribir J(w) como función de w, R = E[u(n)u(n)H ], p y σd2 = E[|d(n)|2 ], y verificar que es cuadrática y convexa en w. 2. Escribir el sistema de ecuaciones que debe verificar wo = arg minw J(w), conocido como ecuaciones normales. Las ecuaciones normales o de Wiener-Hopf (2) Queremos ver bajo qué condiciones en w (o cual es el filtro tal que) J(w) = E[e∗ (n)e(n)] alcanza el mínimo. Definamos pT = [p(0), p(−1), p(−2), . . . ] = E[u(n)d∗ (n)]. Ejercicio: 1. Escribir J(w) como función de w, R = E[u(n)u(n)H ], p y σd2 = E[|d(n)|2 ], y verificar que es cuadrática y convexa en w. 2. Escribir el sistema de ecuaciones que debe verificar wo = arg minw J(w), conocido como ecuaciones normales. J(w) =E[(d∗ (n) − uH (n)w)(d(n) − wH u(n))] =E[|d(n)|2 + wH E[u(n)u(n)H ]w − wH E[u(n)d∗ (n)] − E[d(n)uH (n)]w =wH Rw − pH w − wH p + σd2 . Es convexa ya que R es def. positiva, por lo que admite un único mínimo local. Las ecuaciones normales o de Wiener-Hopf (2) Queremos ver bajo qué condiciones en w (o cual es el filtro tal que) J(w) = E[e∗ (n)e(n)] alcanza el mínimo. Definamos pT = [p(0), p(−1), p(−2), . . . ] = E[u(n)d∗ (n)]. Ejercicio: 1. Escribir J(w) como función de w, R = E[u(n)u(n)H ], p y σd2 = E[|d(n)|2 ], y verificar que es cuadrática y convexa en w. 2. Escribir el sistema de ecuaciones que debe verificar wo = arg minw J(w), conocido como ecuaciones normales. J(w) =E[(d∗ (n) − uH (n)w)(d(n) − wH u(n))] =E[|d(n)|2 + wH E[u(n)u(n)H ]w − wH E[u(n)d∗ (n)] − E[d(n)uH (n)]w =wH Rw − pH w − wH p + σd2 . Es convexa ya que R es def. positiva, por lo que admite un único mínimo local. ∂ Sabemos que ∇w = 2 ∂w ∗ (ver Haykin, Apéndice B). ∂J 0 = 2 ∂w ∗ (wo ) = 2Rwo − 0 − 2p − 0 ⇔ Rwo = p Ecuaciones normales Principio de ortogonalidad Breve paréntesis: E[X H Y ] como producto interno ————————————————————————– I X e Y vectores aleatorios t.q. E[X] = E[Y ] = 0, a ∈ C constante. I < X, Y >:= E[X H Y ] define un producto interno: I < X, X >≥ 0, y < X, X >= 0 ⇔ E[X] = 0. I < X, Y >=< Y, X >∗ I < aX, Y >= a∗< X, Y > (linealidad de E[·]). I < X, aY >= a < X, Y > (linealidad de E[·]). I < X, Y >= E[X H Y ] = 0 ⇔ X, Y no correlacionados (o ortogonales para este p. i.). ————————————————————————– Principio de ortogonalidad Breve paréntesis: E[X H Y ] como producto interno ————————————————————————– I X e Y vectores aleatorios t.q. E[X] = E[Y ] = 0, a ∈ C constante. I < X, Y >:= E[X H Y ] define un producto interno: I < X, X >≥ 0, y < X, X >= 0 ⇔ E[X] = 0. I < X, Y >=< Y, X >∗ I < aX, Y >= a∗< X, Y > (linealidad de E[·]). I < X, aY >= a < X, Y > (linealidad de E[·]). I < X, Y >= E[X H Y ] = 0 ⇔ X, Y no correlacionados (o ortogonales para este p. i.). ————————————————————————– Rwo = p ⇔ E[u(n)u(n)H ]wo = E[u(n)d∗ (n)] ⇔ E[u(n)(d∗ (n) − u(n)H wo )] = E[u(n)e∗o (n)] = 0. ⇔ E[u(n − k)e∗o (n)] = 0 ∀ k = 0, 1, 2, . . . ⇒ La CNS para que J alcance el mínimo es que el error e(n) = eo (n) sea ortogonal a todas las muestras involucradas al tiempo n. Principio de ortogonalidad (cont.) Cuando el filtro opera en condición óptima w = wo , la estimación de la respuesta deseada y el error de estimación son ortogonales: E[yo (n)e∗ (n)] = E[woH u(n)e∗o (n)] = woH E[u(n)e∗o (n)] = 0. Principio de ortogonalidad (cont.) Cuando el filtro opera en condición óptima w = wo , la estimación de la respuesta deseada y el error de estimación son ortogonales: E[yo (n)e∗ (n)] = E[woH u(n)e∗o (n)] = woH E[u(n)e∗o (n)] = 0. Error cuadrático medio mínimo ˆ eo (n) = d(n) − yo (n), yo (n) = d(n), Jmin = E[|eo (n)|2 ] Por el principio de ortogonalidad, sabemos que eo (n) ⊥ yo (n), de dónde d(n) = eo (n) + yo (n) ⇒ E[|d(n)|2 |] = E[|eo (n)|2 ] + E[|yo (n)|2 ] | {z } | {z } | {z } σd2 ⇒ Jmin = σd2 − σd2ˆ ⇔ ε := Jmin σd2 Jmin =1− σd̂2 σd2 σ2 d̂ . Tendremos 0 ≤ ε ≤ 1. Solución de las ecs. normales para filtros transversales u(n) z–1 w*0 u(n-1) z–1 w*1 ... u(n-M+2) ... * wM–2 z–1 u(n-M+1) * wM –1 ... e(n) – ˆ d(n|u n) + Ahora estamos en dimensión finita: d(n) u(n)T = [u(n), u(n − 1), . . . , u(n − M + 1)] Figure 2.4 wT = [w0 , w1 , . . . , wM −1 ], woTfilter.= [wo,0 , wo,1 , . . . , wo,M −1 ] Transversal pT = [p(0), p(−1), . . . , p(−M + 1)] −1 R Hall, p Inc.−→ Necesitamos conocer: o = ©w 2002 Prentice Simon Haykin las correlaciones cruzadas entre u(n − k) Adaptive Filter Theory 4E matriz de correlación de u(n) y y d(n), k = 0, 1, . . . , M − 1. Superficie de performance del error J(w) = wH Rw − pH w − wH p + σd2 . Jmin = J(wo ) = pH R−H RR−1 p − pH R−1 p − pH R−H p + σd2 . = σd2 − pH R−1 p = σd2 − pH wo . Se puede ver fácilmente que J(w) = Jmin + (w − wo )H R(w − wo ) Superficie de performance del error J(w) = wH Rw − pH w − wH p + σd2 . Jmin = J(wo ) = pH R−H RR−1 p − pH R−1 p − pH R−H p + σd2 . = σd2 − pH R−1 p = σd2 − pH wo . Se puede ver fácilmente que J(w) = Jmin + (w − wo )H R(w − wo ) Forma canónica de la superficie de error Sabemos que R = QΛQH (R hermítica, teorema espectral). Luego, J(w) = Jmin + (w − wo )H QΛQH (w − wo ) = Jmin + vH Λv, con v = QH (w − wo ) la proyección de (w − wo ) en los ejes principales de R (∴ de la superficie de error). = Jmin + M −1 X k=0 λk |vk |2 . Superficie de performance del error: ejemplo de un filtro con dos taps 14.47 Cost function J 11.61 8.75 5.88 3.02 0.16 4.00 3.20 4.00 2.40 w0 3.00 1.60 0.80 1.00 0.00 2.00 w1 0.00 Figure 2.7 Error-performance surface of the two-tap transversal filter described in the example of Section 2.7. Figure 2.8 En la forma canónica, Jmin se alcanza en (w − plots woof) the =error-performance (0, 0), y los ejes Contour surface depicted in Fig 2.7. están orientados según los ejes principales de las elipses de las curvas de nivel. © 2002 Prentice Hall, Inc. © 2002 Prentice Hall, Inc. Simon Haykin Adaptive Filter Theory 4E Simon Haykin Filtros de Wiener IIR No serán abordados aquí por las razones expuestas en la introducción: la mayoría de las señales no son WSS y a lo sumo se asumirá que los procesos son localmente WSS, lo que da lugar a los filtros adaptivos. Pero en el caso de que los procesos sean WSS en su conjunto, pueden ser de gran utilidad. Se recomienda la siguiente lectura: I Filtro de Wiener IIR no causal (Hayes, §7.3.1). Ejemplo de aplicación: Deconvolución (Hayes, §7.3.5). I Teorema de factorización espectral (Hayes, §. 3.5) I Filtro de Wiener IIR causal (Hayes, §7.3.2 y §7.3.3)