Vous êtes sur la page 1sur 3

Annulation d echo par algorithme LMS

1.

Introduction : ltre de Wiener


y(n) x(n) x ( n) g(n) +

(n)

Figure 1 Filtre de Wiener Consid erons le sch ema de la gure 1 : dans ce sch ema, le signal xn est le r esultat de la propagation du signal yn ` a travers un canal inconnu. Le but de lalgorithme que nous allons etudier est de d eterminer, ` a partir des s eries dobservations xn et yn , un ltre lin eaire de r eponse impulsionnelle nie qui repr esente une bonne approximation du canal. Pour cela on choisit, comme crit` ere dapproximation, la minimisation de la quantit e positive : J (g ) = E |xn x n |2 = E |xn g T y n |2 (1)

o` u g = [g0 . . . gP 1 ]T et y n = [yn . . . ynP +1 ]T . On suppose que xn et yn sont des processus al eatoires r eels, centr es, stationnaires au second ordre et dintercovariance stationnaire. On a donc E {xn } = 0, E {yn } = 0, E {xn+k xn } = Rxx (k ), E {yn+k yn } = Ryy (k ) et E {xn+k yn } = Rxy (k ). Lexpression du ltre qui minimise (1) est donn ee par le th eor` eme de projection ou, ce qui est equivalent ici, par lannulation du gradient de J (g ) par rapport a g . En d ` eveloppant (1) et en utilisant les hypoth` eses de stationnarit e, on obtient : J (g ) = Rxx (0) 2g T r xy + g T R yy g 1) et r xy = [Rxy (0), . . . , Rxy (P 1)]T . En d erivant (2) par rapport ` a g , on obient : J (g ) = 2(r xy R yy g ) = 0 g En conclusion le ltre optimal, appel e ltre de Wiener, est la solution de l equation : R yy g w = r xy On note Jmin le minimum de J atteint pour g = g w . Un calcul simple montre alors que : J (g ) = Jmin + (g g w )T R yy (g g w ) On note que, si on connaissait ` a la fois R yy et r xy , on pourrait r esoudre l equation (3) et d eterminer le ltre optimal g w . En pratique, dune part R yy et r xy ne sont pas connus mais dautre part les hypoth` eses de stationnarit e des signaux ainsi que celle dinvariance dans le temps du canal de propagation ne sont pas r eellement v eri ees. Cest a mesure que les signaux arrivent. pourquoi on pr ef` ere disposer dune expression de g qui puisse sadapter au fur et ` On parle alors de ltrage adaptatif (en anglais adaptive lter). Une id ee est de partir dune equation r ecurrente dont la solution, dans le cas stationnaire, est pr ecis ement la solution de l equation (3). (3) (2)

