Vous êtes sur la page 1sur 41

TIPE ltrage adaptatif ENSA kenitra

FILTRAGE ADAPTATIF

Réalisé par :
*Anass driâte *Rabie bourziza

encadré par :
Mr Taib Belghiti
TIPE ltrage adaptatif ENSA kenitra

2
TIPE ltrage adaptatif ENSA kenitra

Figure 1: Norbert Wiener

Norbert Wiener (né le 26 novembre 1894 à Columbia (Missouri),


États-Unis, mort le 18 mars 1964 à Stockholm, Suède) est un
mathématicien américain, théoricien et chercheur en mathématiques
appliquées, surtout connu comme le père fondateur de la cybernétique. Il
fut un pionnier dans l'étude de la stochastique et du bruit, contribuant
ainsi par ses travaux à l'électrotechnique, les télécommunications et les
systèmes de contrôle. En fondant la cybernétique, Wiener introduit en
science la notion de feedback (rétroaction), notion qui a des implications
dans les domaines de l'ingénierie, des contrôles de système, l'informatique,
la biologie, la psychologie, la philosophie et l'organisation de la société.

3
TIPE ltrage adaptatif ENSA kenitra

Jean Baptiste Joseph Fourier est un mathématicien et physicienfrançais né


le 21 mars 1768 à Auxerre et mort le 16 mai 1830 à Paris. Il est connu pour
ses travaux sur la décomposition de fonctions périodiques en séries
trigonométriques convergentes appelées séries de Fourier et leur application
au problème de la propagation de la chaleur.

4
TIPE ltrage adaptatif ENSA kenitra

INTRODUCTION

De façon générale les ltres adaptatifs sont des systèmes appliqués sur
des données bruitées pour obtenir une information utile à un certain instant
t ,ces systèmes étant mis en oeuvre dans trois congurations :
• Le ltrage c'est à dire l'extraction de cette information au temps t à partir
des données bruitées mesurées jusqu'au temps t inclus.
• Le lissage qui utilisera aussi les données postérieures au temps t.
• La prédiction qui ne se sert que des données jusqu'au temps t- pour déduire
l'information qui nous intéresse au temps t.
Dans la première partie de ce cours nous exposerons l'approche statistique
du problème (ltrage de Wiener). Les ltres de Wiener développés à partir
de concepts temporels et non fréquentiels sont conçus pour minimiser l'erreur
quadratique moyenne entre leur sortie et une sortie désirée. Ils sont dits opti-
mum au sens du critère de l'erreur quadratique moyenne et nous verrons que
dans ce cas les coecients du ltres sont liés à la fonction d'autocorrélation
du signal d'entrée et à l'intercorrélation entre les signaux d'entrée et de sortie
désirée.
Quand les fonctions d'auto et d'intercorrélation ne sont pas connues (cas le
plus courrant), alors on va approcher le ltre optimal de Wiener en utilisant
une boucle de retour et un algorithme de minimisation : c'est ce que l'on
appelle le ltrage adaptatif. Dans ce cas, on remplacera la connaissance des
fonctions de corrélation par une phase d'apprentissage permettant de modi-
er itérativement la réponse impulsionnelle du ltre.

5
CHAPTER 1
RAPPELS MATHÉMATIQUES

Dans ce cours, seuls sont traités les signaux discrets c'est à dire échantillon-
nés. Un signal temporel x(t) sera donc décrit par la valeur xk de ses échan-
tillons aux instants kTe . Te designe la période d'échantillonnage. On sup-
posera dans la suite que la période d'échantillonnage a été judicieusement
choisie de maniére é satisfaire la condition du théoréme de Shannon.

1.1 La Transformée de Fourier


Rappelons que la transformée d'un signal échantillonne x(t) est dénie par :

+∞
X
T F [x(t)] = X(f ) = xk ej2πf kTe
−∞
P+∞
Cette transformée de Fourier existe si −∞ |xk | existe. Dans la suite, lorsqu'on
sera sera amené à calculer une transformée de Fourier, la condition précédente
sera supposée vériée par défaut. De même, certains calculs nécessiteront
la permutation d'intégrales, de sommes et de limites. Par défaut, les condi-
tions nécessaires à la validité de ces permutations seront supposées satisfaites
(voir cours de Mathématiques). La transformée de Fourier d'un signal échan-
1
tillonné étant périodique de période , la transformée de Fourier inverse
Te

6
TIPE ltrage adaptatif ENSA kenitra

R
s'exprime par : xk = Te 1 X(f )ej2πf kTe df Cette propriété de réversibilité
Te
est de première importance puisqu'elle signie que x(t) et X(f ) contiennent
les mêmes informations, décrivent les mêmes comportements mais simple-
ment de manière diérente. Ce qui dière c'est simplement la nature des
informations directement accessibles. La représentation temporelle décrit les
variations au cours du temps du signal, la représentation fréquentielle dé-
crit la vitesse à laquelle se font ces variations. Ainsi, suivant l'information
recherchée, suivant le phénomène observé il peut être plus intéressant de
traiter l'une ou l'autre des représentations. La représentation graphique de
la transformée de Fourier se fait la plupart du temps par l'intermédiaire du
2
module |X(f )| ou encore du module au carré. Ce dernier terme |X(f )| est
appelé densité spectrale et est noté :

