Articulo de referencia

filtro de mínimos cuadrados

Los algoritmos de mínimos cuadrados ( LMS ) son una clase de filtros adaptativos que imitan un filtro deseado al encontrar los coeficientes del filtro que producen el mínimo cua...

Los algoritmos de mínimos cuadrados ( LMS ) son una clase de filtros adaptativos que imitan un filtro deseado al encontrar los coeficientes del filtro que producen el mínimo cuadrado medio de la señal de error (diferencia entre la señal deseada y la real). Se trata de un método de descenso de gradiente estocástico, ya que el filtro se adapta únicamente en función del error en el momento actual. Fue inventado en 1960 por el profesor de la Universidad de Stanford, Bernard Widrow, y su primer estudiante de doctorado, Ted Hoff , basándose en su investigación sobre redes neuronales de una sola capa. En concreto, utilizaron el descenso de gradiente para entrenar a ADALINE para el reconocimiento de patrones, y denominaron al algoritmo " regla delta ". Aplicaron esta regla a los filtros, dando como resultado el algoritmo LMS.

Formulación del problema

La imagen muestra las distintas partes del filtro.incógnita{\displaystyle x}es la señal de entrada, que luego es transformada por un filtro desconocidoh{\displaystyle h}que deseamos que coincida usandoh^{\displaystyle {\hat {h}}}. La salida del filtro desconocido esy{\displaystyle y}, que luego se ve interferida por una señal de ruido.ν{\displaystyle \nu }, produciendod=y+ν{\displaystyle d=y+\nu }. Luego la señal de errormi=dy^=y+νy^{\displaystyle e=d-{\hat {y}}=y+\nu -{\hat {y}}}se calcula y se retroalimenta al filtro adaptativo para ajustar sus parámetros con el fin de minimizar el error cuadrático medio .mi2/norte{\displaystyle \sum e^{2}/n}.

Filtro LMS

Relación con el filtro de Wiener

La realización del filtro causal de Wiener se asemeja 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 entradaincógnita{\displaystyle \mathbf {X} }y vector de saliday{\displaystyle {\boldsymbol {y}}} es

β^=(incógnitaTincógnita)1incógnitaTy.{\displaystyle {\boldsymbol {\hat {\beta }}}=(\mathbf {X} ^{\mathbf {T} }\mathbf {X} )^{-1}\mathbf {X} ^{\mathbf {T} }{\boldsymbol {y}}.}

El filtro de mínimos cuadrados de respuesta de impulso finito (FIR) está relacionado con el filtro de Wiener, pero la minimización del criterio de error del primero no depende de correlaciones cruzadas ni autocorrelaciones. Su solución converge a la solución del filtro de Wiener. La mayoría de los problemas de filtrado adaptativo lineal se pueden formular utilizando el diagrama de bloques anterior. Es decir, un sistema desconocidoh(norte){\displaystyle \mathbf {h} (n)}debe identificarse y el filtro adaptativo intenta adaptar el filtro.h^(norte){\displaystyle {\hat {\mathbf {h} }}(n)}para hacerlo lo más cercano posible ah(norte){\displaystyle \mathbf {h} (n)}, utilizando únicamente señales observablesincógnita(norte){\displaystyle x(n)},d(norte){\displaystyle d(n)}ymi(norte){\displaystyle e(n)}; peroy(norte){\displaystyle y(n)},v(norte){\displaystyle v(n)}yh(norte){\displaystyle h(n)}no son directamente observables. Su solución está estrechamente relacionada con el filtro de Wiener.

Definición de símbolos