o` u R yy est la matrice de To eplitz, de dimension (P P ), construite ` a partir des autocovariances Ryy (0), . . . , Ryy (P

2.

Algorithmes Least Mean Square

Algorithme du gradient stochastique ou LMS ` a pas constant (LMS) Comme nous lavons dit, la matrice dautocovariance R yy et le vecteur dintercovariance r xy ne sont pas connues. Ces quantit es doivent donc etre estim ees ` a partir des donn ees observ ees. Dautre part, comme les hypoth` eses de stationnarit e ne sont jamais v eri ees ` a long terme, on ne peut se contenter dune estimation unique en d ebut de traitement. Il faut donc r e-estimer de fa con r eguli` ere ces covariances. 1

Partant de lexpression du gradient d eterministe que nous rappelons : g n = g n1 on peut ecrire successivement : gn = = = g n1 (r xy R yy g n1 ) g n1 E xn y n E y n y T n g n1 g n1 E y n (xn y T n g n1 ) J (g ) g = g n1 + (r xy R yy g n1 ) (4)

g =g n1

Lid ee des algorithmes stochastiques de gradient est de remplacer dans lexpression pr ec edente les esp erances math ematiques par des valeurs instantan ees, en enlevant purement et simplement le signe esp erance. Cette fa con de proc eder a et e utilis ee, avec des r esultats plus ou moins heureux, pour dautres fonctions de co ut que celle donn ee par (??) et pas n ecessairement quadratiques. Les r esultats sont tr` es variables. On en d eduit lalgorithme dit algorithme LMS : Valeur initiale : g 0 = [0, , 0]T , R ep eter : g (n 1) en = xn y T n g n = g n1 + y n en (5)

Le signal en a une signication claire : il repr esente l ecart entre la valeur observ ee xn en sortie et ce que lon aurait d u observer si le ltre g n1 etait, ` a linstant n, le bon ltre. La forme de lalgorithme est facile ` a interpr eter : si en est nulle, on peut raisonnablement consid erer que les coecients ont la bonne valeur, auquel cas on les laisse inchang es. Dans le cas contraire, la correction apport ee ` a g n1 par le terme y n en est dautant plus importante que l ecart en est grand. En pratique, pour xer la valeur de , on adopte souvent la proc edure suivante : on augmente progressivement jusqu` a ce que lalgorithme diverge puis ensuite on r eduit la valeur obtenue dau moins 10%. Une fois la valeur de d etermin ee, on pr esente les r esultats sous la forme de l evolution de l ecart instantan e |en |2 . 2 En pratique, lorsquon veut acher la trajectoire de |en | , qui est souvent tr` es chaotique, il est dusage de lisser |en |2 en moyennant sur une fen etre de quelques valeurs successives ou en utilisant une expression de la forme : eL,n = (1 )eL,n1 + |en |2 Plus le param` etre > 0, appel e facteur doubli, est voisin de 0, plus les uctuations de |en |2 sont liss ees. Typiquement on pourra prendre = 0.05. Algorithme du LMS normalis e (NLMS) L etude du gradient d eterministe montre que le pas doit etre de lordre de linverse de la plus grande valeur propre de la matrice R yy . Do` u lid ee de normaliser le pas en divisant par la puissance de yn . Ce qui conduit ` a lalgorithme dit LMS normalis e: Valeur initiale : g 0 = [0, , 0]T , R ep eter : g en = xn y T n n1 N g n = g n1 + en y n +yT y n n o` u est une constante qui evite la division par 0. (6)

3.

Application : annulation d echo

Le probl` eme de lannulation d echo fournit un exemple dutilisation de lalgorithme LMS. Dans certaines situations, comme par exemple en t el ephonie main-libre, un haut-parleur se trouve ` a proximit e dun microphone (gure 2). Dans ce cas le signal sortant du haut-parleur, apr` es un trajet acoustique d ependant du lieu o` u on se trouve, entre dans le microphone et provoque un echo ind esirable. En pratique, on peut mod eliser le trajet acoustique par un ltre lin eaire dont la r eponse impulsionnelle inconnue peut comporter plusieurs centaines de coecients.

s(n) x(n) Canal

z(n) + x(n)

Filtre y(n)

Figure 2 Sch ema de lannulation d echo echo qui en r esulte devant le microphone, sn le signal utile On note yn le signal en sortie du haut-parleur, xn l a lentr ` ee du microphone et zn le signal observ e en sortie du microphone. On peut ecrire : zn = sn + hn yn Le probl` eme de lannulation d echo est destimer sn ` a partir des deux suites dobservation yn et zn . Pour que le probl` eme puisse etre r esolu nous supposons : les suites sn est yn ne sont pas corr el ees, lestimation de sn est de la forme s n = zn g T y n , g est d etermin e par minimisation de : J (g ) = E (sn s n )2 1. Montrer que dans ce cas lannulation d echo revient ` a la d etermination du ltre de Wiener suivant le sch ema de la gure 1. On peut donc utiliser lalgorithme LMS/NLMS pour estimer g , puis le signal x n = g T y n quil faut soustraire ` a zn pour obtenir s n .
2 2. On consid` ere tout dabord la situation suivante : yn est un bruit blanc de variance y = 1, xn est obtenu par ltrage de yn par le ltre de r eponse impulsionnelle [1 0.3 0.2 0.1 0.05] et sn est un bruit blanc de 2 = 1, soit 0 dB de rapport signal d echo sur signal utile. variance x Faire un programme qui simule lexp erience et qui met en uvre les algorithmes LMS/NLMS. Donner, sous forme de graphiques, les r esultats obtenus concernant la vitesse de convergence et le niveau atteint du crit` ere. On pourra repr esenter les coecients du ltre adaptatif. Commenter, en fonction du pas, le compromis convergence et r esidus dajustement.

3. Le chier les2voies.mat contient deux signaux : le signal yn en sortie du haut-parleur et le signal zn en sortie du microphone qui est la somme du signal utile sn et du signal d echo xn . Faire un programme qui met en uvre lalgorithme LMS/NLMS, de fa con ` a annuler l echo et ` a retrouver le signal utile sn . On prendra une longueur de ltre de lordre de 60 ; En utilisation normale, les choses se compliquent car les hypoth` eses sont mal v eri ees, en particulier en pr esence du signal sn qui, lors de lidentication du transfert acoustique, repr esente le signal nuisible. On se retrouve alors souvent avec un faible rapport signal utile sur signal nuisible.