Sxx (f ) = X(f )X ∗ (f ) = |X(f )|2

De la même manière, la densité spectrale interspectre est dénie par :

Syx (f ) = Y (f )X ∗ (f ) = |X(f )|2

1.2 L'impulsion
Tout comme l'analyse en temps continu, l'analyse en temps échantillonné
utilise couramment la séquence impulsion. Cette séquence est notée δ(t) et
se caractérise par :  
1 pour k=0
δk =
0 pour k 6= 0

Figure 1.1: Impultion

Cette impulsion permet une formulation du signal x(t) comme suit :

7
TIPE ltrage adaptatif ENSA kenitra

+∞
X
x(t) = xk δ(t − kTe )
−∞

La transformée de Fourier de l'impulsion est :

+∞
X
T F [δ(t)] = δk ej2πf kTe
−∞

Un train d'impulsion de période T est déni par :

+∞
X
δT = δ(t − kTe )
−∞

La transformée de Fourier d'un train d'impulsion est :

1
T F [δT (t)] = δ 1 (f )
T T

1.3 Le ltrage numérique linéaire


Rappelons ici la notion de ltrage numérique linéaire. On considère pour
cela un ltre H(q) déni par :

+∞
X
H(q) = hi q −i
i=O

les termes hi dénissent les coecients de la réponse impulsionnelle du ltre


−1 −1
et q est l'opérateur retard : q (i)x(t) = x(t − Te )
Le ltrage de x(t) par H(q) s'exprime comme suit :

y(t) = H(q)x(t)

+∞
X
y(t) = hi q −i x(t)
i=0

+∞
X
y(t) = hi x(t − iTe )
i=0

8
TIPE ltrage adaptatif ENSA kenitra

Ainsi la valeur yk de y(t) à l'instant t = kTe est :

+∞
X
yk = hi xk−i
i=0

Le ltrage linéaire s'exprime de manière équivalente par l'intermédiaire du


produit de convolution *. Si on dénit un signal h(t) à partir des coecients
hi :

+∞
X
h(t) = hk δ(t − kT e)
k=0

le produit de convolution entre h(t) et x(t) est :

z(t) = h(t) ∗ x(t)

+∞
X
z(t) = h(iTe )x(t − iTe )
i=−∞

+∞ X
X +∞
z(t) = hk δ(iTe − kTe )x(t − iTe )
i=−∞ k=0

+∞
X
z(t) = hi x(t − iTe )
i=−∞

+∞
X +∞
X
z(t) = hi xq δ(t − iTe − qTe )
i=∞ q=−∞

pour t = kT e
+∞
X +∞
X
z(kTe ) = hi xq δ(kTe − iTe − qTe )
i=−∞ q=−∞

9
TIPE ltrage adaptatif ENSA kenitra

+∞
X
zk = hi xk−i
i=−∞

et puisque les hi sont nuls pour i < 0, on a :

+∞
X
zk = hi xk−i = yk
i=0

Ainsi on retrouve bien l'expression précédente sur yk . Remarquons que la


transformée de Fourier de y(t) s'écrit :

+∞ X
X +∞
T F [y(k)] = ( hi xk−i )e−j2πf kTe
k=−∞ i=0

+∞ X
X +∞
T F [y(k)] = hi xk−i e−j2πf ite e−j2πf (k−i)Te )
k=−∞ i=0

T F [y(t)] = T F [h(t)]T F [x(t)]

La transformée de Fourier du ltre est notée T F [h(t)] :

+∞
X
T F [h(t)] = hi e−j2πf ite = H(ej2πf Te )
i=−∞

En terme d'analyse spectrale on a :

2
Syy (f ) = H(ej2πf Te ) Sxx (f )

et:

