Vous êtes sur la page 1sur 35

Chapitre 10

Filtrage adaptatif

Le temps en traitement du signal et les


filtres adaptatifs
Trois aspects
Filtrage

Lissage

Prdiction

Leffort de filtrage devient de la prdiction si on na pas toute


linformation au moment voulu
Cas de signaux bruits ou de systmes dont les paramtres varient avec le
temps

Dans ce cas, le raisonnement en termes statistiques et lusage de critres


de performance mnent la conception de filtres optimaux, grce
ladaptation continue des coefficients en fonction de la situation du moment

Signaux communs et processus stochastiques

La plupart des signaux dintrt en DSP peuvent tre


perus comme des ralisations de processus
stochastiques
Fonctions dune variable non dcroissante (ex. le temps)
dont les valeurs obissent des lois probabilistes
Ex. : multimdia, donnes financires et mtorologiques,
signaux biomdicaux, etc.

Lenvironnement et les paramtres de gnration


peuvent tre invariants aux retards ou non.

Processus stationnaires et non stationnaires

Lamplitude de x[n] varie avec n en suivant les


caractristiques statistiques du processus
stochastique sous-jacent
Stationnaire (invariant aux retards) ou non stationnaire
(variant aux retards)

Dans le cas stationnaire, les paramtres du modle


de probabilit sont invariants au retard; sinon, le
processus est non stationnaire

Types de processus stationnaires

Un processus stochastique stationnaire x[n] est


strictement stationnaire si toutes ses statistiques sont
invariantes aux retards, en particulier :

E{x[n]} = x
; valeur moyenne
2
E{(x[n]- x) }=
; variance
E{x[n]x[n + k]}= rxx(k)
; autocorrlation
E{|F {x[n]x[n + k]}|2}= E{|X(f)|2] = Pxx(f) ; densit spectrale
; de puissance

Un processus est largement stationnaire si au moins sa


moyenne et son autocorrlation sont invariantes aux
retards

Filtre adaptatif

Deux types, linaire et non linaire


Linaire : la valeur de sortie rsulte de la combinaison
linaire des observations disponibles concernant lentre
Filtre de Wiener-Kolmogorov, filtre de Kalman de base

Non linaire : La valeur de sortie est obtenue par un


processus non linaire
Rseaux de neurones artificiels, filtre de Kalman tendu

Dans les faits, les filtres adaptatifs sont tous non


linaires, puisquon ne peut pas leur appliquer le
principe de superposition.

Principe dun filtre adaptatif linaire

Deux processus parallles :


1. Filtrage normal
2. Adaptation des coefficients aux variations environnementales

Structures de filtrage linaire

Pour des entres stationnaires, lapproche dadaptation


commune, appele filtre de Wiener, essaye de trouve une
solution optimale au sens des moindres-carrs.
Un trac est fait de la valeur quadratique moyenne du signal derreur en
fonction des coefficients du filtre, donnant la surface de lerreur; le point
minimum de la surface dfinit la solution de Wiener

Pour les signaux non stationnaires, ou dont les statistiques sont


inconnues ou ne suivent pas de modle prdfini, le filtre de
Wiener est souvent inappropri et on lui prfre le filtre de
Kalman
Le filtre de Kalman ne fait pas dhypothse de stationnarit.

Mise en uvre
La complexit de
ladaptation demande
une mise en uvre
numrique
Les filtres RIF
adaptatifs sont
prfrs grce leur
stabilit

Filtrage adaptatif de signaux analogiques

Des convertisseurs A/N et N/A sont requis aux E/S


analogiques

Filtres de Wiener-Kolmogorov

Leur conception repose sur lhypothse dun cadre


statistique stationnaire et connu a priori, et o les
signaux liminer sajoutent au signal utile

Le filter fournit une erreur quadratique moyenne


(MSE en anglais) nulle si les proprites statistiques du
signal dentre correspondent au modle utilis
Si linformation nest pas disponible ou est incomplte,
la conception du filtre peut devenir impossible ou il
fournira des rsultats sous-optimaux.

Adaptation des coefficients par la mthode du


