Introduction
Filtrage
Exemple d’un filtre R.I.F :
x(n)
y(n) aN−1
a1
+ +
Z−1 Z−1 Z−1
a0
y(n) =
NX−1
i=0
aix(n−i)
Les coefficients hi du filtre sont calcul´es une fois pour toute de fa¸con `a respecter des sp´ecifications exprim´ees g´en´eralement dans le domaine fr´equentiel (filtre passe-bas, passe-haut, passe-bande, rejecteur, ...).
Adaptatif
Les coefficients du filtre sont modifi´es au cours du temps de fa¸con `a rester adapt´es au sens d’un crit`ere :
Exemple :
e(n)
y(n) + desire(n)
Exemples de filtre adaptatif
Pr´ediction lin´eaire
h(n) +
x(n) x(n)ˆ e(n)
? codage
? analyse spectrale Mod´elisation
h(n) +
x(n) y(n)
ˆ
y(n) e(n)
Syst`eme `a mod´eliser (boˆıte noire)
Correction, calibration
h(n) y(n)ˆ + e(n)
˜ y(n)
y(n) Syst`eme imparfait
Mod`ele x(n)
Excitation
Filtrage multidimensionnel
Pr´ ediction lin´ eaire
h(n) +
x(n) x(n)ˆ e(n)
ˆ
x(n) : pr´ediction (ou pr´evision) de x(n) `a partir de son pass´e.
e(n) : diff´erence entre la pr´ediction et la r´ealit´e → innovation.
Applications :
– Codage : e(n) repr´esente l’innovation de x(n) par rapport `a son pass´e. La quantit´e d’information redondante contenue dans le signal a ´et´e supprim´ee. e(n) est la quantit´e n´ecessaire et suffisante qu’il faut transmettre pour reconstruire x(n).
Ce type de codage est utilis´e pour coder la parole en t´el´ephonie num´erique.
LPC : Linear Prediction Coding
– Analyse spectrale : e(n) est une erreur qui tend `a ˆetre blanche :
X(f).(H(f)−1)' Cte
Et donc (H(f)−1)−1 constitue une estimation du spectre de x(n) Analyse spectrale param´etrique
Mod´ elisation
h(n) +
x(n) y(n)
ˆ
y(n) e(n)
Syst`eme `a mod´eliser (boˆıte noire)
Apr`es convergence, le filtre h(n) repr´esente un mod`ele du syst`eme → identif ication.
Exemples :
– Synth´etiseur de parole
– Synth´etiseur de musique
– Pistage (filtre de Kalman)
Correction et calibration
h(n) y(n)ˆ + e(n)
˜ y(n)
y(n) Syst`eme imparfait
Mod`ele x(n)
Excitation
L’exitation x(n) est un signal particulier de calibration.
Apr`es convergence, le filtre h(n) corrige l’imperfection du syst`eme.
Exemples :
– Les “´egaliseurs” dans les Modems qui corrigent les distortions subies par le signal dans le canal de transmision.
– Les filtres “am´eliorateurs d’images” dans certaines cam´eras qui corrigent les d´egradations engendr´ees par le syst`eme de prise de vue : optique et d´etecteurs (Hubble, le t´elescope spatial).
– Les r´ecepteurs dans les syst`emes de radiocommunications.
– Les sondes m´edicales.
D´ eveloppement du cas general
x1(n)
d(n)
e(n) x2(n)
x3(n)
xN(n)
a1
a2 a3
aN
d(n)ˆ + +
d(n)ˆ : signal proche de d(n) → pr´ediction
d(n) =ˆ XN
i=1
a∗ixi(n)
e(n) : erreur de pr´ediction
e(n) = ˆd(n)−d(n)
Crit`ere d’adaptation : Erreur Quadratique Moyenne (E.Q.M) (puissance) :
EQM(a) = E£
|e(n)|2¤
EQM(a) =E
¯¯
¯¯
¯ XN
i=1
a∗ixi(n)−d(n)
¯¯
¯¯
¯
2
EQM(a) est une fonction quadratique de la variable multidimensionnelle a. Sa minimi- sation peut ˆetre obtenue en cherchant `a annuler le gradient :
dEQM(a) da = 0
Fonction quadratique Cas bidimensionnel
-5 -4 -3 -2 -1 0 1 2
3 4 5 -5 -4 -3 -2 -1 0 1 2 3 4 5 15
20 25 30
a2
a1
EQM(a)
-3 -2 -1 0 1 2 3 -3
-2 -1 0 1 2 3
a1
a2
d EQM(a) d a = 0
Ecriture vectorielle ´
Vecteur signal :
x(n) = [x1(n) x2(n) x3(n) . . . xN(n)]T Vecteur de param`etres :
a = [a1 a2 a3 . . . aN]T Signal de sortie :
d(n) =ˆ aHx(n) Erreur quadratique moyenne :
EQM(a) = E
¡
aHx(n)−d(n)¢
| {z }
e(n)
¡x(n)Ha−d(n)∗¢
| {z }
e(n)∗
Soit :
EQM(a) = aH E£
x(n)x(n)H¤
| {z }
R
a−aH E[x(n)d(n)∗]
| {z }
rxd
− E£
d(n)∗xH(n)¤
| {z }
rxdH
a+E£
|d(n)|2¤
| {z }
r0
Soit encore :
EQM(a) = aHRa − 2<(aHrxd) + r0 avec R, la matrice de corr´elation du vecteur signal :
R = E£
x(n)x(n)H¤
et rxd, le vecteur d’intercorr´elation entre le vecteur signal et le signal d´esir´e :
rxd = E[x(n)d(n)∗]
Solution optimale
EQM(a) =aH R a − 2 <(aH rxd) + r0
EQM(a) est une fonction quadratique de la variable multidimensionnelle a. Sa minimi- sation peut ˆetre obtenue en cherchant `a annuler le gradient :
dEQM(a) da = 0 soit
2Ra − 2rxd = 0
La solution optimale est donc telle que :
R a
opt= r
xdou encore lorsque R est inversible :
a
opt= R
−1r
xdD´ erivation (cas r´ eel)
da= [∂a1 ∂a2 ∂a3 . . . ∂aN]T
d EQM(a)
da =
·∂EQM(a)
∂a1
∂EQM(a)
∂a2
∂EQM(a)
∂a3 . . . ∂EQM(a)
∂aN
¸T
∂EQM(a)
∂ai = lim
∂ai→0
EQM(a+∂aiδi)−EQM(a)
∂ai
avec δi = [0 . . . |{z}1
pos i
. . . 0]T
∂EQM(a)
∂ai = lim
∂ai→0
(a+∂aiδi)TR(a+∂aiδi)−2(a+ ∂aiδi)Trxd+r0
∂ai −. . .
aTRa−2aTrxd+ r0
∂ai
∂EQM(a)
∂ai = lim
∂ai→0
aTR∂aiδi +∂aiδiTRa+|∂ai|2δiTRδi −2∂aiδiTrxd
∂ai
∂EQM(a)
∂ai
= a
TRδ
i+ δ
iTRa − 2δ
iTr
xdR est sym´etrique ⇒ aTRδi = δiTRa et donc
∂EQM(a)
∂ai = 2δiTRa−2δiTrxd
∂EQM(a)
∂ai = ´el´ement i de 2Ra−2rxd
Le r´esultat final est donc simplement :
dEQM(a)
da
= 2(Ra − r
xd)
[Inter]Corr´ elations
R = E£
x(n)x(n)H¤
rxd = E[x(n)d(n)∗]
R = E
x1(n) x2(n)
. . . xN(n)
•
[x1(n)∗ x2(n)∗ . . . xN(n)∗]
R =
E[|x1(n)|2] E[x1(n)x2(n)∗] . . . E[x1(n)xN(n)∗] E[x2(n)x1(n)∗] E[|x2(n)|2] . . . E[x2(n)xN(n)∗]
... . .. ...
E[xN(n)x1(n)∗] E[xN(n)x2(n)∗] . . . E[|xN(n)|2]
Matrice hermitienne d´efinie positive.
rxd = E
x1(n) x2(n)
. . .
•d(n)∗
=
E[x1(n)d(n)∗] E[x2(n)d(n)∗]
. . .
Les moindres carr´ es
E[ . ] −→ X
n
.
EQM −→ J(n) = Xn
i=0
|e(i)|2
R −→ R(n) = Xn
i=0
x(i)x(i)H
rxd −→ rxd(n) = Xn
i=0
x(i)d(i)∗
a −→ a(n) =R(n)−1rxd(n)
pe(t) 1
n fenˆetre d’adaptation
t
1 pe(t)
n t
n−L
fenˆetre glissante
J(n) = Xn
i=n−L
|e(i)|2
R(n) = Xn
i=n−L
x(i)x(i)H
rxd(n) = Xn
x(i)d(i)∗
L’oubli exponentiel ou Moindres Carr´ es pond´ er´ es
J(n) = Xn
i=0
λn−i |e(i)|2 avec λ ≤ 1
1 pe(t)
n t
L
n−1 λi
Xn
i=0
λn−i → 1 1−λ 1
1−λ ⇔L et λ ⇔ L −1 L
Expression r´ecursive du crit`ere :
J(n) =λJ(n−1) +|e(n)|2
et donc
R(n) = λR(n−1) +x(n)x(n)H
rxd(n) = λrxd(n−1) +x(n)d(n)∗
Solution r´ ecursive
Proposition :
a(n) =a(n−1) + ∆a a(n) doit ˆetre tel que
R(n)a(n) =rxd(n)
Soit
¡λR(n−1) +x(n)x(n)H¢
| {z }
R(n)
(a(n−1) + ∆a)
| {z }
a(n)
= λrxd(n−1) +x(n)d(n)∗
| {z }
rxd(n)
En exploitant l’optimalit´e `a l’instant n−1 :
R(n−1)a(n−1) = rxd(n−1)
il vient
¡λR(n−1) +x(n)x(n)H¢
∆a+ x(n)x(n)Ha(n−1) = x(n)d(n)∗
ou encore
R(n).∆a= x(n) µ
d(n)∗ −x(n)Ha(n−1)
| {z }
−e(n)∗
¶
=⇒∆a = −R(n)−1x(n)e(n)∗
et en d´efinitive :
a(n) = a(n − 1) − R(n)
−1x(n)e(n)
∗Moindres Carr´ es R´ ecursif
Le lemme d’inversion matriciel :
£A+BCBH¤−1
= A−1 − A−1B£
C +BHA−1B¤−1
BHA−1
appliqu´e `a l’expression r´ecursive de la matrice de corr´elation :
R(n) = λR(n−1) +x(n)x(n)H
permet d’obtenir une formule de mise `a jour de l’inverse de la matrice de corr´elation :
P(n) = 1 λ
·
P(n−1)− P(n−1)x(n)x(n)HP(n−1) λ+x(n)HP(n−1)x(n)
¸
o`u P(n) , R(n)−1
Et finalement, l’algorithme r´esultant est celui des Moindres Carr´es R´ecursif (M.C.R.
ou R.L.S.) :
e(n) = a(n−1)Hx(n)−d(n)
P(n) = λ1
·
P(n−1)− P(n−1)x(n)x(n)HP(n−1) λ+x(n)HP(n−1)x(n)
¸
a(n) = a(n−1)−P(n)x(n)e(n)∗
Coˆut de calcul : O(N2)
Gradient stochastique
Pour diminuer le coˆut de calcul, la formule d’adaptation du filtre :
a(n) = a(n−1)−R(n)−1x(n)e(n)∗ peut ˆetre simplifi´ee :
a(n) = a(n−1)−µ(n)x(n)e(n)∗
µ(n)est un pas d’adaptationscalaire. On monte que la condition n´ecessaire et suffisante pour qu’il y ait convergence est la suivante :
X∞
n=1
µ(n)2 < ∞
La suite µ(n) = n1 est satisfaisante. Le crit`ere optimis´e n’est plus celui des moindres carr´es mais celui de l’Erreur Quadratique Moyenne (E.Q.M.).
En pratique, pour faire face aux situations non-stationnaires, on choisit g´en´eralement un pas d’adaptation µ constant. Il doit ˆetre r´egl´e de fa¸con qu’en moyenne, l’erreur a posteriori soit inf´erieure `a l’erreur a priori :
E[|a(n)| Hx(n){z −d(n)} ε(n)
|] < E[|a(n| −1)H{zx(n)−d(n)} e(n)
|]
or :
a(n)Hx(n)−d(n) = [a(n−1)−µ(n)x(n)e(n)∗]H x(n)−d(n)
⇒ a(n)Hx(n)−d(n)
| {z }
ε(n)
= ¡
a(n−1)Hx(n)−d(n)¢
| {z }
e(n)
¡1−µx(n)Hx(n)¢
On peut admettre que la condition est remplie si :
E£¯¯1−µx(n)Hx(n)¯
¯¤
< 1
0 < µ <
Nσ2 2x
Convergence
En moyenne :
a(n) = a(n−1)−µE[x(n)e(n)∗]
a(n) = a(n−1)−µE[x(n)¡
x(n)Ha(n−1)−d(n)∗¢
| {z }
e(n)∗
]
a(n) = a(n−1)−µ(Ra(n−1)−rxd)
-3 -2 -1 0 1 2 3
0 3 24 68 1012 1416
a
1EQM (a)
a
20 -3
2 3
a2 µ grand
µ petit
Treillis spatial
ou multidimensionnel
N−1 3,1
2,1
3,2
N−1,1 N−1,2
N,2 N,N−2 N,N−1
N−1, N−2
1 2 N−2 N
N,1
e1→j−1j (t)
e1→ji (t) ki,j
gi,j
−
+ +
e1→j−1i (t)
L
−1e1(t)
e2(t)
e3(t)
eN−1(t)
eN(t)
d(t) e(t)
F iltrage
x1(t)
x2(t)
x3(t)
xN−1(t)
xN(t)
Treillis spatial
ou multidimensionnel
– Initialisation `a l’instant t = 0
n : 1 → N αn(0) = 0
n : 1 → N i : n →N kni(0) = 0
– Puis, `a chaque instant t
Initialisation
γ0(t) = 1
n : 1 →N e1→0n (t) = xn(t)
n : 1 →N
αn(t) = λαn(t−1) + γn−1(t)e1→n−1n e1→n−1n γn−1(t)
γn(t) = γn−1(t)− γn−12 (t)e1→n−1n e1→n−1n αn(t)
i : n→ N
e1→ni (t) =e1→n−1i (t)−kni(t−1)e1→p−1n (t)
kin(t) = kni(t−1) + γn−1(t)e1→n−1n (t)e1→ni (t) α (t)