Syx (f ) = H(ej2πf Te Sxx (f )

10
TIPE ltrage adaptatif ENSA kenitra

1.4 Analyse de corrélation


Dans ce cours on distingue deux types de signaux : les signaux déterministes
et les signaux aléatoires :
 Les signaux déterministes sont les signaux caractérisés par leur évolution
temporelle, par exemple l'échelon, la rampe, une sinusoîde, etc. Ces signaux
sont parfaitement connus et pourvu qu'on connaisse la loi d'évolution et un
échantillon à un instant donné, il est possible de retrouver l'intégralité du
signal. Cette classe de signaux tend à modéliser les signaux type excitation,
entrée de systéme, point de fonctionnement, etc.
 Les signaux aléatoire correspondent aux signaux qu'on va dire incertain.
Ils sont caractérisés par une densité de probabilité et la connaissance d'un
ou plusieurs échantillons à un instant donné ne sura jamais à retrouver
l'intégralité du signal. Cette classe de signaux tend à modéliser les bruits tels
que les bruits de mesure ou encore les dynamiques négligeables d'un système.
Les Signaux déterministes Les signaux déterministes se répartissent en deux
classes : les signaux à énergie nie et les signaux à puissance nie. Pour un
signal x(t) , l'énergie Exx et la puissance Pxx sont dénies par:

+∞
X
Exx = xk x∗k
−∞

N
1 X
Pxx = limN →+∞ xk x∗k
2N + 1 −N

Une extension de la notion d'énergie (puissance) est la fonction d'autocorrélation


notée Rxx. Cette fonction est denie de diérentes manières suivant qu'on
considère un signal à énergie nie ou à puissance nie :
Signaux à énergie nie :

+∞
X
Rxx (i) = xk+i x∗k
−∞

On a ainsi :
Rxx (0) = Exx
Signaux à puissance nie :

N
1 X
Rxx = limN →+∞ xk+i x∗k
2N + 1 −N

11
TIPE ltrage adaptatif ENSA kenitra

On a ainsi:

Rxx (0) = Exx


Si on considère un second signal y(t) on dénit la fonction d'intercorrélation
comme suit :
Signaux à énergie nie :

+∞
X
Eyx (i) = yk+i x∗k
−∞

Signaux à puissance nie :

N
1 X
Ryx = limN →+∞ yk+i x∗k
2N + 1 −N
Les fonctions de corrélation et les spectres sont liés par les relations sui-
vantes :
T F [Rxx (t)] = Sxx (f )
T F [Ryx (t)] = Syx (f )
d'oùles gures 1.2 et 1.3.

12
TIPE ltrage adaptatif ENSA kenitra

Les Signaux aléatoires : Pour les signaux aléatoires les fonctions d'autocorrélation
et d'intercorrélation sont dénies par :

Γxx (t1 , t2 ) = (x(t1 )x(t2 ))


Γyx (t1 , t2 ) = (y(t1)x(t2))
Un signal aléatoire ergodique stationnaire est nécessairement à puissance
nie. Les fonctions de corrélations dénies ci-dessus sont telles que :

N
1 X
Γxx (t1 , t2 ) = Rxx (i) = limN →+∞ xk+i x∗k
2N + 1 −N

N
1 X
Γxx (t1 , t2 ) = Ryx (i) = limN →+∞ yk+i x∗k
2N + 1 −N
Avec i = t1 − t2 La transformée de Fourier d'un signal aléatoire n'étant pas
dénie, les gures 1.2 et 1.3 sont remplacées par les gures 1.4 et 1.5.

13
TIPE ltrage adaptatif ENSA kenitra

14
CHAPTER 2
FILTRES DE WIENER ET ALGORITHMES
POUR LE FILTRAGE ADAPTATIF

2.1 Filtre De Weiner Type FIR


Considérons la gure suivante :

Le problème du ltrage optimal de trouver le  meilleur  ltre c'est à


dire celui permettant d'obtenir en sortie une réponse y(n) la plus  proche 

15
TIPE ltrage adaptatif ENSA kenitra

possible d'une réponse désirée d(n) lorsque l'entrée est une certaine séquence
u(n).
On note e(n) = y(n) − d(n) l'erreur entre la réponse désirée d(n) et la sortie
y(n). On note également w(n) la réponse impulsionnelle du ltre . Le pro-
blème consiste donc à rechercher le ltre assurant l'erreur la plus faible e(n),
au sens d'une certaine fonction de coût :
ξ(n) = E(e2 (n)).
De nombreux choix sont possibles en ce qui concerne la fonction de coût
par exemple:
- erreur quadratique moyenne,
- erreur L1 ,
− erreurLk ,
− erreurL∞ ,
Parmi celles-ci, l'erreur quadratique moyenne est la plus utilisée, car elle
conduit à des développements mathématiques complets et simples, fournit la
solution en fonction des caractéristiques au second ordre des variables aléa-
toires, caractéristiques qui sont les plus simples à estimer, et enn fournit
une solution unique. C'est sur l'estimation linéaire en moyenne quadratique
que repose le ltrage de Wiener.

On se limitera ici au calcul des ltres FIR(en anglais Finite Impulse Res-
ponse lter ou FIR lter). Selon les mêmes principes, on peut calculer des
ltres IIR. C'est ce qui sera vu dans la suite du cours avec les modèles ARMA
utilisés en codage de parole.

Appelons H, le ltre que nous recherchons et N la longueur de sa réponse


impulsionnelle donnée avec une notation matricielle par :

16
TIPE ltrage adaptatif ENSA kenitra

 
h0



h1
 h2
h=
 


..
 ..
hN −1
Le signal estimé x̂(n) peut alors s'écrire :
PN −1
x̂(n) = i=0 hi y(n − i)
ou encore en introduisant la notation matricielle pour y(n) (Eq. 5.3) :
T T
x̂(n) = h Y (n) ⇔ x̂(n) = Y (n)h
avec:  
y(n)
 y(n − 1) 
 
Y (n) = 
 y(n − 2) 

 ... 
y(n − (N − 1))
En faisant l'hypothèse que les signaux x(n) et y(n) sont stationnaires, et
si on introduit l'équation 5.3 dans l'équation 5.2, on arrive à la fonction coût
T 2
suivante : ξ = E[(x(n) − h Y (n)) ]
⇔ ξ = E[x (n) − 2h Y (n)x(n) + hT Y T (n)Y (n)h] ξ = E[x2 (n)] − 2hT φxy +
2 T

hT φyy h (Eq. 5.4)


où φyy est une matrice d'autocorrélation de taille NxN dénie par :

φyy = E[Y (n)Y T (n)] (Eq. 5.5)


et où φxy est une vecteur d'intercorrélation de taille N déni par : φxy =

E[Y (n)x(n)] (Eq. 5.6) L'équation 5.4 montre que pour un ltre FIR(en
anglais Finite Impulse Response lter ou FIR lter), la fonction coût MSE
dépend de la réponse impulsionnelle h. Pour en obtenir le minimum, il sut
de chercher les conditions d'annulation de la dérivée de la fonction coût par
rapport au variables que sont les N points de la réponse impulsionnelle du
eme
ltre. La dérivée de la fonction coût par rapport au j point de la réponse
impulsionnelle est donnée par : En substituant dans cette équation e(n) par
les équations 5.1 et 5.3, on obtient l'expression suivante :
2
∂ξ
∂hj
= E[ ∂e∂h(n)
j
] = E[2e(n) ∂e(n)
∂hj
] En utilisant le fait que la sortie du ltre
hT Y (n) peut s'écrire comme une somme de N produits dont un seul contient
∂ξ ∂(−hj y(n−j))
le terme hj, on a arrive à l'expression suivante :
∂hj
= E[2e(n) ∂hj
]
∂ξ
∂hj
= E[−2e(n)y(n − j)]

