Algorithme des moindres carrés récursif – MCR (recursive least

publicité
Algorithme des moindres carrés
récursif – MCR (recursive
least-squares – RLS)
On développera un algorithme récursif qui, à partir des
coefficients du filtre à l’instant n − 1, estimera ces
coefficients à l’instant n à l’aide des nouvelles données
disponibles.
INRS-EMT J. Benesty
Plan
• Formulation du problème
• Les équations normales
• Le lemme d’inversion d’une matrice
• L’algorithme MCR (ou RLS)
• Analyse de la convergence de l’algorithme MCR (ou
RLS)
INRS-EMT J. Benesty
1
Formulation du problème
On a le modèle linéaire suivant:
d(i) =
L−1
hs,lx(i − l) + u(i)
l=0
= hTs x(i) + u(i),
(1)
d(i) est le signal observé (désiré) à l’instant i obtenu à
partir du signal d’entrée x(i). hs,l sont les paramètres
inconnus du modèle et u(i) représente le bruit de
mesure qui est une variable aléatoire (non observable).
Il est d’usage de supposer que u(i) est blanc de
moyenne nulle, et dont la variance est σu2 .
Notre objectif est d’estimer les paramètres hs,l en
utilisant le critère des moindres carrés suivant:
J(n) =
n
λn−i
2
d(i) − h (n)x(i) ,
T
(2)
i=0
où
x(i) =
x(i) x(i − 1) · · ·
INRS-EMT J. Benesty
x(i − L + 1)
T
2
est le signal d’entrée à l’instant i, et
h(n) =
h0(n) h1(n) · · ·
hL−1(n)
T
est le fitre RIF à l’instant n. λ est un facteur de
pondération qui prend toujours une valeur positive:
0 λ ≤ 1. Ce facteur est aussi appelé facteur d’oubli
car il sert à oublier les données qui correspondent à un
passé distant. Le cas particulier λ = 1 correspond à
une mémoire infinie.
INRS-EMT J. Benesty
3
Les équations normales
Le problème posé est de déterminer le vecteur des
coefficients h(n) qui minimise J(n). La solution est
obtenue en calculant les dérivées de la fonction coût
J(n) par rapport aux éléments hl(n) et en les égalant
à zéro:
n
λ
n−i
d(i) − h (n)x(i) x(i) = 0L×1,
T
(3)
i=0
soit:
n
λ
n−i
d(i)x(i) =
i=0
n
λ
n−i
T
x(i)x (i) h(n).
(4)
i=0
Il vient alors:
INRS-EMT J. Benesty
p(n) = R(n)h(n),
(5)
h(n) = R−1(n)p(n),
(6)
4
avec:
R(n) =
p(n) =
n
i=0
n
λn−ix(i)xT (i),
(7)
λn−id(i)x(i).
(8)
i=0
Les équations précédentes peuvent se calculer de
manière récursive:
R(n) = λ
n−1
λn−1−ix(i)xT (i) + x(n)xT (n)
i=0
= λR(n − 1) + x(n)xT (n),
(9)
on a aussi:
p(n) = λp(n − 1) + d(n)x(n).
INRS-EMT J. Benesty
(10)
5
Le lemme d’inversion d’une matrice
Soient A et B deux matrices définies positives de taille
L × L vérifiant l’équation:
A = B−1 + CD−1CT ,
(11)
où D est une matrice inversible de taille N × N et C
est une matrice de taille L × N . Alors, l’inverse de la
matrice A s’écrit:
A−1 = B − BC(D + CT BC)−1CT B.
(12)
L’expression précédente est aussi appelée l’indentité de
Woodbury.
INRS-EMT J. Benesty
6
L’algorithme MCR (ou RLS)
On rappelle que la matrice de corrélation est:
R(n) = λR(n − 1) + x(n)xT (n).
(13)
On peut utiliser le lemme d’inversion pour calculer
l’inverse de R(n), en posant:
A = R(n),
B−1 = λR(n − 1),
C = x(n),
D = 1.
On obtient donc l’équation récursive suivante pour
l’inverse de la matrice de corrélation:
R−1(n) = λ−1R−1(n − 1)
−
INRS-EMT J. Benesty
(14)
λ−2R−1(n − 1)x(n)xT (n)R−1(n − 1)
.
−1
−1
T
1 + λ x (n)R (n − 1)x(n)
7
Posons:
Q(n) = R−1(n),
k(n) =
λ−1Q(n − 1)x(n)
,
−1
T
1 + λ x (n)Q(n − 1)x(n)
(15)
(16)
alors l’équation de récursion pour Q(n) peut encore
s’écrire:
Q(n) = λ−1Q(n − 1) − λ−1k(n)xT (n)Q(n − 1), (17)
c’est l’équation de Riccati. Le vecteur k(n) est appelé
gain de Kalman, qu’on peut réarranger:
k(n) = Q(n)x(n) = R−1(n)x(n).
(18)
A présent, nous avons besoin de calculer les coefficients
du fitre récursivement. On a:
h(n) = R−1(n)p(n) = Q(n)p(n)
= λQ(n)p(n − 1) + Q(n)x(n)d(n). (19)
En remplaçant Q(n) dans le premier terme de
l’expression précédente par l’équation de Riccati, on
obtient:
INRS-EMT J. Benesty
8
h(n) = Q(n − 1)p(n − 1)
(20)
− k(n)xT (n)Q(n − 1)p(n − 1) + Q(n)x(n)d(n)
= h(n − 1) − k(n)xT (n)h(n − 1) + k(n)d(n)
T
= h(n − 1) + k(n) d(n) − x (n)h(n − 1) .
Finalement, on a:
h(n) = h(n − 1) + k(n)e(n),
(21)
e(n) = d(n) − xT (n)h(n − 1)
(22)
où
est l’erreur a priori qui est différente de l’erreur a
posteriori:
(n) = d(n) − xT (n)h(n).
(23)
Grâce au lemme d’inversion, la complexité de calcul de
l’algorithme RLS est proportionnelle à L2 au lieu de
L3.
INRS-EMT J. Benesty
9
Table 1: L’algorithme RLS.
Initialisation:
h(0) = 0,
Q(0) = δ
−1
I, δ = constante positive.
Pour n = 1, 2, ..., calculer :
λ−1Q(n − 1)x(n)
k(n) =
,
1 + λ−1xT (n)Q(n − 1)x(n)
T
e(n) = d(n) − x (n)h(n − 1),
h(n) = h(n − 1) + k(n)e(n),
−1
Q(n) = λ
INRS-EMT J. Benesty
Q(n − 1) − λ
−1
T
k(n)x (n)Q(n − 1).
10
Analyse de la convergence de
l’algorithme RLS
L’analyse de la convergence du RLS se fait en utilisant
les deux critères suivants:
• Convergence en moyenne du filtre h(n), càd:
lim E{h(n)} = hs.
n→∞
(24)
• Convergence en moyenne quadratique, càd:
lim E{e2(n)} = constante.
n→∞
INRS-EMT J. Benesty
(25)
11
Convergence en moyenne:
L’équation du RLS est:
h(n) = h(n − 1) + R−1(n)x(n)e(n),
(26)
ce qui est équivalent à:
hs − h(n) = hs − h(n − 1) − R−1(n)x(n)e(n). (27)
Posons c(n) = hs − h(n) (le vecteur misalignment),
l’expression précédente devient:
c(n) = c(n − 1) − R−1(n)x(n)[d(n) − xT (n)h(n − 1)].
D’autre part, on se souvient que d(n) = hTs x(n)+u(n),
et (27) s’écrit maintenant:
c(n) = c(n − 1) − R−1(n)x(n)xT (n)c(n − 1)
− R−1(n)x(n)u(n).
INRS-EMT J. Benesty
(28)
12
On a:
E{R(n)} =
=
n
i=0
n
i=0
≈
λn−iE{x(i)xT (i)}
λ
n−i
1 − λn
Re =
Re
1−λ
1
Re,
1−λ
(29)
pour n assez grand.
En prenant l’espérance
mathématique de (28), en supposant que E{R(n)} =
R(n) et en supposant l’indépendance entre les données
x(n) et les coefficients du filtre hl(n), on obtient:
E{c(n)} = λE{c(n − 1)}
= λnE{c(0)}.
(30)
Cette équation dit que la vitesse de convergence du
RLS est gouvernée par le facteur d’oubli λ. Encore
plus important est que cette vitesse de convergence
est indépendante de la matrice de corrélation R(n) (à
comparer avec le LMS). Finalement, on a:
lim E{c(n)} = 0L×1 ⇒ lim E{h(n)} = hs. (31)
n→∞
INRS-EMT J. Benesty
n→∞
13
Convergence en moyenne quadratique:
L’algorithme RLS converge en moyenne quadratique si:
lim E{e2(n)} = constante.
n→∞
(32)
Le signal d’erreur e(n) produit par l’algorithme RLS
s’écrit encore en fonction de c(n − 1):
e(n) = d(n) − xT (n)h(n − 1)
= xT (n)hs + u(n) − xT (n)h(n − 1)
= xT (n)c(n − 1) + u(n),
(33)
dans ce cas, on a:
E{e2(n)} = Jex(n) + σu2 ,
(34)
Jex(n) = E{cT (n − 1)x(n)xT (n)c(n − 1)}
(35)
où
est l’erreur quadratique moyenne excédentaire (excess
mean-square-error) et σu2 la variance du signal bruit.
INRS-EMT J. Benesty
14
De plus:
T
T
Jex(n) = E tr c (n − 1)x(n)x (n)c(n − 1)
T
T
= E tr x(n)x (n)c(n − 1)c (n − 1)
T
T
= tr E x(n)x (n)c(n − 1)c (n − 1) .
(36)
En invoquant l’indépendance et en utilisant l’équation
(29) [Re ≈ (1 − λ)R(n)], l’expression précédente se
réduit à:
Jex(n) = tr [(1 − λ)R(n)M(n − 1)] ,
(37)
M(n − 1) = E{c(n − 1)cT (n − 1)}
(38)
où
est la matrice de corrélation du vecteur misalignment.
INRS-EMT J. Benesty
15
D’autre part, on a:
R(n)h(n) = p(n)
n
λn−ix(i)d(i)
=
=
i=0
n
λ
n−i
T
x(i) x (i)hs + u(i)
i=0
= R(n)hs +
n
λn−ix(i)u(i), (39)
i=0
d’où
h(n) = hs + R−1(n)
n
λn−ix(i)u(i), (40)
i=0
et
c(n) = −R−1(n)
n
λn−ix(i)u(i)
i=0
≈ −
n
λn−iR−1(i)x(i)u(i)
i=0
= λc(n − 1) − R−1(n)x(n)u(n). (41)
INRS-EMT J. Benesty
16
On en déduit que:
E{c(n)cT (n)} ≈ λ2E{c(n − 1)cT (n − 1)}
+ (1 − λ)σu2 R−1(n).
(42)
En faisant les approximations suivantes: M(n) ≈
M(n − 1) (pour n grand) et 1 − λ2 ≈ 2(1 − λ) (pour
λ proche de l’unité), on obtient finalement à partir de
(42):
2
σ
M(n) = E{c(n)cT (n)} ≈ u R−1(n).
2
(43)
En remplaçant (43) dans Jex(n) = tr [(1 − λ)R(n)M(n − 1)],
on obtient donc:
Jex(n) ≈
1−λ 2
Lσu,
2
(44)
d’où l’erreur quadratique moyenne (EQM) pour
l’algorithme RLS:
1−λ
2
L + 1 σu2 ,
E{e (n)} ≈
2
(45)
pour n grand et cette EQM est bien une constante.
De plus, la convergence de l’algorithme en moyenne
INRS-EMT J. Benesty
17
quadratique est indépendante des valeurs propres de la
matrice de corrélation Re (à comparer avec le LMS).
La valeur
Jmis(n) = E{cT (n)c(n)} = E{||hs − h(n)||2} (46)
donne une idée de la convergence du misalignment. En
utilisant (43), on en déduit que:
Jmis(n) = tr [M(n)]
2
σ
= tr u R−1(n)
2
1 − λ 2 −1
σuRe
= tr
2
1−λ 2 1
,
σu
2
λe,l
L−1
=
(47)
l=0
où λe,l sont les valeurs propres de la matrice de
corrélation Re. Il est important de noter la différence
entre la convergence de l’EQM et du misalignment.
Alors que l’EQM ne dépend pas des valeurs propres de
Re, le misaligment est amplifié par l’inverse de la plus
petite valeur propre de Re.
INRS-EMT J. Benesty
18
Téléchargement