1 INTRODUCTION 2 L`ALGORITHME SU RLS

publicité
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
Téléchargement