17
TIPE ltrage adaptatif ENSA kenitra

On cherche les conditions d'annulation de cette équation pour tous les

j = (0, ..., N − 1)

. Ceci nous donne un ensemble de N équations qui peut être écrit de façon
matricielle en introduisant le vecteur gradient :
 ∂ξ     
∂h0 y(n)e(n) y(n)
 ∂ξ   y(n − 1)e(n)   y(n − 1) 
 ∂h1    
 ...   ...   ... 
∇ =  ∂ξ  = −2E   = −2E 
 y(n − j)  .e(n)
  
 ∂hj   y(n − j)e(n) 
   
... ...
 
 ...     
∂ξ y(n − N + 1)e(n) y(n − N + 1)
∂hN −1
En utilisant les équations 5.1 et 5.3 pour remplacer e(n) on obtient :

∇ = −2E[Y (n)(x(n) − Y T (n)h)] = −2E[Y (n)x(n)] + 2E[Y (n)Y T (n)h]

qui devient en introduisant la matrice d'autocorrélation et le vecteur d'intercorrélation

: ∇ = −2φxy + 2φyy h (Eq. 5.7)

La réponse impulsionnelle optimale hopt est celle qui annule cette équation

d'où : φyy hopt = φyx (Eq. 5.8)

Le ltre ainsi déni est appelé ltre FIR de Wiener. Il permet d'obtenir
une erreur quadratique minimale entre x(n) et son estimé x̂(n)donnée par :
2
ξmin = E[x (n)] − hTopt φxy (Eq. 5.9)

2.2 Applications Des Moindres Carrés Pour Les


Filtres
2.2.1 FORMULATION DU FILTRAGE DE WIENER
DANS LE CADRE DES MOINDRES CARRES
Nous avons résolu précédemment le problème du ltrage de Wiener en nous
2
appuyant sur la fonction de coût déterministe J = E(|e(n)| ) L'inconvénient
de cette approche est que les grandeurs statistiques sont diciles à obtenir.
D'autre part comme nous l'avons déjà signalé , la solution optimale obtenue
n'est valable que pour un signal stationnaire. L'approche du gradient sto-
chastique nous a permis, à partir de ce critère statistique de nous aranchir
de ces inconvénients mais nous pouvons choisir de reformuler le problème

18
TIPE ltrage adaptatif ENSA kenitra

dans le cadre des moindres carrés, c'est-à-dire rechercher le ltre qui mini-
mise la somme des carrés des erreurs, jusqu'à l'instant considéré n . Nous
donnerons dans le paragraphe  Algorithme des moindres carrés récursifs
 une approche récursive de ce problème (autorisant une évolution pour un
fonctionnement adaptatif ) . Dans un premier temps nous allons considérer le
cas dans lequel on connaît le signal d'entrée un sur N points et trouver le ltre
optimal pour ce bloc de données. Remarque : pour simplier les équations
nous considérerons maintenant le cas d'un ltre à coecients réels.

2.2.2 Critère des moindres carrés pour un bloc de don-


nées de N points (u0,u1,. . . ,uN-1)

JM C = i e(i)2 = i (y(i) − d(i))2


P P
PM −1
avec: y(i) = l=0 w(i)u(i − l)
Pour préciser les bornes de la sommation sur i , il faut prendre en compte
le fait que pour i ≺ M −1 et i  N − 1, y(i) dépend de valeurs d'entrée
inconnues. Ainsi:
 
y(0)  
u(0)
 . 
   ? ? 
 .   
   . 
 .   
   . 
 .     
   ?  w 0
 .   
 y(M − 1)  u(M − 1)
     . 
  
   ... u(0)   . 
 .     
 ∗  w10 . 
 = .
 .     
   .   . 
 .     
  
 y(N − 1)   .   . 

   y(N − 1) ... u(N − M ) wM −1
 .   
   ? 

 .  
 



 .  
 


 . 
? ? u(N − 1)
y(N + M − 2)

19
TIPE ltrage adaptatif ENSA kenitra

