Vamos a centrar nuestro estudio en los FILTROS ADAPTATIVOS DIGITALES, que son aquellos en los que la entrada, la salida y los pesos del filtro están cuantificados y codificados en forma binaria. El tener los coeficientes del filtro no fijos sino variables es necesario cuando no se conocen a priori las características estadísticas de la señal a filtrar, o cuando se conocen y se sabe que son cambiantes con el tiempo, y, así, es en esos casos donde se precisa de un FILTRADO ADAPTATIVO.
La ecuación de entrada-salida de un filtro adaptativo digital
es :
y(n) = å i=0N
ai(n)x(n-i)
- å j=1M bj(n)y(n-j)
n³ 0 (señales y filtros causales)
Donde x(n) e y(n) son las muestras de entrada y salida, respectivamente, en el instante n, ai(n) y bj(n) son los pesos del filtro i-ésimo y j-ésimo en el instante n, y N+M+1 es el número total de coeficientes del filtro. Si en lugar de usar ai(n) y bj(n) se utilizan ai y bj, los coeficientes ya no serían variantes con el tiempo, y nos encontraríamos ante un filtro fijo en lugar de ante un filtro adaptativo. Si bj(n) = 0 para 1£ j£ M, resulta un filtro adaptativo FIR, esto es, de respuesta impulsional finita:
Existen muchos criterios que pueden adoptarse para llevar a cabo la adaptación de los pesos del filtro a las variaciones de la señal/señales de entrada. Vamos a centrarnos aquí en el criterio de optimización de los coeficientes M.S.E. (mean-square-error), error cuadrático medio mínimo. Este criterio conduce a una superficie N-dimensional (con N el número de coeficientes del filtro) que posee un único mínimo, que es al que se pretende llegar.
Para implementar el FIR digital adaptativo se utilizan, o bien la
forma directa, o la estructura LATTICE (podrían emplearse otras,
pero éstas son las más habituales). La forma directa es la
más sencilla de implementar, conduciendo a algoritmos igualmente
sencillos. La estructura LATTICE (enrejado, celosía) presenta mejores
propiedades que la forma directa, pues ofrece mayor robustez frente a errores
de redondeo y una mayor eficiencia computacional. Sin embargo, aumenta
la complejidad de los algoritmos. Adoptaremos aquí la primera estructura
debido a su sencillez. La forma del fir adaptativo será entonces:
|
2. APLICACIONES
Las aplicaciones más notables del filtrado adaptativo son:
Es preciso eliminar dicha interferencia que, además de ser
muy cercana en frecuencia a la señal deseada, es de una nivel mayor
que aquella, y, así, muy molesta. Para eliminarla, bastaría
utilizar un filtro NOTCH que se introduciría en el electrocardiógrafo
y eliminase la frecuencia de 50Hz. Sin embargo, dado que la frec de red
está muy próxima a la banda que ocupa la señal proveniente
del pecho del paciente, se necesitaría un filtro muy selectivo para
no eliminar también aquella, con lo que ha de ser de muy alto orden,
y ello conlleva muchos componentes, aumentando su tamaño y su costo.
Una alternativa la ofrece el filtrado adaptativo que con un FIR de tan
sólo dos coeficientes variables en el tiempo, ofrece buenos resultados,
ya que reduce en gran medida dicha interferencia si es que no la reduce
por completo. Para ello, se utiliza como referencia de ruido la propia
señal de la red, y el fir, no produce un cero a 50Hz, como hacía
el notch, sino que lo que hace es adaptar la amplitud y fase de la señal
de red ( de ahí la necesidad de que sea adaptativo) para que coincidan
con las del ruido de red que se ha sumado a la señal del paciente,
de modo que al producir una señal igual pero en contrafase a la
de dicho ruido, lo elimina, o, al menos, lo reduce considerablemente.
Idealmente el sistema elimina el ruido por completo, pero, en la práctica, sólo es reducido considerablemente. Esto es muy utilizado en los aviones militares, para mejorar la inteligibilidad en las comunicaciones por radio, ya que, en estado normal, el micrófono del piloto capta su voz, pero también capta ruido. Para cancelar ese ruido (o, al menos, reducirlo), se usa como referencia de ruido un segundo micrófono colocado en el avión pero lejos de la boca del piloto, para que tan sólo capte el ruido.
Cuando la salida del sistema conjunto, en, es nula, el filtro fir, de coeficientes los resultantes del proceso adaptativo, está dando la misma salida que el sistema desconocido para la misma entrada, con lo que está reproduciendo el comportamiento de éste. Esto funciona perfectamente únicamente en el caso en que el sistema desconocido tenga la respuesta frecuencial de un FIR, pero, si por ejemplo, es un filtro todo-polos o tiene polos y ceros (en lugar de sólo ceros como un FIR), el sistema no será capaz de dar salida cero porque la respuesta frecuencial del FIR no será exactamente igual a la del sistema desconocido, pero se conseguirá la mejor aproximación del sistema a modelar que un filtro fir puede dar. A más coeficientes tenga el filtro, mejor será la aproximación.
El sistema arriba descrito se usa hoy día en muchos equipos HI-FI, donde puedes simular música en distintos entornos (una iglesia, un estadio de fútbol...).La música se pasa por un filtro digital que emula la respuesta frecuecial de ese entorno elegido. Para conseguir el fir que emula dicho entorno, previamente se ha realizado el modelado del mismo tal y como se ha descrito, utilizando como entrada al conjunto un ruido blanco, a fin de cubrir todas las frecuencias (recuérdese que el ruido blanco tiene espectro plano).
A continuación vamos a profundizar en dos de las aplicaciones
vistas:
MODELADO / IDENTIFICACIÓN DE SISTEMAS
Tenemos un sistema desconocido que queremos identificar. El sistema es modelado por un filtro FIR de coeficientes ajustables ( un fir adaptativo). Tanto el sistema como el FIR son excitados con la misma secuencia de entrada, x(n), siendo y(n) la salida del sistema e ye(n) la salida del modelo:
e(n) = y(n)-ye(n)
De este modo los parámetros del filtro han sido obtenidos
directamente de los datos medidos a la entrada y salida del sistema, pero
sin conocer éste a priori, por eso se le llama al FIR de modelo
FIR ADAPTATIVO.
Sin embargo, frecuentemente el sistema a modelar es tiempo-variante,
cambiando lentamente con el tiempo,y, además, suele haber ruido
a la salida del mismo, lo cual introduce incertidumbre en las medidas a
la salida del sistema.
Ahora el filtado adaptativo debe identificar y seguir las características tiempo-variantes del sistema desconocido en presencia de ruido a la salida del mismo.
e(n) = y(n)-ye(n)
minimizar E= å n=0µ[y(n)- åk=0M-1 h(k)x(n-k)]2
Supongamos dos abonados conectados a su central local correspondiente. La conexión telefónica entre abonado y central local se realiza a 2 hilos, realizándose la conversión a 4 hilos en la híbrida de la central. Así, dado que la híbrida no está perfectamente equilibrada, existen varios caminos posibles para la señal que va de A hacia B:
Como por la línea telefónica se puede mandar voz y
datos, existen dos tipos de cancelación de eco en canales telefónicos:
cancelación en transmisión de voz y cancelación en
transmisión de datos. Vamos a analizar aquí únicamente
la primera de ellas:
CANCELACIÓN EN TRANSMISIÓN DE VOZ
El cancelador se coloca en el camino a 4 hilos más próximo al origen del eco, esto es, para cancelar el eco que se da debido al rebote en la híbrida de B, el cancelador se ha de colocar próximo a dicha híbrida, porque es donde más amplitud tiene el eco , ya que es ahí donde se ha generado, y si se colocase el cancelador en cualquier otro punto del camino a 4 hilos, el eco estaría más atenuado (porque el cable atenúa la señal)y más desfasado, lo que exigiría el uso de un filtro de más coeficientes (pues con M coeficientes sólo puedes adaptar un desfase de M*fs muestras, con fs la frecuencia de muestreo de la señal).
Así, si y(n) es la señal que emite A hacia B, al llegar a la híbrida de B no es atenuada suficientemente, y así, además de ir hacia B, parte vuelve hacia A, sólo que lo que regresa hacia A es una versión atenuada y retardada de si mismo, señal que denotaremos r(n), siendo, así, r(n)=a y(n-no), donde a representa un coeficiente que da cuenta de la atenuación que sufre la señal en su "rebote" en la híbrida, y no representa el retardo que experimenta (ese retardo será pequeño en general, pero la atenuación será considerable, ya que, en teoría, debiera ser infinita):
y*(n) es una versión de y(n) (hacia B no pasa y(n) tal cual, aunque sí pasa la mayor parte de y(n)). La señal r(n) ha de ser eliminada, para lo cual usaremos la propia señal y(n) y un algoritmo adaptativo (adaptativo porque no se conoce la señal que atraviesa la híbrida). Así, alimentando a un fir adaptativo con la propia y(n) se obtendrá una estimación de r(n), re(n), que restada a r(n) produciría una señal de eco nula hacia A, o, al menos, muy reducida.
Así, el error es e(n)=r(n)-re(n), y siguiendo el criterio del M.S.E. hay que minimizar:
Se trata del mismo juego de ecuaciones a que nos conducía el caso del modelador de un sistema desconocido. De hecho, en el fondo, aquí el fir adaptativo está modelando la híbrida, luego se trata del mismo esquema que entonces.
El problema que aquí se plantea es que , además de
la señal y(n) que va de A hacia B, también puede existir
señal de B hacia A, x(n), de modo que la híbrida cercana
a B dejaría pasar hacia A r(n)+x(n) .
Las ecuaciones que nos conducen a los M coeficientes del filtro en este caso son:
å k=0M-1 h(k)rYY(l-k) = rRY(l) con l=0,1...M-1
sólo que en la realidad lo que se tiene en (1) no es sólo r(n) sino también x(n), esto es , que se dispone de r(R+X)Y(l) y no de rRY(l). Si x(n) e y(n ) están incorreladas, entonces r(R+X)Y(l) » rRY(l), y no hay ningún problema en la adaptación del fir hacia r(n), pero si son correlada, esto es, si tienen componentes espectrales comunes, no se cumple la aproximación anterior y eso hace que la adaptación de los coeficientes no sea la adecuada, por lo que , para mejorar el funcionamiento, en presencia de x(n), se detiene la adaptación (no se actualiza más, y el filtro permanece en el estado de adaptación que hubiese alcanzado antes de aparecer x(n) hasta que ésta señal desaparezca).
Para cancelar el eco en el otro sentido, esto es, el que se da en la híbrida cercana a A y vuelve hacia B, se coloca el cancelador en el extremo de A.
Otra aplicación en la que se usa el filtrado adaptativo para la cancelación de ecos en transmisión telefonica es en los TERMINALES MANOS LIBRES. En este caso, existen dos tipos de ecos, el eco acústico y el eco eléctrico.
Cuando Frank habla , la señal de voz entra por el micrófono, se ve amplificada, y al llegar a la híbrida de su teléfono (la de la figura es la híbrida de su teléfono, y no la de la central, a diferencia de lo visto anteriormente)para hacer el paso a 2 hilos que son los que van a la central, parte de esa señal rebota en ella y vuelve hacia él, pero atenuada y desfasada. A pesar de haberse atenuado en la híbrida, esa señal que la atraviesa pasa por el amplificador previo al auricular, con lo que sale por el auricular amplificada, resultando, así, muy molesta para Frank. Se trata de un eco eléctrico. Pero además, dado que el auricular y el micrófono están muy próximos, parte de la señal que salga por el auricular vuelve a meterse por el micrófono ( eco acústico), de modo que parte de ese eco eléctrico viaja por el aire del auricular, atenuándose y desfasándose, hasta el micrófono, y, después del micrófono es amplificado de nuevo, y así vuelve a adquirir nivel importante, y vuelve a llegar de nuevo hasta Mary que, así, oye dos veces lo mismo. También ocurriría esto último cuando sea Mary la que está emitiendo, ya que parte de lo que salga por el auricular de Frank volverá a introducirse por el micrófono, volviendo hasta Mary de nuevo, que se oiría a si misma, y además, rebotando en la híbrida de Frank y así llegando a Frank dos veces también.
Para solucionar esto, se añade un cancelador al manos libres, que se divide en dos partes: un interfaz con el bucle de abonado, con un cancelador de eco eléctrico, y un interfaz acústico, con un cancelador de eco acústico. El cancelador de eco eléctrico es como el descrito anteriormente. Lo que hace es conseguir que al auricular sólo llegue lo que Mary dice, y nunca un eco de lo que dice Frank(ni un eco del eco eléctrico de lo que Mary dice que ha vuelto a entrar del auricular al micrófono). Si sólo se pusiera ese cancelador, lo que dice Mary podría salir por el auricular y colarse de nuevo en el micrófono, volviendo de nuevo a Mary, que se oiría a sí misma (aunque ya no podría volver de nuevo a Frank para ser escuchado dos veces, porque el cancelador de eco eléctrico lo impediría), lo cual es indeseable, de ahí que se coloca también el cancelador de eco acústico, que impide que lo que llegue al auricular vuelva a entrar en el sistema. El cancelador de eco eléctrico está modelando la híbrida, y el cancelador de eco acústico está modelando el aire que hay entre el auricular y el micrófono.
El eco acústico presenta particularidades respecto al eco eléctrico, ya que:
3.CRITERIO DEL ERROR CUADRATICO MEDIO MINIMO
En todas las aplicaciones en las que se usa filtrado adaptativo se llega a un sistema de M ecuaciones lineales de M incógnitas, que son los M coeficientes del filtro:
å k=0M-1 h(k)rXX(l-k) = rDX(l+D) con l=0,1...M-1
donde rXX(l) es la autocorrelación de la secuencia {x(n)}y, rDX(l) es la correlación cruzada de las secuencias {d(n)} y {x(n)}, y el parámetro D es un parámetro de retraso , cero en algunos casos y no cero en otros (en las aplicaciones aquí mencionadas es siempre cero.
La autocorrelación rXX(l) y la correlación cruzada rDX(l) se obtienen de los datos de que se dispone, que nunca son infinitos, por lo que tan sólo son estimaciones de la autocorrelación real y de la correlación cruzada real. Así, los coeficientes h(k) que se obtienen de dichas ecuaciones son sólo estimaciones de los coeficientes reales. Lo buena o mala que sea esta estimación depende de la longitud de la secuencia de datos de que se dispone..
Otro problema que ha de ser considerado es que el proceso aleatorio
x(n) de entrada normalmente es NO ESTACIONARIO, lo que hace que la autocorrelación
y la correlación cruzada, y sus estimaciones sean secuencias variantes
con el tiempo, lo que implica que los coeficientes del filtro tienen que
cambiar con el tiempo para reflejar dichas variaciones con el tiempo de
la señal de entrada (eso también implica que la calidad de
las estimaciones de la autocorrelación y la correlación cruzada
no aumenta simplemente aumentando el número de muestras que se tienen
de la entrada). Así, los coeficientes calculados en la iteración
n no satisfacen la ecuación en la iteración n+1, porque la
autocorrelación y la correlación cruzada han cambiado respecto
a lo que valían en la iteración n, y por ello es preciso
que los coeficientes del filtro sean tiempo-variantes.
Para modificar los coeficientes del filtro existen dos métodos:
Asumamos que tenemos la secuencia de datos {x(n)} , que son muestras
de un proceso aleatorio estacionario con secuencia de autocorrelación
rXX(l)=E[x(n)x*(n-l)]. Suponiendo que dichas muestras son reales
(no complejas) rXX(l)=E[x(n)x(n-l)]. De estas muestras formamos
una estimación de la secuencia deseada {d(n)} pasándolas
por un filtro fir de coeficientes h(n) 0£
n£ M-1.
La salida del filtro será: de(n)= åk=0M-1 h(k)x(n-k) donde de(n) es una estimación de d(n).
El error en la estimación es e(n)=d(n)-de(n)
El error cuadrático medio es: E{|e(n)|2} = E{|d(n)- åk=0M-1 h(k)x(n-k)|2}=
E{|d(n)|2}-2å k=0M-1 h(k)rDX(k) +å L=0M-1åk=0M-1 h(k)h(l)rXX(l-k)
Así, la minimización del M.S.E. con respecto a los coeficientes del filtro conduce a un conjunto de M ecuaciones lineales con M incógnitas que son los pesos del filtro:
Para resolver el sistema de ecuaciones lineales expuesto, existen diversos métodos matemáticos. Vamos aquí a considerar métodos iterativos , que en cada paso se aproximan más a la solución deseada.
Si asumimos que conocemos las matrices RX y RD, el MSE es una función conocida de los coeficientes del filtro h(k) 0£ K£ M-1. Los algoritmos para calcular iterativamente los pesos del filtro y así buscar el mínimo del MSE tienen la forma:
Para encontrar el mínimos del MSE recursivamente, usamos aquí el método del DESCENSO POR GRADIENTE (stepest descent), que implica descender hacia el MSE mínimo siguiendo siempre la dirección de la tangente a la superficie MSE, esto es, la dirección del gradiente, puesto que de esta manera es como se desciendo más rápidamente.
Según éste método, el vector de dirección S(n) es el opuesto del vector gradiente en la iteración n-ésima:
S(n) = -Ñ C MSE(n) = - = -2[RX*H(n) – RD] n=0,1.......
El signo menos se debe a que el gradiente se dirige hacia el máximo, y aquí pretendemos avanzar hacia el mínimo.
Así, el proceso recursivo basado en este método es :
Podemos afirmar que dicho algoritmo conduce a la convergencia de H(n) hacia Hopt en el límite cuando n->µ , supuesto que la secuencia de tamaños de paso m (n) es absolutamente sumable y tal que m (n)->0 si n->µ .
Pero se ha empezado suponiendo que RX y RD eran matrices conocidas, y, sin embargo, tal como se ha expuesto anteriormente, ese no es el caso de las aplicaciones que requieren de un filtrado adaptativo (en general), lo que hace que sea preciso utilizar estimaciones del vector de direccion en lugar del vector real. Recordando el principio de ortogonalidad:
Widrow hace una estimación del gradiente, con vistas a no tener que calcular valores medios, que consiste en considerar que el valor del gradiente en la iteración n-ésima es:
Como se ve en la expresión del algoritmo, el valor del paso es variable. Es una práctica común en filtrado adaptativo el usar un tamaño de paso fijo, porque simplifica la implementación del algoritmo, y permite la adaptación a señales de características estadísticas variables con el tiempo, cosa que con un paso variable que tendiera a cero a medida que n->µ no era posible. Así el algoritmo resultante es:
PROPIEDADES DEL ALGORITMO LMS
Vamos a citar algunas propiedades importantes del algoritmo LMS. Nos vamos a centrar en la convergencia, estabilidad y el exceso de ruido o de error generado como resultado de usar estimaciones para el gradiente.
- CONVERGENCIA
El algoritmo converge siempre que 0<2m < 2/l K k=0,1...M-1 siendo lK los autovalores de la matriz de autocorrelación de la señal de entrada, RX, de elementos rLK = rXX(l-k) con l=0,1..M-1 y k=0,1...M-1, y siendo rXX(l-k)=E[x(n)x(n-l+k)] = E[x(n-k)x(n-l)]. Por tanto, el rango de valores que asegura la convergencia del algoritmo es 0<2m < 2/lMAX con lMAX el mayor de los autovalores de la matriz de autocorrelación.
Como RX es una matriz de autocorrelaciones, los autovalores son siempre positivos, luego una cota superior de lMAX será:
Así, ha de ser: 0<2m < 2/ M*rXX(0) A más grande sea 2m dentro del rango , más rápida será la convergencia, pero menor será la estabilidad alrededor del valor mínimo (te pasas de largo el mínimo), y a menor 2m dentro del rango, más lenta es la convergencia, pero más estable será alrededor del valor óptimo (puede que si 2m es grande lo suficiente, el algoritmo permanezca indefinidamente sin llegar al MSE mínimo, sino oscilando en torno a él , con lo que no se llega nunca a alcanzarlo).
Si los estadísticos de la señal son tiempo-variantes, la superficie que representa el MSE cambiará con el tiempo, y así lo hará también el MSE mínimo. En otras palabras, el MSEmin es una función del tiempo, MSEmin(n), y la superficie M-dimensional de error MSE se mueve con el índice n. Los coeficientes del filtro, fijados en Hopt= RX-1 * RD ya no serán los óptimos, y tienen que ser reajustados (NOTA: precisamente el algoritmo LMS al no utilizar las matrices RX y RD para actualizar los coeficientes, debido a que no se utiliza el gradiente verdadero sino una estimación del mismo, reduce el peso computacional del proceso y permite el uso del filtrado adaptativo en aplicaciones en TIEMPO REAL, cosa que un algoritmo que calculase ambas matrices para cada actualización de los coeficientes no permitiría). El algoritmo LMS trata de seguir al MSEmin(n) de la superficie M-dimensional, pero siempre va por detrás, debido al uso de gradientes estimados. Así, el algoritmo LMS incurre en otro tipo de error llamado ERROR DE RETRASO, EL , cuyo valor cuadrático medio decrece con incrementos del paso m ( EL»1/2m ). Así, el MSE total se puede expresar como:
Cuando las variaciones estadísticas de la señal son
muy rápidas, el algoritmo no puede seguir estas variaciones, y será
EL el que domine la actualización del filtro, por muy
grande que se eliga el paso. Por ello, el algoritmo resulta inapropiado
en estos casos.