• Nenhum resultado encontrado

LMS Rapide dans le domaine fréquentiel

Domaine d’implémentation du LMS

11. Annulation d’écho par filtrage adaptatif

11.2. LMS Rapide dans le domaine fréquentiel

et où µest le pas d’adaptation du LMS.

Afin de calculer ce terme de gradient, on développe l’expression de la fonction de coût J(hs) :

J(hs) =|es|2

=|xs−Ys.hs|2

=xTs.xs−2hTs.YTs.xs+hTs.YTs.Ys.hs (11.9) Par dérivation de l’équation (11.9) et en reconnaissant les expressions respectives de ˆ

us et du vecteur d’erreur es des équations (11.5) et (11.3), on en conclut que le gradient admet comme expression :

∇~hsJ(hs) = 0−2YTs.xs+ 2YTs.Ys.hs

=−2YTs.(xs−Ys.hs)

=−2YTs.es (11.10)

La mise à jour des coefficients du filtre adaptatif est donc réalisée selon l’équation : hs+1 =hs+ 2.µ.YTs.es (11.11) L’algorithme du LMS temporel par blocs est très simple à mettre en place. Son coût de calcul est fortement conditionné par le calcul des produits matriciels des équations (11.5) et (11.10) qui sont de l’ordre deN×L. L’équation (11.5) correspond à une convolution et peut donc être implémentée de manière rapide dans le domaine fréquentiel. Par incidence, il en est de même pour l’équation (11.10) qui correspond à une corrélation croisée.

11.2. LMS Rapide dans le domaine fréquentiel

11.2.1. Principes

L’algorithme LMS par bloc peut être rendu moins coûteux en temps de calcul si on choisit de réaliser la convolution temporelle dans le domaine fréquentiel. En opérant de la sorte, on tire alors avantage des propriétés de convolution circulaire de la TFD et de la rapidité de calcul de la Fast Fourier Transform (FFT). Cette méthode est appelée Fast LMS (FLMS), elle a été introduite par Ferrara dans [25] ; on la retrouve aussi dans la littérature sous l’appellation Frequency Domain Adaptive Filter (FDAF).

Outre sa rapidité, le FLMS possède des qualités de convergence supérieures au LMS temporel par blocs. En effet, les coefficients fréquentiels des signaux étant approximative- ment décorrélés, il est possible par une procédure de normalisation du gradient d’obtenir

156 11. Annulation d’écho par filtrage adaptatif des taux de convergence plus rapides et quasi-uniformes pour tous les modes du filtre adaptatif (cf. [27]). Le chapitre 13 est consacré à la normalisation du gradient qui est intégrée à la gestion du pas d’adaptation.

11.2.2. Convolution rapide dans le domaine de la transformée de Fourier

Les valeurs du signal d’écho ˆu sont estimées, comme on l’a vu plus haut, au moyen d’une convolution linéaire représentée matriciellement par l’équation (11.5), ˆus = Ys.hs, dont nous rappelons, ici, le détail :

ˆ u[sN]

ˆ u[sN+1]

... ˆ

u[sN+N1]

=

y[sN] y[sN1] . . . y[sNL+1]

y[sN+1] y[sN] . . . y[sNL+2]

... ... . .. ... y[sN+N1] y[sN+N2] . . . y[sN+NL]

.

hs[0]

hs[1]

... hs[L1]

Cette opération est très lourde du point de vue calculatoire. L’idée principale des al- gorithmes de convolution rapide est de réaliser la convolution dans le domaine de la transformée de Fourier selon le principe de dualité. En effet, une convolution circulaire dans le domaine temporel est équivalent à une multiplication terme à terme dans le do- maine fréquentiel1 de la TFD et les algorithmes de calcul rapide de la TFD permettent alors de réaliser cette opération avec une complexité réduite.

Dans le cadre de ce rapport de thèse, nous nous contentons simplement de rappeler la structure du FLMS. Pour consulter des références plus complètes sur le sujet, on peut notamment se reporter à [25], [27] et [61].

Le FLMS consiste à mettre en œuvre dans le domaine fréquentiel la convolution circu- laire entre les vecteurshes etyes, tous deux de longueurN+L−1, et définis respectivement par :

hes =hhs[0] hs[1] . . . hs[L1] 0 . . . 0iT

=hhTs 01×N−1

iT

(11.12)

e

ys =hy[sNL+1] y[sNL+2] . . . y[sN+N1]

iT

(11.13)