minimum du carr moyen de lerreur (MMSE)
Sortie du filtre pour une entre
adapter

et des coefficients

Le vecteur w est mis jour chaque n en cherchant la


valeur qui minimise MSE par rapport la sortie
dsire
Notations: erreur instantane :
MSE :

,
=

Adaptation des coefficients par la mthode


MMSE

Sortie du filtre sous forme matricielle :


x[n]

Signal derreur :
=
=

d[n]
y[n]

Pour N chantillons de d[n] et y[n] :


0
1

0
1

0
1

1
2

0
1

Adaptation des coefficients par la mthode


MMSE

Les coefficients du filtre sont obtenus en cherchant le


minimum de lerreur quadratique moyenne
par
rapport au vecteur w
On a, en supposant que w change lentement par
rapport x
x
2
0

+
2

Rxx=

est la matrice dautocorrlation du signal dentre et



est le vecteur de corrlation croise du signal
dentre et du signal dsir

Surface derreur
Si Rxx et
sont connus, lerreur quadratique moyenne
dpend uniquement de w et peut tre note J(w)

Par exemple, pour un filtre dordre


2, J(w) dfinit une surface derreur
qui a la forme dun dme invers
(fonction quadratique)
Au minimum de J(w), le gradient est
nul (
0) et la valeur de w
correspondante est optimale pour les
coefficients du filtre

Erreur carre moyenne J

Poids w optimaux

w0

w1

Reprsentation graphique de
J(w)=
en fonction des
lments de w dans le cas dun
filtre dordre 2

Adaptation des coefficients par la mthode


MMSE

Le gradient de w est loprateur vectoriel dfini par


,

,,

Lapplication de

donne
0

2
2

Les coefficients du filtre de Wiener MMSE sont obtenus en


posant
0 et en rarrangant les termes :
Solution de Wiener-Hopf

Adaptation des coefficients par la mthode


MMSE

Approche scalaire; les indices [n] sont omis pour simplifier la


notation et E{} est utilis au lieu de

pour signifier la moyenne :


(on suppose que w varie
lentement par rapport x)

Autocorrlation

Corrlation croise

Drivation alternative des coefficients par la


mthode MMSE

Avec la notation :
: puissance du signal dsir
: lment du vecteur de corrlation croise, i=0,1,, M-1
,

: lment de la matrice dautocorrlation , i, j=0,1,, M-1

On a :
2

do, en notation matricielle :


2

Par consquent :

Remarques sur la mthode MMSE

Lexpression de wopt utilise des statistiques sur les


donnes qui ne sont pas toujours connues a priori
En labsence des statistiques requises, la dtermination
de P et R peut demander de collecter beaucoup de
donnes pour tre fiable
Collecte pas toujours vidente et temps de calcul longs
quand cest le cas

Le calcul de
peut demander beaucoup doprations
Par consquent, lopration en temps rel est souvent
difficile, sinon impossible!

Exemple trivial
Filtre dordre 1 avec :

= 33
P = 10
R=2

On a :
2
do :

20

33
0

20

5 => y[n]=5 x[n]

10

Mthode de la plus grande pente (steepest descent)

Mthode moins contraignante qui, au lieu de


dterminer w avec lensemble des donnes, procde
par approximations successives
La mise jour de w se fait progressivement, mesure que de
nouvelles valeurs du signal dentre deviennent disponibles

Revient faire lapproximation locale de la surface


derreur par une surface plane et dterminer en
suivant la direction de plus grande pente vers le bas,
cest--dire vers la direction oppose
.

Mthode de la plus grande pente

On a toujours :

2
2

mais on value
chaque instant n et chaque
lment de w voit sa valeur changer en consquence

: facteur de convergence

11

Mthode de la plus grande pente

Lquation prcdente reprsente un filtre adaptatif:


Habituellement:

Mthode de la plus grande pente

La valeur du poids wk litration n est mise jour


la prochaine itration par :
1

joue un rle important pour lefficacit de la mthode


Une valeur suffisamment petite mne converger vers le point
donn par
0, mais il peut sagir dun minimum local.

La connaissance de P et R est toujours requise !

12

Un exemple toujours trivial

