Sistemas Adaptativos

Anuncio
Página 1 de 1
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Introducción:
Los sistemas adaptativos tienen particularidades respecto a su comportamiento, principalmente
-
Varían sus características en el tiempo, ya sea por variaciones en la entrada u otra perturbación
externa.
Se auto-ajustan
ajustan para lograr una performance
performa
específica
Esto implica que los sistemas adaptativos son no lineales.. La figura 1 muestra el concepto de un sistema
no lineal. En un sistema no lineal, al combinarse las entradas la salida no es necesariamente una
combinación de las salidas que se producirían
prod
las entradas individuales.
Figura 1 – Sistema no lineal
Los sistemas adaptativos presentan las siguientes características
-
Se adaptan automáticamente a condiciones y/o requerimientos cambiantes (no-estacionarias)
(no
Requieren un proceso de “entrenamiento”
“entren
No necesitan un proceso de síntesis riguroso. Se “auto-diseñan”
“auto
Después de entrenarse para un número de señales o patrones acotado, pueden comportarse
relativamente bien ante nuevos patrones.
Pueden repararse a si mismo, adaptándose por ejemplo a la falla de una de sus partes
Son más complejos de analizar que los sistemas no-adaptativos.
no
Luego de un período de adaptación, y si las señales / patrones de entrada no cambian, se los
puede considerar “sistemas adaptativos lineales”.
Clasificación:
Según la forma en que se realiza la adaptación los sistemas adaptativos se clasifican en sistemas a lazo
abierto y sistemas a lazo cerrado.
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 2 de 2
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
La figura 2 muestra un sistema adaptativo a lazo abierto. En este caso, La adaptación se hace basada en
las características de la señal de entrada y “otras” señales como por ejemplo características del medio
ambiente.
Figura 2 – Sistema adaptativo a lazo abierto a) Concepto b) Esquema
La figura 3 muestra un sistema adaptativo a lazo cerrado. La adaptación se realiza basada en un criterio
de performance esperado para la salida (“Performance feedback”). El operador puede no conocer el
sistema. Este esquema es el máss usado
usado.
Las principales ventajas del sistema a lazo cerrado son
-
No se requiere conocer el sistema.
Los componentes del sistema pueden variar físicamente.
Se adaptan a fallas de componentes del sistema, adaptando las componentes que funcionan
para lograr optima performance.
Mayor confiabilidad del sistema
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 3 de 3
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Figura 3 – Sistema adaptativo a lazo cerrado. a) Concepto
Concepto b) Esquema
Por otro lado las desventajas son:
-
Pueden tener varias soluciones “optimas”
Pueden ser inestables (como los sistemas de control a lazo cerrado)
Pueden divergerr en lugar de converger luego del proceso de aprendizaje.
Sistemas adaptativos a lazo cerrado:
La mayor utilidad de los sistemas adaptativos se da cuando funcionan a lazo cerrado. La figura 4 muestra
el esquema general de un sistema adaptativo a lazo cerrado
En la figura se ven las principales señales del sistema
x: entrada
y: salida
d: salida deseada (other data)
e: error
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 4 de 4
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Figura 4 – Sistema adaptativo a lazo cerrado con todas sus señales.
Dependiendo como se toman las entradas al sistema adaptativo se logran diferentes efectos, como se
muestra en la figura 5, a saber:
a) Predicción: El sistema debe “predecir” el comportamiento de una señal,, produciendo una salida
y lo más parecida posible a la entrada
entrada.
Usos: Codificación. Reducción de ruido
b) Identificación: El sistema debe “identificar” la planta y copiar su respuesta a la señal de entrada.
Se debe disponer de la entrada y la salida. El sistema copia la planta y sus variaciones en el
tiempo.
Usos: Estudio de suelos,, supresión de eco en comunicaciones, etc
c) Modelado Inverso: Se retrasa la señal deseada para dar tiempo a que pase por la planta y el
sistema adaptativo. Puede agregarse ruido a la salida de la planta. El sistema adaptativo ecualiza
o “deconvoluciona” la entrada para anular los efectos de la planta.
Usos: Ecualización de ISI de un canal.
d) Cancelador de interferencia: La señal de entrada esta corrupta por interferencia o ruido, y el
sistema adaptativo dispone de una señal distinta pero correlacionada de la interferencia. Actúa
logrando que el error se parezca a la señal limpia (deseada).
Usos: Cancelador adaptativo de ruido
ruid o interferencia.
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 5 de 5
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Figura 5 – Diferentes esquemas adaptativos
La figura 6 muestra la evolución típica de las diferentes señales de un sistema adaptativo.
En la medida que avanzan las iteraciones (k) se produce el proceso de aprendizaje y el sistema
se adapta
dapta de tal modo que la salida se parezca lo más posible a la entrada. Mientras exista una
señal de error de determinada magnitud el sistema se auto
auto-corregirá.
corregirá. Este proceso se detiene
cuando la señal de error disminuye a un valor residual.
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 6 de 6
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Figura 6 – El proceso de adaptación
Funcionamiento de un sistema adaptativo:
adaptativo
Para la parte siguiente adoptaremos las siguientes notaciones:
-
Una letra mayúscula negrita A para una matriz
Una letra mayúscula A para un vector fila
Una letra minúscula a para una variable,
variable, un escalar, o un elemento de una matriz o vector.
El subíndice k para indicar evolución temporal de cualquiera de las anteriores.
El subíndice i para indicar la posición dentro de una matriz o vector.
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 7 de 7
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
-
Un círculo con un valor simboliza a un multiplicador
multiplicador.. Si el valor es variable, el círculo presenta
una flecha.
Un círculo con el signo + o ∑ indica un sumador.
Un cuadrado con una T o indica una demora temporal de un período de muestreo.
La configuración básica de un sistema adaptativo
ad
se llama “combinador
binador adaptativo lineal”,
lineal” y se
muestra en la figura 7. Está claro que la palabra “lineal” se refiere a que su salida es el resultado
de una suma de productos, más que significar que el sistema es lineal en sí, como vimos en la
introducción.
Figura 7 – El combinador adaptativo lineal
En el esquema de la figura podemos reconocer los siguientes vectores
Vector de Pesos (taps):
Entradas múltiples:
Vector de entrada
Salida
Entradas única:
Vector de entrada
Salida
… … … … ∑ … … ∑ La figura 7 muestra un combinador adaptativo lineal de L + 1 pesos o coeficientes adaptativos. Este
esquema se aplica tanto para el caso de L+1 señales de entrada diferentes (entradas múltiples) cuanto
para el caso en que hay una única entrada cuyas L+1 muestras temporales más recientes son recordadas
por el combinador adaptativo lineal (entrada única).. El análisis que sigue y sus conclusiones son
idénticos para cualquiera de los dos casos.
Una neurona es un ejemplo de un combinador adaptativo lineal de entradas múltiples en el campo de la
biología. En la figura 8 se muestran las dendritas, que son las entradas al sistema. Cada dendrita
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 8 de 8
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
presenta una señal al núcleo, con una intensidad
in
(peso) que depende de un proceso de aprendizaje, en
base a prueba y error (por
por ejemplo para hablar, caminar, etc). El núcleo suma los estímulos “pesados”
que le transfieren las dendritas, y el resultado es pasado al Axon, que en su otro extremo puede
pu
actuar
como estímulo para las dendritas de otra neurona. Es común llamar a los sistemas adaptativos “redes
neuronales”.
”. De hecho se ha encontrado un gran grado de similitud con muchos sistemas biológicos o
de otros campos con los circuitos digitales adaptativos
adaptativos que combinan elementos suma-producto.
suma
Figura 8 – La neurona como combinador adaptativo lineal de multiples entradas.
Otro ejemplo práctico de un sistema adaptativo de entradas múltiples
múltiples puede ser las reflexiones que se
producen en las capas geológicas
ológicas de en un terreno a estudiar, o las múltiples trayectorias que puede
tomar una onda al reflejar en el suelo entre el transmisor y el receptor.
Por otro lado un buen ejemplo de un combinador lineal adaptativo con entrada única puede ser un filtro
transversal
ransversal cuyos coeficientes se adaptan para “aprender” o seguir la evolución de una entrada o
referencia. La figura 9 muestra ese circuito.
Figura 9 – El filtro transversal adaptativo
En este caso las entradas al combinador lineal son muestras temporales de una única señal de entrada.
entrada
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 9 de 9
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Análisis matemático:
Haciendo explícita la respuesta deseada del combinador lineal con entrada única (Filtro Transversal)
de la figura 9 podremos comenzar el análisis del comportamiento del combinador adaptativo lineal.
La figura 10 muestra el circuito en cuestión
Figura 10 – El filtro transversal y la señal de referencia
Escribiendo la salida del circuito de la figura 10, que es un escalar, en forma vectorial tenemos
[1]
[2]
y escribiendo el error, que es también un escalar como
Para independizarnos del signo del error obtenemos
obtenemos el error cuadrado en el instante k como
2 & [3]
E!
! 2E ' & E [4]
% $ " E $
$
$
# [5]
Si , y son estadísticamente estaciona
estacionarias, y suponiendo que ,, es decir, ya no varía en el
tiempo, podemos escribir el valor esperado del error cuadrático medio (Mean Square Error) como
Si definimos la matriz R como la autocorrelación de la señal de entrada, es decir
……
……
……
*
)
)
…
…
…)
)
(
y definimos
mos también a la correlación cruzada entre la respuesta deseada y el vector de entrada como el vector columna P siendo
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 10 de 10
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
entonces
+ E E … … … … ,
[6]
E
2+ & " [7]
La ecuación [7] tiene la forma de un hyperparaboloide de L+1 dimensiones. Para poder imaginar la
forma de la ecuación [7], podemos reducirla a só
sólo
lo 2 dimensiones (pesos o coeficientes) en cuyo caso
obtenemos un paraboloide. La figura 11 muestra la forma del MSE con solo dos coeficientes.
coefic
Figura 11 – La superficie del MSE para el caso de dos coeficientes
En la figura 11 se ve que existe un punto específico del valor de los coeficientes donde el MSE es el
mínimo teórico posible. Ese será el objetivo de nuestro sistema adaptativo.
Minimizando el MSE:
Si cortamos el paraboloide de la figura 11 con planos verticales para graficar el MSE en función de uno
de los pesos o coeficientes del filtro (w
( k) obtenemos una parábola como se muestra en la figura 12.
Aunque la figura muestra el caso
o de un solo coeficiente, está claro que es similar en el caso general con
L+1 dimensiones.
Una forma efectiva de llegar al valor mínimo del MSE para ese peso o coeficiente, es partiendo desde
una situación inicial w0 y “viajando
viajando” (k, k+1, k+2, etc) en dirección
ección opuesta al gradiente de la superficie
del MSE hasta llegar al valor óptimo para ese coeficiente -, como se muestra en la figura 12.
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 11 de 11
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Figura 12 – La superficie del MSE para el caso de un coeficiente
Es por eso que muchos algoritmos de adaptaci
adaptación se basan en el gradiente del MSE,
MSE que es un vector que
se obtiene de expandir las componentes de W en la ecuación [7] y luego diferenciar.
.
/012
/3
/012
/48
/012
/49
……
/012 /4:
2" – 2+
Para encontrar el punto de mínimo MSE, llamado - en la figura 11, hacemos
[8]
. 0 2" - – 2+
[9]
- " +
[10]
y asumiendo que R es no-singular
singular (se puede invertir)
que se llama vector de pesos óptimo o de vector de pesos Wiener.. Un filtro transversal con ese vector de
coeficientes se llama Filtro de Wiener
Wiener.
Método de Newton:
gradiente . de la ecuación [8] por " tenemos
El algoritmo de Newton deriva directamente de la solución de Wiener, ya que si multiplicamos al
entonces
" . . " . 2"
2
- " . 2+ " . + " .
Procesamiento Digital de Señales – FCEFyN – UNC
[11]
[12]
SISTEMAS ADAPTATIVOS
Página 12 de 12
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Que da la forma en que se pasa de un valor inicial del vector coeficientes al vector óptimo de
coeficientes - en un solo paso, como se muestra en la figura 13 para el caso de solo dos coeficientes.
Nótese que en este caso se parte del paraboloide de la figura 11 pero se lo corta en planos horizontales
de MSE constante, resultando en elipses concéntricas.
Figura 13 – Obtención
Obtención del valor óptimo por el método de Newton
En la figura 13 está claro que el gradiente . en un punto determinado no necesariamente apunta al
valor óptimo - directamente, ya que los cortes son elipses y no círculos. Ell gradiente se presenta
perpendicular a esas elipses y no apunta al valor óptimo.
óptimo. Este efecto se “corrige” en el método
mé
de
Newton justamente al multiplicarse el gradiente por " , permitiendo la corrección en un solo paso.
Método de Máxima Pendiente:
Pendiente
Tanto la solución de Wiener, cuanto el algoritmo de Newton pueden calcular directamente (en un solo
paso) el valor de todos los coeficientes (pesos) óptimos,, pero tienen las siguientes limitaciones:
a) Requiere que las señales sean estacionarias, lo que generalmente es un problema ya que las
condiciones de generación de la señal o las características del canal de transmisión
transmi
pueden
variar con muchos factores (carga, temperatura, alinealidades, etc). Además, sería muy útil
disponer de un filtro que se adapte justamente a cambios de las condiciones de la señal de
entrada dentro de ciertos límites.
b) Puede resultar complicado computacionalmente realizar la inversa de la matriz R.
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 13 de 13
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Por esto se suele preferir algún método de cálculo recursivo, que si bien demora más en llegar al valor
óptimo, podrá continuar adaptándose permanentemente, produciendo los seguimientos deseados,
además
más de ser más fácil de calcular.
Expresando en general esa adaptación progresiva desde W a - siguiendo como dijimos la dirección
opuesta al gradiente, podemos escribir la forma recursiva
; & <==. ?
[13]
Donde < regula el paso o velocidad de cada adaptación recursiva, y . expresa que en cada
actualización se calcula nuevamente el gradiente.
La figura 14 muestra las elipses resultantes
resultantes de los cortes a MSE=cte de la figura 13, pero introduce
nuevos ejes de coordenadas > , > que son los originales , trasladados de modo que el centro de
coordenadas
oordenadas coincida con la solución de Wiener. La figura muestra además los ejes >@ , >@ que incluyen
una rotación adicional de modo que las elipses queden perpendiculares a los ejes
ejes. Estos últimos se
llaman “ejes principales”.
Figura 14 – Cortes con MSE=cte
=cte muestran los ejes trasladados y rotados
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 14 de 14
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Trasladando entonces el centro de coordenadas a > , > y volviendo al espacio multidimensional de L+1
coeficientes o pesos, la traslación a los nuevos ejes V se escribe como
A -
[14]
. 2A"
[15]
Utilizando [12] obtenemos el gradiente en función de las nuevas coordenadas como
y entonces podemos escribir la ecuación recursiva en los ejes trasladados partiendo de la ecuación [13]
y restando - a ambos miembros como
; 2<"A
; - - 2<"A
A; A 2<"A
A; =B 2<"?A
[16]
donde I es el vector unidad. La expresión [16] aún es de difícil solución computacional ya que A está
relacionada con R que no es una matriz diagonal (tiene componentes “cros-relacionados”). Para evitar
esto debemos hacer una rotación de A para expresarla en función de los ejes principales. Para lograr esa
rotación debemos operar sobre R expresándola en función de cada uno de sus L vectores propios (o
eigenvectors) CD y de sus n valores propios (o eigenvalues) ED , con n=0,1,2…
Los valores propios y los vectores propios de una matriz (en este caso R) se determinan mediante su
“ecuación homogénea” " EFCD 0 que tiene solución no trivial si det" EF 0 (esta última
llamada “ecuación característica” de R) cuyas soluciones son los valores propios ED que reemplazados
en la ecuación homogénea definen los vectores propios CD de R. Entonces, de la ecuación homogénea
evaluada en los valores propios y vectores propios despejamos
"CD ED FCD
E 0 … 0
0E …0
" C C … … C C C … … C J … K "L LM
…… …
0 0 …E
[17]
" LML
[18]
donde los vectores propios se han agrupado en la matriz Q y los valores propios en la matriz M.
Despejando R de la ecuación [17] se obtiene la forma normal de R como
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 15 de 15
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Geométricamente los vectores propios de la matriz de correlación de la entrada R definen los ejes
principales de la hyperelipse que representa al MSE. Para el caso de dos coeficientes representan los
ejes >@ , >@
Es decir que hemos aplicado al espacio de los coeficientes (pesos) del combinador lineal (filtro
transversal) las siguientes transformaciones
-
Traslación: A Rotación: A @ LN A LO A ya que se puede demostrar que LN LO
[19]
Podemos ahora expresar la ecuación iterativa [16] rotada a los ejes principales de R despejando V de la
[19], es decir
@
A; LA;
=B 2<"?LA@
Multiplicando por LO los dos últimos términos de la igualdad tenemos
@
A;
LO =B 2<"?LA@ PLO BL 2<LO "LQA@
y utilizando [18] obtenemos
@
A;
=B 2<M?A@
[20]
Nótese que ya no necesitamos computar R sino solamente conocer sus valores propios. Obteniendo
finalmente el algoritmo de máxima pendiente. Expresado el mismo como L ecuaciones
@
A;
=1 2<E ?
0
J
…
0
0
=1 2<E?
…
0
…
…
…
…
0
0
K A@
…
=1 2<E ?
[21]
El algoritmo de máxima pendiente también puede escribirse en función del valor inicial A@ , y de aplicar k
veces la fórmula [20] de la siguiente manera
A@ =B 2<M? A@
[22]
lo que se grafica en la figura 15.
De la ecuación [21] queda claro que para que el algoritmo converja debemos tener
|B 2<M| T B
Entonces cada uno de los componentes de la matriz de la ecuación [21] y por lo tanto los valores propios
deben cumplir
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 16 de 16
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
|1 2<λV | T 1
0T<T
WX
y en particular, tomamos el peor caso como condición para < que se dará con el valor propio más
grande
0T<T
WYZ[
[23]
Figura 15 – Convergencia del método de máxima pendiente.
Tomando entonces un número suficiente de iteraciones
iteraciones que cumplan [23] y usando [22], [19], y [14]
tendremos
Por lo que
0 lim_` =B 2<
<M? lim_` A@ lim_` LO A lim_` LO = - ?
lim_` -
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 17 de 17
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Es decir que sin la complicación de tener que multiplicar por R en las coordenadas principales, aplicando
la ecuación [22] un número suficiente de veces, hemos logrado que en las coordenadas naturales (sin
trasladar ni rotar), se converge al valor óptimo de Wiener.
El algoritmo LMS:
@
Si bien el algoritmo de máxima pendiente de la ecuación [20] permite obtener los valores de A;
partiendo de A@ utilizando solamente los valores propios λV de la matriz R, y a partir de ellos volver a las
coordenadas naturales W, el cálculo puede ser complejo en ciertas ocasiones.
El algoritmo LMS (Least Mean Square) se basa en el algoritmo de máxima pendiente, pero introduce una
simplificación radical: utiliza directamente el valor de en lugar del para calcular el
a), cuyas consecuencias analizaremos
gradiente. De esa forma sólo logra una estimación del gradiente (.
a continuación.
Recordando la ecuación [2]
[24]
Calculando el cuadrado y utilizándolo directamente (sin calcular el valor más esperado) para estimar el
a tenemos
gradiente .
/def
/de
%/48 *
%/48 *
$ /d f )
$ /de )
$/4e )
$/49 )
cb 9
.
$ … ) 2 $ … ) 2 $…)
$…)
$ /de )
$ /def )
#/4: (
#/4: (
[25]
a?
; & <=.
[26]
Reemplazando la [25] en la ecuación recursiva [13]
; & 2< [27]
La ecuación [27] describe el algoritmo LMS. Está claro que se trata solamente de una estimación del
gradiente, por lo cual será útil calcular valor esperado de esa estimación, para ver su efecto una vez
convergido ( constante = W) usando [25] y [24]
a ' 2 2! ' 2P & ! 'Q
! .
y recordando las definiciones de R, P y . de [5], [6], y [8]
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 18 de 18
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
a ' 2=" +? .
! .
[28]
Por lo que deducimos que una vez convergido, en valor esperado, la estimación del gradiente es igual al
gradiente verdadero. Esto significa que la estimación no estará “polarizada” o “corrida” respecto del
valor verdadero, y solamente presentará un “ruido” con valor medio cero sobre el valor del gradiente
verdadero.
Partiendo de la ecuación [27] podemos ver el efecto de la estimación del gradiente durante el proceso
de convergencia como
; & 2< Y utilizando el mismo criterio que en [28] para tenemos
; & 2<=+ " ?
Aplicando ahora factor común y recordando la definición del vector de coeficientes de Wiener
[10] tenemos
; =B 2<"? & 2<" -
[29]
A@ =B 2<M? A@
[30]
Realizando primero traslación y luego rotación de coordenadas del mismo modo que al deducir las
ecuaciones [16] y [22], se llega al mismo resultado, solo que con el valor más esperado para la solución
de vectores, es decir
Por lo que el valor más esperado de los coeficientes en los ejes principales será el mismo que en el
algoritmo de máxima pendiente, y el LMS convergirá siempre y cuando se cumpla la ecuación [23].
Ya que hemos simplificado el método de cálculo de la adaptación mediante la estimación del gradiente
del algoritmo LMS, sería deseable también simplificar la ecuación [23] para calcular el valor de < de
modo de no depender de los valores propios de R, los que a veces son difíciles de obtener. La traza de R
es la suma de sus valores propios, por lo tanto será siempre mayor que el valor individual Eghi . Por lo
tanto usando la traza de R en [23] tendremos un valor más “seguro” para <. Tomando la ecuación [5]
vemos que la traza de R será L+1 veces es decir L+1 veces la potencia de la señal de entrada, que
es un valor más fácil de estimar o conocer que los valores propios de R. Por lo tanto una versión más
fácil de utilizar y más conservadora de < puede escribirse como
0 T < T =;?=j
kdDlh
md n?
[31]
El algoritmo LMS presenta las siguientes características:
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 19 de 19
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
-
No requiere de cálculos complicados con matrices
No requiere la espera/almacenado de N muestras para poder sacar conclusiones estadísticas
(cálculo del gradiente, por ejemplo) para adaptar los coeficientes
Utiliza una estimación del gradiente como los demás métodos, pero lo hace de una manera más
sencilla.
En valor más esperado todos los parámetros importantes convergen a los valores de los
métodos exactos (como Newton y máxima pendiente)
Es robusto frente al ruido, errores de cuantificación y efectos de aritmética finita.
Por todo esto el algoritmo LMS es uno de los preferidos para el diseño de sistemas adaptativos.
Performance de los algoritmos adaptativos:
Todos los algoritmos adaptativos (incluso el de Newton si se lo hace por pasos) que producen su proceso
de aprendizaje basados en incrementos pequeños partiendo de la situación anterior, tendrán una
performance que se suele medir principalmente con dos factores: el tiempo de convergencia o tiempo
de aprendizaje o012 y el desajuste D.
Tiempo de aprendizaje:
Analicemos primero el proceso de aprendizaje. Si observamos la evolución desde el valor inicial hasta el
valor óptimo de Wiener tanto para el algoritmo de máxima pendiente (ver ec [22]) cuanto para el LMS
(ver ec. [30]) el término que regula el aprendizaje es
…
…
…
…
0
=1 2<E ?
…
0
=1 2<E ?
0
=B 2<M? J
…
0
0
0
K
…
=1 2<E ?
[32]
Indicando que cada valor propio E controlará el aprendizaje de cada uno de los L+1 coeficientes, cuyo
efecto conjunto, se ve en la figura 16
La forma de la figura 16 es la típica exponencial con forma p s que para la proyección de la primera
iteración tenemos
qr
p s 1 &
q9
t
!tf
v!tw
&xy 1
t
[33]
Además el “ratio geométrico” que implica la ecuación [32] para cada valor propio indica
p 1 2<E
Procesamiento Digital de Señales – FCEFyN – UNC
[34]
SISTEMAS ADAPTATIVOS
Página 20 de 20
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
Figura 16 – Proceso de aprendizaje de un sistema adaptativo.
y como se trata del mismo proceso, combinamos [33] y [34] para obtener
z
{|}
[35]
Que es la constante de tiempo para el aprendizaje del coeficiente ii.
Por otro lado al ser MSE cuadrático, tendremos el mismo proceso pero al cuadrado, es decir
p012 p s qf
q9
s
f
q9
s‚ƒ„
que por lo tanto tendrá una constante de tiempo z012 es decir
z012 ~{|}
t
[36]
[37]
Que es la constante de tiempo con que cae el MSE por efecto del coeficiente i.i
El tiempo de aprendizaje para los L+1 coeficientes está relacionado
nado con el número de muestras N
necesario para cada cálculo, la cantidad de coeficientes L+1 y la velocidad de adaptación <.
= & 1?…z012 o012  2=€
=;?†
{|}
Procesamiento Digital de Señales – FCEFyN – UNC
[38]
SISTEMAS ADAPTATIVOS
Página 21 de 21
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
La ecuación [38] indica que el tiempo de aprendizaje total de un algoritmo dependerá de cuántas
muestras (N)) necesite el algoritmo para producir cada adaptación, de cuantos coeficientes se deban
adaptar=€ & 1?,, y de la constante de tiempo de la curva de aprendizaje en si debido a cada coeficiente
(z012 ).
La ecuación [38] aplica al algoritmo de máxima pendiente, pero para LMS donde cada muestra produce
una adaptación se tiene
o012  z012 ~{|}
[39]
Lo que muestra que LMS es claramente más rápido que el algoritmo de máxima pendiente
pendien para un <
dado.
Desajuste:
Todos los algoritmos basados en el gradiente producen una estimación del mismo, basada en
diferencias más que en derivadas exactas. La figura 17 muestra ese efecto.
Figura 17 – Efecto de estimar el gradiente con diferencias
diferencias y no con derivadas.
Una vez que el sistema adaptativo convergió al valor de mínimo MSE,, esta estimación, también llamada
“ruido de gradiente”, es la principal causa de desajuste. En la figura 18 se ve en la parte de abajo como
los coeficientes varían alrededor
rededor de los valores óptimos con las diferentes iteraciones k, luego de haber
convergido, fruto del ruido de gradiente. La figura muestra también la curva de la superficie de error
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 22 de 22
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
MSE graficada vs las coordenadas V. Queda claro en la figura 18 que las vvariaciones
ariaciones de los coeficientes
producen una variación del valor de MSE, en exceso del valor mínimo gD .
Ese “exceso de MSE”” produce un desajuste que se define como
‡
012ˆ}‰
2012012
012ˆ}‰
[40]
y representa el efecto
to que produce sobre el MSE la continua adaptación de los coeficientes con el paso
de las iteraciones k debido al ruido de gradiente.
Figura 18 – Efecto de las variaciones residuales de los coeficientes.
La tabla siguiente resume las ecuaciones para las constantes de tiempo z012 , los tiempos de
aprendizaje o012 y el desajuste ‡ para los algoritmos de máxima pendiente ([35], [36]) y LMS ([37]).
Para el desajuste se toma el valor promedio EhŠ de todos los valores propios E
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 23 de 23
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
MAXIMA PENDIENTE
‡
Desajuste
=€ & 1?
8+o012hŠ
z012 Tiempo de convergencia en función
del nro de iteraciones
o012 Tiempo de convergencia en función
del nro de muestras
LMS
‡ =€ & 1?<EhŠ
1
4<E
z012 =€ & 1?…
2<E
o012 1
4<E
1
4<E
Implementación en DSP
Los algoritmos adaptativos tienen una estructura de multiplicar/acumular que la hacen apropiada para
su implementación en chips DSP. La figura 19 muestra el esquema de un filtro transversal FIR (en negro)
cuyos coeficientes son adaptados mediante el algoritmo LMS (en naranja). Se presenta una foto
temporal al momento n, donde hay N elementos del vector de entrada en el filtro.
T
T
T
;
T
;
+
;
;
D
-
+
µ
+
Figura 19 – Filtro FIR y coeficientes adaptativos.
Ya se han visto rutinas en C y assembler de DSP de la familia DSP56F8XXX para realizar filtros FIR
idénticos a los dibujados en negro en la figura 19.
Para programar y simular el comportamiento de un sistema adaptativo completo como el de la figura
19, es común utilizar un lenguaje de alto nivel como C de modo de poder tomar conclusiones
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 24 de 24
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
importantes como ajustar la velocidad de convergencia y calcular el desajuste remanente. A tal efecto
se podría utilizar una rutina como la siguiente, donde la parte adaptativa se ha resaltado en amarillo:
/* Adapttative Filter */
float mu;
int L;
float y;
int x[L];
float w[L];
float LMSfir(int L, int xin, float d);
/*
/*
/*
/*
L
y
x
w
=
=
=
=
filter order */
filter output */
FIR state*/
FIR coef*/
/* LMS adaptive fir.c - FIR filter in direct form */
/* Usage: y = LMS_fir(L, xin, mu, d); */
/* xin=input sample */
float LMSfir(int L, int xin,float d)
{
int i;
y=0;
for (i=L-1; i>=1; i--)
x[i] = x[i-1];
/* update input history */
x[0] = xin;
/* read input */
for (i=L-1; i>=0; i--){
y += w[i] * x[i];
/* compute current output sample y */
}
for (i=L-1; i>=0; i--){
w[i] += mu*(d-y)*x[i]; /* update coef with LMS */
}
return y;
}
Una vez que el programador ha comprobado los algoritmos y definido las principales variables de
diseño, si las condiciones de memoria o tiempo disponible son ajustadas, es hora de preocuparse por la
eficiencia del código generado. Está claro que el código anterior, si bien es simple y directo en cuanto a
los algoritmos que pretende realizar, seguramente podrá ser optimizado en eficiencia de uso de
memoria de programa y de tiempo de ejecución.
Para realizar la rutina anterior en un DSP, se deben tener en cuenta algunas cosas a fin de garantizar la
eficiencia, más allá de la tarea del compilador, como por ejemplo:
1. En la rutina se presentan vectores de muestras x[i] y de coeficientes w[i], cuyos índices son
resultados de cálculo (x[i-1]). Pero en la práctica, los coeficientes y las muestras de la señal de
entrada se guardan siempre en lugares consecutivos de memoria, y se acceden siempre en una
secuencia continua de posiciones (nunca se acceden aleatoriamente). Los DSP se diseñan
teniendo en cuenta esto, brindando registros punteros con aritmética dedicada para
incrementar, decrementar, etc. Para que la rutina en C refleje este hecho deberían reemplazarse
los vectores por punteros.
2. Para realizar la secuencia Multiplicar/Acumular en una sola instrucción, siguiendo la rutina C
anterior, se deberían acceder en forma simultánea dos operandos de entrada, el valor anterior
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 25 de 25
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
de la función, y al valor calculado almacenarlo en memoria. Es decir cuatro accesos a memoria
en paralelo. Para evitar esto los DSP tienen registros intermedios y registros de resultado que
evitan, por ejemplo, que los resultados intermedios tengan que volver a memoria. Por ejemplo,
en la rutina C se podría usar el tipo de datos “register” para almacenar el valor de y.
3. Es muy probable que los distintos lazos de la rutina puedan ser combinados.
Por las razones anteriores, muy frecuentemente los programadores prefieran programar las partes
críticas en cuanto a performance tiempo / espacio en memoria directamente en assembler.
Para realizar el filtro de la figura 19 en assembler de chip DSP debemos definir el mapa de memoria
donde se encuentran los elementos del vector de entrada y de coeficientes, y los punteros usados
para direccionarlos. Esto se ve en la figura 20, que muestra además el uso de los registros de la ALU
de un DSP de la familia DSP56F8XXX.
Memoria X
R0
L-1
*R0
……………
Y0
;
X
u*e
+
Y1
……………
A
……………
R3,R1
*R3
……………
X0
X1
*R1
Figura 20 – Mapa de memoria del DSP con coeficientes de precisión simple, y uso de los
registros para la adaptación de coeficientes.
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 26 de 26
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
A continuación se presenta el código en lenguaje assembler de la familia DSP56F8XXX correspondiente a
la situación de la figura 20.
Lab Opcode Operands
Data bus
PUSH M01
MOVE #X_Vec7,R0
MOVE #L_-1,M01
MOVE M01,Y1
MOVE #-2,L
MOVEP X:InputValue,Y0
MOVE #Coeff,R3
CLR A
Y0,X:(R0)+
MOVE X:(R3)+,X0
REP Y1
MAC Y0,X0,A
X:(R0)+,Y0
MACR Y0,X0,A
MOVEP A,X:Output
X:(R3)+,X0
w_cnt5
Cycles
Comment
;
;
;
;
;
;
;
;
;
;
;
;
;
2
2
2
1
1
1
2
1
1
3
1
1
1
save addr mode state
start of X
modulo L
initialize REP loop count
adjustment for filtering
get input sample
start of coefficients
save input in x(i),incr R0
X0=w[0] and incr R3
do fir
accum & update x[i] and w[i]
last tap
output fir if desired
2
2
2
1
1
1
2
1
1
1
1
1
1
; (Get d(k), subtract fir output, multiply by “u”, put the result in Y1.
; This section is application dependent.)
MOVE #Coeff,R3
MOVE R3,R1
MOVE X:(R0)+,Y0
MOVE X:(R3)+,A
DO #NTaps,EndDO1_7_1
MACR Y1,Y0,A
X:(R0)+,Y0 X:(R3)+,X0
TFR X0,A
_COEFF_UPDATE1_7_1:
EndDO1_7_1:
MOVE X:(R0)+L,Y0
POP M01
A,X:(R1)+
;
;
;
;
;
;
;
;
2
1
1
1
2
1
2
1
1
1
3
1
1
1
start of coefficients
start of coefficients
Y0=x(k) and incr R0
a=w[0] and incr R3
update coefficients
A=w[i]*x[n-i] Y0=x[k-i-1]
X0=w[i+1]
A=w[i+1], save w[i]*x[k-i]
; 1
1
Y0=x(k-L+1) and update R0
; 1
1
restore previous addr mode
; __________
; Total:28 N+2NTaps+27 (L=size of X_VECTOR)
El mismo filtro adaptativo de la figura 19 puede implementarse con mayor precisión en los coeficientes.
La figura 21 muestra el mapa de memoria para coeficiente de doble precisión.
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Página 27 de 27
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
R0
L-1
*R0
Y0
……………
Y1
;
X
u*e
……………
+
X0
Y1
……………
R3,R1
H
L
H
L
*R3
A0
*R3
A1
……………
H
L
*R1
*R1
Figura 21 – Mapa de memoria del DSP con coeficientes de precisión doble.
Cuyo código en lenguaje assembler de la familia DSP56F8XXX podría ser el siguiente.
Lab Opcode Operands
Data bus
PUSH M01
MOVE #X_Vec7,R0
MOVE #L_-1,M01
MOVE M01,Y1
MOVE #2,L
MOVEP X:InputValue,Y0
MOVE #Coeff,R3
CLR A
Y0,X:(R0)+
MOVE X:(R3)+L,X0
DO Y1,Do_FIR
MAC X0,Y0,A
X:(R0)+,Y0
MOVE X:(R3)+L,X0
Do_FIR:
MACR X0,Y0,A
Procesamiento Digital de Señales – FCEFyN – UNC
w_cnt5
Cycles
Comment
;
;
;
;
;
;
;
;
;
;
;
;
2
2
2
1
1
1
2
1
1
2
1
1
2
2
2
1
1
1
2
1
1
3
1
1
save addr mode state
start of X
modulo L
initialize REP loop count
adjustment for filtering
get input sample
start of coefficients
save input in x(k),incr R0
X0=w[0,H] and incr R3
do fir
accum & update x[i]
update w[i,H]
; 1
1
last tap
SISTEMAS ADAPTATIVOS
Página 28 de 28
FCEFyN
Universidad Nacional de Cordoba
SISTEMAS ADAPTATIVOS
MOVEP A,X:Output
; 1
1
output fir if desired
; (Get d(n), subtract fir output, multiply by “u”, put the result in X0.
; This section is application dependent.)
MOVE #Coeff,R3
MOVE R3,R1
MOVE X:(R0)+,Y0
MOVE X:(R3)+,A
MOVE X:(R3)+,A0
DO #NTaps,EndDO1_7_2
MAC X0,Y0,A
X:(R0)+,Y0
MOVE A,X:(R1)+
MOVE A0,X:(R1)+
MOVE X:(R3)+,A
MOVE X:(R3)+,A0
_COEFF_UPDATE1_7_2:
EndDO1_7_2:
MOVE #-2,N
MOVE X:(R0)+N,Y0
POP M01
;
;
;
;
;
;
;
;
;
;
;
2
1
1
1
1
2
1
1
1
1
1
2
1
1
1
1
3
1
1
1
1
1
start of coefficients
start of coefficients
Y0=x(k) and incr R0
a=w[0,H] and incr R3
a0=w[0,L] and incr R3
update coef.
u*e(k)*x(i)+c; fetch x(i)
save updated w[i,H]
save updated w[i,L]
fetch next w[i,H]
fetch next w[i,L]
; 1
1
adjustment for filtering
; 1
1
update R0
; 1
1
restore previous addr mode
; ___________
; Total:35 2N+5NTaps+28 (L=size of X_Vec
Procesamiento Digital de Señales – FCEFyN – UNC
SISTEMAS ADAPTATIVOS
Descargar