Este documento describe dos métodos para la identificación del canal de comunicación: el algoritmo LMS y el algoritmo DBD. El algoritmo LMS usa codificación caótica de señales de voz para mejorar su rendimiento en la identificación del canal. El algoritmo DBD permite identificar el canal sin conocer la señal original, realizando una identificación "ciega". El documento también introduce filtros de Wiener y analiza la formulación y convergencia del algoritmo LMS.
Guia Basica para bachillerato de Circuitos Basicos
Canal de comunicación y caos
1. Aplicaci´on de secuencias ca´oticas a la identificaci´on del canal
de comunicaci´on
David Arroyo Guarde˜no
´Indice
´Indice 1
1. Introducci´on 2
2. Filtros de Wiener 2
3. Identificaci´on del canal de comunicaci´on v´ıa algoritmo LMS 3
3.1. Algoritmo LMS: formulaci´on y an´alisis de su estabilidad y convergencia . . . . . . 3
3.2. Aplicaci´on del algoritmo LMS al problema de la identificaci´on del canal de comuni-
caci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3. Codificaci´on ca´otica de se˜nales de voz . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4. Identificaci´on ciega del canal de comunicaci´on: algoritmo DBD (Dynamic Based
Deconvolution) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4. Simulaciones y conclusiones 10
4.1. Test del algoritmo LMS con codificaci´on ca´otica para diferentes valores del par´ametro
µ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1.1. Verificaci´on de las prestaciones de la codificaci´on ca´otica . . . . . . . . . . . 11
4.1.2. Decisi´on valor de µ ´optimo para el caso de se˜nales de voz codificadas mediante
se˜nales ca´oticas de media cero: µ constante . . . . . . . . . . . . . . . . . . 11
4.1.3. Decisi´on valor de µ ´optimo para el caso de se˜nales de voz codificadas mediante
se˜nales ca´oticas de media cero: esquema estoc´astico de iteraci´on . . . . . . . 12
4.1.4. Decisi´on valor de µ ´optimo para el caso de se˜nales de voz codificadas mediante
se˜nales ca´oticas de media cero: esquema b´usqueda-convergencia . . . . . . . 12
4.1.5. Decisi´on entre los tres valores ´optimos obtenidos . . . . . . . . . . . . . . . 13
4.2. Test del algoritmo DBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.1. Tasa de aprendizaje constante . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3. Esquema estoc´astico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4. Esquema b´usqueda-convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.5. Decisi´on entre los tres valores ´optimos . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.6. Test de los algoritmos LMS y DBD en presencia de ruido . . . . . . . . . . . . . . 16
Referencias 18
1
2. 1. Introducci´on
El objetivo ser´a desarrollar un m´etodo para codificar mediante caos las se˜nales de voz, con el
objeto de mejorar las prestaciones del algoritmo LMS (Least Mean Square) a la hora de llevar a
cabo una identificaci´on del canal de comunicaci´on([1]). Asimismo se presenta tambi´en un segundo
m´etodo basado en el algoritmo DBD -Dynamic Based Deconvolution- ([2],[3]), con el que se lle-
var´a a cabo una identificaci´on ciega del canal. Se comenzar´a presentando someramente los filtros
de Wiener, tanto en cuanto el algoritmo LMS trata de aproximar tal filtro con el prop´osito de
implementar una realizaci´on on-line. Hecha tal presentaci´on, se desarrolla la teor´ıa vinculada con
el algoritmo LMS, especialmente aquellos aspectos de la misma relacionados con la estabilidad y
convergencia del m´etodo, ya que son estos factores los que justifican la utilizaci´on de la codifi-
caci´on ca´otica de se˜nales de voz. Por ´ultimo, se desarrolla un m´etodo que en lugar de partir del
conocimiento de la se˜nal enviada, aprovecha el conocimiento que se tiene respecto de la din´ami-
ca de aquella. Tal m´etodo es el DBD, el cual permite llevar a cabo la labor que aqu´ı nos ocupa
sin necesidad de conocer la se˜nal que se env´ıo originalmente y, por ello, se dice que realiza una
identificaci´on ciega del canal.
2. Filtros de Wiener
Esta secci´on pretende mostrar aquellos aspectos de los filtros de Wiener de inter´es para el
posterior trabajo. Es decir, la descripci´on aqu´ı propuesta no es m´as que una introducci´on, siendo
recomendable consultar [4] en caso de desear un mayor grado de detalle. Hecha esta primera
puntualizaci´on, el an´alisis comienza presentando el esquema a seguir (Figura 1).
e(n)
d(n)
x(n) Filtro de Wiener
W(z)
Figura 1: Esquema dise˜no de un filtro de Wiener
El objetivo es minimizar el ´ındice J = E [e(n)e∗
(n)], donde e(n) representa la diferencia entre la
se˜nal deseada -d(n)- y la se˜nal estimada por el filtro de Wiener -dest(n)-. Aquel filtro que minimiza
tal ´ındice se dice que es un filtro ´optimo de Wiener. Para lograr el m´ınimo valor posible de J
habr´ıa que trabajar con un filtro IIR no causal, lo cual es muy complejo en la pr´actica. Es decir,
la soluci´on te´orica del problema no es satisfactoria para nuestros intereses, por lo que es preferible
imponer restricciones al filtro a dise˜nar, de modo que finalmente se desarrollar´a un m´etodo que
lleva a cabo la implementaci´on del filtro de Wiener como un filtro FIR causal (1),
W(z) =
M−1
n=0
wnz−n
, (1)
con lo que la se˜nal estimada por el filtro vendr´a dada por (2), mientras que (3) define el ´ındice a
minimizar.
dest(n) =
M−1
i=0
wix(n − i), (2)
J = E | e(n) |2
= E | d(n) − dest(n) |2
. (3)
Dado que se desea minimizar (3), la siguiente operaci´on ser´a diferenciar (3) con respecto a los
coeficientes del filtro a dise˜nar e igualar a cero. Este proceso lleva a (4), que concreta el principio
de ortogonalidad o teorema de la proyecci´on sobre el cual se construye el filtro de Wiener.
∂J
∂wk
= E 2e(n)
∂e(n)
∂wk
= 0 ⇒ E [e(n)x(n − k)]
e(n) = d(n) −
M−1
i=0
wix(n − i) ⇒
∂e(n)
∂wk
= −x(n − k). (4)
2
3. En efecto, si expresamos el error e(n) como la diferencia entre la se˜nal deseada y la se˜nal estimada
por el filtro, (4) desemboca en (5):
E d(n) −
M−1
i=0
wix(n − i) x(n − k) = E [d(n)x(n − k)] −
M−1
i=0
wiE [x(n − i)x(n − k)] = 0
rdx(k) −
M−1
i=0
wirx(k − i) = 0, (5)
expresi´on que, asumiendo d(n) y x(n) son procesos estacionarios en sentido amplio, lleva finalmente
a la conocida como ecuaci´on de Wiener-Hopf (6).
M−1
i=0
wirx(k − i) = rdx(k). (6)
Esta ecuaci´on puede ser expresada matricialmente (7) de forma muy simple asumiendo que x(n)
es un proceso real, lo cual implica que la funci´on de auto-correlaci´on (rx(k) = E [x(n)x(n − k)])
para x(n) es sim´etrica par respecto del origen (rx(k) = rx(−k)).
rx(0) rx(1) rx(2) · · · rx(M − 1)
rx(1) rx(0) rx(1) · · · rx(M − 2)
...
...
...
...
...
rx(M − 2)
...
...
... rx(1)
rx(M − 1) · · · rx(2) rx(1) rx(0)
⇓
Rx
w0
w1
w2
...
wM−1
⇓
W
=
rdx(0)
rdx(1)
rdx(2)
...
rdx(M − 1)
⇓
rdx
(7)
Es decir, los coeficientes del filtro de Wiener vendr´an dados por:
W = R−1
x rdx. (8)
3. Identificaci´on del canal de comunicaci´on v´ıa algoritmo
LMS
3.1. Algoritmo LMS: formulaci´on y an´alisis de su estabilidad y conver-
gencia
Dado que la soluci´on aportada en el apartado anterior constituye aquella para la cual el ´ındice
J es el m´ınimo posible, cuando el filtro es FIR y causal, parece l´ogico pensar que el dise˜no o
b´usqueda de un m´etodo alternativo no tiene sentido. Sin embargo, la obtenci´on de los coeficientes
del filtro a partir de la ecuaci´on de Wiener-Hopf lleva asociada una gran carga computacional,
tanto en cuanto implica la inversi´on de la matrix Rx, operaci´on que, desde el punto de vista
computacional, es compleja y cada vez m´as compleja a medida que crece el n´umero de coeficientes
del filtro a dise˜nar, ya que dicha matriz suele estar mal condicionada. Por otro lado, a la hora
de obtener la ecuaci´on de Wiener-Hopf se asumi´o que los procesos aleatorios involucrados eran de
car´acter estacionario en sentido amplio. Ahora bien, a la hora de tratar con se˜nales pr´acticas reales,
como las se˜nales de voz, nos encontramos con que tal hip´otesis no es aplicable. En el caso de las
se˜nales de voz se puede pensar en la posibilidad de segmentar la se˜nal de voz, de modo que cada
uno de los segmentos resultantes permitan ser considerados como procesos aleatorios estacionarios
en sentido amplio. No obstante, tal segmentaci´on no es recomendable en general, ya que puede
que los estad´ısticos asociados a la se˜nal original cambien muy r´apidamente, factor que obligar´ıa
a disminuir el tama˜no de los distintos segmentos (con lo que aumenta el n´umero de segmentos),
circunstancia que puede alterar considerablemente las caracter´ısticas espectrales del proceso. En
definitiva, parece m´as conveniente plantear un esquema alternativo al sintetizado en la ecuaci´on de
Wiener-Hopf (6), de modo que se llegue a un nuevo m´etodo que nos lleva a una soluci´on aceptable
(pero no ´optima), y haga posible trabajar con procesos de car´acter no estacionario, determinando
los coeficientes del filtro a dise˜nar on-line y evitando posibles dificultades algebraicas semejantes a
las previamente citadas. El m´etodo a desarrollar va a implementar un filtro adaptativo, es decir,
los par´ametros libres del filtro se van a adaptar a las variaciones que experimentan los estad´ısticos
3
4. de las se˜nales que constituyen el medio con el que se va a trabajar. En el caso particular que nos
ocupa, el esquema a seguir aparece en la siguiente figura (Figura 2).
x(n)
e(n)
d(n)
Filtro transversal
Wn
Mecanismo de control
adaptativo de los pesos del filtro
Figura 2: Esquema del algoritmo LMS
El algoritmo LMS se construye a partir de los valores instant´aneos de la funci´on de coste o de
penalizaci´on:
J(n) = 1/2e2
(n). (9)
La derivada de dicho ´ındice con respecto a los pesos del filtro adaptativo a crear es
∂J(n)
∂W
= e(n)
∂e(n)
∂W
. (10)
El error en cada instante viene dado por
e(n) = d(n) − xT
(n)W(n), (11)
donde (x)(n) = [x(n) x(n − 1) . . . x(n − M + 1)]T
y W(n) = [w0(n)w1(n) . . . wM−1(n)]T
. En
consecuencia, se tiene que
∂J(n)
∂W
= −x(n)e(n), (12)
expresi´on que constituye una estimaci´on del gradiente de la funci´on de coste. Dicho gradiente deter-
mina un vector cuya direcci´on indica la direcci´on en la que J(n) experimenta un mayor crecimiento.
Dado que nuestro objetivo es minimizar J(n), el algoritmo LMS va a actualizar los valores de los
coeficientes del filtro haciendo que en cada instante estos se desplacen una cierta cantidad en la
direcci´on opuesta a la indicada por (12). De forma anal´ıtica esta idea queda concretada en
W(n + 1) = W(n) + µx(n)e(n), (13)
donde µ es la tasa de aprendizaje. Dado que se lleva a cabo una realimentaci´on de los pesos
(es decir, para calcular los pesos en el instante n + 1 se precisan los pesos en el instante n), el
algoritmo LMS sintetiza un filtro paso bajo en el sentido que tiende a atenuar las componentes
de alta frecuencia del error dejando pasar las de baja frecuencia. Con el objeto de resaltar tal
comportamiento se presenta en la figura 3 el diagrama de flujo asociado al algoritmo LMS, el cual
se obtiene expresando (13) como
W(n + 1) = W(n) + µx(n)[d(n) − xT
(n)W(n)] = [I − µx(n)xT
(n)]WT
(n) + µx(n)d(n), (14)
siendo I la matriz identidad, y teniendo en cuenta que
W(n) = z−1
[W(n + 1)], (15)
donde z−1
es el operador retraso unidad, que lleva ´ımplicito el almacenamiento de valores previos
de pesos.
A la vista del diagrama de flujo, se concluye que µ representa la inversa de la constante de
tiempo asociada al filtrado previamente rese˜nado, es decir, peque˜nos valores de µ implican un
proceso adaptativo lento, lo cual implica que una mayor cantidad de la informaci´on pasada es
“recordada” por el algoritmo LMS, efecto que en ´ultima instancia se traduce en un filtrado de
4
5. µx(n)d(n)
µx(n)xT
(n)
W(n)
W(n+1)
z-1
I
Figura 3: Actualizaci´on de pesos seg´un el algoritmo LMS
mayor precisi´on. En otras palabras, la inversa de la tasa de aprendizaje es una medida de la
memoria del algoritmo LMS.
La siguiente labor consiste en analizar la convergencia, as´ı como la estabilidad del algoritmo
LMS. Sin embargo, antes de emprender tal tarea es necesario realizar una serie de aclaraciones
respecto del modo en que se actualizan los pesos del filtro objeto de dise˜no. Dicha actualizaci´on
qued´o plasmada en (13) y provoca que el vector de pesos W(n) no siga una trayectoria definida en
el espacio de pesos, sino que dicha trayectoria es aleatoria, por lo que se dice que la aproximaci´on
que aqu´ı se realiza del gradiente es de car´acter estoc´astico. A medida que el n´umero de iteraciones
se aproxima al infinito, el algoritmo LMS hace que los pesos calculados mediante (13) definan
una trayectoria aleatoria entorno a la soluci´on de Wiener (Wopt). Pero lo m´as importante aqu´ı es
que esta aproximaci´on a la soluci´on ´optima del problema se realiza sin necesidad de conocer los
estad´ısticos asociados a las se˜nales involucradas. Hechas las oportunas aclaraciones, se emprende
el an´alisis de la convergencia del algoritmo LMS. De teor´ıa de control se sabe que la estabilidad
de un sistema realimentado est´a determinada por los par´ametros involucrados en el bucle de real-
imentaci´on. Si observamos la figura 3, se comprueba que es el bucle de realimentaci´on inferior el
que permite controlar la convergencia del sistema, tanto en cuanto el bucle superior no presenta
par´ametro ajustable alguno. Dos son los elementos que participan en el bucle de realimentaci´on
inferior y que, por consiguiente, definen la transmitancia de dicho bucle: la tasa de aprendizaje µ y
el vector de entradas x(n). Es decir, la convergencia del algoritmo LMS vendr´a condicionada tanto
por caracter´ısticas estad´ısticas de la entrada como por el par´ametro µ, siendo este ´ultimo el ´unico
factor controlable para un entorno de trabajo dado. En consecuencia, el objetivo es determinar
aquellos valores de µ que aseguran una buena convergencia. Ahora bien, para hallar tales valores
se ha de decidir cual ha de ser el criterio de convergencia a exigir. Dos son las posibilidades:
Convergencia en media: E[W(n)] → Wopt cuando n → ∞. Este criterio de convergencia no
es de car´acter pr´actico tanto en cuanto cualquier secuencia aleatoria de vectores de media
cero converge en este sentido.
Convergencia en media cuadr´atica: E[e2
(n)] → valor constante cuando n → ∞. Este es el
verdadero criterio de car´acter pr´actico. El problema es que un an´alisis en profundidad de la
convergencia del algoritmo LMS en este sentido, encierra una gran complejidad, con lo que
nos vemos abocados a realizar las siguientes hip´otesis (teor´ıa de la independencia: Widrow y
otros,1976):
• Las sucesivos vectores de entradas x(1), x(2) . . . son estad´ısticamente independientes.
• Para el instante de tiempo n el vector de entradas x(n) es independiente de todas las
muestras anteriores de respuesta deseada del sistema, esto es, d(1), d(2) . . . , d(n − 1).
• Para el instante de tiempo n la respuesta deseada d(n) es estad´ısticamente independiente
respecto x(n) y respecto de los valores anteriores de la respuesta deseada.
• El vector de entradas x(n) y la respuesta deseada d(n) presentan una funci´on de dis-
tribuci´on gaussiana.
Estas hip´otesis permiten expresar la matriz de correlaciones de entradas como Rx = x(n)xT
(n) y
el vector de correlaciones entre entradas y respuestas deseadas como rdx = x(n)d(n). Asimismo
aquellas hip´otesis implican que, cuando n tiende a infinito, la soluci´on dada por el algoritmo LMS
5
6. tiende a la ´optima, es decir, la soluci´on dada por Wiener (Wopt). Por tanto, (13) ahora queda como
Wn+1 = (I − µRx)Wn + µrdx, (16)
expresi´on que, restando en ambos lados la soluci´on ´optima de Wiener y con el cambio de variable
Dn = Wn − Wopt, da lugar a
Dn+1 = (I − µRx)Dn. (17)
Por otro lado, la matriz de correlaciones de entradas puede ser descompuesta mediante una
descomposici´on SVD de modo que
Rx = V Λ V T
, (18)
donde los autovectores que constituyen la matriz V forma una base ortonormal (es decir, V V T
=
I). Como resultado de esto obtenemos
Dn+1 = V (I − µΛ)V T
Dn, (19)
que multiplicando por la izquierda a ambos lados de la igualdad, y haciendo vn = V T
Dn, permite
expresar
vn+1 = (I − µΛ)vn. (20)
Dado que la matriz Λ es diagonal (con elementos iguales a los autovalores de la matriz de correla-
ciones de las entradas), podemos decir que
vn(k) = (1 − µλk)vn(k). (21)
Tras n iteraciones a partir de un cierto valor inicial v0(k), nos queda
vn(k) = (1 − µλk)n
v0(k). (22)
Por tanto el sistema converge siempre que para todo k se cumpla que
| 1 − µλk | < 1. (23)
De este modo, la convergencia del sistema exige la siguiente condici´on con respecto a la tasa o
par´ametro de aprendizaje:
0 < µ <
2
λmax
, (24)
siendo λmax el mayor autovalor de la matriz de correlaciones Rx. Ahora bien, dicho autovalor no
siempre se puede determinar, por lo que, teniendo en cuenta que λmax ≤
M−1
k=0 λk = tr(Rx) =
Traza de la matriz Rx= Suma de los elementos diagonales de Rx=M · rx(0)=suma de los valores
cuadr´aticos del vector de entradas xn, una condici´on equivalente, aunque m´as restrictiva ser´ıa
0 < µ <
2
M · rx(0)
(25)
Por tanto si elegimos µ tal que se cumple (25), el algoritmo presenta convergencia cuadr´atica y con-
vergencia en media, ya que la primera convergencia implica la segunda, si bien no se da la relaci´on
rec´ıproca. Es decir, un sistema que converge en media puede que no converga cuadr´aticamente.
Hasta punto se han rese˜nado las circunstancias que determinan la convergencia del algoritmo LMS,
lo que queda, pues, es determinar la rapidez de tal convergencia. Precisamente este es el principal
problema del algoritmo LMS, ya que, por lo general, se requiere un n´umero de iteraciones cercano
a 10 veces la dimensi´on del espacio de entradas para alcanzar un r´egimen estable. El problema se
hace mayor a medida que aumenta la dimensi´on del vector de entradas (es decir, el n´umero de
coeficientes del filtro adaptativo) y a medida que el n´umero de condici´on de la matriz Rx aumenta,
siendo el n´umero de condici´on el cociente entre el autovalor mayor y el autovalor menor de dicha
matriz. Adem´as, la tasa de convergencia del algoritmo LMS es especialmente sensible a los cambios
que el entorno de trabajo provoca en el citado n´umero de condici´on. Un an´alisis detallado de la
transcendencia del n´umero de condici´on de la matriz Rx puede verse en [4],[5].
6
7. 3.2. Aplicaci´on del algoritmo LMS al problema de la identificaci´on del
canal de comunicaci´on
En este punto se pretende establecer un mecanismo de identificaci´on del canal de comunicaci´on
basado en el algoritmo LMS. Para ello se transmite una cierta se˜nal conocida a trav´es del canal de
comunicaci´on, de modo que el receptor recibir´a el resultado de la convoluci´on de la se˜nal original
con la respuesta impulsiva del canal, es decir, se asume que el canal es lineal e invariante con
el tiempo. Pues bien, la identificaci´on del canal de comunicaci´on se efectuar´a dise˜nando un filtro
adaptativo FIR mediante el algoritmo LMS, de modo que la respuesta de dicho filtro, cuando la
entrada es la se˜nal original enviada a trav´es del canal, sea la se˜nal recibida. Por tanto el modelo a
aplicar ser´a el que aparece en la figura , donde v(n) es un ruido aditivo gaussiano de media cero
(AWGN).
x(n)
v(n)
H(z)
Función transferencia
canal de comunicación
Wn
Adaptación
coeficientes
filtro
Figura 4: Modelo transmisi´on para identificaci´on del canal de comunicaci´on
De forma gen´erica tenemos
H(z) =
∞
i=0 aiz−i
1 −
∞
j=1 bjz−j
=
∞
k=0
hkz−k
, (26)
es decir, se asume que el canal es causal. El filtro adaptativo a construir es de orden M − 1, es
decir, hay que determinar M coeficientes, con lo que el esquema propuesto aproxima s´olo los M
primeros coeficientes de la respuesta impulsiva del canal. Teniendo en cuenta que la se˜nal deseada
d(n) = hT
x(n) + v(n), donde h = [h0 h1 . . . h∞]T
, y expresando b = [h0 h1 . . . hM−1]T
, tenemos
d(n) = bT
x(n) + ξ(n) + v(n). (27)
De este modo el vector de correlaciones cruzadas entra la se˜nal de entrada y la deseada , teniendo
en cuenta que la se˜nal de entrada y el ruido est´an incorrelados, vendr´a dado por
rdx =
rdx(0)
rdx(1)
...
rdx(M − 1)
=
E xT
(n)h(n) + v(n) x(n)
E xT
(n)h(n) + v(n) x(n − 1)
...
E xT
h(n) + v(n) x(n − M + 1)
=
=
E xT
(n)b(n) + ξ(n) x(n)
E xT
(n)b(n) + ξ(n) x(n − 1)
...
E xT
(n)b(n) + ξ(n) x(n − M + 1)
rdx = Rxb + E [ξ(n)x(n)] . (28)
Expresi´on que, considerando que M es lo suficientemente grande como para despreciar el efecto
de la correlaci´on entre el t´ermino residual ξ(n) y el vector de entradas, queda reducida al primer
sumando, es decir
Wopt ≈ b. (29)
Por su parte la din´amica del algoritmo LMS vendr´a determinada por la ecuaci´on (13), donde
e(n) = (WT
(n) − b)x(n) + ξ(n) + v(n) ≈ (WT
(n) − b)x(n) + v(n) (30)
7
8. 3.3. Codificaci´on ca´otica de se˜nales de voz
En esta secci´on se presenta un m´etodo de codificaci´on de las se˜nales de voz de modo que
la se˜nal resultante posea un espectro plano, ya que, seg´un recoge [5], los autovalores asociados
a la matriz de correlaciones Rx, construida a partir de la se˜nal codificada, est´an limitados por
los valores m´aximo y m´ınimo del espectro de potencia de dicha se˜nal. Dicho de otro modo, un
n´umero de condici´on unitario para la matriz Rx significa un espectro plano para la se˜nal x(n).
Una de las principales caracter´ısticas de las se˜nales ca´oticas es el “car´acter plano” de su espectro
de potencia. Esta circunstancia sugiere que un buen veh´ıculo para lograr una secuencia adecuada
para la identificaci´on del canal de comunicaci´on, es alg´un tipo de codificaci´on de la se˜nal original
de voz mediante caos. El esquema aqu´ı propuesto codifica la se˜nal de voz escal´andola, en primer
lugar, de modo que est´e dentro del intervalo [-1,1] y, a continuaci´on, modifica en funci´on de la se˜nal
de voz escalada, el valor del par´ametro que controla la din´amica de la secuencia ca´otica concreta
considerada.
En lo que sigue se trabajar´a con el mapa log´ıstico. La din´amica del sistema viene dada por
xk+1 = rkxk(1 − xk), (31)
de modo que rk se escoge
rk = r0 + ∆Ik. (32)
Es decir, se busca un valor del par´ametro din´amico r0 de modo que el comportamiento del sistema
definido por 31 sea ca´otico para todo valor de k. Tal y como se comento m´as arriba, la se˜nal de
informaci´on ha de estar normalizada (| Ik |≤ 1 ∀k). Los valores de los par´ametros considerados son
r0 = 3.9757 y ∆r = 0.029. A la vista de la figura 5 se concluye que, en efecto, la codificaci´on ca´otica
esparce el espectro de la se˜nal original de voz, de modo que la diferencia entre el valor m´aximo y
el m´ınimo del espectro de potencia se ve reducida. Sin embargo, tal y como se observa en la figura
5, la se˜nal codificada ca´oticamente posee una alta componente de baja frecuencia, debido a que
posee un cierto valor medio. Por tanto, un mecanismo para reducir a´un m´as el esparcimiento de
los autovalores de Rx, consiste en restar a la anterior se˜nal su valor medio. La disminuci´on del
esparcimiento de los autovalores, fruto de la codificaci´on y de la posterior sustracci´on del valor
medio, se refleja en la tabla 3.3, la cual ha sido obtenida trabajando con la se˜nal de voz de la figura
5.
λmax/λmin
Se˜nal Original 5270
Se˜nal codificada 987.84
Se˜nal cod. media 0 5.1
Tabla 1: Relaci´on entre autovalor m´aximo y m´ınimo
8
9. Figura 5: Ensanchamiento de espectro mediante codificaci´on ca´otica
3.4. Identificaci´on ciega del canal de comunicaci´on: algoritmo DBD (Dy-
namic Based Deconvolution)
El m´etodo de identificaci´on del canal de comunicaci´on propuesto en la secci´on 3.2 part´ıa del
conocimiento de la se˜nal enviada a trav´es del canal. Ahora lo que se trata es de plantear un nuevo
esquema que evite la necesidad de saber qu´e se˜nal fue enviada a trav´es del canal de comunicaci´on,
motivo por el cual este nuevo m´etodo se dice que lleva a cabo la identificaci´on de forma ciega. El
m´etodo que se va a utilizar se basa en el conocimiento de la din´amica de la se˜nal transmitida. Por
otro lado, el procedimiento es cuesti´on va a tratar de hallar la inversa de la funci´on de transferencia
del canal de comunicaci´on. Por estas dos circunstancias, tal esquema de identificaci´on se dice es
un m´etodo de deconvoluci´on basado en la din´amica de las se˜nales transmitidas (en ingl´es dinamic-
based deconvolution o, abreviadamente, DBD).
xk
vk
reck
sk Codificación
caótica
Canal de
comunicación Deconvolución
canal
z-1 Generación
mapa caótico
Figura 6: Esquema de funcionamiento del algoritmo DBD
El esquema a seguir es el presentado en la figura 6. La se˜nal de voz a transmitir es codificada
siguiendo el esquema planteado en el apartado anterior. El canal de comunicaci´on se asume causal,
lineal e invariante en el tiempo y viene representado mediante un modelo AR tal que
H(z) =
1
1 −
p
i=1 biz−i
. (33)
Pues bien, el bloque de deconvoluci´on del canal viene caracterizado por una funci´on de transferencia
G(z), que es un filtro FIR de orden M (es decir, M + 1 coeficientes), siendo M mayor o igual que
p. Se pretende que G(z) sea la inversa de la funci´on de transferencia del canal de comunicaci´on.
Es decir, se desea que
[G(z) ◦ H(z)] = 1, (34)
9
10. lo cual exige que a0 = 1, ai = −bi i = 1, 2, . . . , p y ai = 0 para i > p, siendo aj los coeficientes que
definen el filtro G(z), esto es
G(z) =
M
i=0
aiz−i
. (35)
Si denominamos xest
k a la salida del filtro en el instante k tenemos que
xest
k − xk = (a0reck − reck) +
p
i=1
(ai + bi)reck−i +
M
i=p+1
aireck−i. (36)
Suponiendo que G(z) realiza de forma adecuada la deconvoluci´on, cabr´ıa esperar que la trayectoria
descrita por la secuencia a la salida de este filtro, sea la misma que describe la secuencia original
xk. Asumiendo que el mapa log´ıstico se utiliz´o en la codificaci´on, la funci´on de error a emplear en
la b´usqueda de los coeficientes de G(z) es
ek = xest
k − rest
xest
k−1(1 − xest
k−1), (37)
donde rest
es una estimaci´on del par´ametro de control de la din´amica del mapa ca´otico o un cierto
valor medio. Dado que dicho par´ametro va a estar fluctuando en torno a r0, se considerar´a que
rest
= r0 = 3.9757. Al igual que se procedi´o con el algoritmo LMS, las sucesivas actualizaciones de
los pesos del filtro a construir, vienen dadas por desplazamientos en la direcci´on contraria a la del
gradiente del error cuadr´atico respecto de los coeficientes del filtro, siendo ´este
ak
e2
k = 2ek(reck − rest
reck−1(1 − 2xest
k−1)). (38)
La ley de actualizaci´on de pesos ser´a
ak+1 = ak − µek(reck − rest
reck−1(1 − 2xest
k−1)), (39)
siendo µ el par´ametro que determina la convergencia del algoritmo: si µ es demasiado peque˜no
la convergencia del algoritmo DBD se lleva a cabo de forma lenta, mientras que si es demasiado
grande el sistema se desestabiliza. Para analizar las prestaciones del m´etodo propuesto previamente
es preciso establecer cu´ales son los pesos ´optimos del filtro objeto de dise˜no, es decir, debemos
determinar la soluci´on ´optima de Wiener aopt. Haciendo uso de la ecuaci´on de Wiener-Hopf en
forma matricial (7), teniendo en cuenta que la entrada del sistema xk ahora es reck + vk y que la
se˜nal deseada es dk = xk queda
Rentrada = E (reck + vk)T
(reck + vk) = Rrec + Rv,
rdx(k) = E [xn(recn−k + vn−k)] = E [xnrecn−k] = E recn−krecT
n bext ,
a opt = [R rec + R v]
−1
R rec b ext. (40)
En el an´alisis pr´actico se supondr´a Rv = 0 (caso ideal sin ruido), con lo que
a opt ≈ b ext, (41)
siendo b ext = [1 − b1 − b2 . . . − bp]
T
.
4. Simulaciones y conclusiones
4.1. Test del algoritmo LMS con codificaci´on ca´otica para diferentes
valores del par´ametro µ
El objetivo de este apartado es el de verificar el comportamiento del algoritmo LMS utilizando
diversos valores para la tasa de convergencia µ. Asimismo se comprobar´a la mejora experimenta-
da al utilizar codificaci´on ca´otica. El primer paso consistir´a en definir una cierta figura que nos
permita juzgar la precisi´on del modelo. Una buena figura es la denominada desajuste del modelo
(Model Misadjustment - MM-) respecto a la soluci´on ´optima de Wiener . A continuaci´on se anal-
izan diversas situaciones (en todas ellas se considera ausencia de ruido) present´andose las gr´aficas
que concretan los resultados obtenidos. En dichas gr´aficas se representa en decibelios la figura
MM normalizada respecto al desajuste del modelo inicial. La respuesta impulsiva del canal de
comunicaci´on viene dada por
hn =
1
2 1 + cos(2π
3 (n − 2)) , n = 1, 2, 3
0 , e.o.c.
,
mientras que el filtro a dise˜nar presenta 128 coeficientes (M = 128).
10
11. 4.1.1. Verificaci´on de las prestaciones de la codificaci´on ca´otica
Se pretende mostrar la conveniencia de emplear la codificaci´on ca´otica como herramienta para
aumentar la tasa de convergencia del algoritmo LMS aplicado a la identificaci´on del canal de
comunicaci´on. Esta circunstancia se aprecia sin m´as que observar la figura 8. A la vista de dicha
gr´afica se concluye que la forma m´as conveniente de llevar a cabo la identificaci´on del canal es
por medio de codificaci´on ca´otica con se˜nales de media cero, es decir, antes de enviar la se˜nal a
trav´es del canal conviene substraerle su valor medio, pues de este modo el espectro de la se˜nal
resultante no presenta una delta en el origen, lo que se traduce en un espectro de potencia plano
y, en consecuencia, un n´umero de condici´on bajo para la matriz Rx.
Amplitud normalizada
N´umero de muestra
Figura 7: Se˜nal empleada en los experimentos
MM (dBs)
N´umero de iteraciones
Figura 8: Test LMS para µ = 0.02 sin ruido
4.1.2. Decisi´on valor de µ ´optimo para el caso de se˜nales de voz codificadas mediante
se˜nales ca´oticas de media cero: µ constante
Se pretende determinar un valor adecuado de µ para el caso de codificaci´on ca´otica con se˜nales
de media cero y siendo µ constante en las sucesivas iteraciones del algoritmo LMS. Los resultados
obtenidos aparecen en la figura 9, a la vista de la cual se concluye que 0.07 es un valor adecuado
para µ.
11
12. MM (dBs)
N´umero de iteraciones
Figura 9: B´usqueda de valor ´optimo para la tasa de aprendizaje
4.1.3. Decisi´on valor de µ ´optimo para el caso de se˜nales de voz codificadas mediante
se˜nales ca´oticas de media cero: esquema estoc´astico de iteraci´on
El par´ametro µ en cada iteraci´on n viene descrito por
µ(n) =
µ(0)
n
n = 1, 2, . . . (42)
La elecci´on de µ(0) determina la convergencia del algoritmo siendo crucial la elecci´on de un valor
para el mismo no muy peque˜no (convergencia lenta) ni demasiado grande (inestabilizaci´on del
sistema), tal y como refiere [6]. En el caso que nos ocupa, los resultados m´as satisfactorios se ob-
tuvieron para µ(0) = 10 (mirar figura 10).
MM (dBs)
N´umero de iteraciones
Figura 10: Resultados para esquema estoc´astico de iteraci´on
4.1.4. Decisi´on valor de µ ´optimo para el caso de se˜nales de voz codificadas mediante
se˜nales ca´oticas de media cero: esquema b´usqueda-convergencia
En este caso µ es
µ(n) =
µ(0)
1 + (n/τ)
n = 1, 2 . . . , (43)
12
13. seg´un recoge [6]. A la vista de (43) se concluye que para valores de n peque˜nos respecto de la
constante de tiempo τ, µ es aproximadamente igual a µ(0). Por consiguiente, eligiendo un valor
elevado para µ(0) hacemos que los pesos del filtro se actualicen de forma que se sit´uen cerca de
su valor ´optimo, es decir, en esta fase se lleva a cabo una b´usqueda del ´area entorno a la soluci´on
´optima. Cuando el n´umero de iteraciones es considerablemente elevado, µ(n) es aproximadamente
igual a τµ(0)/n . Es en esta fase cuando los pesos del filtro convergen hacia su valor ´optimo, de
ah´ı que se hable de fase de convergencia. Para nuestro caso particular los resultados obtenidos para
diversos valores de los par´ametros involucrados en (43) aparecen en la figura 11, concluy´endose
que la mejor elecci´on es µ(0) = 0.09 y τ = 4000.
MM (dBs)
N´umero de iteraciones
Figura 11: B´usqueda del valor ´optimo de µ mediante esquema b´usqueda-convergencia
4.1.5. Decisi´on entre los tres valores ´optimos obtenidos
Ahora es tiempo de decidir que esquema es el m´as adecuado a la hora de realizar una iden-
tificaci´on del canal de comunicaci´on v´ıa algoritmo LMS. Para ello representamos conjuntamente
las soluciones ´optimas obtenidas m´as arriba (figura 12), concluyendo que los mejores resulta-
dos se obtienen aplicando codificaci´on ca´otica son se˜nales de media cero y un esquema de
b´usqueda-convergencia para el par´ametro µ, ya que, si bien para un n´umero peque˜no de itera-
ciones la b´usqueda estoc´astica proporciona los mejores resultados, a medida que crece el n´umero de
iteraciones las prestaciones del m´etodo de b´usqueda-convergencia supera a las de los otros m´eto-
dos, siendo especialmente rese˜nable el caso de la b´usqueda estoc´astica, ya que para n´umero de
iteraciones superior a 1000 la mejora experimentada al seguir iterando es muy peque˜na. Es decir,
el algoritmo se “estanca”, increment´andose cada vez m´as la diferencia entre el MM de este m´etodo
y el aportado por el mecanismo de b´usqueda-convergencia.
4.2. Test del algoritmo DBD
Se considerar´a que el canal viene descrito mediante
H(z) =
1
1 − 0.1106z−1 + 0.2309z−2 + 0.5839z−3
(44)
La figura ha utilizar ser´a de nuevo MM y se considera que no hay ruido en el canal. Los valores
iniciales de los pesos del filtro vienen dados por el resultado de aplicar, para un n´umero peque˜no de
iteraciones, el algoritmo de identificaci´on del canal basado en el m´etodo LMS a una se˜nal ca´otica
pura generada a partir del mapa log´ıstico para r = 3.9757. De nuevo todos los resultados obtenidos,
que aparecen sintetizados en las siguientes gr´aficas, se encuentran normalizados respecto al MM
determinado por los pesos iniciales anteriormente citados. Adem´as, el resultado de tal normalizaci´on
se expresa en decibelios. El ´ultimo punto a aclarar antes de mostrar las gr´aficas es el referido a la
elecci´on del orden del filtro a dise˜nar. Es decir, en el receptor se ha de suponer un cierto orden
para el filtro a construir, teniendo que ser dicho orden igual o superior al orden del filtro AR que
13
14. MM (dBs)
N´umero de iteraciones
Figura 12: Comparaci´on entre valores ´optimos de µ
modela el canal. Hechas todas las aclaraciones oportunas, pasamos a analizar el comportamiento
del algoritmo DBD para las 3 implementaciones del par´ametro µ presentadas en la secci´on anterior.
4.2.1. Tasa de aprendizaje constante
Suponiendo que conocemos a ciencia cierta el orden del filtro AR que modela el canal, y que
en este caso es 3 (esto es, el canal tiene 4 coeficientes), se analiza la calidad del m´etodo DBD
para diversos valores de µ, siendo ´este constante a lo largo de las diversas iteraciones. La primera
consecuencia destacable tras analizar la figura 13, son las oscilaciones que los coeficientes del filtro
construido presentan una vez se ha alcanzado la adaptaci´on. Esto es resultado de que se intenta
aproximar la din´amica de un sistema c´aotico, de modo que peque˜nos cambios en los pesos del
filtro se traducen en “grandes” diferencias entre las trayectorias predichas para dos instantes de
tiempo diferentes (recordar que una de los rasgos principales de un comportamiento ca´otico era que
trayectorias inicialmente pr´oximas tienden a separarse exponencialmente con el tiempo). Es decir,
en r´egimen permanente los cambios en los pesos del filtro generado mediante el algoritmo DBD
se ven amplificados. La siguiente conclusi´on es relativa al valor del par´ametro de convergencia. Se
observa que para valores de µ inferiores a 0.01 el sistema es excesivamente lento, mientras que a
medida que µ crece por encima de 0.01 y se acerca a 0.06 las oscilaciones en r´egimen permanente
son mayores, de modo que para µ mayor que 0.06 el sistema se inestabiliza. En definitiva, parece
que µ = 0.01 da lugar a un comportamiento aceptable.
14
15. MM (dBs)
N´umero de iteraciones
Figura 13: B´usqueda de valor ´optimo de µ para DBD y esquema de iteraci´on constante
4.3. Esquema estoc´astico
El valor que da mejores resultados es, teniendo en cuenta la figura 14, µ = 0.3. De dicha gr´afi-
ca se desprende, adem´as, que el esquema estoc´astico para µ hace que en r´egimen permanente el
sistema no oscile, debido a que para n suficientemente grande µ presenta valores peque˜nos que
casi no amplifican los cambios experimentados en los pesos del filtro. Por el contrario, la robustez
en cuanto a estabilidad que se gana se traduce en una convergencia m´as lenta, es decir, existe un
compromiso entre precisi´on y rapidez.
MM (dBs)
N´umero de iteraciones
Figura 14: B´usqueda de valor ´optimo de µ para DBD y esquema de iteraci´on estoc´astico
4.4. Esquema b´usqueda-convergencia
En los diversos experimentos realizados, algunos de los cuales aparecen representados en la
figura 15, se observ´o que para un valor de µ(0) superior a 0.08 los pesos del filtro crecen demasiado
para las primeras iteraciones del algoritmo, lo cual no conviene, pues empeora la tasa de con-
vergencia. Por ello se asumi´o µ(0) = 0.08 como un valor adecuado. A continuaci´on se realizaron
diversos experimentos con µ(0) = 0.08 y τ variable, concluy´endose que, para µ(0) fijo, a medida
que τ aumenta las oscilaciones en r´egimen permanente se acent´uan, debido a que µ(n) mantiene
un valor elevado para un mayor n´umero de iteraciones. Por esta circunstancia se elige τ = 100 y
µ(0) = 0.05 como un conjunto de valores que determinan un comportamiento satisfactorio.
15
16. MM (dBs)
N´umero de iteraciones
Figura 15: B´usqueda de valor ´optimo de µ para DBD y esquema de iteraci´on b´usqueda-convergencia
4.5. Decisi´on entre los tres valores ´optimos
Si representamos las soluciones ´optimas obtenidas para cada uno de los esquemas de generaci´on
del par´ametro de aprendizaje del algoritmo DBD (figura 16), hemos de elegir como mejor opci´on
la representada por un dise˜no de µ seg´un el modelo de b´usqueda-convergencia de Moody y Darken,
ya que es para esta situaci´on cuando se alcanza una r´apida convergencia y,adem´as, en r´egimen
permanente las oscilaciones de los pesos del filtro implementado casi no son apreciables.
MM (dBs)
N´umero de iteraciones
Figura 16: Comparaci´on entre los diversos esquemas iterativos para el algoritmo DBD
4.6. Test de los algoritmos LMS y DBD en presencia de ruido
El canal de comunicaci´on ser´a modelada seg´un (44). Al igual que se hizo en el apartado 4.1, se
supone que el filtro a dise˜nar mediante el algoritmo LMS posee 128 coeficientes. Las simulaciones
obtenidas aparecen en la figura 17 y la figura 18, habi´endose obtenido ambas seg´un los dise˜nos
“´optimos” para cada algoritmo. La primera gr´afica (figura 17) nos lleva a concluir que el algoritmo
DBD presenta un comportamiento aceptable cuando la relaci´on se˜nal a ruido (SNR) es cercana o
superior a 20 dB. Adem´as el comportamiento del algoritmo, en el caso de trabajar en las condiciones
reci´en rese˜nadas, es aceptable a´un cuando el orden del filtro a dise˜nar no coincide con el orden de la
16
17. funci´on de transferencia que modela al canal. Es m´as, la tasa de convergencia del algoritmo DBD
- tabla 2- para SNR = 20dB es mayor que la presenta el algoritmo LMS - tabla 3 - con se˜nales
ca´oticas de media cero, si bien se observ´o que para ´ordenes del filtro a implementar superiores
o iguales a 8 durante las primeras iteraciones del algoritmo DBD no existe convergencia alguna,
esto es, los pesos del filtro se alejan de la soluci´on ´optima, aunque este comportamiento s´olo existe
durante un r´egimen transitorio. Para concluir, es necesario rese˜nar la importancia de seleccionar
un valor no excesivamente elevado para la tasa de aprendizaje inicial en el caso del algoritmo DBD,
pues a dicha tasa amplifica los efectos perjudiciales del ruido. De este modo, experimentalmente
se comprob´o que conven´ıa
µ(0) ≤ 10−7
, τ = 10 para 0 ≤ SNR < 10 dBs (45)
µ(0) ≤ 10−4
, τ = 100 para 10 ≤ SNR ≤ 15 dBs (46)
µ(0) ≤ 0.02, τ = 200 para 15 < SNR ≤ 25 dBs (47)
Tasa de convergencia aproximadas para el algoritmo DBD
orden del filtro 3 4 6 8
SNR<20 dBs 0.11dB/100 iter. 0.09 dB/100 iter. 0.37 dB/100 iter. 0.27dB/100 iter.
SNR≥20 dBs 13 dB/100 iter. 13 dB /100 iter. 6 dB/100 iter. 3 dB/100 iter.
Tabla 2: Convergencia para DBD
MM (dBs)
N´umero de iteraciones
(a) Orden filtro=3
N´umero de iteraciones
(b) Orden filtro=4
MM (dBs)
N´umero de iteraciones
(c) Orden filtro=6
N´umero de iteraciones
(d) Orden filtro=8
Figura 17: Simulaciones para el algoritmo DBD en presencia de ruido
17
18. MM (dBs)
N´umero de iteraciones
Figura 18: An´alisis algoritmo LMS en presencia de ruido
Tasa de convergencia aproximada para el algoritmo LMS
SNR < 20 dBs 2 dB/100 iter.
SNR ≥ 20 dBs 4 dB /100 iter.
Tabla 3: Convergencia LMS en presencia de ruido
Referencias
[1] J.M.H. Elmirghani, S.H. Milner, R.A. Cryan, Experimental evaluation of echo path modelling
with chaotic coded speech, IEEE Trans. Signal Processing, vol. 45, pp. 2600-2604, Oct. 1997.
[2] A.M¨uller, J.M.H. Elmirghani, Blind channel estimation and echo cancellation using chaotic
coded signals, IEEE Communications Letters, vol 3, No. 3, pp. 72-74, Mar. 1999.
[3] A.M¨uller, J.M.H. Elmirgani, A chaotic spreading code and its application to blind channel es-
timation, Proc. IEEE Global Telecommunications Conference, GLOBECOM’01, San Antonio,
pp. 186-190, Nov. 2001.
[4] S. Haykin, Adaptive Filter Theory, Third Edition, Englewood Cliffs, NJ: Prentice-Hall, Signal
Processing Series, 1985.
[5] B. Widrow, S.D. Stearns, Adaptive signal Processing, Englewood Cliffs, NJ: Prentice-Hall,
Signal Processing Series, 1985.
[6] C. Darken, J. Moody, Towards faster stochastic gradient search, Advances in Neural Informa-
tion Processing Systems, vol. 4, pp. 1009-1016, San Mateo, CA: Morgan Kauffman, 1992.
[7] Miguel Romera, T´ecnica de los sistemas din´amicos discretos, Consejo Superior de Investiga-
ciones Cient´ıficas, 1997.
[8] C. Fern´andez P´erez, F.J. V´azquez Hern´andez, J.M. Vegas Montaner, Ecuaciones diferenciales
y en Diferencias. Sistemas Din´amicos, Thomson, Madrid 2003.
18