Filtre de Wiener dordre 1 avec :

= 33
P = 10
R=2
= 0.1
w[0] = 0

On a :
2

33
20

do :

n w[n]

20

0.4

0 0

-2

1 2

-1.2

3.2

2 3.2

-0.72

3.92

3 3.92

-0.432

4.352

4 4.352

Noter le comportement diffrent


en fonction des valeurs de

13

Adaptation des coefficients par la mthode


du moindre carr moyen de lerreur (LMS)

Mthode plus rapide qui utilise le gradient de lerreur


quadratique instantane au lieu de celui de lerreur
quadratique moyenne

devient

Donne un filtre RII dordre 1!

Algorithme LMS

Lusage de
au lieu de
remplace P
et R par des estimations instantanes

, ;

14

Algorithme LMS
;

, ;

La substitution dans la mthode de la plus grande pente donne :


1

Do :

Algorithme LMS
wk n 1 wk n enxk n k

Sous forme vectorielle:


1

La trajectoire de sur la surface derreur


convergera vers la solution optimale pour
appropri.
Le facteur de convergence doit satisfaire :
0

15

Stability of LMS

The LMS algorithm is convergent in the mean square if


and only if the step-size parameter satisfy

Here max is the largest eigenvalue of the correlation


matrix of the input data
More practical test for stability is

Larger values for step size

Increases adaptation rate (faster adaptation)


Increases residual mean-squared error

Algorithmes de signe

Versions simplifies de lalgorithme LMS


Utiles pour les implmentations en matriel et haute vitesse.

Algorithme du signe de lerreur


Remplace e[n] par son signe :
1
n

Algorithme du signe de la variable indpendante


Remplace x[n] par son signe :
1
n

Donne souvent une meilleure performance que lalgorithme de
signe portant sur lerreur

16

Algorithme LMS

Pour chaque chantillon du signal :


1. Filtrer avec les coefficient bi courants
2. Mettre jour les coefficients bi
Input
xn

xn

b0

z-1

x n-1

z-1

z-1

b1

x n-N+1

b N-1

Reference
rn
yn
-

e n* x n

e n* x n-N+ 1

e n* x n-1

en

e i = en*x n-i

Algorithme LMS pour ladaptation


Pour chaque chantillon :
1. Calculer lerreur en = rn-yn
2. Multiplier par pour obtenir en= en
3. Pour chaque coefficient :

calculer le produit partiel xn-ibi et accumuler


calculer le produit ei = enxn-i
calculer newbi = bi+ei
faire la mise jour bi = newbi.

Simple, mais il faut le faire souvent!


Une instruction ddie peut tre trs utile

17

Implementation sur un DSP C55x

Pour chaque indice n, calculer :

en rn 1 yn 1.

N 1

yn bi (n) xni .
i 0

i 0, N 1 bi (n 1) bi (n) en xn i .

Instruction LMS spcifique pour raliser la


mise jour parallle de yn et bi:
ACy = ACy + (bi*xn-i); ACx = rnd(ei+bi)

Larrondi est important pour les petites valeurs de

Instruction LMS
2M cycles par terme RIF
LMS Xmem,Ymem utilise les
accumulateurs A and B.
A + ([Xmem]<<16)+215 A
B + [Xmem] x [Ymem] B
Xmem pointe vers bi, Ymem vers xn-i

Les donnes sont stockes dans un tampon


circulaire

18

Example of LMS adaptive filter on C55X

.asg
.asg
MOV
|| MOV
MPYM
|| MOV
MOV
LMS

AR3, Coefs
AR4, Data

Pre-calculate *e(n) ... .


AR3 pts to coeff table: a[n]
AR4 pts to data table: x[n]

@DeltaE,T3
T3 holds error step amount
#(N-2),BRC0
... while loading BRCO
*Data,T3,AC0
AC0=error*oldestsample: x(n-N)
#0,AC1
while clearing AC1 (run FIR)
port(@X_new),*Data
Overwrite x(n-N) with x(n)
*Coefs,*Data,AC0,AC1 Start FIR, update oldest coef