norte{\displaystyle n}es el número de la muestra de entrada actual
pag{\displaystyle p}es el número de grifos de filtro
{}H{\displaystyle \{\cdot \}^{H}}( Transpuesta hermitiana o transpuesta conjugada )
incógnita(norte)=[incógnita(norte),incógnita(norte1),,incógnita(nortepag+1)]T{\displaystyle \mathbf {x} (n)=\left[x(n),x(n-1),\dots ,x(n-p+1)\right]^{T}}
h(norte)=[h0(norte),h1(norte),,hpag1(norte)]T,h(norte)dopag{\displaystyle \mathbf {h} (n)=\left[h_{0}(n),h_{1}(n),\dots ,h_{p-1}(n)\right]^{T},\quad \mathbf {h} (n)\in \mathbb {C} ^{p}}
y(norte)=hH(norte)incógnita(norte){\displaystyle y(n)=\mathbf {h} ^{H}(n)\cdot \mathbf {x} (n)}
d(norte)=y(norte)+ν(norte){\displaystyle d(n)=y(n)+\nu (n)}
h^(norte){\displaystyle {\hat {\mathbf {h} }}(n)}filtro estimado; interpretar como la estimación de los coeficientes del filtro después de n muestras.
mi(norte)=d(norte)y^(norte)=d(norte)h^H(norte)incógnita(norte){\displaystyle e(n)=d(n)-{\hat {y}}(n)=d(n)-{\hat {\mathbf {h} }}^{H}(n)\cdot \mathbf {x} (n)}

Idea

La idea básica detrás del filtro LMS es aproximarse a los pesos óptimos del filtro.(R1PAG){\displaystyle (R^{-1}P)}, actualizando los pesos del filtro de manera que converjan al peso óptimo del filtro. Esto se basa en el algoritmo de descenso de gradiente. El algoritmo comienza asumiendo pesos pequeños (cero en la mayoría de los casos) y, en cada paso, al encontrar el gradiente del error cuadrático medio, se actualizan los pesos. Es decir, si el gradiente del MSE es positivo, implica que el error seguiría aumentando positivamente si se utiliza el mismo peso en iteraciones posteriores, lo que significa que necesitamos reducir los pesos. De la misma manera, si el gradiente es negativo, necesitamos aumentar los pesos. La ecuación de actualización de pesos es

Wnorte+1=Wnorteμε[norte],{\displaystyle W_{n+1}=W_{n}-\mu \nabla \varepsilon [n],}

dóndeε{\displaystyle \varepsilon }representa el error cuadrático medio yμ{\displaystyle \mu }es el coeficiente de tasa de aprendizaje .

El signo negativo muestra que descendemos por la pendiente del error,ε{\displaystyle \varepsilon }para encontrar los pesos del filtro,Wi{\displaystyle W_{i}}, que minimizan el error.

El error cuadrático medio en función de los pesos del filtro es una función cuadrática , lo que significa que tiene un único extremo: el que minimiza el error cuadrático medio, que corresponde al peso óptimo. Por lo tanto, el método LMS se aproxima a estos pesos óptimos ascendiendo o descendiendo por la curva de error cuadrático medio frente al peso del filtro.

Derivación

La idea detrás de los filtros LMS es utilizar el descenso más pronunciado para encontrar los pesos del filtro.h^(norte){\displaystyle {\hat {\mathbf {h} }}(n)}que minimizan una función de coste . Comenzamos definiendo la función de coste como

do(norte)=mi{|mi(norte)|2}{\displaystyle C(n)=E\left\{|e(n)|^{2}\right\}}

dóndemi(norte){\displaystyle e(n)}es el error en la muestra actual n ymi{}{\displaystyle E\{\cdot \}}denota el valor esperado .

Esta función de coste (do(norte){\displaystyle C(n)}) es el error cuadrático medio, y se minimiza mediante el LMS. De ahí proviene el nombre del LMS. Aplicar el descenso más pronunciado significa tomar las derivadas parciales con respecto a las entradas individuales del vector de coeficientes (pesos) del filtro.

h^Hdo(norte)=h^Hmi{mi(norte)mi(norte)}=2mi{h^H(mi(norte))mi(norte)}{\displaystyle \nabla _{{\hat {\mathbf {h} }}^{H}}C(n)=\nabla _{{\hat {\mathbf {h} }}^{H}}E\left\{e(n)\,e^{*}(n)\right\}=2E\left\{\nabla _{{\hat {\mathbf {h} }}^{H}}(e(n))\,e^{*}(n)\right\}}

