Filtro adaptativo

Sistema con función de transferencia autooptimizable

Un filtro adaptativo es un sistema con un filtro lineal que tiene una función de transferencia controlada por parámetros variables y un medio para ajustar esos parámetros de acuerdo con un algoritmo de optimización . Debido a la complejidad de los algoritmos de optimización, casi todos los filtros adaptativos son filtros digitales . Los filtros adaptativos son necesarios para algunas aplicaciones porque algunos parámetros de la operación de procesamiento deseada (por ejemplo, las ubicaciones de las superficies reflectantes en un espacio reverberante ) no se conocen de antemano o están cambiando. El filtro adaptativo de bucle cerrado utiliza retroalimentación en forma de señal de error para refinar su función de transferencia.

En términos generales, el proceso adaptativo de bucle cerrado implica el uso de una función de costo , que es un criterio para el rendimiento óptimo del filtro, para alimentar un algoritmo, que determina cómo modificar la función de transferencia del filtro para minimizar el costo en la siguiente iteración. La función de costo más común es el cuadrado medio de la señal de error.

A medida que ha aumentado la potencia de los procesadores de señales digitales , los filtros adaptativos se han vuelto mucho más comunes y ahora se utilizan rutinariamente en dispositivos como teléfonos móviles y otros dispositivos de comunicación, videocámaras y cámaras digitales y equipos de monitoreo médico.

Ejemplo de aplicación

El registro de un latido cardíaco (un ECG ) puede verse alterado por el ruido de la red eléctrica de CA. La frecuencia exacta de la corriente y sus armónicos pueden variar de un momento a otro.

Una forma de eliminar el ruido es filtrar la señal con un filtro de muesca en la frecuencia de la red y sus proximidades, pero esto podría degradar excesivamente la calidad del ECG ya que el latido del corazón probablemente también tendría componentes de frecuencia en el rango rechazado.

Para evitar esta posible pérdida de información, se podría utilizar un filtro adaptativo. El filtro adaptativo tomaría la entrada tanto del paciente como de la red eléctrica y, por lo tanto, sería capaz de rastrear la frecuencia real del ruido a medida que fluctúa y restar el ruido de la grabación. Esta técnica adaptativa generalmente permite un filtro con un rango de rechazo más pequeño, lo que significa, en este caso, que la calidad de la señal de salida es más precisa para fines médicos. [1] [2]

Diagrama de bloques

La idea detrás de un filtro adaptativo de bucle cerrado es que se ajuste un filtro variable hasta que se minimice el error (la diferencia entre la salida del filtro y la señal deseada). El filtro de mínimos cuadrados medios (LMS) y el filtro de mínimos cuadrados recursivos (RLS) son tipos de filtro adaptativo.

Un diagrama de bloques de un filtro adaptativo con un bloque separado para el proceso de adaptación.
Filtro adaptativo. k = número de muestra, x = entrada de referencia, X = conjunto de valores recientes de x, d = entrada deseada, W = conjunto de coeficientes de filtro, ε = salida de error, f = respuesta al impulso del filtro, * = convolución, Σ = suma, cuadro superior = filtro lineal, cuadro inferior = algoritmo de adaptación
Un diagrama de bloques compacto de un filtro adaptativo sin un bloque separado para el proceso de adaptación.
Filtro adaptativo, representación compacta. k = número de muestra, x = entrada de referencia, d = entrada deseada, ε = salida de error, f = respuesta al impulso del filtro, Σ = suma, caja = filtro lineal y algoritmo de adaptación.

Hay dos señales de entrada al filtro adaptativo: y que a veces se denominan entrada principal y entrada de referencia respectivamente. [3] El algoritmo de adaptación intenta filtrar la entrada de referencia en una réplica de la entrada deseada minimizando la señal residual, . Cuando la adaptación es exitosa, la salida del filtro es efectivamente una estimación de la señal deseada. d k {\displaystyle d_{k}} x k {\displaystyle x_{k}} ϵ k {\displaystyle \epsilon _{k}} y k {\displaystyle y_{k}}

