UN ALGORITHME DES MOINDRES CARRE S RE CURSIF RAPIDE: LE FSU RLS Dirk T. M. Slock Karim Maouche Institut EURECOM, 2229 route des Cr^etes, B.P. 193, 06904, Sophia Antipolis Cedex, FRANCE Nous presentons un nouvel algorithme des moindres carres recursif rapide. Cet algorithme presente un inter^et certain pour l'adaptation de ltres tres longs comme ceux utilises dans les problemes d'annulation d'echo acoustique. L'idee de depart est d'utiliser l'algorithme RLS avec une mise a jour \sous-echantillonnee" du ltre. Dans cet algorithme (le SU RLS) le gain de Kalman et la variable de vraisemblance sont des matrices qui ont des rangs de deplacement faibles. Ces quantites sont alors representees et mises a jour par le biais de leurs generateurs, sous forme de sommes de produits de matrices de Toeplitz triangulaires et le produit de l'une de ces quantites avec un vecteur peut alors ^etre calcule en utilisant la transformee de Fourier rapide. We derive a new fast algorithm for Recursive LeastSquares (RLS) adaptive ltering. This algorithm is especially suited for adapting very long lters such as in the acoustic echo cancellation problem. The starting point is to introduce subsampled updating (SU) in the RLS algorithm. In the SU RLS algorithm, the Kalman gain and the likelihood variable are matrices. Due to the shift invariance of the adaptive FIR ltering problem, these matrices exhibit a low displacement rank. This leads to a representation of these quantities in terms of sums of products of triangular Toeplitz matrices. Finally, the product of these Toeplitz matrices with a vector can be computed eciently by using the Fast Fourier Transform (FFT). 1 INTRODUCTION 2 L'ALGORITHME SU RLS An de xer les notations, nous commencons par rappeler l'algorithme des moindres carres recursif (RLS). Pour adapter un ltre RIF sous forme transverse (FTF) [1], [2] ou en treillis (FLA/FQR) [3], les algorithmes recursifs rapides des moindres carres exploitent la propriete dite de \shift invariance" inherente au probleme du ltrage adaptatif. Avec ces algorithmes adaptatifs, la complexite passe de O(N 2 ) pour le RLS a O(N) par echantillon (N est la longueur du ltre RIF). Pour reduire davantage la complexite de ces algorithmes, il faut reduire la frequence d'adaptation du ltre. La mise a jour du ltre est alors dite sous-echantillonnee avec un rapport de sous-echantillonnage donne L. Deux strategies apparaissent: La premiere consiste a faire un traitement par blocs en resolvant les equations normales a chaque L echantillons, c'est l'algorithme BRLS (Block RLS) [4]. La deuxieme alternative consiste a utiliser la m^eme strategie que le RLS en calculant le nouveau ltre et d'autres quantites auxiliaires a partir des donnees disponibles L echantillons auparavant. Cette demarche amene a l'algorithme SU RLS (Subsampled Updating RLS). Dans ce qui suit, nous nous interesserons plus particulierement a une version rapide du SU RLS (FSU RLS) en utilisant la notion de structure de deplacement ainsi que la technique de convolution rapide par utilisation de la transformee de Fourier rapide (FFT). En fait, la strategie du BRLS s'avere plus interessante pour les grandes valeurs de L (comparables a N) alors que le FSU RLS est plus interessant pour des valeurs intermediaires. reponse desiree d(k) 7 entree x(k)- Filtre ? -+ transverse WN;k adaptatif N (k) Figure 1: Systeme de ltrage RIF adaptatif. 2.1 L'algorithme RLS Le ltre transverse adaptatif WN;k forme une combinaison lineaire des N echantillons consecutifs du signal d'entree fx(i,n); n = 0; . . .; N ,1g pour approximer l'oppose du signal desire d(i). Le signal d'erreur resultant est donne par (voir Fig. 1) N (ijk) = d(i) + WN;k XN (i) = d(i) + 1 , N X1 n+1 WN;k x(i,n) n=0 (1) ou XN (i) = xH (i) xH (i,1) xH (i,N+1) H est le vecteur de regression et H l'operateur de transposition et conjugaison complexe. Dans h l'algorithmeiRLS, les N coef1 N cients du ltre WN;k = WN;k WN;k sont adaptes de maniere a minimiser recursivement le critere des moindres carres suivant ( N (k) = min WN k X i=1 , kd(i) + WN XN (i)k2 k i H RN;k = L RN;k,L + XN;L;k L XN;L;k ou ) (2) CeN;k ,N1 (k) R,N;k1 pN;L;k ,N1 (k) N;L;k WN;k (3) k X RN;k = k,iXN (i)XNH (i) i=1 = RN;k,1 + XN (k)XNH (k) k X , XN (i)dH (i) (4) 2 (17) (18) (19) 3 (20) 3 HN (k,L+1jk) 7 .. N;L;k = 64 (21) 5 : . H N (kjk) Cet algorithme est equivalent au RLS quand L = 1. Il presente la m^eme complexite par echantillon. Le gain de Kalman CeN;k ainsi que la variable de vraisemblance N (k) sont des matrices respectivement L N et L L. 2.3 E quivalence des algorithmes RLS et SU RLS Les erreurs de ltrage du SU RLS ne sont pas des erreurs de prediction a un pas mais a plusieurs pas. Ceci est d^u au fait que le ltre WN;k est adapte a chaque L echantillons. Il est cependant possible de calculer les erreurs a priori du RLS a partir pde ceux du SU RLS. Soit N;k le vecteur des erreurs a priori du RLS entre les instants k,L+1 et k 2 H 3 N (k,L+1jk,L) 7 .. pN;k = 64 (22) 5 . H N (kjk,1) Il est possible d'obtenir un algorithme equivalent au RLS en mettant a jour le ltre, non pas a chaque echantillon du signal d'entree mais a chaque L echantillons. Dans ce qui suit, nous supposerons pour des raisons de commodite que L est une puissance de 2 et que M = NL+1 est un entier. Posons 2 H 3 2 H 3 d (k,L+1) x (k,L+1) 7 6 7 .. .. dL;k = 64 5 ; xL;k = 4 5 ; (11) . . H H d (k) x (k) et soit DN;L;k la matrice diagonale suivante: DN;L;k = diag L,1N (k,L+1); . . .; N (k) 3 X (k,L+1) 7 .. XN;L;k = 5 = [xL;k xL;k,N +1 ]: (12) . XNH (k) La matrice des donnees XN;L;k est construite de maniere a ce qu'elle ait une structure de Toeplitz. On peut alors reecrire (4) sous la forme 6 4 H dL;k + XN;L;k WN;k ,L p N;L;k WN;k,L + HN;L;k CeN;k HN (k,L+1jk,L) 6 7 p .. N;L;k = 4 5 . HN (kjk,L) et N;L;k est le vecteur des erreurs a posteriori: 2.2 L'algorithme SU RLS H N ,XN;L;k ,L R,N;k1 ,L (14) H (15) ,L 1 , XN;L;k CeN;k H ,L R,N;k1 ,L , CeN;k N (k)CeN;k (16) 2 CeN;k = ,XNH (k),1 R,N;k1 ,1 (5) N,1 (k) = 1 , CeN;k XN (k) (6) , 1 , 1 ,1 H e e RN;k = RN;k,1 , CN;k N (k)CN;k (7) p N (k) = N (kjk,1) = d(k) + WN;k,1 XN (k) (8) N (k) = N (kjk) = pN (k) N (k) (9) e WN;k = WN;k,1 + N (k)CN;k (10) ou pN (k) et N (k) sont les signaux d'erreurs a priori et a posteriori. Ces erreurs sont reliees par la variable de vraisemblance N (k) (9) et CeN;k est le gain de Kalman. 2 = = = = = = ou pN;L;k est le vecteur des erreurs a priori: PN;k = i=1 = PN;k,1 + XN (k)dH (k) sont respectivement la matrice d'autocorrelation et le vecteur d'intercorrelation estimes. En remplacant les recurrences pour RN;k et PN;k (4) dans (3) et en utilisant le lemme d'inversion matriciel pour R,N;k1 , on obtient l'algorithme des moindres carres recursif: k i avec N = diag N ,1 ; . . .; ; 1 . En remplacant dans (3) PN;k et RN;k par leurs expressions donnees en (13), on obtient l'algorithme SU RLS ou 2 (0; 1] est le facteur d'oubli exponentiel. La minimisation de ce critere donne H WN;k = ,PN;k R,N;k1 (13) H PN;k = L PN;k,L + XN;L;k L dL;k (23) alors, on peut montrer que H pN;L;k N (k)pN;L;k = pN;kH DN;L;k pN;k : (24) Considerons la decomposition UDL de N (k) H N (k) = UN;L;k DN;L;k UN;L;k 2 (25) 3.2 Structure de deplacement de la variable de vraisemblance UN;L;k est triangulaire superieure avec une diagonale unite et la matrice diagonale DN;L;k est celle denie dans (23). En remplacant (25) dans (24), on obtient H (26) UN;L;k pN;L;k = pN;k : p Cette relation permet de calculer les erreurs a priori N;k de l'algorithme RLS a partir des erreurs a priori pN;L;k du SU RLS. De la m^eme facon, on montre que le gain de Kalman du SU RLS est lie a celui du RLS par la relation 2 3 CeN;k,L+1 7 .. H UN;L;k Ce N;k = ,L 1 64 (27) 5 : . e CN;k En particulier, soit uN;L;k la derniere colonne de UN;L;k . Alors (27) donne (28) uHN;L;k CeN;k = CeN;k : La structure de deplacement de ,N1 (k) est donnee par Elle est egale a H r ,N1(k) = epN;L;k ,L ,N1(k,L)epN;L;k p pH ,rN;L;k ,L N,1 (k,L)rN;L;k La structure de deplacement d'une matrice R est: X i=1 ui viH (29) ou , le rang de R , Z R Z H est appele le rang de deplacement et Z est la matrice de deplacement inferieure (1 sur la premiere diagonale superieure et 0 ailleurs). La resolution de cette equation de Lyapunov donne la representation suivante de R: X R = r, 1 i=1 ! uv H i i = X i=1 L(ui ) e LH (vi ) (30) 4 L'ALGORITHME FSU RLS ou e = diag 1; ; 2 ; . . . et L(u) est une matrice de Toeplitz triangulaire inferieure avec u comme premiere colonne. Cette representation sera utilisee pour Ce N;k et ,N1(k) an de reduire la complexite du SU RLS. L'equation (19) peut ^etre mise sous la forme h h avec h iH N;L;k = XN +1;L;k 0 CeN;k,L uL;1 = [ 1 0 0 0 ]H ( L 1 ) : i (38) i Si on remplace Ce N;k 0 par sa representation en fonction de ses generateurs via (33) et (30), (38) prendra la forme suivante Soient AN;k et BN;k les ltres de prediction respectivement direct et retrograde et N (k) et N (k) les variances desp erreurs de prediction correspondantes (voir [1]) et soient eN;L;k p et rN;L;k les vecteurs des erreurs de prediction respectivement avant et arriere epN;L;k = XN +1;L;k AHN;k,L (31) p H rN;L;k = XN +1;L;k BN;k,L : (32) La structure de deplacement du gain de Kalman est h i r CeN;k 0 = ,epN;L;k ,L ,N1 (k,L)AN;k,L p +rN;L;k ,L N,1 (k,L)BN;k,L h i [WN;k 0] = [WN;k,L 0] + HN;L;k Ce N;k 0 : 3.1 Structure de deplacement du gain de Kalman , (N;L;k , uL;1) ,L+1 N (k,L) 0 CeN;k,L (36) + (N;L;k , uL;1) ,L+1 N (k,L) (N;L;k , uL;1)H : (37) Le gain de Kalman ainsi que la variable de vraisemblance ont des rangs de deplacement egaux a 3. Ces matrices ont une structure proche de celle de Toeplitz et peuvent ^etre remplacees par leurs representations comme dans (30). Pour la mise a jour de CeN;k et ,N1(k) (14), (15), il sut mainh i tenant de mettre a jour les ltres AN;k , BN;k et 0 CeN;k , p et de calculer epN;L;k , rN;L;k et N;L;k a partir de leurs denitions (31), (32) et (34), en utilisant les donnees disponibles a l'instant k. L'apparition dans ces nouvelles representations de matrices de Toeplitz va permettre en plus de reduire la complexite des calculs. En eet, le produit du gain de Kalman par le vecteur d'erreurs a posteriori pourra ^etre calcule a l'aide de la technique de convolution rapide Overlapsave (utilisation de la transformee de Fourier rapide [5]). De plus, l'inversion de la variable de vraisemblance ainsi que sa decomposition UDL pourra ^etre faite avec l'algorithme de Schur generalise. 3 STRUCTURES DE DE PLACEMENT POUR LE SU RLS r R = R , Z R Z H = H r ,N1(k) = r ,L 1 + ,L r XN;L;k R,N;k1 ,LXN;L;k : 3 X i i diTL;L e L GL;N +1 i=1 (39) i i ou di, TL;L et GL;N sont respectivement des scalaires, des +1 matrices de Toeplitz L L triangulaires inferieures et des matrices de Toeplitz L (N + 1) triangulaires superieures. Le dernier terme de (39) peut alors ^etre calcule de la maniere suivante: Pour i = 1; 2; 3 : multiplier di par N;L;k pour obtenir p1L;i = HN;L;k di. utiliser la methode Overlap-save pour calculer le produit i . p2L;i = p1L;i TL;L [WN;k 0] = [WN;k,L 0] + HN;L;k (33) (34) (35) multiplier p2L;i avec la matrice diagonale e L . Ce qui donne un vecteur 1 L : p3L;i = p2L;i e L. 3 5 Conclusions utiliser la methode Overlap-save pour calculer le produit N +1 i p4L;i = p3L;iGL;N +1 en L portions de taille L. La complexite du FSU RLS est O(8 NL+1 F F TL(2L) + 34 NL + 5:5L) operations par echantillon ou FFT(m) represente le nombre d'operations necessaire pour realiser une FFT d'une sequence de longueur m. Ceci est particulierement interessant pour les ltres de grande taille. Par exemple lorsque (N; L) = (4095; 256); (8191;256) et avec une FFT split radix (FFT (2m) = mlog2 (2m) multiplications reelles pour des signaux reels) la complexite est respectivement 0:8N et 0:6N par echantillon, complexite a comparer avec celle du LMS (2N) et celle du FTF qui est 7N et qui est actuellement l'algorithme des moindres carres le plus rapide. Le prix a payer est cependant, l'introduction d'un retard de O(L) echantillons dans le traitement. Les simulations ont montre que l'algorithme est conforme a la theorie. Cependant, celui-ci presente des problemes d'instabilite numerique d^us a la propagation des erreurs d'arrondi. Un moyen simple de le stabiliser consisterait a rafra^chir les generateurs a intervalles reguliers en utilisant par exemple le BRLS [4]. La stabilisation du FSU RLS est neanmoins envisageable et constitue l'objet des recherches a venir. Finalement, sommer les trois vecteurs pL;i et appliquer la 4 3 X transformee de Fourier inverse a la somme p4L;i . i=1 Le gain de Kalman RLS sera mis a jour en utilisant (28) et la representation de CeN;k en fonction de ses generateurs. Les ltres de prediction seront mis a jour de la m^eme facon que le ltre WN;k . Une legere complication se presente neanmoins pour la reactualisation du ltre de prediction direct. Les details peuvent ^etre trouves dans [6]. L'algorithme FSU RLS resultant est donne dans la table ci-dessous. Algorithme FSU RLS = dL;k + XN +1;L;k [WN;k,L 0]H H r = XN +1;L;k hBN;k ,L iH N;L;k = XN +1;L;k 0 CeN;k,L H H X eN (k , L+1) N +1;L;k AN;k ,L+1 = X H (k+1) AH epN;L;k"+1 N +1 # N;k ,L+1 H e (k , L+1) N epN;L;k = ep , N;L;k eHN (k,L+1) N;L;k +1 1:L,1 n H ,N1 (k) = r, 1 epN;L;k ,L ,N1(k,L)epN;L;k p pH ,rN;L;k ,L N,1 (k,L)rN;L;k o + (N;L;k , uL;1) ,L+1 N (k,L) (N;L;k , uL;1)H ,N1 (k) = LN;L;k GN;L;k LHN;L;k LH uN;L;k = uL;L p ,N1 (k) N;L;k = N;L;k p ,N1 (k) rN;L;k = rN;L;k , 1 h N (k) eiN;L;k+1 =nepN;L;k+1 CeN;k 0 = r, 1 ,epN;L;k ,L ,N1 (k,L)AHN;k,L p H +rN;L;k ,L N,1 (k,hL)BN;k ,L io ,(N;L;k , uL;1),hL+1 N (ki,L) 0 CeN;k,L H BN;k = BN;k,L + rN;L;k Ce N;k 0 L H h N (k) =i N (k,L) + rN;L;k rp h i N;L;k CeN;k 0 = uHN;L;k CeN;k 0 N,1 (k) = (GN;L;k )L;L i h AN;k+1 = AN;k,L+1 + eHN;L;k+1 Ce N;k 0 ZNH+1 H epN (k+1) = epN;L;k u +1 N;L;k p eN (k+1) = eN (k+1)N (k) h i AN;k = AN;k+1 , eN (k+1) 0 CeN;k N (k+1) = L N (k,L+1) + eHN;L;k+1 epN;L;k+1 pH N (k) = ,1 N (k+1) , eN (k+1)e (k+1) h N i H e [WN;k 0] = [WN;k,L 0] + N;L;k C N;k 0 p N;L;k p N;L;k References [1] J.M. Cio and T. Kailath. \Fast, recursive least squares transversal lters for adaptive ltering". IEEE Trans. on ASSP, ASSP-32(2):304{337, April 1984. [2] D.T.M. Slock and T. Kailath. \Numerically Stable Fast Transversal Filters for Recursive Least-Squares Adaptive Filtering". IEEE Trans. Signal Proc., ASSP39(1):92{114, Jan. 1991. [3] D.T.M. Slock. \Reconciling Fast RLS Lattice and QR Algorithms". In Proc. ICASSP 90 Conf., pages 1591{ 1594, Albuquerque, NM, April 3{6 1990. [4] X.-H. Yu and Z.-Y. He. \Ecient Block Implementation of Exact Sequential Least-Squares Problems". IEEE Trans. Acoust., Speech and Signal Proc., ASSP-36:392{ 399, March 1988. [5] M. Vetterli. \Fast Algorithms for Signal Processing". In M. Kunt, editor, Techniques modernes de traitement numerique des signaux. Presses Polytechniques et Universitaires Romandes, Lausanne, Switzerland, 1991. ISBN 2-88074-207-2. [6] D.T.M Slock and Karim Maouche. \The Fast Subsampled-Updating Recursive Least-Squares (FSU RLS) Algorithm for Adaptive Filtering Based on Displacement Structure and the FFT". Research Report No 92-001, Institut Eurecom. 4