Académique Documents
Professionnel Documents
Culture Documents
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
3
TIPE ltrage adaptatif ENSA kenitra
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.
+∞
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é :
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
7
TIPE ltrage adaptatif ENSA kenitra
+∞
X
x(t) = xk δ(t − kTe )
−∞
+∞
X
T F [δ(t)] = δk ej2πf kTe
−∞
+∞
X
δT = δ(t − kTe )
−∞
1
T F [δT (t)] = δ 1 (f )
T T
+∞
X
H(q) = hi q −i
i=O
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
+∞
X
yk = hi xk−i
i=0
+∞
X
h(t) = hk δ(t − kT e)
k=0
+∞
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=−∞
+∞
X
zk = hi xk−i = yk
i=0
+∞ 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
+∞
X
T F [h(t)] = hi e−j2πf ite = H(ej2πf Te )
i=−∞
2
Syy (f ) = H(ej2πf Te ) Sxx (f )
et:
10
TIPE ltrage adaptatif ENSA kenitra
+∞
X
Exx = xk x∗k
−∞
N
1 X
Pxx = limN →+∞ xk x∗k
2N + 1 −N
+∞
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:
+∞
X
Eyx (i) = yk+i x∗k
−∞
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 :
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
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.
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
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
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 :
La réponse impulsionnelle optimale hopt est celle qui annule cette équation
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)
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.
19
TIPE ltrage adaptatif ENSA kenitra
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).
21
TIPE ltrage adaptatif ENSA kenitra
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
23
TIPE ltrage adaptatif ENSA kenitra
n −1
Pour alléger l'écriture, on pose :Kn = (Ruu ) on a alors :
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
26
TIPE ltrage adaptatif ENSA kenitra
27
TIPE ltrage adaptatif ENSA kenitra
28
CHAPTER 3
EXEMPLES D’APPLICATION
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
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
32
TIPE ltrage adaptatif ENSA kenitra
33
TIPE ltrage adaptatif ENSA kenitra
34
TIPE ltrage adaptatif ENSA kenitra
35
TIPE ltrage adaptatif ENSA kenitra
36
TIPE ltrage adaptatif ENSA kenitra
∂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
Finalement :
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
40
TIPE ltrage adaptatif ENSA kenitra
41