Diérentes hypothèses sont possibles concernant les valeurs inconnues de


l'entrée :
- soit considérer u(i) = 0pouri ≺ 0
- soit considérer u(i) = 0 pouri  N − 1
- soit ignorer ces valeurs de l'entrée
On note la relation précédente :y = AT w
La matrice A est appelée matrice de données:
 
u(0) . . u(M − 1) . . u(N − 1) 0

 . 

 . 
A=



 
 . . 
0 . . u(0) . . u(N − M ) u(N − 1)
Suivant les hypothèses, on pourra extraire plusieurs matrices :
- si on refuse d'aecter les valeurs inconnues, on extrait une matrice de Toe-
plitz de dimension (M ).(N − M + 1), qui ne contient que les valeurs connues
de l'entrée.
En d'autres termes, on ne pourra calculer l'erreur que pouri = M − 1à
i = N − 1. Cette forme est appelée  forme covariance .
- si on aecte la valeur 0 aux échantillons de l'entrée pour i≺0 , on parle
de préfenêtrage, et on extrait la forme préfenêtrée, de dimension M . N. On
peut calculer e(i) pouri =0 à N −1
- si on aecte 0 aux valeurs inconnues pour i  N − 1, on a une forme post-
fenêtrée, et on peut calculer e(i) pour i = M − 1àN + M − 2.
- Enn, en utilisant à la fois le pré et post fenêtrage, on obtient la forme  au-
tocorrélation  de dimensionM.(N + M − 2), et e(i) est calculable pouri = 0
àN + M − 2.
Les termes de covariance et autocorrélation sont consacrés, en particulier en
traitement de la parole. Cependant, il n'y a là aucun (ou peu) de rapport avec
les dénitions des fonctions et matrice de covariance et d'autocorrélation.
Notons de plus que le fait de compléter la séquence par des zéros n'est pas
la seule solution. En particulier, il est possible de périodiser la séquence, ce
qui conduit à des matrices circulantes.
Suivant les hypothèses faites sur le fenêtrage, on ne minimisera donc pas né-
cessairement l'erreur sur tout l'horizon :
PN −1 2
J = i=M −1 e(i) pour la forme covariance, par exemple.
On note d le vecteur de la sortie désirée, y le vecteur de sortie, et A la matrice
T
de donnée. Le vecteur d'erreur e vaut :e = y − d = A w − d
T T T T
Le critère J s'écrit :J = e e = (A w − d) (A w − d)
Il ne reste plus qu'à exprimer le gradient de J par rapport à w:

20
TIPE ltrage adaptatif ENSA kenitra

∇J|w = 2A(AT w − d)
Et on en déduit que
T
AA w = Ad
En développant AAT et Ad il est facile de voir que les termes génériques
valent :
(AAT )ij
P
=
P i u(l − i)u(l − j) = ruu (i − j)
(Ad)i = i u(l − i)d(l) = rdu (i)
On retrouve ainsi les équations normales (équation de Wiener Hopf ) en uti-
lisant des corrélations empiriques (ou temporelles). Notons que suivant les
hypothèses eectuées sur le fenêtrage, ces estimées ne seront pas identiques.
En particulier, la matrice de corrélation empirique est de Toeplitz avec la mé-
thode d'autocorrélation, alors qu'elle ne l'est pas forcément dans les autres
T
hypothèses. On peut encore noter que Ruu = AA est par construction dé-
nie non négative (c'est un  carré  matriciel) et symétrique (à symétrie
hermitienne).

2.3 Algorithmes Pour Le Filtrage Adaptatif


La mise en ÷uvre d'un ltre (estimateur) optimal de Wiener demande la
connaissance des caractéristiques du signal, du bruit et de la fonction de
transfert du canal. Cela implique également que ces caractéristiques soient
stables au cours du temps, ce qui n'est pas le cas en pratique. Le ltrage
adaptatif a pour objet d'approcher ces ltres optimaux. Pour cela, les co-
ecients de la réponse impulsionnelle du ltre sont adaptés en fonction de
l'erreur par une boucle de retour comme le montre la gure ci-dessous.

21
TIPE ltrage adaptatif ENSA kenitra

Cette adaptation nécessite une séquence d'apprentissage et une stratégie de


mise à jour des coecients du ltre dont l'objectif est la minimisation d'une
erreur. Pour cela, on utilisera des algorithmes d'optimisation. Le détail de
ces algorithmes dépasse le cadre du traitement du signal, mais on donnera
ici les grandes lignes de deux approches largement utilisées en ltrage adap-
tatif : le RLS et le LMS. La réponse impulsionnelle d'un ltre adaptatif est
donc variable dans le temps. Elle dépend du signal reçu, de la séquence
d'apprentissage et de l'algorithme d'optimisation utilisé. Ces ltres peuvent
être de type IIR ou FIR.

2.3.1 Algorithme RLS