dónde{\displaystyle \nabla }es el operador gradiente

h^H(mi(norte))=h^H(d(norte)h^Hincógnita(norte))=incógnita(norte){\displaystyle \nabla _{{\hat {\mathbf {h} }}^{H}}(e(n))=\nabla _{{\hat {\mathbf {h} }}^{H}}\left(d(n)-{\hat {\mathbf {h} }}^{H}\cdot \mathbf {x} (n)\right)=-\mathbf {x} (n)}
do(norte)=2mi{incógnita(norte)mi(norte)}{\displaystyle \nabla C(n)=-2E\left\{\mathbf {x} (n)\,e^{*}(n)\right\}}

Ahora,do(norte){\displaystyle \nabla C(n)}es un vector que apunta hacia el ascenso más pronunciado de la función de costo. Para encontrar el mínimo de la función de costo, necesitamos dar un paso en la dirección opuesta ado(norte){\displaystyle \nabla C(n)}Para expresarlo en términos matemáticos

h^(norte+1)=h^(norte)μ2do(norte)=h^(norte)+μmi{incógnita(norte)mi(norte)}{\displaystyle {\hat {\mathbf {h} }}(n+1)={\hat {\mathbf {h} }}(n)-{\frac {\mu }{2}}\nabla C(n)={\hat {\mathbf {h} }}(n)+\mu \,E\left\{\mathbf {x} (n)\,e^{*}(n)\right\}}

dóndeμ2{\displaystyle {\frac {\mu}{2}}}es el tamaño del paso (constante de adaptación). Eso significa que hemos encontrado un algoritmo de actualización secuencial que minimiza la función de costo. Desafortunadamente, este algoritmo no es realizable hasta que sepamosmi{incógnita(norte)mi(norte)}{\displaystyle E\left\{\mathbf {x} (n)\,e^{*}(n)\right\}}.

Por lo general, no se calcula la expectativa mencionada anteriormente. En cambio, para ejecutar el LMS en un entorno en línea (que se actualiza después de recibir cada nueva muestra), utilizamos una estimación instantánea de dicha expectativa. Véase a continuación.

Simplificaciones

Para la mayoría de los sistemas la función de expectativami{incógnita(norte)mi(norte)}{\displaystyle {E}\left\{\mathbf {x} (n)\,e^{*}(n)\right\}}debe aproximarse. Esto puede hacerse con el siguiente estimador insesgado.

mi^{incógnita(norte)mi(norte)}=1nortei=0norte1incógnita(nortei)mi(nortei){\displaystyle {\hat {E}}\left\{\mathbf {x} (n)\,e^{*}(n)\right\}={\frac {1}{N}}\sum _{i=0}^{N-1}\mathbf {x} (ni)\,e^{*}(ni)}

dóndenorte{\displaystyle N}indica el número de muestras que utilizamos para esa estimación. El caso más simple esnorte=1{\displaystyle N=1}

mi^{incógnita(norte)mi(norte)}=incógnita(norte)mi(norte){\displaystyle {\hat {E}}\left\{\mathbf {x} (n)\,e^{*}(n)\right\}=\mathbf {x} (n)\,e^{*}(n)}

Para ese caso sencillo, el algoritmo de actualización es el siguiente:

h^(norte+1)=h^(norte)+μincógnita(norte)mi(norte){\displaystyle {\hat {\mathbf {h} }}(n+1)={\hat {\mathbf {h} }}(n)+\mu \mathbf {x} (n)\,e^{*}(n)}

De hecho, este es el algoritmo de actualización del filtro LMS.

Resumen del algoritmo LMS

El algoritmo LMS para unpag{\displaystyle p}El filtro de orden n se puede resumir como

Convergencia y estabilidad en la media