|| RPTBLOCAL e1
and start repeat block
MOV
HI(AC0),*Coefs+
Store update coefficient ...
|| MPYM
*Data+,T3,AC0
...while calc. next update term
e1: LMS
*Coefs,*Data,AC0,AC1 Calc FIR, update coefficient
MOV
HI(AC0),*Coefs
Store final coefficient...
while storing FIR output
|| MOV
HI(AC1),*Result+

Applications

Plusieurs applications en fonction


de la configuration
On peut identifier quatre classes :
1. Annulation du bruit
Le signal dentre est corrl avec un
signal de rfrence

2. Identification de systme
Le filtre adaptatif et le systme
identifier reoivent le mme signal.

3. Modlisation inverse
Le filtre adaptatif est en srie avec un
systme inconnu

4. Prdiction linaire
Le signal dsir est le signal dentre
avant un dlai.

19

Identification

Fournit un modle linaire dun systme inconnu

Applications:

Identification de systme

Exemple trivial
Modlisation dun systme avec un coefficient
Poids initial: w0 = 0
Facteur de convergence = 0.5
Entre: Indice Signal (d[n]) Entre (x[n])

Formules

0.5

-2

-1

Filtre (sortie): y[n]= w0 x[n]


Erreur:
e[n]=d[n]-y[n]
Mise jour:
w0[n] = w0[n-1]+2e[n]x[n] = w0[n-1]+e[n]x[n]

20

Exemple 4

Pour n=0

y[0]= w0 x[0]=00.5=0
e[0]=d[0]-y[0]=1-0=1
w0[0] = w0[-1]+e[0]x[0]=0+10.5=0.5

Pour n=1

y[1]= w0 x[1]=0.51=0.5
e[1]=d[1]-y[1]=2-0.5=1.5
w0[1]= w0[0]+e[1]x[1]=0.5+1.51=2.0

Pour n=2

y[2]= w0 x[2]=2-1=-2
e[2]=d[2]-y[2]=-2-(-2)=0
w0[2]= w0[1]+e[2]x[2]=2+0-1=2.0

Pour n=3

y[3]= w0 x[3]=21=2
e[3]=d[3]-y[3]=2-2=0
w0[3]= w0[2]+e[3]x[3]=2+01=2.0

Amplificateur de gain 2

Identification de systme
Filtre RII dordre 4

21

Identification de systme
Rponse en frquence

Identification de systme
Rponse dans le temps

22

La filtre reconstitue la fonction de transfert du canal afin


de minimiser lerreur la sortie (pour les effets linaires)

Modlisation inverse

Fournit un modle linaire inverse pour un systme inconnu


(c.--d. lentre requise pour une sortie dsire)

Applications:
galisation de canaux en tlcommunications

23

Compensation de canaux

Un signal issu dun ensemble de symboles prdtermins est


transmis par un canal avec rponse en frquence Hc(f).
Hc(f) reprsente la distorsion quil cause au signal (dispersion,
attnuation)
La distorsion subie par le signal peut tre compense par
linverse de Hc(f) (pour les effets linaires).
En pratique, le filtre inverse doit tre adaptatif, car la distorsion
du canal varie avec le temps (ex.: changement de temprature)

Compensation de canaux
Un compensateur adaptatif opre de deux
faons: entranement ou laveugle.

24

La distorsion cause par


est compense par le filtre
qui cr
(pour les effets linaires)

Prdiction linaire

Prdiction linaire de la valeur dun signal alatoire

Applications :
Codage prdictif linaire, modles autoregressifs,
dtection

25

Prdiction linaire

26

limination dinterfrences

limination de signaux indsirables dans un signal primaire

Applications:
limination dchos, communication tlphonique
mains-libres, casques decoute reduction de bruit,
filtrage de lECG dans les signaux biomdicaux, etc.

Annulation du bruit

27

Exemple 3
Systme dannulation du bruit dordre 2 avec
= 0.1
Poids initiaux: w0 = w1= 0
Entre: Indice Signal (d[n]+x[n])

Bruit (x[n])

-2

-1

quations

Filtre:
y[n]= w0 x[n]+ w1 x[n-1]
Sortie (erreur): e[n]=d[n]-y[n]
Mise jour:
w0[n] = w0[n-1]+2e[n]x[n]
w1[n] = w1[n-1]+2e[n]x[n-1]