L'objectif de cet algorithme est l'estimation des paramètres w du ltre adap-
Pn n−i 2
tatif par l'utilisation du critère des moindres carrés: ξ(n) = i=0 λ e (i) =
Pn n−i T 2
i=0 λ (d(i) − w (n).x(i))
λ est un facteur de pondération qui prend toujours une valeur positive (0 <
λ ≤ 1). Ce facteur est aussi appelé facteur d'oubli car il permet d'oublier
les données qui correspondent à un passé distant. Le cas particulier λ=1
correspond à une mémoire innie. La détermination des coecients w(n) se
fera en cherchant à minimiser la fonction coût ξ(n), ceci revient à calculer
sa dérivée partielle par rapport à w(n). On obtient nalement l'expression
suivante de w(n) (Bellanger 1989).

22
TIPE ltrage adaptatif ENSA kenitra

−1 −1
λ R (n−1)x(n)e(n)
w(n) = w(n − 1) + 1+λ −1 xT (n)R−1 (n−1)x(n) avec :
T
e(n) = d(n) − x (n)w(n − 1) qui représente l'erreur a priori.

démonstration on pose
n −1 n
wn+1 = Ruu n −1
Rud où Ruu n
et Rud sont la matriceAA
T

et le vecteur Ad construits à partir des données jusqu'à l'instant n.


Dorénavant nous considérerons de plus que i1 = 0(hypothèse préfenêtrée)
n n
Pn T
La matriceRuu possède alors la structure suivante Ruu = i=0 U (i)U (i)
n+1 n T
Dans ces conditions, à l'instant (n + 1),Ruu = Ruu + U (n + 1)U (n + 1) et
on dispose d'une équation récursive pour estimer la matrice de corrélation.
Le problème est maintenant que pour obtenir une formulation récursive pour
le vecteur optimal, il faut avoir une formulation récursive sur l'inverse de la
matrice de corrélation.
Pour cela, on utilise le lemme d'inversion matriciel Si A B C D sont des
−1
matrices de dimensions convenables: (A + BCD) = A−1 − A−1 B(C −1 +
−1 −1 −1
DA B) DA Ce lemme se démontre par vérication directe.Dans notre
n+1 n T
cas, il s'agit d'inverser Ruu = Ruu + U (n + 1)U (n + 1) on prendra donc
A = Ruu et B = U (n + 1) et C = 1 et D = U (n + 1)T En appliquant le
n

lemme d'inversion matricielle, il vient alors :

23
TIPE ltrage adaptatif ENSA kenitra

n −1
Pour alléger l'écriture, on pose :Kn = (Ruu ) on a alors :

On notera que cette formule permet de calculer l'inverse de la matrice de


corrélation, sans calcul explicite d'inverse.
n
Le vecteur d'intercorrélation Rud s'écrit quant à lui, sous forme récursive, se-
n+1 n
lon Rud = Rud + d(n + 1)U (n + 1) Le ltre optimal à l'itération n+1 s'écrit
donc :

Pour simplier plus loin nous explicitons le dernier terme de cette expression
:K(n+1) U (n + 1)

24
TIPE ltrage adaptatif ENSA kenitra

Cette formule, dénissant le nouveau ltre optimal à partir du ltre est aussi
appelée, par analogie, formule de Kalman. Les équations (0.22) et (0.23)
constituent l'algorithme des moindres carrés récursifs :

25
TIPE ltrage adaptatif ENSA kenitra

2.3.2 Algorithme LMS