1. Une autre manière d’aborder cette propriété est de dire que la matriceYsest une matrice Toëplitz à laquelle on peut associer une matrice circulante. Or, une matrice circulante est diagonalisable dans la base de Fourier.

11.2. LMS Rapide dans le domaine fréquentiel 157 Notons ues le produit de la convolution circulaire entre yes et ehs :

e

us=yes⊛hes (11.14)

où⊛ représente le produit de convolution circulaire entre deux vecteurs.

Le vecteurues est de longueur N+L−1, sesN dernières composantes correspondent à la convolution linéaire de l’équation (11.5) c’est-à-dire aux composantes deˆus. Les L−1 premières composantes résultent de la convolution circulaire et doivent être écartées.

De manière formelle, on écarte ces L −1 premières composantes en considérant la matrice de troncature PN de dimension N ×(N +L−1)définie par :

PN =

"

0N×(L−1) IN

#

(11.15)

On obtient alors :

ˆ

us =PN·ues (11.16)

=PN·yes⊛hes

NotonsWF la matrice de transformation de Fourier discrète de dimensionM (M ∈N) de coefficients :

WF[k, l] = exp

Ã

−2jπkl M

!

(11.17) etW−1F la matrice de la transformation inverse :

W−1F [k, l] = 1 M exp

Ã

2jπkl M

!

(11.18) Remarque

Pour le calcul de la FFT, il faut choisir M comme une puissance de 2. En général, on choisit doncN +L−1si cette valeur convient ou la puissance de 2 supérieure la plus proche sinon (auquel cas il faut compléter les vecteurs par le nombre de coefficients nuls nécessaire et écarter les dernières composantes vectorielles introduites lors de la transformation inverse). Pour simplifier, on suppose, ici, que l’on choisit M =N +L−1.

Pour un exemple d’implémentation avec des valeurs de M supérieures à N + L−1, on peut se reporter à [61].

La réalisation de la convolution circulaire se fait dans le domaine fréquentiel à l’aide des TFD respectives de eys et hes notéesYfs etHfs et de longueur M :

Yfs =WF·yes (11.19)

Hfs =WF·hes (11.20)

158 11. Annulation d’écho par filtrage adaptatif Le calcul de la convolution linéaire est donc réalisé selon l’expression suivante :

ˆ

us =PN·W−1F ³Yfs⊙Hfs´ (11.21) où⊙ représente le produit de Schür ou produit composante à composante des vecteurs.

En reprenant l’équation (11.3) exprimant le signal d’erreur, on obtient alors :

es=xs−PN·W−1F ³Yfs⊙Hfs´ (11.22) Grâce à l’utilisation de FFT, le calcul de l’erreur par blocs est de cette façon rendu moins coûteux que dans le cas du LMS temporel par blocs.

11.2.3. Mise à jour du filtre adaptatif

Comme pour le calcul de l’erreur, la mise à jour du filtre hes peut être réalisée dans le domaine fréquentiel avec un coût de calcul moindre. L’équation (11.11) de mise à jour dans le domaine temporel s’exprime, en effet, très simplement dans le domaine fréquentiel.

A cet effet, on définit la TFD,Ees, de la séquence d’erreur de la manière suivante :

Ees=WF·

0L−1

e

es

(11.23)

En reprenant la méthode de calcul du gradient comme on l’a exprimé, dans le domaine temporel, à la section 11.1.3, on peut mettre à jour les coefficients du filtre adaptatif directement dans le domaine de la TFD.

Le terme de mise à jour des coefficients du filtre représentant lacorrélation croisée de l’équation (11.10) s’exprime alors par Yfs⊙Ees, Yfs étant le conjugué de Yfs.

A chaque itérations, la mise à jour du filtre adaptatif est alors réalisée selon l’équation :

sans contrainte :

Hfs+1 =Hfss⊙(Yfs⊙Ees) (11.24)

avec contrainte :

Hfs+1 =Hfs+Cµs⊙(Yfs⊙Ees) (11.25) où

— Cest la matrice de contrainte qui impose auxN−1dernières composantes du filtre hes d’être nulles,

11.3. FLMS dans le domaine de la transformée de Hartley discrète 159

— µsest le pas d’adaptation qui contrôle la vitesse de convergence de l’algorithme (cf.

sa définition dans le chapitre 13).

Cest définie par :

C=WF·

IL×L 0(N−1)

0(N−1)×L 0N−1

·W−1F (11.26)

11.3. FLMS dans le domaine de la transformée de