Annulation du bruit

28

Exemple 3

Pour n=0
y[0]= w0 x[0]+ w1 x[-1]=01+ 00=0; e[0]=d[0]-y[0]=2-0=2

w0[0] = w0[-1]+2e[0]x[0]=0+20.121=0.4
w1[0] = w1[-1]+2e[0]x[-1]=0+20.120=0

Pour n=1
y[1]= w0 x[1]+ w1 x[0]=0.41+ 01=0.4 ; e[1]=d[1]-y[1]=1-0.4=0.6

w0[1] = w0[0]+2e[1]x[1]=0.4+20.10.61=0.52
w1[1] = w1[0]+2e[1]x[0]=0+20.10.61=0.12

Pour n=2
y[2]= w0 x[2]+ w1 x[1]=0.52-1+ 0.121=-0.4; e[2]=d[2]-y[2]=-2-(-0.4)=-1.6

w0[2] = w0[1]+2e[2]x[2]=0.52+20.1-1.6-1=0.84
w1[2] = w1[1]+2e[2]x[1]=0.12+20.1-1.61=-0.2

Les sorties du systme pour les trois premiers chantillons est:


2, 0.6, -1.6

29

30

Rseau dantennes adaptatif


Adaptive Arrays

LinearCombiner

Interference

AdaptiveArrayAntenna

31

Autres mthodes dadaptation des poids


Lalgorithme LMS adapte les poids en utilisant
les valeurs instantanes de lautocorrlation
et de la corrlation croise.
On peut aussi valuer R et P de faon rcursive,
par exemple :
1
1
Cest la mthode des moindres carrs rcursifs
(recursive least squares ou RLS)

Moindres carrs rcursifs

Il faut aussi calculer R-1 de manire rcursive


Thorme dinversion matricielle:

o k[n] est le gain dadaptation (ou gain de Kalman) :

1
1

Lquation de mise jour des coefficients devient:


1
1
Drivation dans G. Zelniker et F.J. Taylor, Advanced Digital Signal Processing: Theory and Applications, New York, NY: Marcel
Dekker pp. 523-528,1994

32

Filtres adaptatifs non-linaires

Les filtres linaires ont souvent une performance


limite, par exemple quand:
On essaie didentifier un systme o le signal peut tre
satur.
On veut sparer des signaux dont les spectres se
chevauchent.
On veut modliser un canal de communication ou un
systme neuronal

Les filtres adaptatifs non linaires peuvent tre plus


performants, mais ils sont difficiles analyser et ils
sont souvent concus de manire heuristique

Filtres rseaux de neurones artificiels

Schma dun neurone biologique et


modle quivalent

Multiplication et sommation suivies dune fonction de sortie non


linaire et saturante (exemple = tanh)
La connexion de plusieurs neurones en rseau permet de crer des
systmes de traitement massivement parallles et non linaires
Ltude et la ralisation de rseaux de neurones artificiels (RNA)
constitue un domaine en soi!

33

Exemple de filtre adaptatif neuronal

Sortie du filtre :

Rgle dadaptation par la mthode de retro propagation derreur


(error backproagation)

o
[k] = drive de

par rapport k

Sommaire

On utilise un filtre adaptatif lorsque les paramtres dintrt


ou la distorsion liminer dans le signal dentre changent
dans le temps.
Les filtres de Wiener sont des filtres linaires qui
permettent dobtenir les poids optimaux si on connat les
statistiques des signaux concerns et elles sont stationnaires
Des approximations sont souvent ncessaires pour
implmenter des filtres de Wiener qui oprent en temps rel
(pente la plus grande, RLS)
Dans le cas de statistiques non stationnaires ou de systmes
non linaires, les filtres de Wiener sont inefficaces et des
filtres plus volus sont requis (e.g., Kalman, RNA)

34

Prochain cours
Lire:
Chapitre 11 dans Tan

Problmes:
10.1, 10.5, 10.9, 10.13, 10.20

MATLAB :
10.24

35

Vous aimerez peut-être aussi