L'algorithme du gradient stochastique, ou plus exactement la famille des al-
gorithmes de gradient stochastique, consiste à remplacer le gradient ∇J|w =
2Ruu w(n) − 2Rdu .
quantité déterministe, exacte, par une approximation du gradient calculée à
partir des données disponibles. Les données étant considérées comme aléa-
toires, le gradient estimé devient lui aussi une quantité aléatoire et l'algorithme
devient stochastique. Parmi cette famille d'algorithmes, le plus connu est
l'algorithme LMS (Least Mean Square).
Dans le cas du LMS, on choisit les estimées de Ruu etRdu les plus simples pos-
sibles R̂uu (n)etR̂du (n), à savoir :
R̂uu (n) = u(n)uH (n)etR̂du (n) = d∗ (n)u(n)
Ce sont simplement les estimées instantanées des corrélations.
La relation permettant la mise à jour du ltre w est ainsi maintenant:
∗ H
w(n + 1) = w(n) + µ.u(n)(d (n) − u w(n))
µ est appelé, le pas de convergence de la méthode LMS, ce paramètre ajus-
table empiriquement, permet de faire un compromis entre la stabilité la
vitesse de convergence et l'erreur asymptotique de la méthode LMS. An
d'assurer la convergence du 1 er ordre, il est nécessaire que le pas de conver-
gence soit compris dans l'intervalle ci-dessous:
0 ≺ µ ≺ 2/λ avecλ représentant l'auto corrélation des observations, on
choisit généralement µ inférieur à 1 puisque son intervalle est fonction des
valeurs propres du systèmes. Étant donné que les caractéristiques stochas-
tiques de y(n) varie à chaque échantillon, il est dicile d'établir µ An de
rendre l'algorithme moins dépendant des caractéristiques stochastiques des
signaux le NLMS a été proposé.
Remarque : il est immédiat de montrer que cette approche est celle qui
consiste à prendre l'algorithme du gradient sur le critère instantané :minimi-
2 2
ser |e(n)| (au lieu du critère statistique : minimiser E(|e(n)| ).
L'algorithme peut en fait se décomposer en

26
TIPE ltrage adaptatif ENSA kenitra

- calcul de la sortie du ltre :y(n) = wH (n)u(n)


- calcul de l'erreur d'estimation: e(n) = y(n) − d(n)

- mise à jour: w(n + 1) = w(n) + µ.e (n)u(n)
Au temps n, on calcule donc la sortie du ltre et l'erreur d'estimation, en
utilisant le ltre courant w(n) .
Le ltre est ensuite mis à jour en ajoutant au ltre courant, le terme correctif

µ.e (n)u(n)
On remarquera que w(n) est maintenant un processus aléatoire, ceci signie
que pour des jeux de données diérents, les trajectoires obtenues seront dif-
férentes.
On peut s'intéresser à la convergence de la trajectoire moyenne E(w(n)) et
étudier:
E(w(n + 1)) = E(w(n)) + µ.E(u(n)(d∗ (n) − uH (n)w(n)))
Si on suppose que w(n) est indépendant de u(n ) (ce qui est très faux) on a :
E(u(n)uH (n)w(n)) = Ruu E(w(n)). et la trajectoire moyenne suit l'algorithme
du gradient déterministe (un autre algorithme) .
Dans les autres cas (c'est-à-dire de façon réaliste ), on n'a pas E(u(n)uH (n)w(n)) =
Ruu E(w(n)) car w(n) a toutes les chances d'être corrélé à u(n) .
La trajectoire moyenne n'est donc pas nécessairement celle d'un autre algo-
rithme. On peut cependant espérer qu'elle en soit proche, et que le caractère
aléatoire se traduise par des uctuations autour de cette valeur moyenne.
Comme les estimées instantanées sont très variables, on pourrait penser
que l'algorithme LMS a des performances très pauvres. Cependant, comme
l'algorithme est par nature récursif, il moyenne ces estimées au cours des
itérations, ce qui permet d'obtenir des performances acceptables.

2.3.3 Comparaison entre RLS ET LMS


Le problème qui se pose est celui du choix d'un algorithme d'optimisation.
Ce choix va être guidé par:
-le nombre d'opérations nécessaires à chaque étape pour mettre à jour les
coecients.
- par la vitesse de convergence de l'algorithme:c'est à dire la longueur de la
séquence d'apprentissage nécessaire pour obtenir un ltre adapté.
Si une méthode répondait à ces deux critères simultanément, elle serait sys-
tématiquement utilisée.
L'algorithme LMS nécessite moins de calcul à chaque étape mais converge
plus lentement que le RLS comme le montre la gure ci-dessous. C'est donc
l'application qui va déterminer le choix de l'algorithme en fonction de la puis-
sance de calcul disponible !

27
TIPE ltrage adaptatif ENSA kenitra

28
CHAPTER 3
EXEMPLES D’APPLICATION

3.1 Annulation D'écho


Le schéma de principe de l'eet d'echo lors d'une téléconférence est présenté
sur la gure suivante :

Une personne parlant dans une piéce [1] émet un signal u(t). Transmis dans
une autre piéce [2] par l'intermédiaire d'un haut parleur, ce signal apparaît

29
TIPE ltrage adaptatif ENSA kenitra

déformé (ltré) et bruité, le bruit v(t) correspondant au signal parole d'une


seconde personne dans la piéce [2]. Par l'intermédiaire d'un micro dans la
piéce [2], tout ceci se retrouve dans la piéce [1] pour former le signal y(t).
Résultat : la personne dans la piéce [1] va s'entendre parler.

Le probléme d'annulation de cet echo peut être résolu par l'intermédiaire


d'un ltrage du signal initial u(t) comme illustré sur les gures précedentes :
il s'agit simplement d'évaluer la distorsion du signal u(t) lors de ses passages
[1] − − > [2] et[2] − − > [1], puis de la compenser. La nature de la distortion
étant inconnue, le probléme sera résolu par ltrage adaptatif.

30
TIPE ltrage adaptatif ENSA kenitra

L'algorithme du gradient a été testé sur une série de données pour laquelle
on connaît le terme de bruit v(t). La gure précedente présente l'évolution
au cours du temps d'un des coecients du ltre estimé (ltre choisi d'ordre
n = 10). Diérentes valeurs du gain ont été testées. Il apparaît que plus ce
gain est fort, plus la convergence est rapide. Cependant cet accroissement
de la vitesse de convergence se traduit par une amplication du bruit sur les
coecients, voir même une instabilité de l'algorithme du gradient au delà
d'un certain seuil.

31
TIPE ltrage adaptatif ENSA kenitra

Les gures précedentes présentent diérents résultats avec µ = 0.01 et res-


pectivement n = 2 et n = 10. La courbe du haut représente la diérence
entre v(t) et l'erreur ˜ ˜ . Si le l-
y(t). la diérence entre v(t) et l'erreur y(t)
trage est réalisé correctement, cette diérence doit être nulle puisque dans ce
cas cela signie que toutes inuences de u(t) a été supprimées de y(t), il n'y

32
TIPE ltrage adaptatif ENSA kenitra

a donc plus d'echo. La courbe du bas présente la corrélation entre ˜


y(t) et
u(t). Ici encore, si le ltrage est réalisé correctement, cette corrélation doit
étre nulle puisque dans ce cas cela signie que toutes inuences de u(t) a été
supprimées de y(t). Il apparaît ici qu'un ordre n = 2 est insusant pour
annuler l'echo.

3.2 débruitage de la parole


Considérons le cas d'un enregistrement bruité de la parole 1. Ceci se modé-
lise de la maniére suivante :
enregistrement bruité = signal de la parole + bruit
u(t) = y(t) + v(t)
On désignera par u(t) le signal d'enregistrement bruité, y(t) le signal de la
parole et v(t) le bruit. Ce bruit sera supposé indépendant du signal de la
parole et de moyenne nulle.
Les gures suivantes présente respectivement le signal initial non bruité et
l'enregistrement bruité. Remarquons que le signal initial fait apparaître deux
parties : la première correspondante à l'absence de parole, la seconde cor-
respondante à la présence de la parole. L'objectif est bien entendu de ltrer
l'enregistrement de manière à atténuer le plus possible l'inuence du bruit.

33
TIPE ltrage adaptatif ENSA kenitra

La solution globale du ltre de Wiener est donnée par :

θ = (Ruu )−1 Ryu

34
TIPE ltrage adaptatif ENSA kenitra

et l'application du ltre correspondant doit permettre le calcul d'une esti-


mation ŷ(t), estimation non bruité de y(t). La mise en oeuvre de la solution
globale nécessite la connaissance des matrices contenant les termes
Ruu (n) etRyu (n)
Les signaux étant a priori non stationnaires (absence et présence de parole),
l'estimation de ces termes de corrélation a été réalisée sur diérents segments
de longueur L (gure 2.21). Sur chaque segment les signaux seront supposés
ergodiques stationnaires, on a alors:
R̂uu/L (n) = 1/L Lk=0 uk+i uk
P

D'aprés ce qui précéde on a:


u(t) = y(t) + v(t)
il vient alors:
R̂yu/L (n) = R̂yy/L (n) + R̂yv/L (n) y(t) et v(t) étant supposé indépendant, on
a:
R̂yv/L (n) = 0 Ceci donne
R̂yu/L (n) = R̂yy/L (n) De la même maniére on montre que

R̂uu/L (n) = R̂yy/L (n) + R̂vv/L (n)


d'où R̂yu/L (n) = R̂uu/L (n) − R̂vv/L (n)
En supposant que la nature du bruit ne change pas en présence ou non de pa-
role, les termes R̂vv/L (n) peuvent être estimés sur les parties de l'enregistrement
où il n'y a pas de signal de la parole.
Les paramétres de synthése pour la mise en oeuvre de l'algorithme sont l'ordre
n du ltre et la longueur L des segments. La gure 2.22 rappelle les dié-
rentes étape de l'algorithme. La gure 2.23 présente l'enregistrement ltré et
fait apparaître plus distinctement que sur la gure 2.20 le signal de la parole.
Remarque :

35
TIPE ltrage adaptatif ENSA kenitra

Ce type de méthode a été utilisée pour la restauration de vieux documents


sonores sur disque vinyl.

avec φ(t) = U (t) i = n

36
TIPE ltrage adaptatif ENSA kenitra

ApplicationMATLAB Le problème se pose comme suit : Si on connaît


N échantillons d'un signalx[n], comment déterminer m coecients aj  opti-
maux  tels que l'erreur de prédiction

est la plus petite possible.

est la prédiction au temps n de x[n].


La solution de ce problème se trouve en minimisant l'énergie de l'erreur de
prédictione[n] sur la durée du bloc, de longueur N. Autrement dit, on doit
minimiser :

∂E
On y arrive en posant
∂aj
=0 et pour chaque aj . Ceci génère un système de

m équations à m inconnues (les aj ), qui peut ensuite être résolu pour obtenir
les aj .

37
TIPE ltrage adaptatif ENSA kenitra

En supposant quex[n] est stationnaire, i.e. que ses statistiques ne changent


pas si on remplace n−1 par n, on peut écrire la deuxième somme plus
simplement :

Puisque le coecient a1 est constant (pour ce bloc de N échantillons), on


peut le sortir de la somme :

Finalement :

Faisons un exemple MATLAB avec un bloc de signal de parole, montré ci-


dessous (256 échantillons, d'un signal échantillonné à 8 kHz).

38
TIPE ltrage adaptatif ENSA kenitra

On sent bien que l'échantillon x[n] de ce signal peut être prédit par l'échantillon
x[n − 1]. Le code MATLAB suivant montre comment calculer le coecient
de prédiction optimal pour ce bloc de signal (on suppose que le signal x est
un bloc de 256 échantillons d'un chier de parole déjà ouvert).

39
TIPE ltrage adaptatif ENSA kenitra

Le coecient de prédiction optimal  à l'ordre 1 pour ce bloc est donc


a1 = 0.9281. Ainsi, en ltrant le signal x avec le ltre dénit par : e[n] =
x[n] − 0.9281x[n − 1] on devrait obtenir une erreur de prédiction e[n] la plus
faible possible (pour un ltre prédicteur d'ordre 1). En MATLAB :

40
TIPE ltrage adaptatif ENSA kenitra

41

Vous aimerez peut-être aussi