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