Como el algoritmo LMS no utiliza los valores exactos de las expectativas, los pesos nunca alcanzarían los pesos óptimos en sentido absoluto, pero es posible una convergencia en la media. Es decir, aunque los pesos puedan cambiar en pequeñas cantidades, cambian alrededor de los pesos óptimos. Sin embargo, si la varianza con la que cambian los pesos es grande, la convergencia en la media sería engañosa. Este problema puede ocurrir si el valor del tamaño del pasoμ{\displaystyle \mu }no se elige correctamente.

Siμ{\displaystyle \mu }Si se elige que sea grande, la cantidad con la que cambian los pesos depende en gran medida de la estimación del gradiente, por lo que los pesos pueden cambiar en un valor grande, de modo que el gradiente que era negativo en el primer instante ahora puede volverse positivo. Y en el segundo instante, el peso puede cambiar en la dirección opuesta en una gran cantidad debido al gradiente negativo y, por lo tanto, seguiría oscilando con una gran varianza alrededor de los pesos óptimos. Por otro lado, siμ{\displaystyle \mu }Si se elige un valor demasiado pequeño, el tiempo para converger a los pesos óptimos será demasiado grande.

Por lo tanto, un límite superior enμ{\displaystyle \mu }se necesita lo cual se da como 0<μ<2λmetroaincógnita{\displaystyle 0<\mu <{\frac {2}{\lambda _{\mathrm {max} }}}},

dóndeλmáximo{\displaystyle \lambda _{\max }}es el mayor valor propio de la matriz de autocorrelaciónR=mi{incógnita(norte)incógnitaH(norte)}{\displaystyle {\mathbf {R} }=E\{{\mathbf {x} }(n){\mathbf {x} ^{H}}(n)\}}. Si no se cumple esta condición, el algoritmo se vuelve inestable yh^(norte){\displaystyle {\hat {h}}(n)}diverge.

La velocidad máxima de convergencia se alcanza cuando

μ=2λmetroaincógnita+λmetroinorte,{\displaystyle \mu ={\frac {2}{\lambda _{\mathrm {max} }+\lambda _{\mathrm {min} }}},}

dóndeλmin{\displaystyle \lambda _{\min }}es el valor propio más pequeño deR{\displaystyle {\mathbf {R} }}. Dado queμ{\displaystyle \mu }es menor o igual a este óptimo, la velocidad de convergencia está determinada porλmin{\displaystyle \lambda _{\min }}, con un valor mayor que produce una convergencia más rápida. Esto significa que se puede lograr una convergencia más rápida cuandoλmáximo{\displaystyle \lambda _{\max }}está cerca deλmin{\displaystyle \lambda _{\min }}, es decir, la velocidad máxima de convergencia alcanzable depende de la dispersión de los valores propios deR{\displaystyle {\mathbf {R} }}.

Una señal de ruido blanco tiene matriz de autocorrelaciónR=σ2I{\displaystyle {\mathbf {R} }=\sigma ^{2}{\mathbf {I} }}dóndeσ2{\displaystyle \sigma ^{2}}es la varianza de la señal. En este caso, todos los autovalores son iguales y la dispersión de los autovalores es mínima entre todas las matrices posibles. Por lo tanto, la interpretación común de este resultado es que el LMS converge rápidamente para señales de entrada blancas y lentamente para señales de entrada coloreadas, como procesos con características de paso bajo o paso alto.

Es importante tener en cuenta que el límite superior anterior enμ{\displaystyle \mu }solo impone estabilidad en la media, pero los coeficientes deh^(norte){\displaystyle {\hat {h}}(n)}aún puede crecer infinitamente, es decir, la divergencia de los coeficientes aún es posible. Un límite más práctico es

0<μ<2tr[R],{\displaystyle 0<\mu <{\frac {2}{\mathrm {tr} \left[{\mathbf {R} }\right]}},}