d k {\displaystyle d_{k}} que incluye la señal deseada más la interferencia no deseada y
x k {\displaystyle x_{k}} que incluye las señales que están correlacionadas con algunas de las interferencias no deseadas en . d k {\displaystyle d_{k}}
k representa el número de muestra discreta.

El filtro está controlado por un conjunto de coeficientes o pesos L+1.

W k = [ w 0 k , w 1 k , . . . , w L k ] T {\displaystyle \mathbf {W} _{k}=\left[w_{0k},\,w_{1k},\,...,\,w_{Lk}\right]^{T}} representa el conjunto o vector de pesos que controlan el filtro en el tiempo de muestreo k.
donde se refiere al 'ésimo peso en el k'ésimo tiempo. w l k {\displaystyle w_{lk}} l {\displaystyle l}
Δ W k {\displaystyle \mathbf {\Delta W} _{k}} representa el cambio en los pesos que se produce como resultado de los ajustes calculados en el tiempo de muestra k.
Estos cambios se aplicarán después del tiempo de muestra k y antes de que se utilicen en el tiempo de muestra k+1.

La salida suele ser pero podría serlo o incluso podrían ser los coeficientes del filtro. [4] (Widrow) ϵ k {\displaystyle \epsilon _{k}} y k {\displaystyle y_{k}}

Las señales de entrada se definen de la siguiente manera:

