Algorithme du gradient déterministe (steepest descent) L’algorithme du gradient déterministe est une première approche pour résoudre l’équation de Wiener-Hopf de manière itérative, sans avoir besoin d’inverser une matrice. INRS-EMT J. Benesty Plan • Principe de l’algorithme du gradient déterministe • Application de l’algorithme du gradient déterministe au filtrage de Wiener • Stabilité de l’algorithme du gradient déterministe • Exemple INRS-EMT J. Benesty 1 Principe de l’algorithme du gradient déterministe Soit une fonction coût J(h) continue et différentiable, dépendant d’un vecteur inconnu h. On désire trouver une solution optimale hopt qui satisfait: J(hopt) ≤ J(h), ∀h. (1) Le principe d’un algorithme itératif simple est le suivant: en commençant avec une condition initiale h(0), générer une séquence de vecteurs h(1), h(2), · · · , de telle manière que la valeur de la fonction J(h) diminue à chaque itération: J [h(n + 1)] < J [h(n)] . (2) On espère ainsi que l’algorithme convergera vers la solution optimale hopt. INRS-EMT J. Benesty 2 Un algorithme classique est l’ algorithme du gradient déterministe: 1 h(n + 1) = h(n) − µg(n), 2 (3) où n dénote l’itération, µ est une constante positive (pas d’adaptation), et ∂J [h(n)] g(n) = ∂h(n) (4) est le gradient de la fonction coût J [h(n)]. De l’itération n à l’itération n + 1, le vecteur h est mis à jour comme suit: δh(n) = h(n + 1) − h(n) 1 = − µg(n). 2 INRS-EMT J. Benesty (5) 3 Pour montrer que l’algorithme du gradient déterministe satisfait J [h(n + 1)] < J [h(n)], on utilise un développement de Taylor au premier ordre autour de h(n): J [h(n + 1)] = J [h(n) + δh(n)] ≈ J [h(n)] + gT (n)δh(n), (6) ce qui est justifié pour µ petit. On a donc: 1 J [h(n + 1)] ≈ J [h(n)] − µg(n)2, 2 (7) ce qui montre que J [h(n + 1)] est plus petit que J [h(n)]. Ainsi, en augmentant n, la fonction J décroit progressivement, approchant sa valeur minimale Jmin quand n → ∞. INRS-EMT J. Benesty 4 Application de l’algorithme du gradient déterministe au filtrage de Wiener Dans le filtrage de Wiener, on minimise l’erreur quadratique moyenne (EQM): J = E{e2(n)}, (8) e(n) = d(n) − xT (n)h (9) où est le signal d’erreur, h est un filtre RIF de longueur L, x(n) est le signal d’entrée, et d(n) est le signal désiré. Le gradient de J est: ∂J(h) ∂h = −2E{x(n)e(n)} g = (10) = −2E{x(n)d(n) − x(n)xT (n)h} = −2p + 2Rh. INRS-EMT J. Benesty 5 On en déduit l’algorithme du gradient déterministe pour le filtrage de Wiener: 1 h(n + 1) = h(n) − µg(n) 2 = h(n) + µ[p − Rh(n)]. (11) Cet algorithme peut encore s’écrire en utilisant le signal d’erreur: e(n) = d(n) − xT (n)h(n) (12) h(n + 1) = h(n) + µE{x(n)e(n)}. (13) Eventuellement, à l’infini, l’algorithme converge vers la solution optimale de Wiener-Hopf: h(∞) = hopt = R−1p. INRS-EMT J. Benesty (14) 6 Algorithme du gradient déterministe Algorithme itératif pour trouver le filtre optimal de Wiener. Données • la matrice d’autocorrélation R • le vecteur d’intercorrélation p Initialisation avec un vecteur quelconque h(0) Itérer n = 1, 2, · · · , N h(n + 1) = h(n) + µ[p − Rh(n)] Arrêter si p − Rh(n) < ε INRS-EMT J. Benesty 7 Stabilité de l’algorithme du gradient déterministe Comment choisir le pas d’adaptation µ pour que l’algorithme soit stable? Pour déterminer la condition de stabilité de l’algorithme, on examinera ces modes naturels, càd la représentation en valeurs propres de la matrice d’autocorrélation R. L’algorithme est: h(n + 1) = h(n) + µ[p − Rh(n)], (15) en utilisant l’équation de Wiener-Hopf p = Rhopt, on obtient: h(n + 1) = h(n) + µR[hopt − h(n)]. (16) Soit le vecteur misalignment suivant: c(n) = hopt − h(n), (17) l’équation (16) s’écrit maintenant: c(n + 1) = (I − µR)c(n). INRS-EMT J. Benesty (18) 8 On se rappelle que la matrice d’autocorrélation R peut s’exprimer en fonction de ses valeurs et vecteurs propres: R = QΛQT , (19) où QQT = I et Λ = diag{λ0, λ1, · · · , λL−1} est une matrice diagonale. En utilisant (19) dans l’équation d’adaptation, on a: c(n + 1) = (I − µR)c(n) = (I − µQΛQT )c(n). (20) En multipliant à gauche les deux côtés de l’équation précédente par QT , on obtient: QT c(n + 1) = (I − µΛ)QT c(n), (21) v(n + 1) = (I − µΛ)v(n), (22) soit où v(n) = QT c(n) = QT [hopt − h(n)]. INRS-EMT J. Benesty (23) 9 Pour le lth mode naturel de l’algorithme du gradient déterministe, on a ainsi: vl(n + 1) = (1 − µλl)vl(n), l = 0, 1, · · · , L − 1, (24) ou encore vl(n) = (1 − µλl)nvl(0), l = 0, 1, · · · , L − 1. (25) L’algorithme converge si vl(n) → 0 quand n → ∞ (dans ce cas h(n) → hopt). Pour cela il faut que: −1 < 1 − µλl < 1, ∀l, (26) 2 0 < µ < , ∀l, λl (27) soit ou encore 0<µ< 2 λmax , (28) qui est une condition nécéssaire et suffisante pour la convergence ou la stabilité de l’algorithme du gradient déterministe. INRS-EMT J. Benesty 10 La constante de temps (time constant) pour le lth mode est définie comme suit: |1 − µλl| = exp − 1 , τl (29) d’où τl = −1 . ln(|1 − µλl|) (30) En fait, τl est le nombre d’itérations requis pour que l’amplitude du lth mode |vl(n)| décroisse de 1/e de sa valeur initiale |vl(0)|. De manière équivalente, on peut prendre pour le pas d’adaptation: α , (31) 0<α<2 (32) µ= λmax où maintenant pour garantir la convergence de l’algorithme. α est le pas d’adaptation normalisé. INRS-EMT J. Benesty 11 Supposons que la valeur propre minimale soit λL−1 = λmin, dans ce cas: τL−1 = = −1 ln(|1 − αλmin/λmax|) −1 , ln(|1 − α/χ(R)|) (33) où χ(R) = λmax/λmin est le conditionnement de la matrice d’autocorrélation R. On voit bien que la vitesse de convergence du mode le plus lent dépend du conditionnement de R. On peut exprimer la même chose en fonction du filtre adaptatif directement. En effet, on a: v(n) = QT [hopt − h(n)], (34) soit en multipliant par Q: h(n) = hopt − Qv(n) = hopt − L−1 qlvl(n). (35) l=0 En remplaçant vl(n) = (1 − µλl)nvl(0) dans l’équation INRS-EMT J. Benesty 12 précédente, on obtient: h(n) = hopt − L−1 ql(1 − µλl)nvl(0). (36) l=0 Cette équation montre que chacun des coefficients du filtre de l’algorithme est une somme de L exponentielles. La constante de temps globale (τ ) n’est pas facile à déterminer. On a par contre: −1 −1 ≤τ ≤ , ln(|1 − µλmax|) ln(|1 − µλmin|) (37) la convergence est d’autant plus faible que le pas est faible. On se souvient de la forme canonique de l’erreur quadratique moyenne (EQM): J(n) = Jmin + L−1 λlvl2(n), (38) l=0 où Jmin est l’EQM minimale. En utilisant vl(n) = (1 − µλl)nvl(0), nous pouvons écrire: J(n) = Jmin + L−1 λl(1 − µλl)2nvl2(0). (39) l=0 INRS-EMT J. Benesty 13 Lorsque l’algorithme est convergent, càd lorsque 0 < µ < 2/λmax, limn→∞ J(n) = Jmin quelque soient les conditions initiales. La courbe obtenue en traçant J(n) en fonction du nombre d’itérations n est appelée courbe d’apprentissage (learning curve). D’après l’équation (39) cette courbe consiste en une somme d’exponentielles décroissantes, chacune d’elle correspondant à un mode propre de l’algorithme. La vitesse de convergence du mode l est liée à (1−µλl)2n. De la même manière qu’on l’a fait pour les coefficients du filtre, on définit la constante de temps de l’EQM pour le lth mode: τeqm,l = ≈ −1 2 ln(|1 − µλl|) 1 , 2µλl (40) pour µλl 1, ce qui est le cas en général. Le mode le plus lent est lié à la valeur propre la plus petite et le mode le plus rapide est lié à la valeur propre la plus grande. INRS-EMT J. Benesty 14 Exemple Reprenons l’exemple simple suivant: R = p = 1.1 0.5 0.5 1.1 0.5272 −0.4458 , , la solution optimale est: hopt = R−1p 0.8363 = . −0.7854 On va essayer d’obtenir cette solution avec l’algorithme du gradient déterministe et voir l’effet du pas d’adaptation (µ) sur le comportement de l’algorithme. On va utiliser le misalignment normalisé en dB: h(n) − hopt2 . 10 log10 2 hopt INRS-EMT J. Benesty (41) 15 Cette mesure est très utile en pratique et pour tous les algorithmes adaptatifs. Elle montre comment l’algorithme converge vers la solution optimale. Code en MATLAB R=[1.1 0.5;0.5 1.1]; p=[0.5271;-0.4458]; h=[-1;-1]; mu=0.01; H=h; for n=1:1000 h=h+mu*(p-R*h); H=[H h]; end INRS-EMT J. Benesty 16 (a) (b) 0 0.5 −10 Misalignment (dB) 1 h1 0 −0.5 −1 −1.5 −1.5 −20 −30 −40 −50 −1 −0.5 0 h0 0.5 1 1.5 −60 200 400 600 Iteration 800 1000 Figure 1: Pas d’adaptation µ = 0.01. (a) Processus d’adaptation du filtre h(n) d’un point quelconque h(0) = [−1 − 1]T et convergence vers la solution de Wiener hopt = [0.8363 − 0.7854]T . (b) Convergence du misalignment normalisé. INRS-EMT J. Benesty 17 (a) (b) 0 0.5 −10 Misalignment (dB) 1 h1 0 −0.5 −1 −1.5 −1.5 −20 −30 −40 −50 −1 −0.5 0 h0 0.5 1 1.5 −60 200 400 600 Iteration 800 1000 Figure 2: Pas d’adaptation µ = 1. (a) Processus d’adaptation (oscillations stables) du filtre h(n) d’un point quelconque h(0) = [−1 −1]T et convergence vers la solution de Wiener hopt = [0.8363 − 0.7854]T . (b) Convergence très rapide du misalignment normalisé. INRS-EMT J. Benesty 18 (a) (b) 0 0.5 −10 Misalignment (dB) 1 h1 0 −0.5 −1 −1.5 −1.5 −20 −30 −40 −50 −1 −0.5 0 h0 0.5 1 1.5 −60 200 400 600 Iteration 800 1000 Figure 3: Pas d’adaptation µ = 4. (a) Processus d’adaptation (oscillations instables) du filtre h(n) d’un point quelconque h(0) = [−1 − 1]T et divergence de la solution de Wiener hopt = [0.8363 − 0.7854]T . (b) Divergence du misalignment normalisé. INRS-EMT J. Benesty 19 (a) (b) 0 0.5 −10 Misalignment (dB) 1 h1 0 −0.5 −1 −1.5 −1.5 −20 −30 −40 −50 −1 −0.5 0 h0 0.5 1 1.5 −60 200 400 600 Iteration 800 1000 Figure 4: Pas d’adaptation µ = 0.001. (a) Processus d’adaptation très lent du filtre h(n) d’un point quelconque h(0) = [−1 − 1]T et convergence vers la solution de Wiener hopt = [0.8363 − 0.7854]T . (b) Convergence très lente du misalignment normalisé. INRS-EMT J. Benesty 20