dóndetr[R]{\displaystyle \mathrm {tr} [{\mathbf {R} }]}denota el rastro deR{\displaystyle {\mathbf {R} }}. Este límite garantiza que los coeficientes deh^(norte){\displaystyle {\hat {h}}(n)}no divergen (en la práctica, el valor deμ{\displaystyle \mu }No debe elegirse cerca de este límite superior, ya que es algo optimista debido a las aproximaciones y suposiciones realizadas en la derivación del límite.

Filtro de mínimos cuadrados normalizados (NLMS)

El principal inconveniente del algoritmo LMS "puro" es que es sensible a la escala de su entrada.incógnita(norte){\displaystyle x(n)}Esto hace que sea muy difícil (si no imposible) elegir una tasa de aprendizaje .μ{\displaystyle \mu }que garantiza la estabilidad del algoritmo (Haykin 2002). El filtro de mínimos cuadrados normalizados (NLMS) es una variante del algoritmo LMS que resuelve este problema normalizando con la potencia de la entrada. El algoritmo NLMS se puede resumir como:

Tasa de aprendizaje óptima

Se puede demostrar que si no hay interferencia (v(norte)=0{\displaystyle v(n)=0}), entonces la tasa de aprendizaje óptima para el algoritmo NLMS es

μopagt=1{\displaystyle \mu _{opt}=1}

y es independiente de la entradaincógnita(norte){\displaystyle x(n)}y la respuesta impulsional real (desconocida)h(norte){\displaystyle \mathbf {h} (n)}. En el caso general con interferencia (v(norte)0{\displaystyle v(n)\neq 0}), la tasa de aprendizaje óptima es

μopagt=mi[|y(norte)y^(norte)|2]mi[|mi(norte)|2]{\displaystyle \mu _{opt}={\frac {E\left[\left|y(n)-{\hat {y}}(n)\right|^{2}\right]}{E\left[|e(n)|^{2}\right]}}}

Los resultados anteriores suponen que las señalesv(norte){\displaystyle v(n)}yincógnita(norte){\displaystyle x(n)}no están correlacionadas entre sí, lo cual suele ser el caso en la práctica.

Prueba

Sea la desalineación del filtro definida comoΛ(norte)=|h(norte)h^(norte)|2{\displaystyle \Lambda (n)=\left|\mathbf {h} (n)-{\hat {\mathbf {h} }}(n)\right|^{2}}Podemos derivar la desalineación esperada para la siguiente muestra de la siguiente manera:

mi[Λ(norte+1)]=mi[|h^(norte)+μmi(norte)incógnita(norte)incógnitaH(norte)incógnita(norte)h(norte)|2]{\displaystyle E\left[\Lambda (n+1)\right]=E\left[\left|{\hat {\mathbf {h} }}(n)+{\frac {\mu \,e^{*}(n)\mathbf {x} (n)}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}-\mathbf {h} (n)\right|^{2}\right]}
mi[Λ(norte+1)]=mi[|h^(norte)+μ(v(norte)+y(norte)y^(norte))incógnita(norte)incógnitaH(norte)incógnita(norte)h(norte)|2]{\displaystyle E\left[\Lambda (n+1)\right]=E\left[\left|{\hat {\mathbf {h} }}(n)+{\frac {\mu \,\left(v^{*}(n)+y^{*}(n)-{\hat {y}}^{*}(n)\right)\mathbf {x} (n)}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}-\mathbf {h} (n)\right|^{2}\right]}

Dejarδ=h^(norte)h(norte){\displaystyle \mathbf {\delta } ={\hat {\mathbf {h} }}(n)-\mathbf {h} (n)}yr(norte)=y^(norte)y(norte){\displaystyle r(n)={\hat {y}}(n)-y(n)}

mi[Λ(norte+1)]=mi[|δ(norte)μ(v(norte)+r(norte))incógnita(norte)incógnitaH(norte)incógnita(norte)|2]{\displaystyle E\left[\Lambda (n+1)\right]=E\left[\left|\mathbf {\delta } (n)-{\frac {\mu \,\left(v(n)+r(n)\right)\mathbf {x} (n)}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}\right|^{2}\right]}
mi[Λ(norte+1)]=mi[(δ(norte)μ(v(norte)+r(norte))incógnita(norte)incógnitaH(norte)incógnita(norte))H(δ(norte)μ(v(norte)+r(norte))incógnita(norte)incógnitaH(norte)incógnita(norte))]{\displaystyle E\left[\Lambda (n+1)\right]=E\left[\left(\mathbf {\delta } (n)-{\frac {\mu \,\left(v(n)+r(n)\right)\mathbf {x} (n)}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}\right)^{H}\left(\mathbf {\delta } (n)-{\frac {\mu \,\left(v(n)+r(n)\right)\mathbf {x} (n)}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}\right)\right]}

Suponiendo independencia, tenemos:

mi[Λ(norte+1)]=Λ(norte)+mi[(μ(v(norte)+r(norte))incógnita(norte)incógnitaH(norte)incógnita(norte))H(μ(v(norte)+r(norte))incógnita(norte)incógnitaH(norte)incógnita(norte))]2mi[μ|r(norte)|2incógnitaH(norte)incógnita(norte)]{\displaystyle E\left[\Lambda (n+1)\right]=\Lambda (n)+E\left[\left({\frac {\mu \,\left(v(n)+r(n)\right)\mathbf {x} (n)}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}\right)^{H}\left({\frac {\mu \,\left(v(n)+r(n)\right)\mathbf {x} (n)}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}\right)\right]-2E\left[{\frac {\mu |r(n)|^{2}}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}\right]}
mi[Λ(norte+1)]=Λ(norte)+μ2mi[|mi(norte)|2]incógnitaH(norte)incógnita(norte)2μmi[|r(norte)|2]incógnitaH(norte)incógnita(norte){\displaystyle E\left[\Lambda (n+1)\right]=\Lambda (n)+{\frac {\mu ^{2}E\left[|e(n)|^{2}\right]}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}-{\frac {2\mu E\left[|r(n)|^{2}\right]}{\mathbf {x} ^{H}(n)\mathbf {x} (n)}}}

La tasa de aprendizaje óptima se encuentra endmi[Λ(norte+1)]dμ=0{\displaystyle {\frac {dE\left[\Lambda (n+1)\right]}{d\mu }}=0}, lo que lleva a:

2μmi[|mi(norte)|2]2mi[|r(norte)|2]=0{\displaystyle 2\mu E\left[|e(n)|^{2}\right]-2E\left[|r(n)|^{2}\right]=0}
μ=mi[|r(norte)|2]mi[|mi(norte)|2]{\displaystyle \mu ={\frac {E\left[|r(n)|^{2}\right]}{E\left[|e(n)|^{2}\right]}}}

Véase también

Referencias

  • Monson H. Hayes: Procesamiento y modelado estadístico de señales digitales, Wiley, 1996, ISBN 0-471-59431-8
  • Simon Haykin: Teoría de filtros adaptativos, Prentice Hall, 2002, ISBN 0-13-048434-2
  • Simon S. Haykin, Bernard Widrow (Editor): Filtros adaptativos de mínimos cuadrados, Wiley, 2003, ISBN 0-471-21570-8
  • Bernard Widrow, Samuel D. Stearns: Procesamiento adaptativo de señales, Prentice Hall, 1985, ISBN 0-13-004029-0
  • Weifeng Liu, Jose Principe y Simon Haykin: Filtrado adaptativo de kernel: una introducción completa, John Wiley, 2010, ISBN 0-470-44753-2
  • Paulo SR Diniz: Filtrado adaptativo: algoritmos e implementación práctica, Kluwer Academic Publishers, 1997, ISBN 0-7923-9912-9
  • Algoritmo LMS en arreglos de antenas adaptativas www.antenna-theory.com
  • Demostración de cancelación de ruido de LMS www.advsolned.com