d k = g k + u k + v k {\displaystyle d_{k}=g_{k}+u_{k}+v_{k}}
x k = g k + u k + v k {\displaystyle x_{k}=g_{k}^{'}+u_{k}^{'}+v_{k}^{'}}
dónde:
g = la señal deseada,
g ' = una señal que está correlacionada con la señal deseada g ,
u = una señal no deseada que se agrega a g , pero no está correlacionada con g o g '
u ' = una señal que está correlacionada con la señal no deseada u , pero no correlacionada con g o g ' ,
v = una señal no deseada (normalmente ruido aleatorio) no correlacionada con g , g ' , u , u ' o v ' ,
v ' = una señal no deseada (normalmente ruido aleatorio) no correlacionada con g , g ' , u , u ' o v .

Las señales de salida se definen de la siguiente manera:

y k = g ^ k + u ^ k + v ^ k {\displaystyle y_{k}={\hat {g}}_{k}+{\hat {u}}_{k}+{\hat {v}}_{k}}
ϵ k = d k y k {\displaystyle \epsilon _{k}=d_{k}-y_{k}} .
dónde:
g ^ {\displaystyle {\hat {g}}} = la salida del filtro si la entrada fuera solo g ' ,
u ^ {\displaystyle {\hat {u}}} = la salida del filtro si la entrada fuera solo u ' ,
v ^ {\displaystyle {\hat {v}}} = la salida del filtro si la entrada fuera solo v ' .

Filtro FIR de línea de retardo con tomas

Si el filtro variable tiene una estructura de respuesta de impulso finito (FIR) con línea de retardo con tomas , entonces la respuesta de impulso es igual a los coeficientes del filtro. La salida del filtro está dada por

y k = l = 0 L w l k   x ( k l ) = g ^ k + u ^ k + v ^ k {\displaystyle y_{k}=\sum _{l=0}^{L}w_{lk}\ x_{(k-l)}={\hat {g}}_{k}+{\hat {u}}_{k}+{\hat {v}}_{k}}
donde se refiere al 'ésimo peso en el k'ésimo tiempo. w l k {\displaystyle w_{lk}} l {\displaystyle l}

Caso ideal

En el caso ideal , todas las señales no deseadas en están representadas por . consiste enteramente en una señal correlacionada con la señal no deseada en . v 0 , v 0 , g 0 {\displaystyle v\equiv 0,v'\equiv 0,g'\equiv 0} d k {\displaystyle d_{k}} u k {\displaystyle u_{k}}   x k {\displaystyle \ x_{k}} u k {\displaystyle u_{k}}

La salida del filtro variable en el caso ideal es

y k = u ^ k {\displaystyle y_{k}={\hat {u}}_{k}} .

La señal de error o función de costo es la diferencia entre y d k {\displaystyle d_{k}} y k {\displaystyle y_{k}}

ϵ k = d k y k = g k + u k u ^ k {\displaystyle \epsilon _{k}=d_{k}-y_{k}=g_{k}+u_{k}-{\hat {u}}_{k}} La señal deseada g k pasa sin modificarse.

La señal de error se minimiza en el sentido del cuadrado medio cuando se minimiza. En otras palabras, es la mejor estimación del cuadrado medio de . En el caso ideal, y , y todo lo que queda después de la resta es que es la señal deseada sin cambios con todas las señales no deseadas eliminadas. ϵ k {\displaystyle \epsilon _{k}} [ u k u ^ k ] {\displaystyle [u_{k}-{\hat {u}}_{k}]} u ^ k {\displaystyle {\hat {u}}_{k}} u k {\displaystyle u_{k}} u k = u ^ k {\displaystyle u_{k}={\hat {u}}_{k}} ϵ k = g k {\displaystyle \epsilon _{k}=g_{k}} g {\displaystyle g}

Componentes de señal en la entrada de referencia

En algunas situaciones, la entrada de referencia incluye componentes de la señal deseada. Esto significa que g' ≠ 0. x k {\displaystyle x_{k}}

En este caso no es posible cancelar por completo las interferencias no deseadas, pero sí es posible mejorar la relación señal/interferencia. La salida será

ϵ k = d k y k = g k g ^ k + u k u ^ k {\displaystyle \epsilon _{k}=d_{k}-y_{k}=g_{k}-{\hat {g}}_{k}+u_{k}-{\hat {u}}_{k}} .La señal deseada se modificará (normalmente disminuirá).

La relación entre la señal de salida y la interferencia tiene una fórmula simple denominada inversión de potencia .

ρ o u t ( z ) = 1 ρ r e f ( z ) {\displaystyle \rho _{\mathsf {out}}(z)={\frac {1}{\rho _{\mathsf {ref}}(z)}}} .
dónde
ρ o u t ( z )   {\displaystyle \rho _{\mathsf {out}}(z)\ } = relación entre la señal de salida y la interferencia.
ρ r e f ( z )   {\displaystyle \rho _{\mathsf {ref}}(z)\ } = relación entre la señal de referencia y la interferencia.
z   {\displaystyle z\ } = frecuencia en el dominio z.

Esta fórmula significa que la relación entre la señal de salida y la interferencia a una frecuencia particular es el recíproco de la relación entre la señal de referencia y la interferencia. [5]

Ejemplo: Un restaurante de comida rápida tiene una ventanilla de autoservicio. Antes de llegar a la ventanilla, los clientes hacen su pedido hablando por un micrófono. El micrófono también capta el ruido del motor y del entorno. Este micrófono proporciona la señal primaria. La potencia de la señal de la voz del cliente y la potencia del ruido del motor son iguales. Es difícil para los empleados del restaurante entender al cliente. Para reducir la cantidad de interferencias en el micrófono primario, se ubica un segundo micrófono en el lugar donde se pretende captar los sonidos del motor. También capta la voz del cliente. Este micrófono es la fuente de la señal de referencia. En este caso, el ruido del motor es 50 veces más potente que la voz del cliente. Una vez que el cancelador haya convergido, la relación señal primaria/interferencia mejorará de 1:1 a 50:1.

Combinador lineal adaptativo

Un diagrama de bloques de un combinador lineal adaptativo con un bloque separado para el proceso de adaptación.
Combinador lineal adaptativo que muestra el combinador y el proceso de adaptación. k = número de muestra, n = índice de la variable de entrada, x = entradas de referencia, d = entrada deseada, W = conjunto de coeficientes de filtro, ε = salida de error, Σ = suma, cuadro superior = combinador lineal, cuadro inferior = algoritmo de adaptación.
Un diagrama de bloques compacto de un combinador lineal adaptativo sin un bloque separado para el proceso de adaptación.
Combinador lineal adaptativo, representación compacta. k = número de muestra, n = índice de la variable de entrada, x = entradas de referencia, d = entrada deseada, ε = salida de error, Σ = suma.

El combinador lineal adaptativo (ALC) se parece al filtro FIR de línea de retardo con tomas adaptativas, excepto que no hay una relación asumida entre los valores X. Si los valores X fueran de las salidas de una línea de retardo con tomas, entonces la combinación de la línea de retardo con tomas y el ALC conformaría un filtro adaptativo. Sin embargo, los valores X podrían ser los valores de una matriz de píxeles. O podrían ser las salidas de múltiples líneas de retardo con tomas. El ALC se utiliza como un formador de haz adaptativo para matrices de hidrófonos o antenas.

y k = l = 0 L w l k   x l k = W k T x k {\displaystyle y_{k}=\sum _{l=0}^{L}w_{lk}\ x_{lk}=\mathbf {W} _{k}^{T}\mathbf {x} _{k}}
donde se refiere al 'ésimo peso en el k'ésimo tiempo. w l k {\displaystyle w_{lk}} l {\displaystyle l}

Algoritmo LMS

Si el filtro variable tiene una estructura FIR de línea de retardo con tomas, entonces el algoritmo de actualización LMS es especialmente simple. Normalmente, después de cada muestra, los coeficientes del filtro FIR se ajustan de la siguiente manera: [6]

para l = 0 L {\displaystyle l=0\dots L}
w l , k + 1 = w l k + 2 μ   ϵ k   x k l {\displaystyle w_{l,k+1}=w_{lk}+2\mu \ \epsilon _{k}\ x_{k-l}}
μ se llama factor de convergencia .

El algoritmo LMS no requiere que los valores X tengan ninguna relación particular, por lo que se puede utilizar para adaptar un combinador lineal así como un filtro FIR. En este caso la fórmula de actualización se escribe como:

w l , k + 1 = w l k + 2 μ   ϵ k   x l k {\displaystyle w_{l,k+1}=w_{lk}+2\mu \ \epsilon _{k}\ x_{lk}}

El efecto del algoritmo LMS es que en cada momento, k, se produce un pequeño cambio en cada peso. La dirección del cambio es tal que disminuiría el error si se hubiera aplicado en el momento k. La magnitud del cambio en cada peso depende de μ, el valor X asociado y el error en el momento k. Los pesos que hacen la mayor contribución al resultado, , son los que más cambian. Si el error es cero, entonces no debería haber ningún cambio en los pesos. Si el valor asociado de X es cero, entonces cambiar el peso no hace ninguna diferencia, por lo que no se cambia. y k {\displaystyle y_{k}}

Convergencia

μ controla la rapidez y la eficacia con que el algoritmo converge a los coeficientes de filtro óptimos. Si μ es demasiado grande, el algoritmo no convergerá. Si μ es demasiado pequeño, el algoritmo converge lentamente y es posible que no pueda seguir las condiciones cambiantes. Si μ es grande, pero no demasiado grande como para evitar la convergencia, el algoritmo alcanza el estado estable rápidamente, pero sobrepasa continuamente el vector de peso óptimo. A veces, μ se hace grande al principio para lograr una convergencia rápida y luego se reduce para minimizar el sobrepaso.

Widrow y Stearns afirman en 1985 que no tienen conocimiento de ninguna prueba de que el algoritmo LMS convergerá en todos los casos. [7]

Sin embargo, bajo ciertas suposiciones sobre estacionariedad e independencia, se puede demostrar que el algoritmo convergerá si

0 < μ < 1 σ 2 {\displaystyle 0<\mu <{\frac {1}{\sigma ^{2}}}}
dónde
σ 2 = l = 0 L σ l 2 {\displaystyle \sigma ^{2}=\sum _{l=0}^{L}\sigma _{l}^{2}} = suma de toda la potencia de entrada
σ l {\displaystyle \sigma _{l}} es el valor RMS de la entrada 'ésima l {\displaystyle l}

En el caso del filtro de línea de retardo con tomas, cada entrada tiene el mismo valor RMS porque simplemente son los mismos valores retardados. En este caso, la potencia total es

σ 2 = ( L + 1 ) σ 0 2 {\displaystyle \sigma ^{2}=(L+1)\sigma _{0}^{2}}
dónde
σ 0 {\displaystyle \sigma _{0}} es el valor RMS de , el flujo de entrada. [7] x k {\displaystyle x_{k}}

Esto conduce a un algoritmo LMS normalizado:

w l , k + 1 = w l k + ( 2 μ σ σ 2 ) ϵ k   x k l {\displaystyle w_{l,k+1}=w_{lk}+\left({\frac {2\mu _{\sigma }}{\sigma ^{2}}}\right)\epsilon _{k}\ x_{k-l}} en cuyo caso el criterio de convergencia pasa a ser: . 0 < μ σ < 1 {\displaystyle 0<\mu _{\sigma }<1}

Filtros adaptativos no lineales

El objetivo de los filtros no lineales es superar la limitación de los modelos lineales. Hay algunos enfoques comúnmente utilizados: Volterra LMS, Kernel adaptive filter , Spline Adaptive Filter [8] y Urysohn Adaptive Filter. [9] [10] Muchos autores [11] incluyen también las redes neuronales en esta lista. La idea general detrás de Volterra LMS y Kernel LMS es reemplazar muestras de datos por diferentes expresiones algebraicas no lineales. Para Volterra LMS esta expresión es Volterra series . En Spline Adaptive Filter el modelo es una cascada de bloques dinámicos lineales y no linealidad estática, que se aproxima mediante splines. En Urysohn Adaptive Filter los términos lineales en un modelo

y i = j = 0 m w j   x i j {\displaystyle y_{i}=\sum _{j=0}^{m}w_{j}\ x_{ij}}

se reemplazan por funciones lineales por partes

y i = j = 0 m f j ( x i j ) {\displaystyle y_{i}=\sum _{j=0}^{m}f_{j}(x_{ij})}

que se identifican a partir de muestras de datos.

Aplicaciones de los filtros adaptativos

Implementaciones de filtros

Véase también

Referencias

  1. ^ Thakor, NV; Zhu, Yi-Sheng (1991-08-01). "Aplicaciones del filtrado adaptativo al análisis de ECG: cancelación de ruido y detección de arritmias". IEEE Transactions on Biomedical Engineering . 38 (8): 785–794. doi :10.1109/10.83591. ISSN  0018-9294. PMID  1937512. S2CID  11271450.
  2. ^ Widrow, Bernard; Stearns, Samuel D. (1985). Procesamiento adaptativo de señales (1.ª ed.). Prentice-Hall. pág. 329. ISBN 978-0130040299.
  3. ^ Viuda pág. 304
  4. ^ Viuda pág. 212
  5. ^ Viuda pág. 313
  6. ^ Viuda pág. 100
  7. ^ desde Widrow pág. 103
  8. ^ Danilo Comminiello; José C. Príncipe (2018). Métodos de aprendizaje adaptativo para el modelado de sistemas no lineales . Elsevier Inc. ISBN 978-0-12-812976-0.
  9. ^ M.Poluektov y A.Polar. Filtro adaptativo Urysohn. 2019.
  10. ^ "Filtrado adaptativo no lineal". ezcodesample.com .
  11. ^ Weifeng Liu; José C. Príncipe; Simon Haykin (marzo de 2010). Filtrado adaptativo del kernel: una introducción completa (PDF) . Wiley. págs. 12-20. ISBN 978-0-470-44753-6.

Fuentes

  • Hayes, Monson H. (1996). Procesamiento y modelado estadístico de señales digitales . Wiley. ISBN 978-0-471-59431-4.
  • Haykin, Simon (2002). Teoría del filtro adaptativo . Prentice Hall. ISBN 978-0-13-048434-5.
  • Widrow, Bernard; Stearns, Samuel D. (1985). Procesamiento adaptativo de señales . Englewood Cliffs, NJ: Prentice Hall. ISBN 978-0-13-004029-9.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Adaptive_filter&oldid=1176560024"