You are on page 1of 55

ESCPI EI4

Traitement Numrique du Signal

ESCPI- CNAM

EI 4

Fvrier 2006
M. Terr, terrre@cnam.fr
L. Fty, fety@cnam.fr

ESCPI EI4

INTRODUCTION AUX SIGNAUX ALEATOIRES ..................................................................................... 3

ANALYSE SPECTRALE.................................................................................................................................. 6
2.1

PROBLEMATIQUE DE L'ANALYSE SPECTRALE ................................................................................................ 6

2.2

ESTIMATION SPECTRALE NON PARAMETRIQUE ............................................................................................. 6

2.2.1

Priodogramme, Corrlogramme ........................................................................................................ 6

2.2.2

Mthode du minimum de variance: mthode de Capon..................................................................... 11

2.3

2.3.1

Mthode de Pisarenko: ...................................................................................................................... 12

2.3.2

Mthode de Prony:............................................................................................................................. 14

2.4

ESTIMATION SPECTRALE PARAMETRIQUE.................................................................................................... 16

2.4.1

Modlisation AR................................................................................................................................. 18

2.4.2

Modlisation MA................................................................................................................................ 25

2.4.3

Modlisation ARMA ........................................................................................................................... 26

2.5
3

ESTIMATION SPECTRALE PAR DECOMPOSITION HARMONIQUE ..................................................................... 12

CONCLUSION............................................................................................................................................... 27

FILTRAGE ADAPTATIF .............................................................................................................................. 28


3.1

INTRODUCTION ET PRINCIPAUX RESULTATS ................................................................................................ 28

3.2

DEMONSTRATION DE LA SOLUTION OPTIMALE ............................................................................................ 30

3.3

ALGORITHME LMS ..................................................................................................................................... 34

3.4

ALGORITHME RLS ...................................................................................................................................... 39

3.4.1
3.5

ALGORITHME DU TREILLIS SPATIAL ........................................................................................................... 43

3.5.1

Principe.............................................................................................................................................. 43

3.5.2

Dcomposition LDU .......................................................................................................................... 43

3.5.3

Erreur a priori, erreur a posteriori.................................................................................................... 44

3.5.4

Mise jour des matrices L et D. ........................................................................................................ 45

3.5.5

Algorithme.......................................................................................................................................... 51

3.6
4

Algorithme des moindres carrs rcursifs rapides (Fast Kalman) .................................................... 41

CONCLUSION............................................................................................................................................... 52

BIBLIOGRAPHIE........................................................................................................................................... 53

Traitement Numrique du Signal

ESCPI EI4

Introduction aux signaux alatoires

La dmarche la plus intuitive et naturelle pour reprsenter un signal consiste exprimer la valeur de ce dernier au
cours du temps. La variable choisie est alors le temps t et le signal s'exprime sous la forme d'une fonction x(t).
Lorsque la fonction x(t ) est parfaitement dtermine, on parle de signal dterministe. De tels signaux ont t
rencontrs de nombreuses occasions lors des cours prcdents.
On s'est ainsi intress aux signaux sinusodaux : x(t ) = sin (t ) ou des signaux chelons : x(t ) = U (t ) ou encore
d'autre types de signaux.
Cependant, lorsque l'on s'intresse des signaux rels, comme la valeur d'une tension aux bornes d'une rsistance ou
la valeur du courant parcourant une antenne ou d'autres exemples; on conoit bien que les valeurs du signal
observ vont tre fonction d'une multitude de phnomnes. Si l'on reprend l'exemple de la rsistance, la valeur de la
tension va varier continuellement autour d'une valeur moyenne en fonction de l'agitation des lectrons, pour une
antenne l'environnement lectromagntique va tre responsable de nombreuses variations et l'on conoit
intuitivement qu'il est impossible de dterminer de manire tout fait exacte la valeur du signal x(t ) .
On formalise alors le signal comme tant une variable alatoire qui volue dans le temps et l'on parle de processus
alatoire. En formalisant on pourrait introduire la variable alatoire X (t ) et la distinguer de x(t ) qui reprsente la
valeur prise par cette variable alatoire l'instant t. Ds lors l'ensemble des valeurs du signal x(t ) est considr
comme tant une ralisation particulire d'un processus alatoire.
Ds que l'on introduit cette notion de variable alatoire on conoit que l'on va s'intresser trs rapidement aux
probabilits lies cette variable alatoire, sa densit de probabilit si la variable est continue et enfin ses
moments statistiques (moyenne, covariance, et ventuellement des moments d'ordres plus levs).
Un exemple typique, qui sera repris plus en dtail dans la suite du cours, est le cas du bruit blanc gaussien que l'on
rencontre trs souvent dans les problmes de traitement du signal et de communications numriques. Or ce signal
particulier est justement dfini par les adjectifs blanc et gaussien qui caractrisent parfaitement sa densit de
probabilit (gaussien) et ses moments d'ordre deux (blanc).

Partant dornavant de signaux alatoires, ce qui est le cas le plus gnral que l'on puisse envisager, nous allons ds
maintenant considrer un sous ensemble de ces signaux qui seront les signaux stationnaires.

Dfinition de la stationnarit :
Un signal alatoire est dfini chaque instant t par la loi de probabilit de son amplitude X (t ) . Cette loi de
probabilit peut s'exprimer par une densit de probabilit p X ( x, t ) dfinie de la manire suivante :
p X (x, t ) = lim

x 0

Prob[x X (t ) x + x ]
x

(1.)

Le signal est stationnaire si ses proprits statistiques sont indpendantes du temps, c'est dire, si sa densit de
probabilit est indpendante du temps :

Traitement Numrique du Signal

ESCPI EI4

p X ( x, t ) = p X ( x )

(2.)

Dfinition d'un signal du second ordre :


Le signal sera dit du second ordre s'il possde un moment d'ordre 1 appel valeur moyenne, qui est l'esprance
mathmatique de X (t ) , note E [ X (t )] et dfinie par :
m1 (t ) = E [ X (t )] =

x. p X (x, t )dx

(3.)

et un moment d'ordre 2, appel fonction de covariance :


+

m 2 (t 1 , t 2 ) = E [ X (t 1 ), X (t 2 )] =

x1 .x 2 p X (x1 , x 2 ; t 1 , t 2 )dx1 dx 2

(4.)

o p X ( x1 , x 2 ; t 1 , t 2 ) est la densit de probabilit du couple de variables alatoires [ X (t 1 ), X (t 2 )] .

Dfinition de la stationnarit l'ordre 2 :

Le caractre de stationnarit peut tre limit aux moments du premier et du second ordre, on dit alors que le signal
est stationnaire l'ordre 2. On a alors :
m1 = E [X (t )] =

x. p X (x )dx ,

m1 constante indpendante du temps

Pour l'ordre 2, l'indpendance du temps s'crit :


p X ( x1 , x 2 ; t 1 , t 2 ) = p X ( x1 , x 2 ;0, t 2 t 1 ) = p X ( x1 , x 2 ; ) avec = t 2 t 1

(5.)

Seul intervient l'cart entre les deux instants d'observation. On introduit alors la fonction d'autocorrlation r XX ( )
du signal alatoire :
r XX ( ) = E [ X (t )X (t )]

(6.)

La ralisation x(t ) du signal alatoire X (t ) possde aussi une moyenne temporelle mT dfinie par :
+T

1
x(t )dt
T 2T
T

mT = lim

(7.)

Dfinition de l'ergodicit d'un signal stationnaire l'ordre 2 :

On dira que le signal est ergodique lorsque que l'on peut confondre la moyenne temporelle mT avec la moyenne
m1 :
+T

1
x(t )dt
T 2T
T

m1 = lim

(8.)

et lorsque que l'on peut calculer la fonction d'autocorrlation de la mme manire, c'est dire :

Traitement Numrique du Signal

ESCPI EI4

+T

1
x(t ) x(t )dt
T 2T
T

rxx ( ) = lim

(9.)

Ce rsultat a des consquences pratiques trs importantes car il va permettre d'accder aux proprits statistiques du
signal un instant donn partir de l'observation de ce signal au cours du temps.

Les dveloppements prcdents ont essentiellement concern des signaux valeurs relles. Ces signaux
correspondent intuitivement et physiquement la plupart des signaux rencontrs. Lorsque l'on considre une valeur
de tension ou de courant et que l'on se place derrire un convertisseur analogique numrique, les signaux sont bien
entendu rels. Cependant, dans bien des cas, en particulier en communications numriques, on sera amen traiter
des enveloppes complexes de signaux moduls (voir aussi la dfinition du signal analytique). Il est donc ncessaire,
afin de ne pas restreindre la gnralit de la suite des algorithmes et mthodes prsentes dans ce cours, de
considrer dornavant des signaux valeurs complexes.

De plus on a jusqu'alors bien spar le processus X (t ) et sa ralisation x(t ) . Cependant afin d'viter de confondre
le processus et la Transforme de Fourier X ( f ) de sa ralisation, on abandonnera partir de maintenant la notation
X (t ) . Le lecteur avis sera mme de comprendre les critures du type E [x(t )] comme l'esprance de la variable

alatoire.

Rsum :

Le signal alatoire x(t ) est une ralisation d'un processus alatoire.


Le signal sera considr comme ergodique et stationnaire l'ordre 2, c'est dire :

+T

1
x(t )dt = m
T 2T
T

E [x(t )] = lim

Traitement Numrique du Signal

+T

1
*
x(t ) x (t )dt = rxx ( )
T 2T
T

E x(t ) x * (t ) = lim

ESCPI EI4

Analyse Spectrale

2.1 Problmatique de l'Analyse spectrale


La reprsentation du signal sous la forme x(t ) est une dmarche est naturelle mais elle ne correspond pas forcment
la meilleure reprsentation physique des signaux rencontrs. En effet, l'individu ou les systmes lectroniques sont
souvent plus sensibles la puissance et la frquence des signaux et la reprsentation du signal sous la forme de sa
rpartition de puissance en fonction de la frquence permet, dans bien des cas, d'extraire de manire plus immdiate
l'information qui rside dans ce dernier. Le signal est alors reprsent par une fonction P(f) appele densit spectrale
de puissance. Le passage de x(t) P(f) constitue l'Analyse Spectrale.

Il existe deux grandes classes de mthodes pour estimer la densit spectrale de puissance d'un signal x(t). La
premire, l'estimation spectrale non paramtrique, n'utilise aucune connaissance a priori sur le signal et part
uniquement de l'observation de ce dernier. La deuxime, l'estimation spectrale paramtrique, utilise un modle
paramtrique dcrivant le signal, modle partir duquel il est ais d'obtenir la densit spectrale de puissance. Les
paramtres du modle sont adapts en fonction du signal observ. Entre ces deux mthodes il existe une troisime
classe d'approches qui suppose que le signal est compos d'un certain nombre de raies spectrales dont il convient de
trouver les frquences et les puissances. Ce type de mthodes sera class dans ce cours sous l'appellation
d'estimation spectrale par dcomposition harmonique.

2.2 Estimation Spectrale non paramtrique


2.2.1

Priodogramme, Corrlogramme

La Transforme de Fourier de la fonction d'autocorrlation rxx () du processus alatoire x(t ) stationnaire l'ordre
2 s'crit:
P( f ) =

rxx ( )e

j 2 f

(10.)

elle est gale la densit spectrale de puissance P(f) du processus x(t).


En effet, pour = 0 , il vient:

r ( 0 ) = E x (t ) 2 =

P( f )e

j 2 0

P( f )df

df =

(11.)

En supposant l'hypothse ergodique vrifie, l'esprance mathmatique s'crit:

+T

1
2
x (t ) dt = P( f )df
t 2T
T

E x (t ) 2 = lim

(12.)

P(f) reprsente donc bien le densit spectrale de puissance du processus x(t ) . Il s'agit l du thorme de Wiener

Kintchine.

Traitement Numrique du Signal

ESCPI EI4

L'hypothse ergodique permettant de confondre l'esprance mathmatique avec une moyenne temporelle, le
dveloppement de r() donne :
P( f ) =

1
Tlim
2T

+T

*
j 2 f
d
x(t )x (t )e

(13.)

On peut aussi introduire le spectre complexe de la ralisation tronque du processus x(t ) :


+T

x(t )e

X 2T ( f ) =

j 2 ft

dt

(14.)

En prenant le carr de cette expression, il vient :


+T +T

1
1
2
X 2T ( f ) =
x(u )x * (v)e j 2 fu e + j 2 fv dudv
2T
2T T T

(15.)

et en prenant l'esprance de cette expression, on obtient :


+T +T

1
1
2
j 2 f (u v )
E
X 2T ( f ) =
dudv
rxx (u v)e
2T
2T T T

(16.)

En effectuant alors le changement de variable suivant

= u v

v' = v

et en prenant garde aux intervalles de variation des nouvelles variables, il vient :

+2T
+T
+T

-T

+T

-T

v'

v
-T
-2T

Pour 0 , v' varie de T T et pour 0 , v' varie de T T

2T T

2T T

1
1
2
j 2 f
E
X 2T ( f ) =
ddv' + rxx ( )e j 2 f ddv'
rxx ()e
2T
2T =0 v '= T
=0 v '=T

2T

2T

1
1
2
j 2 f
E
X 2T ( f ) =
d + rxx ( )( 2T + )e j 2 f d
rxx ( )(2T )e
2T
2T =0
=0

Traitement Numrique du Signal

(17.)

(18.)

ESCPI EI4

d'o finalement :
2T

1
2
E
X 2T ( f ) = rxx ( ) 1

2T
2T
= 2T

j 2 f
e
d

(19.)

En introduisant alors la fonction I 4T indicatrice de l'intervalle [2T ,+2T ] , il vient :

1
2
E
X 2T ( f ) = TF rxx ( ) 1

2T
2T

I 4T

(20.)

1
2
E
X 2T ( f ) = P ( f ) * TF 1

2T
2T

I 4T

(21.)

On obtient donc :

Lorsque T tend vers l'infini, le deuxime terme du produit de convolution tend vers ( f ) , d'o :
1
2
lim E
X 2T ( f ) = P( f )
2
T

(22.)

En considrant alors un cas numrique, o l'observation du signal x(t ) se rsume N valeurs chantillonnes la
priode Te , la densit spectrale peut tre estime en limitant l'intgrale prcdente et en oubliant l'esprance
mathmatique.
d'o :
Pper ( f ) =

2
1 N 1
j 2 nTe f
x
(
nT
)
e

e
NTe n =0

(23.)

Cet estimateur de la densit spectrale de la densit spectrale de puissance du signal x( nTe ) est appel
priodogramme.

Il demande, pour tre calcul, la mise au carr de la Transforme de Fourier du signal numrique x( nTe ) sur N
points. Il est, depuis la mise au point de l'algorithme de Transformation de Fourier Rapide (TFR ou FFT en anglais)
par J. Cooley et J. Tuckey en 1965, l'estimateur le plus employ.

Jusqu' la mise au point de l'algorithme de la FFT, la mthode la plus utilise consistait estimer N ' valeurs de la
fonction d'autocorrlation r ( p ) avec N ' < N et calculer la Transforme de Fourier Discrte (TFD ou DFT en
anglais) sur les N ' points obtenus. Cet estimateur de la densit spectrale de puissance, du aux travaux de Blackman
et Tuckey, porte le nom de corrlogramme.
Pcor ( f ) =

N '1

rxx ( p)e j 2 pf

(24.)

p = ( N '1)

avec :

Traitement Numrique du Signal

ESCPI EI4

r( p) =

1 N 1
x ( n) x ( n p ) *
N n= p

(25.)

pour p = 0 N '1
Pour N ' = N les estimateurs du priodogramme et du corrlogramme sont identiques.
En effet,
N 1
N 1
1

x(n )x(n p) * e j 2 pf
N p = ( N 1) n = p

(26.)

N 1
N 1
1

x(n)e j 2 nf x(n p) * e j 2 (n p ) f
N p = ( N 1) n = p

(27.)

Pcor ( f ) =

d'o:
Pcor ( f ) =

expression qui peut encore s'crire:


2
1 N 1
j 2 nf
Pcor ( f ) =
= Pper ( f )
x ( n)e
N n =0

(28.)

Les deux estimateurs sont donc bien identiques pour N ' = N .

Proprits du priodogramme:
Le priodogramme constituant un estimateur de la densit spectrale de puissance du processus x( nTe ) , il est
ncessaire d'tudier son biais et sa variance.

 Le calcul de l'esprance de Pper ( f ) donne:


N 1
E Pper ( f ) = E rxx ( p )e j 2 pf
p = ( N 1)

avec : r( p ) =

(29.)

1 N 1
x( n ) x( n p )*
N n= p

d'o:

N 1

E Pper ( f ) =

rxx ( p )

p = ( N 1)

N p j 2 pf
e
N

(30.)

encore grce aux proprits de la Transforme de Fourier:


sin fN
E Pper ( f ) = P( f ) N

N sin f

Traitement Numrique du Signal

(31.)

ESCPI EI4

L'estimateur du priodogramme est donc une estimation biais de la densit spectrale de puissance P ( f ) du
processus x( nTe ) . L'estimateur est en fait le rsultat du filtrage, dans le domaine frquentiel de P( f ) par le filtre

sin fN
N
N sin f

. Lorsque N tend vers l'infini ce filtre tend vers ( f ) , le priodogramme est donc asymptotiquement

sans biais.

 Le calcul de la variance est dlicat et conduit, pour des signaux gaussiens :


2

sin (2 fN )

Var Pper ( f ) = P( f )1 + N

2 fN

Cette variance peut tre diminue en sparant l'ensemble des N valeurs de x( nTe ) en

(32.)

N
sous ensembles de K < N
K

valeurs. Il est alors possible de calculer K estimateurs et de faire la moyenne des K estimateurs obtenus. La variance
est alors divise par K 2 . Cette amlioration de la variance de l'estimateur se paye par une diminution de rsolution
de ce dernier. En effet la rsolution spectrale est en

1
1
dans le cas de N chantillons et en
dans le cas de K
NTe
KTe

chantillons.
sin fn

Enfin, les lobes secondaires de N


fN

peuvent tre attnus en introduisant des fentres de pondrations qui

vont tre appliques directement sur le signal observ x( nTe ) .

En conclusion, le priodogramme est un estimateur de la densit spectrale de puissance qui est d'autant meilleur que
le signal est observ sur une longue plage de stationnarit. L'algorithme de la Transforme de Fourier Rapide est
bien connu et la plupart des processeurs de signaux sont vendus avec des routines de TFR optimises. Cet estimateur
est donc ais utiliser et c'est la raison pour laquelle c'est l'estimateur le plus employ aujourd'hui.

Pour calculer un priodogramme il faut donc:

 observer N valeurs du signal x( nTe ) ,


 calculer une TFR sur N points avec mise au carr.

Traitement Numrique du Signal

10

ESCPI EI4

2.2.2

Mthode du minimum de variance: mthode de Capon

Pour chaque frquence f, cette mthode cherche un filtre adapt dont la rponse vaut 1 pour cette frquence f et 0
partout ailleurs. Une fois ce filtre obtenu l'estimateur PCap ( f ) n'est autre que la puissance de sortie du filtre obtenu
pour la frquence f.

La sortie y(n) de ce filtre s'crit :


N

y( n ) =

hi* x ( n i )

(33.)

i =0

ou plus simplement sous forme vectorielle :


T

y( n ) = H X ( n )

(34.)

x ( n)
h1

h
x(n 1)

avec H = 2 et X (n) =
M

x(n N + 1)
h N

Le filtre H doit donc minimiser E y ( n) 2 avec la contrainte H T F = 1


avec :
1
e j 2 f

F = e j 4 f

M
e j 2 Nf

(35.)

Ce qui s'crit, en utilisant un multiplicateur de Lagrange:

H optimal est tel que E H T X (n)

+ 1 H T F est minimal

soit, en annulant la driv par rapport H :


H=

1
RN F
2

(36.)

avec R N = E X (n) X (n) T matrice d'autocorrlation du signal x(n) .


en introduisant dans l'expression de la contrainte H T F = 1 , il vient :
=

2
F R N1 F
T

(37.)

d'o finalement :
H=

Traitement Numrique du Signal

R N1 F
F T R N1 F

(38.)

11

ESCPI EI4

Pour estimer PCap ( f ) il ne reste plus qu' calculer:

] [

PCap ( f ) = E y (n) 2 = E H T X (n) X (n) T H

PCap ( f ) =

(39.)

F T R N1 R N R N1+1 F

(40.)

F T R N1 FF T R N1 F

PCap ( f ) =

(41.)

F R N1 F
T

or :

F T R N1 F = [1, e j 2 f , e j 4 f ,..., e j 2 Nf ]

kl

1
e j 2 f

e j 2 Nf

(42.)

d'o:
PCap ( f ) =

1
N N

kl e

(43.)

j 2 ( k l ) f

k =0l =0

En conclusion pour obtenir l'estimateur de Capon, il faut:

observer N chantillons du signal x(nTe )

estimer la matrice d'autocorrlation et l'inverser pour obtenir les termes kl

calculer PCap ( f ) pour chaque frquence f.

Cette mthode souffre donc d'un cot de calcul suprieur aux estimateurs prcdents. Il est possible de dmontrer
que cet estimateur une variance minimale et c'est la raison pour laquelle il est souvent appel estimateur du
minimum de variance.

2.3 Estimation spectrale par dcomposition harmonique


2.3.1

Mthode de Pisarenko:

Dans cette mthode, le signal x(n) est suppos tre constitu d'une somme de N sinusodes s (n) et d'un bruit blanc
additif b(n) .
x( n ) = s( n ) + b( n )

(44.)

Sachant que toute sinusode pure sin( n) peut s'crire:


sin (n) = 2 cos sin (n 1) sin( n 2)

il est possible d'crire:

Traitement Numrique du Signal

12

ESCPI EI4

2N

s ( n ) = a m s ( n m)
m =1

d'o:
2N

x(n) = a m s (n m ) + b(n)
m =1

en remplaant s (n m) par x(n m) b( n m) , il vient:


2N

2N

m =0

m =0

a m x ( n m) = a m b ( n m)

ce qui peut s'crire matriciellement:


X ( n) T A = B ( n) T A
avec:
X ( n) T = [x(n), x(n 1),..., x(n 2 N )]T
B (n) T = [b(n), b(n 1),..., b(n 2 N )]T
et :
a0
a
A= 1
M

a 2 N

d'o:

E X (n) X (n) T A = E X (n) B T (n) A = E (S (n) + B (n) )B (n) T A

R 2 N +1 A = E (S (n) + B ( n) )B (n) T A
Or, le bruit est suppos blanc, de variance 2 et dcorrl du mlange de sinusodes, cette quation devient donc:
R 2 N +1 A = 2 IA = 2 A
Le vecteur A est donc le vecteur propre associ la valeur propre 2 avec la contrainte a0 = 1 .
Ayant le vecteur A, on peut crire la transforme en Z de l'quation:
2N

s ( n ) = a m s ( n m)
m =1
2N

S (Z ) 1 a m Z m = 0

m =1

les valeurs de Z pour lesquelles cette quation est vrifie donnent les valeurs des frquences prsentes dans le
2N

mlange. Il faut donc extraire les racines du polynme 1

a m Z m

pour obtenir les N valeurs de frquences.

m =1

Traitement Numrique du Signal

13

ESCPI EI4

Si N et 2 ne sont pas connus a priori, il suffit de surdimensionner la matrice R et d'analyser ses valeurs propres.
Thoriquement celles ci doivent, au bout de N ordres, atteindre une valeur constante gale

2 . Il existe de

nombreux critres qui permettent de dtecter ce blocage 2 des valeurs propres.

Enfin, il est possible d'obtenir les puissances des sinusodes dtectes. En effet, il est facile de vrifier que, dans le
cas d'un mlange de N sinusodes de pulsation i et de puissance Pi , on a :
r (1) = P1 cos 1 + P2 cos 2 + ... + PN cos N
r ( 2) = P1 cos 21 + P2 cos 2 2 + ... + PN cos 2 N
...

r ( N ) = P1 cos N1 + P2 cos N 2 + ... + PN cos N N

disposant des pulsations i et des coefficients d'autocorrlation r (i ) , il "suffit" de rsoudre ce systme pour trouver
les puissances respectives Pi des raies spectrales identifies.

En conclusion pour analyser un signal selon la mthode de Pisarenko, il faut:

observer N valeurs du signal x(nTe ) ,

calculer la matrice d'autocorrlation et en faire la dcomposition en lments propres,

dtecter 2 et en dduire le nombre de sinusodes,

extraire les racines d'un polynme complexe de degr 2N,

enfin si l'on veut les puissances, rsoudre un systme rel de N quations N inconnues.

La dcomposition en lments propres reste pour l'instant l'tape la plus dlicate raliser de manire rapide et c'est
le frein principal l'emploi de cette mthode.

2.3.2

Mthode de Prony:

Dans cette mthode le signal est, comme dans la mthode de Pisarenko, suppos tre constitu d'une somme de N
sinusodes mais le bruit est remplac par un amortissement sur ces dernires. L'hypothse de dpart s'crit donc :
N

x ( n) =

bm Z mn
m =1

avec :
Z m = e m e j 2 f m

On peut alors fabriquer le polynme :


N

( Z ) = (Z Z k ) =
k =1

a i Z N i

avec a0 = 1

i =0

D'aprs l'hypothse de dpart sur x(n) on a :

Traitement Numrique du Signal

14

ESCPI EI4

x( n m) = bl Z ln m
l =1

en multipliant cette quation par a m et en effectuant une sommation sur m, il vient :


N

m =0

m =0

l =1

a m x(n m) = a m bl Z lnm

ou encore :
N

m =0

l =1

m =0

a m x(n m) = bl Z ln N a m Z lN m

or

a m Z lN m = 0

par dfinition des coefficients a m du polynme ( Z ) dont les racines sont les Z l , d'o :

m =0

a m x ( n m) = 0
m =0

et donc :
N

x ( n) = a m x ( n m)
m =1

Les coefficients a m peuvent donc tre obtenus par la rsolution du systme linaire de dimension N suivant :
x( N + 1) x( N )
.
x( N + 1)

=
.

.


x(2 N ) x(2 N )

.
.
.
.

. x(1) a1

. x(2) .
.
. .

. x( N ) a N

A partir des N coefficients a m il est possible de former le polynme :


N

a m Z mi avec a0 = 1

( Z ) =

m =0

et d'en extraire les N racines complexes. Les modules de ces racines donnent alors les affaiblissements m tandis
que les phases donnent les frquences f m .
Les amplitudes respectives bm des diffrentes sinusodes peuvent enfin tre obtenues en rsolvant le systme
linaire suivant :
1
Z
1
.
N 1
Z 1

1
Z2
.
.

.
1 b1 x0

. Z N . .

.
. . .

. Z NN 1 b N x N 1

Pour cette mthode il faut donc :

observer 2N valeurs du signal x( nTe )

rsoudre un systme linaire complexede dimension N

Traitement Numrique du Signal

15

ESCPI EI4

extraire les racines d'un polynme complexe de degr N

et si l'on veut les amplitudes rsoudre un systme linaire complexe de dimension N.

2.4 Estimation spectrale paramtrique


A la diffrence de l'estimation spectrale non paramtrique, qui ne faisait aucune hypothse sur le signal observ
x( n) , si ce n'est des proprits de stationnarit l'ordre 2, l'estimation spectrale paramtrique suppose que ce signal

suit un modle donn. Ce modle comporte un certain nombre de paramtres qui sont adaptables en fonction du
signal observ. Il existe principalement trois grandes classes de modles:

Le modle auto rgressif - modle AR Le signal x( n) est suppos tre prdictible en fonction d'un certain nombre de ses valeurs antrieures.

x(n)
x(n-1)
x(n-2)
x(n-N)

Il peut donc s'crire:


N

x( n) = a i x(n i ) + e(n)
i =1

quation o les coefficients ( ai )i =1, N constituent les paramtres du modle et o e(n) est un bruit blanc dcorrl de
x(n) de variance 2 et qui reprsente l'erreur de prdiction.

La transforme en Z de cette quation donne alors:


N

X (Z ) 1 a i Z i = E (Z )

i =1

Le signal x( n) peut donc tre vu comme le rsultat du passage d'un bruit blanc e( n) de variance 2 travers un
filtre de fonction de transfert H ( Z ) .

e( n )

x( n )
H( Z )

Traitement Numrique du Signal

16

ESCPI EI4

avec : H (Z ) =

1 a i Z i
i =1

La connaissance des paramtres ai permet donc de calculer la densit spectrale de puissance P(f):
2

Par ( f ) =

1 a i e j 2 fi
i =1

Le modle moyenne ajuste - modle MA Le signal x(n) est suppos pouvoir s'crire comme une combinaison linaire d'chantillons dcorrls entre eux, ce
qui peut se formaliser comme une combinaison linaire d'chantillons d'un bruit blanc e(n) :
M

x(n ) = bi e(n i )
i =0

Le signal x( n) peut donc tre vu comme le rsultat du passage d'un bruit blanc e(n) travers un filtre de fonction
de transfert H ( Z ) .

e( n )

x( n )
H( Z )

avec : H (Z ) =

bi Z i
i =0

La densit spectrale de puissance du signal x(n) s'crit alors :

Pma ( f ) =

bi e j 2fi 2
i =0

Le modle auto rgressif moyenne ajuste - modle ARMACombinaison des modles AR et MA o le signal x(n) o le signal x( n) est suppos pouvoir s'crire en fonction de

N valeurs passes et de M chantillons d'un bruit blanc dcorrl.


N

x ( n) = a i x ( n i ) +
i =1

bi e(n i )
i =0

d'o:

Traitement Numrique du Signal

17

ESCPI EI4

bi e j 2 fi
Parma ( f ) =

i =0
N

1 a i e j 2 fi
i =1

2.4.1

Modlisation AR

Pour effectuer cette modlisation il faut donc trouver les paramtres a i du modle:
N

x ( n) = a i x ( n i ) + ea ( n)
i =1

modle qui correspond la structure RIF suivante:

x(n-1)

x(n)

x(n-N)

Z -1

Z -1

Z -1

a1

e a (n)

a2

aN

(l'erreur e(n) est ici note e a ( n) pour traduire qu'il s'agit d'une erreur avant correspondant une prdiction de x( n)
partir de {x(n 1) x(n 2) K x(n N )}

Il est alors possible d'optimiser un critre de minimisation d'erreur quadratique, c'est dire, de chercher le jeu de

paramtres a i qui minimisent E e a ( n) 2 . Ce qui peut s'crire matriciellement de la manire suivante:

] (

AN optimal est tel qu'il minimise: E e a (n) 2 = E x( n) X TN (n 1) AN

avec :
X N ( n 1) = [x(n 1), x(n 2),..., x(n N )]T
et :
AN = [a1 , a 2 ,..., a N ]T

En dveloppant E e a ( n) 2 il vient:

] (

E e a ( n) 2 = E x(n) X TN (n 1) AN

] [

) (x(n) X
T

T
N

(n 1) AN

E e a (n) 2 = E x(n) 2 ATN X N (n 1) x(n) x(n) X TN (n 1) AN + ATN X N (n 1) X TN (n 1) AN

Traitement Numrique du Signal

]
18

ESCPI EI4

En annulant la drive de cette expression par rapport AN il vient :

AN = E X N (n 1) X TN (n 1)

] E[X
1

(n 1) x * (n)

ou encore:
AN = R N1 rNa (1)
avec:

r (1)
.
r ( N 1)
r (0 )
r (1)
r * (1)

r (0 )
.
.
matrice d'autocorrlation du signal et r a = r (2)
RN =
N

.
.
.
r (1)
*

*
.
r (1)
r (0 )
r ( N 1)
r ( N )

En posant E aN = E ea (n) 2 et en utilisant (1), il vient:

[(

)]

T
T
T
E aN = E x ( n) 2 2 E X N
(n 1) x ( n) A N + A N
E X N (n 1) X N
(n 1) A N

T
E aN = E ea ( n) 2 = E x (n) X N
(n 1) A N

E aN = r (0 ) 2r Na A N + r Na A N

E aN = r (0 ) rNa A N

(2)

En crivant (1) et (2) sous une forme matricielle unique, il vient:

a T 1
E aN
r (0 ) r N
=

A
r N
N 0

R N

(3)

quation de Yule Walker avant (ou directe ou forward) dans le cas stationnaire

Il est donc possible de trouver le vecteur AN en inversant la matrice R N puis de calculer l'nergie d'erreur de

( ) ce qui peut s'avrer gnant

prdiction avant. Cependant, le cot de calcul d'une telle approche est alors en o N 3

Traitement Numrique du Signal

19

ESCPI EI4

( ) en

lorsque N est important. Il est possible de rsoudre cette quation avec un cot de calcul proportionnel o N 2
utilisant l'algorithme de Levinson.

Algorithme de Levinson :

( ) ( )

Pour faire passer le cot de calcul de la rsolution de l'quation de Yule Walker de o N 2 o N 3 , cet algorithme
va utiliser une rcurrence sur l'ordre N du modle prdicteur AR. Pour cela, il est ncessaire d'introduire l'erreur de
prdiction arrire.
Le modle de prdiction avant consistait estimer x(n) partir de {x(n 1) x( n 2) K x(n N )} , en inversant
l'axe des temps, on peut construire un modle de prdiction arrire qui va estimer x(n N ) partir de

{x(n N + 1)

K K x( n)} . Cela correspond l'quation de prdiction arrire suivante :


N

x(n N ) = b N +1i x(n + 1 i ) + eb (n)


i =1

modle, dont la structure RIF est la suivante:

+
bN
x(n)

b
Z -1

+
b

e (n)
b

N-1

x(n-1)

Z -1

Z -1

x(n-N)

x(n)
x(n-1)
x(n-2)
x(n-N)

L'quation de prdiction arrire s'crit de manire matricielle:

eb (n) = x(n N ) X TN (n) B N

Traitement Numrique du Signal

20

ESCPI EI4

avec X N ( n) = [x( n), x(n 1),..., x(n N + 1)]T


et B N = [b N , b N 1 ,..., b1 ]T

Le vecteur BN optimal est tel qu'il minimise E bN = E eb ( n) 2

ce qui conduit : B N = E X N ( n) X TN ( n)

E [ X N ( n) x ( n N ) ]

d'o:
B N = R N1 rNb

(4)

avec rNb = [r ( N ), r ( N 1),..., r (1)]

en reportant BN dans l'expression de E bN = E eb ( n) 2

] [

] il vient:

T
T
E eb (n) 2 = E x (n N ) 2 2 E [ x (n N ) X N (n)] B N + B N
E X N ( n) X N
( n) B N

d'o:
T

E bN = r (0 ) r Nb B N

(5)

En runissant (4) et (5) au sein d'une mme quation matricielle, il vient:

RN
T
rNb

rNb B N 0

= E
bN
r (0 ) 1

(6)

Equation de Yule Walker arrire (ou rtrograde ou backward) dans le cas stationnaire

L'algorithme de Levinson est obtenu en runissant les quations avant et arrire.

Il est ais de vrifier E aN = E bN

En effet, l'quation (6) peut s'crire:


B N 0
R N +1
= E
1
bN

en multipliant gauche par la coidentit :


0 0 1
J N = 0 1 0
1 0 0

et en remarquant que, du fait de la symtrie de R N :

Traitement Numrique du Signal

21

ESCPI EI4

J N RN = RN J N

il vient:
1
E bN
R N +1
=

JB N 0

en identifiant avec l'quation avant (3):

1
E aN
R N +1
=

A
N 0

il vient: AN = JBN et EbN = EaN = E N

Ce qui revient dire que prdire x(n-N) partir de x(n-N+1),...,x(n) est identique prdire x(n) partir de x(n1),...,x(n-N). La seule diffrence entre les deux prdictions est le sens de parcours sur la trajectoire de x(n).

L'algorithme se base sur une rcursion sur l'ordre N. Si on connat AN-1 et BN-1 l'ordre N-1, il vient pour la
prdiction avant l'ordre N:

RN
T
r Nb

1
E N 1
r Nb

A N 1 = 0

r (0 ) 0
K N

N 1

avec K N = r ( N )

a i , N 1 r ( N i )

i =1

et pour la prdiction arrire:


0
K N

aT

r
(
0
)
r
N

B N 1 = 0

r Na
R N 1
E N 1

d'o:
1
E N 1
0
K N

R N +1 A N 1 = 0
et R N +1 B N 1 = 0

0
K N
1
E N 1

KN

d'o: R N +1 A N 1
E N 1
0

0

KN 2

B
= E N 1
E N 1
N 1

1
0

d'o:

Traitement Numrique du Signal

22

ESCPI EI4

[AN ] =

AN 1
B N 1
kN

et E N = E N 1 1 k N 2 avec k N =

KN
E N 1

- Algorithme de Levinson Ce qui correspond aux relations suivantes:

E (0 ) = r (0 )
j 1

1
k j =
r ( j ) a i , j 1 r ( j i )
E j 1

i =1

j : 1 N a j , j = k j
i : 1 j 1 a = a
i, j
i , j 1 k j a j i , j 1

2
E j = E j 1 1 k j

Remarque:
1

il est possible d'crire:


=

B

N 1
N
N 1
AN

BN

et :
= B N 1 k N A N 1
1

1
0

d'o:
A N 1
B N 1
AN =
kN

et:
0

1
BN =
kN

B N 1
A N 1

d'o en reprenant les expressions des erreurs avants et arrires:


T
eaN (n) = x ( n) X N
(n 1) A N

A N 1
B N 1
T
eaN ( n) = x (n) X N
( n 1)
kN

1
0

Traitement Numrique du Signal

23

ESCPI EI4

Bn 1
T
eaN ( n) = eaN 1 (n) k N X N
(n 1)

T
or: ebN ( n) = x (n N ) X N
( n) B N

T
ebN 1 (n) = x ( n N + 1) X N
1 ( n) B N 1

T
ebN 1 (n 1) = x (n N ) X N
1 ( n 1) B N 1

eaN ( n) = eaN 1 (n) k N ebN 1 (n 1)

de la mme manire :
T
ebN ( n) = x (n N ) X N
( n) B N

conduit :

ebN (n) = ebN 1 ( n 1) k N eaN 1 (n)


Les coefficients ki correspondent donc la structure en treillis suivante:

(n)

a,N-1

a,N

(n)

+
-

kN
kN

(n)

Z-1

b,N-1

b,N

(n)

Enfin, on peut dmontrer:


kN =

E e a , N 1 ( n ) eb , N 1
E N 1

d'o le nom de coefficients de corrlation partielle (PARCOR) donn souvent aux coefficients ki.

En conclusion, la modlisation AR demande la mise jour de N coefficients ai pour cela il faut:

observer au minimum N valeurs du signal,

calculer les coefficients d'autocorrlation,

appliquer l'algorithme de Levinson (cot de cacul proportionnel o(N)).

Traitement Numrique du Signal

24

ESCPI EI4

2.4.2

Modlisation MA

Dans le cas du modle AR, le vecteur AN s'obtient en optimisant un critre d'erreur quadratique. Cette optimisation
conduit de manire explicite la rsolution d'un systme linaire:

A N = R N1 rNa
Par contre, pour un modle MA:
M

x ( n) =

bi e(n i )
i =0

l'erreur de prdiction s'crit:


T
e( n ) = x ( n) E N
(n 1) B N

avec E N (n 1) = [e(n 1), e(n 2),..., e(n M )]T

Le vecteur EN dpend de BN et le systme rsoudre devient non linaire. L'optimisation exacte du critre est alors
trs dlicate. Cependant, l'algorithme de Durbin permet d'approcher la solution optimale avec de bons rsultats.

Algorithme de Durbin:
Le principe de cet algorithme consiste identifier le modle MA d'ordre M avec un modle AR d'ordre N>>M.
En effet, tout modle MA peut tre identifi un modle AR d'ordre infini:

bi Z i

a i Z i

i =0

i =0

en remplaant la borne infinie par une valeur N>>M, il est possible de faire l'approximation suivante:

H (Z ) =

bi Z i
i =0

1
N

a i Z i
i =0

d'o :
X (Z )

E (Z )
H (Z )

Traitement Numrique du Signal

1
H (Z )

E (Z )

25

ESCPI EI4

1
1

bi Z i
i =0

=1

a i Z i
i =1

ou encore dans le domaine temporel :


bi a i = i
M

ce qui donne j =

bi a j i

, en posant b0 = 1 il vient:

i =0
M

j = a j + bi a j i
i =1

et donc:
M

pour j = 1 N :

a j + bi a j i = 0
i =1

Les coefficients bi du modle MA d'ordre M du signal x(n) sont donc aussi les coefficients du modle AR d'ordre
M du signal an.

Conclusion, l'obtention des M valeurs bi se fait en rsolvant deux systmes AR, il faut:

modliser le signal x(n) sous la forme d'un processus AR d'ordre N>>M et trouver le vecteur des paramtres,
grce l'algorithme de Levinson par exemple,

modliser le signal constitu par les paramtres prcdents sous une forme AR d'ordre M et trouver le
nouveau vecteur des paramtres.

2.4.3

Modlisation ARMA

La modlisation ARMA peut se dcomposer en une modlisation AR suivie d'une modlisation MA.
En effet, il faut identifier le filtre:
M

bi Z i
H (Z ) =

i =0
N

1 a i Z i
i =1

M
1
i
=
bi Z = H 1 ( Z ) H 2 ( Z )
N

1 a Z i i =0
i

i =1

H1(Z) est identifiable de manire exacte au moyen de l'algorithme de Levinson tandis que H2(Z) est identifiable de
manire approche au moyen de l'algorithme de Durbin.

En conclusion, pour identifier les paramtres d'un modle MA il faut:

identifier un modle AR d'ordre N,

Traitement Numrique du Signal

26

ESCPI EI4

filtrer le signal x(n) par le filtre mis jour,

identifier un modle MA d'ordre M partir du signal filtr.

Les modlisations AR,MA et ARMA permettent finalement d'obtenir la densit spectrale de puissance du signal x(n)
grce l'identification des paramtres du modle considr.

Le modle AR ne comporte que des ples (filtre tout ples) et ne passe jamais par zro:
2

Par ( f ) =

1 ai e j 2 fi
i =1

Ce modle est bien adapt aux signaux composs de raies pures dans du bruit blanc.

Le modle MA ne comporte que des zros (filtre tout zros):


2

Pma ( f ) =

bi e

j 2 fi

i =0

Ce modle est bien adapt aux signaux dont la puissance est nulle dans certaines bandes de frquences.

Le modle ARMA possdant la fois des ples et des zros:


M

bi e j 2 fi
Parma ( f ) =

i =0
N

1 a i e j 2 fi
i =1

il est adapt n'importe quel type de signaux.

2.5 Conclusion
Il existe un grand nombre de mthodes d'analyse spectrale et le choix est souvent dict par l'application considre.
En gnral, les mthodes non paramtriques trouvent leur intrt en prsence de signaux longs et stationnaires tandis
que les mthodes paramtriques sont plutt utilises pour les signaux brefs et non stationnaires.
Enfin, les mthodes de modlisation AR peuvent tre rendues adaptatives, ce qui permet une analyse temps rel de la
densit spectrale de puissance du signal observ.

Traitement Numrique du Signal

27

ESCPI EI4

Filtrage Adaptatif

3.1 Introduction et principaux rsultats


L'attrait que suscite chez les lectroniciens l'utilisation du filtrage adaptatif ne tient pas qu'aux intrts applicatifs de
cette technique, pourtant considrables; il s'explique aussi, pour une part non ngligeable, par la sduction
intellectuelle qu'exerce sur les esprits la mise au point de systmes artificiels capables de s'adapter de manire
indpendante aux diverses situations qu'ils sont appels rencontrer.
Selon les disciplines o elle se rencontre, cette capacit d'adaptation est dfinie de manire diffrente. En
informatique, par exemple, elle se rsume souvent une aptitude mettre en uvre des raisonnements logiques
selon un certain nombre de rgles prdfinies ou, ventuellement volutives; c'est l le domaine de l'intelligence
artificielle. En lectronique, elle se rduit plutt l'adaptation, selon un critre mathmatique, des paramtres d'un
filtre, le plus souvent numrique; il s'agit alors du domaine du filtrage adaptatif.
Les solutions techniques bases sur l'optimisation de filtres adaptatifs se rencontrent dans une varit de problmes
de dtection, d'estimation et d'identification. C'est dans les annes 60 [1] et dans le domaine de l'galisation des voies
de transmission de donnes que des solutions adaptatives ont, pour la premire fois, t utilises grande chelle.
Depuis lors, de telles approches ont gagn bien d'autres domaines d'applications [2].
Il existe plusieurs structures possibles, plusieurs types de paramtres et plusieurs critres d'adaptation pour raliser
un filtre adaptatif. Ce cours ne considre que le cas des filtres transverses adapts selon le critre des moindres
carrs.

Un filtre adaptatif transverse peut tre reprsent par la structure suivante :

X p1 (t )

x p (t )
A p1 (t )

1p p 1 (t )

- Schma gnral d'un filtre adaptatif -

A partir d'un vecteur de p 1 termes :


x1 (t )

x 2 (t )
X p 1 ( t ) =

x p 1 ( t )

(45.)

Le filtre de p 1 coefficients :

Traitement Numrique du Signal

28

ESCPI EI4

a1 (t )

a 2 (t )
A p 1 ( t ) =

a p 1 ( t )

(46.)

va calculer l'estime x$ p (t ) du signal x p (t ) .

Ce terme x$ p (t ) reprsente donc la prdiction de x p (t ) partir de x 1 (t )


La diffrence entre

{ x1 (t )

x p (t )

et

x$ p (t )

x 2 ( t ) K x p 1 ( t ) .

est gale l'erreur de prdiction de

x p (t )

partir de

x 2 (t ) K x p 1 (t ) . Elle est ici note 1p p 1 (t ) .

L'indice p indique qu'il s'agit de l'erreur de prdiction de x p (t ) , l'exposant 1 p 1 indique que la base de
prdiction est compose des valeurs x1 ( t ) jusqu' x p1 (t ) . Cette notation peut paratre un peu surcharge mais elle
va permettre de dvelopper de manire unifie des algorithmes issus d'approches trs diffrentes. L'erreur de
prdiction s'crit finalement :
1p p 1 (t ) = x p (t ) A Tp 1 (t ) X p 1 (t )

(47.)

Dans cette expression l'exposant T indique que le vecteur A p 1 (t ) est transpos et conjugu.
Le critre des moindres carrs consiste minimiser la fonction de cot J p (t ) suivante :
t

J p (t ) =

t i 1p p 1 (i ) 1p p 1

(i )

(48.)

i =0

Expression dans laquelle le scalaire reprsente un facteur d'oubli infrieur un.


La solution optimale, obtenue au sens de ce critre, est alors donne par l'expression suivante :
A p 1 ( t ) = R p1 1 (t )r p1 p 1 (t )

(49.)

expression dans laquelle R p 1 (t ) reprsente la matrice d'autocorrlation estime de X p 1 (t ) et r p1 p 1 ( t ) le


vecteur d'intercorrlation estim de X p 1 (t ) avec x p (t ) :
t

R p 1 ( t ) =

t i X p 1 (i ) X Tp 1 (i )

(50.)

i =0

r p1 p 1 (t ) =

t i X p 1 (i ) x Tp (i )

(51.)

i =0

la prdiction du signal x p (t ) s'crit alors :


T

x$ (t ) = r p1 p 1 (t ) R p1 1 ( t ) X p 1 (t )

Traitement Numrique du Signal

(52.)

29

ESCPI EI4

Remarque :
On peut choisir de dfinir l'erreur de prdiction de manire inverse, c'est dire par :
1p p 1 (t ) = ATp 1 (t ) X p 1 (t ) x p (t )

(53.)

La solution optimale ne change pas, seule l'quation de l'erreur de prdiction est inverse. Les quations
d'algorithmes d'adaptation des coefficients pourront aussi tre inverses.

3.2 Dmonstration de la solution optimale


On rappelle ci-dessous le schma gnral d'un filtre adaptatif :

X p 1 ( t )

x p (t )
A p 1 ( t )

1p p 1 (t )

L'erreur de filtrage 1p p 1 ( t ) s'crit de manire vectorielle :


1p p 1 ( t ) = x p (t ) A Tp 1 (t ) X p 1 (t )

avec :
x1 (t )
a 1 ( t )
x (t )

2
et A ( t ) = a 2 (t )
X p 1 ( t ) =
p

1
M

x p 1 (t )
a p 1 ( t )

En dveloppant l'esprance carre de cette erreur, il vient :


T

E 1p p 1 ( t ) 1p p 1 (t ) = E x p (t ) A Tp 1 (t ) X p 1 ( t ) x p (t ) A Tp 1 (t ) X p 1 ( t )

)(

(l'exposant T signifiant transconjugu)

[(

E 1p p 1 (t ) 1p p 1 (t ) = E x p ( t ) x Tp ( t ) A Tp 1 (t ) X p 1 (t ) x Tp (t ) x p (t ) X Tp 1 (t ) A p 1 (t ) + A Tp 1 (t ) X p 1 (t ) X Tp 1 ( t ) A p 1 ( t )

] [

T
E 1p p 1 (t ) 1p p 1 (t ) = E x p (t ) x Tp (t ) 2 Re A Tp 1 ( t ) E X p 1 (t ) x Tp (t ) + A Tp 1 (t ) E X p 1 ( t ) X Tp 1 ( t ) A p 1 ( t )

On introduit alors la matrice R p 1 ( t ) = E X p 1 (t ) X Tp 1 (t ) d'autocorrlation du vecteur d'entre X p 1 (t ) et le

vecteur S p 1 (t ) = E X p 1 (t ) x Tp (t ) d'intercorrlation entre le vecteur d'entre X p 1 (t ) et le signal dsir x p (t ) .


L'quation prcdente devient alors :

Traitement Numrique du Signal

30

)]

ESCPI EI4

] [

E 1p p 1 (t ) 1p p 1 (t ) = E x p (t ) x *p ( t ) 2 Re A pT1 (t ) S p 1 (t ) + A pT1 (t ) R p 1 (t ) A p 1 (t )
On cherche le vecteur A p1 (t ) des coefficients du filtre qui minimise l'esprance carre de l'erreur. En considrant
que la matrice R p1 (t ) est de rang plein, il existe une solution unique qui s'obtient en annulant les drives de la
T

forme quadratique E 1p p 1 ( t ) 1p p 1 (t ) par rapport aux coefficients du filtre A p1 (t ) .

On dcompose alors le filtre A p1 (t ) en parties relle et imaginaire :


A p 1 (t ) = Ar p 1 (t ) + jAi p 1 ( t )
ainsi que le vecteur d'intercorrlation S p1 (t )
S p 1 (t ) = Sr p 1 (t ) + jSi p 1 ( t )

D'o :

] [

E p 1 (t ) *p 1 (t ) = E x p (t ) x Tp (t ) 2 Ar pT1 Sr p 1 2 Ai Tp 1 Si p 1 + A Tp 1 (n) R p 1 (n) A p 1 (n)


On considre alors la drivation de cette expression par rapport la kime composante a k (t ) du vecteur A p1 (t ) .
On dcompose la composante a k (t ) en parties relle et imaginaire :
a k (t ) = a kr ( t ) + ja ki (t )
et l'on distingue les drivations par rapport ces parties relle et imaginaire.

Remarque :
Si x est une variable complexe x = a + jb avec a et b rels. On dfinit alors la drive par rapport x par :
1

= j
x 2 a
b
On a alors

x
x *
= 1 et
=0
x
x

On dmontre que la drivation de la forme bilinaire A Tp 1 (t ) R p 1 (t ) A p 1 (t ) par rapport aux composantes du


vecteur A p1 (n) donne les rsultats suivants :

A Tp 1 (t ) R p 1 ( t ) A p 1 ( t )
a kr (t )

= 2 Re R p 1 (t ) A p 1 ( t )

, l'indice k signifiant que l'on s'intresse la kime composante

du vecteur R p 1 (t ) A p 1 (t ) .
et :

Traitement Numrique du Signal

31

ESCPI EI4

A Tp 1 ( t ) R p 1 (t ) A p 1 (t )
a ki ( t )

= 2 Im R p 1 ( t ) A p 1 (t )

D'o finalement :

E p 1 (t ) *p 1 (t )
a kr ( t )

] = 2(Sr )

] = 2(Si )

p 1

+ 2 Re R p 1 (t ) A p 1 (t )

et

E p 1 (t ) *p 1 (t )
a ki (t )

p 1

+ 2 Im R p 1 (t ) A p 1 (t )

D'o en annulant la drive par rapport a k (t ) :

( )
2( Si
)
2 Sr p 1
p 1

(
+ 2 Im( R

)
(t ))

+ 2 Re R p 1 (t ) A p 1 (t )
p 1 ( t ) A p 1

=0

=0

En annulant toutes les drives partielles il vient donc :

(
+ 2 Im( R

)
(t )) = 0

2 Sr p 1 + 2 Re R p 1 (t ) A p 1 (t ) = 0
2 Si p 1

p 1 ( t ) A p 1

D'o :

R p 1 ( t ) A p 1 ( t ) = S p 1 ( t )
et :
A p 1 ( t ) = R p1 1 (t ) S p 1 ( t )

Cette solution portant le nom de solution de Wiener-Hopf.

Introduction du facteur d'oubli


En considrant alors l'hypothse ergodique vrifie, c'est dire en confondant les esprances mathmatiques et les
moyennes temporelles, et en introduisant un facteur d'oubli dans la moyenne temporelle, afin de munir l'algorithme
de proprits de poursuites, l'esprance mathmatique s'crit :

E [ x (t )] =

i x(t i )

avec facteur d'oubli infrieur ou gal un.

i =0

Il est alors immdiat que:


R p 1 ( t + 1) = R p 1 (t ) + X p 1 (t + 1) X Tp 1 (t + 1)
S p 1 ( t + 1) = S p 1 (t ) + X p 1 ( t + 1) x Tp ( t + 1)

Traitement Numrique du Signal

32

ESCPI EI4

Ainsi, chaque instant t + 1 , il est possible, partir du nouveau vecteur X p1 (t + 1) et du nouveau scalaire
x p ( t + 1) , de calculer la matrice R p1 (t + 1) , de l'inverser et de l'appliquer au vecteur S p1 (t + 1) . Le vecteur

A p1 ( t + 1) optimal au sens du minimum de l'erreur quadratique pondre par un facteur d'oubli est alors mis
jour.

Le principal inconvnient de cette mthode rside dans l'inversion en temps rel de la matrice R p1 (t + 1) . Cette
inversion demande un cot de calcul proportionnel p 3 qui peut rapidement s'avrer prohibitif lorsque la
dimension p devient importante. Le but des algorithmes des moindres carrs qui vont suivre va tre de faire diminuer
ce cot de calcul. Pour cela, ils vont utiliser des proprits rcursives de la matrice R p1 (t ) et du vecteur S p1 (t ) .
Ces rcursions agiront, soit en fonction du temps n, soit en fonction de l'ordre p. Elles vont conduire aux algorithmes
des moindres carrs rcursifs (MCR) dont le cot de calcul est proportionnel p. Enfin, dans les cas o les
composantes x i (t ) du vecteur X p1 (t ) sont en fait les valeurs dcales dans le temps d'un mme processus
monodimensionel x (t ) l'utilisation de ces proprits de dcalage conduira aux algorithmes rapides dont le cot de
calcul est proportionnel p.

La rsolution, chaque instant t + 1 , de l'quation :


A p 1 ( t + 1) = R p11 (t + 1) S p 1 (t + 1)

n'utilise pas la rsolution effectue l'instant prcdent qui a permis de mettre jour le vecteur A p1 (t ) .
Or la matrice R p1 (t + 1) a t modifie, entre l'instant t et l'instant t + 1 , travers l'quation :
R p 1 ( t + 1) = R p 1 (t ) + X p 1 (t + 1) X Tp 1 (t + 1)

Il est alors lgitime de chercher exprimer A p1 ( t + 1) en fonction de A p1 (t ) .


Ainsi, en crivant le filtre optimal au temps t + 1 :
A p 1 ( t + 1) = R p11 (t + 1) S p 1 (t + 1)

et en remplaant S p1 (t + 1) par son expression en fonction de S p1 (t ) ,il vient:

A p 1 (t + 1) = R p1 1 (t + 1) S p 1 (t ) + X p 1 ( t + 1) x Tp (t + 1)

or S p 1 (t ) = R p 1 (t ) A p 1 ( t ) d'o:

A p 1 (t + 1) = R p1 1 ( t + 1) R p 1 (t ) A p 1 (t ) + X p 1 (t + 1) x Tp (t + 1)

[(

A p 1 ( t + 1) = R p1 1 (t + 1) R p 1 ( t + 1) X p 1 (t + 1) X Tp 1 (t + 1) A p 1 ( t ) + X p 1 ( t + 1) x Tp (t + 1)

d'o finalement:

Traitement Numrique du Signal

33

ESCPI EI4

A p 1 ( t + 1) = A p 1 (t ) + R p1 1 (t + 1) X p 1 (t + 1) x Tp (t + 1) X Tp 1 (t + 1) A p 1 (t )

l'expression x Tp (t + 1) X Tp 1 ( t + 1) A p 1 ( t ) reprsente la conjugue de l'erreur de prdiction a priori, faite en


utilisant le vecteur A p1 (t ) , optimal au temps t, pour filtrer le vecteur X p1 (t + 1) disponible au temps t + 1 .
En crivant: e 1p p 1 (t + 1) = x p (t + 1) A Tp 1 ( t ) X p 1 (t + 1) cette erreur, l'quation prcdente devient:
T

A p 1 (t + 1) = A p 1 ( t ) + R p11 (t + 1) X p 1 (t + 1) e 1p p 1 (t + 1)
Cette expression, qui porte le nom d'quation normale, permet de mettre jour le vecteur A p 1 ( t + 1) partir du
vecteur A p 1 (t ) .

3.3 Algorithme LMS


Une premire solution consiste supposer que la matrice R p1 1 (t + 1) est constante au cours du temps et gale
I p 1 o I p 1 reprsente la matrice identit et un scalaire.

Il s'agit l d'une approximation importante et le critre ne va pas tre rigoureusement optimis. Cependant
l'algorithme qui va en dcouler est sans doute l'algorithme le plus simple mettre en uvre et celui dont le cot de
calcul est le plus faible. C'est de loin l'algorithme qui a t jusqu' aujourd'hui le plus utilis dans les quipements
industriels.

Avec cette hypothse l'quation normale se simplifie et devient :

A p 1 (t + 1) = A p 1 ( t ) + X p 1 (t + 1) e 1p p 1 (t + 1)

Le vecteur X p 1 (t + 1) et le scalaire x p ( t + 1) tant disponibles l'instant t + 1 , il est ais de calculer:


e 1p p 1 (t + 1) = x p (t + 1) A Tp 1 ( t ) X p 1 (t + 1) et de mettre jour le vecteur A p 1 ( t + 1) .

Cette mise jour demande finalement un cot de calcul proportionnel O( p 1) . Cet algorithme est appel
algorithme du gradient stochastique (LMS).

Traitement Numrique du Signal

34

ESCPI EI4

Quantits obtenues au temps n et disponibles au temps t+1 :


A p 1 ( t )

vecteur des coefficients du filtre :

Nouvelles donnes au temps n+1 :


vecteur de donnes reues :

X p 1 ( t + 1)

signal de rfrence :

x p ( t + 1)

Calcul du nouveau filtre au temps n+1 :

erreur de prdiction avant :

e 1p p 1 (t + 1) = x p (t + 1) A Tp 1 ( t ) X p 1 (t + 1)

mise jour du filtre au temps t + 1 :

A p 1 ( t + 1) = A p 1 (t ) + e 1p p 1 (t + 1) X p 1 (t + 1)

- Algorithme LMS -

Il est rapprocher de l'algorithme classique du gradient dterministe o un vecteur A p 1 (t + 1) est adapt en


descendant le long de la drive d'un critre au moyen d'une formule du type :
A p 1 ( t + 1) = A p 1 (t )

(critre)
2

en considrant comme critre la minimisation de l'erreur quadratique a priori, cette quation devient :

A p 1 (t + 1) = A p 1 ( t )


E x p (t + 1) A Tp 1 (t ) X p 1 (t + 1) x p (t + 1) A Tp 1 ( t ) X p 1 (t + 1)
2

)(

d'o en dveloppant la drive :


A p 1 (t + 1) = A p 1 ( t ) +


2 E X p 1 ( t + 1) x Tp (t + 1) E X p 1 ( t + 1) X Tp 1 (t + 1) A p 1 (t )
2

] [

Le remplacement des esprances par les valeurs instantanes donne alors :


T

A p 1 (t + 1) = A p 1 ( t ) + X p 1 (t + 1) e 1p p 1 (t + 1)
l'algorithme est alors appel algorithme du gradient stochastique et le scalaire reprsente le pas de descente de
l'algorithme.

Traitement Numrique du Signal

35

ESCPI EI4

Conditions de convergence de l'algorithme :


Dans une premire approche on peut considrer que l'algorithme est converge ds lors que l'esprance de la valeur
absolue de l'erreur a posteriori :
E 1p p 1 (t + 1) = E x p (t + 1) X Tp 1 (t + 1) A p 1 (t + 1)

est infrieure la valeur absolue a priori :


E e 1p p 1 (t + 1) = E x p (t + 1) X Tp 1 (t + 1) A p 1 (t )

Or sachant que :

1p p 1 (t + 1) = x p (t + 1) X Tp 1 (t + 1) A p 1 (t ) + X p 1 ( t + 1)e 1p p 1 (t + 1)

il vient :

1p p 1 (t + 1) = e 1p p 1 (t + 1) X Tp 1 (t + 1) X p 1 (t + 1)e 1p p 1 (t + 1)
ou encore :

1p p 1 (t + 1) = e 1p p 1 (t + 1) 1 X Tp 1 ( t + 1) X p 1 (t + 1)

La condition de convergence s'crit alors :

] [

E 1p p 1 (t + 1) < E e 1p p 1 ( t + 1)

1 E X pT1 ( t + 1) X p1 ( t + 1) < 1

d'o:

0<<

2
NPx

o Px reprsente la puissance de la composante x i (t ) de puissance maximale du vecteur X p1 (t )


(Dans le cas o les composantes de ce vecteur sont les valeurs dcales dans le temps d'un processus
monodimensionnel x (t ) , Px reprsente la puissance du processus x (t ) .)

Une autre approche pour dmontrer la convergence de l'algorithme consiste introduire le filtre optimal
A0 = R p1 1 (t + 1) S p 1 (t + 1) , et la variable ( t + 1) = A p 1 ( t + 1) A0

On a alors :
T

( t + 1) = A p 1 ( t ) A0 + X p 1 (t + 1)e 1p p 1 (t + 1)

On introduit l'erreur de filtrage qui aurait t commise avec le filtre optimal :


e0 (t + 1) = x p (t + 1) A0T X p 1 (t + 1)

D'o :

Traitement Numrique du Signal

36

ESCPI EI4

( t + 1) = A p 1 (t ) A0 + X p 1 (t + 1) x p ( t + 1) A Tp 1 (t ) X p 1 (t + 1)

( t + 1) = (t ) + X p 1 ( t + 1) e0 (t + 1) + A0T X p 1 ( t + 1) A Tp 1 (t ) X p 1 (t + 1)

( t + 1) = (t ) + X p 1 ( t + 1) e0 (t + 1) ( t ) T X p 1 (t + 1)

( t + 1) = I p 1 X p 1 (t + 1) X Tp 1 ( t + 1) (t ) + X p 1 (t + 1)e0T (t + 1)

Par dfinition de e0 (t + 1) , on a E X p 1 (t + 1)e0T (t + 1) = 0 car e0 (t + 1) reprsente l'innovation de x p (t ) par


rapport la base de prdiction X p1 (t + 1) .
En prenant alors l'esprance mathmatique de l'quation prcdente, il vient :

E [ (t + 1) ] = I p 1 R p 1 ( t + 1) E [ ( t )]

L'algorithme LMS convergera en moyenne si et seulement si E A p 1 (t ) t


A0

donc si E [ ( t )] 0
t

Donc si 0 < <

2
max

o max reprsente la valeur propre maximale de la matrice R p1 (t ) .

Critre optimis:
Le fait d'avoir approch R p1 (t ) par I p1 a conduit optimiser un critre diffrent de celui de l'erreur quadratique
moyenne pondre.

En considrant la solution obtenue:

A p 1 (t + 1) = A p 1 ( t ) + X p 1 (t + 1) x p (t + 1) X Tp 1 (t + 1) A p 1 (t )

il vient:

A p 1 (t + 1) = I p 1 X p 1 ( t + 1) X Tp 1 (t + 1) A p 1 (t ) + X p 1 (t + 1) x p (t + 1)

en se plaant dans le cas o l'algorithme a converg, il vient pour t :

] [

E A p 1 (t + 1) = E A p 1 (t )

Traitement Numrique du Signal

37

ESCPI EI4

or : E X p 1 (t + 1) X pT1 ( t + 1) = R p 1 (t + 1) et E X p 1 (t + 1) x p ( t + 1) = S p 1 (t + 1)

d'o en prenant l'esprance de l'quation prcdente :

] [

] [

E A p 1 (t + 1) = E A p 1 (t ) = E A p 1 (t ) R p 1 (t + 1) E A p 1 (t ) S p 1 (t + 1)

d'o:
pour t E A p 1 ( t ) = R p1 1 (t + 1) S p 1 (t + 1)

La solution obtenue grce l'algorithme du gradient stochastique converge donc en moyenne vers la solution
optimale. L'algorithme n'optimise donc pas un critre des moindres carrs exacts mais un critre des moindres carrs
moyens.

Variantes de l'algorithme
L'algorithme du gradient stochastique possde un grand nombre de variantes dont l'emploi dpend essentiellement
de l'application envisage. On peut citer par exemple:

L'algorithme de gradient normalis (NLMS):

A p 1 (t + 1) = A p 1 ( t ) +

X p 1 (t + 1)e 1p p 1 ( t + 1)
X Tp 1 ( t + 1) X p 1 (t + 1)

L'algorithme du gradient bas sur le signe de l'erreur (Error Sign):

A p 1 (t + 1) = A p 1 (t ) + X p 1 (t + 1) sgn(e 1p p 1 (t + 1))

L'algorithme du gradient bas sur le signe de la donne (data sign):

A p 1 (t + 1) = A p 1 ( t ) + sgn( X p 1 ( t + 1)) e 1p p 1 (t + 1)

L'algorithme du signe (sign algorithm):

A p 1 (t + 1) = A p 1 ( t ) + sgn( X p 1 ( t + 1)e 1p p 1 (t + 1))

Traitement Numrique du Signal

38

ESCPI EI4

Conclusion
L'algorithme du gradient stochastique est un algorithme simple dont le cot de calcul est proportionnel l'ordre N du
filtre identifier. A condition de respecter un pas d'adaptation suffisamment faible, cet algorithme est stable et
optimise un critre des moindres carrs moyens. C'est encore aujourd'hui l'algorithme de filtrage adaptatif le plus
employ dans les applications temps rel.
Le problme principal dans son emploi rside dans le choix du pas d'adaptation . Un pas faible entrane une
convergence lente souvent incompatible des applications envisages (galisation en vasion de frquence par
exemple). Un pas trop fort va conduire, quant lui, des rsultats imprcis. Il existe un grand nombre de mthodes
qui tendent faire varier ce pas au cours de la phase de convergence. Cela peut avoir pour effet d'acclrer la
convergence mais il faut rester circonspect vis vis de ces mthodes car la convergence de l'algorithme n'est assure
que dans le cas du pas fixe.

3.4 Algorithme RLS


L'algorithme du gradient stochastique partait de l'approximation: R p 1 (t ) = I p 1 . Cette simplification a permis de

( )

passer d'un cot de calcul proportionnel O p 3

un cot de calcul proportionnel p. En vitant cette

simplification, il est cependant possible de rsoudre l'quation:


A p 1 ( t + 1) = R p11 (t + 1) S p 1 (t + 1)

avec un cot de calcul proportionnel p.

En effet: R p 1 (t + 1) = R p 1 (t ) + X p 1 (t + 1) X Tp 1 (t + 1)

En utilisant un lemme d'inversion matricielle rappel ci-dessous :

si: A = B + CDC T

alors: A1 = B 1 B 1C D + C T B 1C

1 T

C B 1

il vient :
R p1 1 ( t

R p1 1 (t )
1 1
1 1
T

+ 1) = R p 1 (t ) R p 1 ( t ) X p 1 (t + 1) 1 + X p 1 (t + 1)
X p 1 ( t + 1)

X Tp 1 (t

+ 1)

R p11 (t )

d'o:

Traitement Numrique du Signal

39

ESCPI EI4

R p11 ( t + 1) =

R p1 1 (t ) X p 1 (t + 1) X Tp 1 (t + 1) R p1 1 (t )
1 1
R
(
t
)

p 1

+ X Tp 1 (t + 1) R p11 (t ) X p 1 (t + 1)

En multipliant gauche par X p1 (t + 1) et en factorisant, il vient:


G p 1 (t + 1) = R p11 ( t + 1) X p 1 (t + 1) =

X Tp 1 (t + 1) R p1 1 (t ) X p 1 ( t + 1)
1 1
R p 1 ( t ) X p 1 (t + 1) 1

+ X Tp 1 (t + 1) R p11 (t ) X p 1 (t + 1)

d'o:
G p 1 (t + 1) =

R p1 1 (t ) X p 1 ( t + 1)
+ X Tp 1 (t + 1) R p11 (t ) X p 1 (t + 1)

d'o l'algorithme suivant :

Quantits obtenues au temps t et disponibles au temps t+1 :


inverse de la matrice d'autocorrlation :

R p1 1 (t )

vecteur des coefficients du filtre :

A p 1 ( t )

Nouvelles donnes au temps t+1 :


vecteur de donnes reues :

X p 1 (t + 1)

signal de rfrence :

x p ( t + 1)

Calcul du nouveau filtre au temps n+1 :

erreur de prdiction avant :

e 1p p 1 (t + 1) = x p (t + 1) A Tp 1 ( t ) X p 1 (t + 1)
R p1 1 (t ) X p 1 (t + 1)

calcul du gain de Kalman :

G p 1 ( t + 1) =

mise jour du filtre au temps t+1 :

A p 1 ( t + 1) = A p 1 (t ) + G p 1 (t + 1) e 1p p 1 (t + 1)

propagation de l'inverse de R p 1 (t + 1) : R p11 (t + 1) =

+ X Tp 1 (t + 1) R p11 (t ) X p 1 (t + 1)

1 1
R p 1 (t ) G p 1 (t + 1) X Tp 1 (t + 1) R p11 (n)

- Algorithme RLS -

Cet algorithme conduit la mise jour du vecteur A p 1 ( t + 1) avec un cot de calcul proportionnel O( p ) .
L'inversion de matrice a t vite en propageant le gain de Kalman G p 1 ( t + 1) rcursivement au cours du temps.

Traitement Numrique du Signal

40

ESCPI EI4

Pour t = 0 , la matrice R p1 1 (0 ) est choisie gale

1
2

I p 1 o reprsente un scalaire petit devant 1.

Cet algorithme, la diffrence de l'algorithme du gradient stochastique, optimise rigoureusement le critre des
moindres carrs.

L'algorithme RLS s'applique aussi bien au cas d'un signal multidimensionnel :

X p 1 (t ) = x 1 (t ), x 2 (t ), ... , x p 1 (t )

qu'au cas d'un signal monodimensionnel dont les valeurs sont conservs avec un dcalage temporel :

X p 1 (t ) = x ( t ), x (t 1), ... , x ( t N + 1)

Cependant dans ce dernier cas, l'algorithme n'utilise pas cette proprit de dcalage des variables. En utilisant cette
proprit, il est possible d'optimiser l'algorithme et d'obtenir une version rapide (cot de calcul proportionnel N).

3.4.1

Algorithme des moindres carrs rcursifs rapides (Fast Kalman)

La dmonstration des algorithmes rapides: Fast Kalman, Faest et drivs demandant un dveloppement consquent,
ce paragraphe prsente juste l'algorithme dont on trouvera la dmonstration complte dans la rfrence [1].
( Attention au changement de variable par rapport aux paragraphes prcdents, ici le filtre recherch est not

H p 1 ( t ) )

Traitement Numrique du Signal

41

ESCPI EI4

Quantits disponibles au temps n:


vecteur des coefficients du filtre adaptatif :

H p 1 ( t )

vecteur des coefficients de prdiction avant :

A p 1 ( t )

vecteur des coefficients de prdiction arrire:

B p 1 ( t )

vecteur de donnes N lments:

X p 1 ( t )

gain d'adaptation (gain de Kalman):

G p 1 ( t )

Nouvelles donnes au temps n+1:


donne reue :
signal de rfrence :

x (t + 1)
x p ( t + 1)

Calcul du nouveau gain d'adaptation:


erreur de prdiction avant a priori :
ea (t + 1) = x ( t + 1) A Tp 1 (t ) X p 1 (t )
mise jour des coefficients de prdiction avant :

A p 1 (t + 1) = A p 1 (t ) + G p 1 (n)ea (t + 1)
erreur de prdiction avant a posteriori :

a (t + 1) = x (t + 1) A Tp 1 (t + 1) X p 1 (t )
nergie de prdiction avant :
E a (t + 1) = E a (t ) + ea (t + 1) a (t + 1)
gain d'adaptation intermdiaire :
0
a (t + 1) 1
M p 1 (t + 1)
G1 ( t + 1) =
+

G p 1 (t ) E a (t + 1) A p 1 (t + 1) m( t + 1)

erreur de prdiction arrire a priori :


eb (t + 1) = x (t + 1 p + 1) B Tp 1 (t ) X p 1 (t + 1)

mise jour du gain d'adaptation :

1
M p 1 (t + 1) + m(t + 1) B p 1 (t )
1 m( t + 1)eb (t + 1)
mise jour des coefficients de prdiction arrire :
B p 1 ( t + 1) = B p 1 (t ) + G p 1 ( t + 1)eb (t + 1)
G p 1 (t + 1) =

Opration de filtrage:
calcul de l'erreur de sortie :
e(t + 1) = x p ( t + 1) H Tp 1 (t ) X (t + 1)

mise jour des coefficients :


H p 1 (t + 1) = H p 1 (t ) + G p 1 (t + 1)e( t + 1)

Traitement Numrique du Signal

42

ESCPI EI4

3.5 Algorithme du Treillis Spatial


3.5.1

Principe

Le principe de l'algorithme du treillis spatial consiste orthogonaliser la base de prdiction constitue par les
signaux capteurs

{ x1 (t ), x2 (t ),K , x p (t )} , puis prdire un signal de rfrence

y (t ) partir de cette base

orthogonalise. Pratiquement la prdiction de y (t ) s'effectue suivant le mme mcanisme que l'orthogonalisation


des signaux capteurs. Il suffit pour cela de considrer que ce signal de rfrence est un signal capteur supplmentaire
x p+1 ( t ) = y (t ) et de le traiter comme les autres signaux capteurs.

L'algorithme propage un vecteur d'erreur :

p (t ) = L1p (t ). X p (t )
expression dans laquelle

(54.)

L p (t ) est obtenue par la dcomposition LDU de lestimation de la matrice

dautocorrlation R p (t ) du vecteur dentre X p (t ) .


R p (t ) = L p (t ). D p ( t ). U p (t )

3.5.2

(55.)

Dcomposition LDU

On note :
x1 (t )

x 2 (t )
Le vecteur dentre : X p ( t ) =
.

x p ( t )
t

Lestimation au temps t de la matrice dautocorrlation du signal dentre : R p ( t ) =

t i . X p (i ). X Tp (i )
i =1

L'autocorrlation de x p+1 (t ) : r p0+1 (t ) =

t i x p +1 (i ). x Tp +1 (i )
i =1

Le vecteur dintercorrlation de la composante x p+1 (t ) avec les composantes dindice infrieur :


1 p

r p +1 (t ) = t i X p (i ). x Tp +1 (i )
i =1

Rcursion en ordre
Ecrivons maintenant la dcomposition LDU de la matrice R p+1 (t ) en fonction de R p (t ) , afin de trouver L p+1 ( t )
et D p+1 ( t ) en fonction de L p ( t ) et D p (t )

Traitement Numrique du Signal

43

ESCPI EI4

R p +1 (t ) = L p +1 (t ). D p +1 (t ). LTp +1 ( t )

On considre alors les partitionnements suivants :


1 p
R (t )
0
r p +1 ( t )
L p (t )
p

,L
1 p
(
)
t
=
R p +1 ( t ) =
p
+
1
T

1 p
0
c p + 1 ( t )

r p +1 (t ) r p +1 ( t )

0
D p (t )

, D p +1 ( t ) =

p +1 ( t )
1
0

En identifiant, on obtient :
1 p

1 p

c p +1 (t ) = D p1 (t ). Lp1 (t ). r p +1 ( t )

(56.)

et :
1 p T

p +1 (t ) = r p0+1 c p +1

3.5.3

1 p

(t ). D p (t ). c p +1 ( t )

(57.)

Erreur a priori, erreur a posteriori

Erreur a priori
On dfinit lerreur a priori par :
E p +1 (t ) = Lp1+1 (t 1). X p +1 (t )

(58.)

On considre alors les partitionnements suivants :


Lp1+1 (t

Lp1 (t 1)
0
1) =
1 pT
1
c p +1 ( t 1). L p (t 1)

E p (t )
X p (t )
,E
1 p , X p +1 (t ) =
(
t
)
=

p
+
1

x p +1 (t )
e p + 1 ( t )

Par simple identification, on en dduit :


1 pT

1 p

e p +1 ( t ) = x p +1 ( t ) c p +1
1 p

(t 1). E p (t )

(59.)

1 p

En utilisant c p +1 ( t 1) = D p1 (t 1). Lp1 ( t 1). r p +1 (t 1) , il vient :


1 p T

1 p

e p + 1 ( t ) = x p +1 ( t ) r p +1

( t 1) LpT (t 1) D p1 (t 1). E p ( t )

(60.)

Et en remplaant E p (t ) par Lp1 ( t 1) X p (t ) , il vient :


1 p T

1 p

e p + 1 ( t ) = x p +1 ( t ) r p + 1

( t 1) LpT (t 1) D p1 (t 1). Lp1 (t 1) X p ( t )

(61.)

Ou encore :
1 p T

1 p

e p + 1 ( t ) = x p +1 ( t ) r p +1

( t 1) R p1 (t 1) X p ( t )

(62.)

Cette expression peut encore s'crire :


1 p

e p +1 ( t ) = x p +1 (t ) A Tp (t 1) X p ( t )

Traitement Numrique du Signal

(63.)

44

ESCPI EI4

1 p

avec : A p (t ) = R p1 (t 1) r p +1 (t 1)

Il sagit bien dune erreur a priori car lorthogonalisation des signaux capteurs est effectue avant la remise jour du
filtre.

Erreur a posteriori
On dfinit lerreur a posteriori par :

p+1 (t ) = Lp1+1 (t ) X p+1 (t )

(64.)

.En utilisant les partitionnements suivants :


Lp1+1 (t )

Lp1 (t )
0
,
=
1 pT

1
1
c p +1 (t ). L p (t )

( t )
p+1 (t ) = 1p p

X (t )
, X p +1 ( t ) = p

(t )

x p +1 (t )
p +1

Par simple identification, on en dduit sur la dernire colonne


1 p T

1 p

p + 1 ( t ) = x p +1 ( t ) c p +1

(t ).

p (t )

(65.)

Il sagit bien dune erreur posteriori car lorthogonalisation des signaux capteurs est effectue aprs la remise
jour du filtre.

3.5.4

Mise jour des matrices L et D.

On dfinit L p (t ) la matrice de passage de L p ( t 1) vers L p (t )


L p (t ) = Lp1 ( t 1). L p (t )

(66.)

Comme les matrices Lp1 (t 1) et L p (t ) sont triangulaires infrieures, avec des 1 sur la diagonale principale,
L p (t ) lest aussi.
On peut remarquer que L p (t ) est aussi la matrice de passage de lerreur posteriori vers lerreur priori. En effet,
on a :
L p (t ).

p (t ) = Lp1 (t 1). L p (t ). Lp1 (t ). X p (t ) = E p (t )

(67.)

Calcul de Lp(t)
On part de lquation de remise jour de la matrice dautocorrlation du signal dordre p.
R p (t ) = . R p (t 1) + X p ( t ). X Tp (t )

(68.)

L p (t ). D p ( t ). LTp (t ) = . L p (t 1). D p (t 1). LTp (t 1) + X p (t ). X Tp (t )

(69.)

En multipliant gauche et droite par respectivement Lp1 (t 1) et LpT ( t 1) , on obtient :

Traitement Numrique du Signal

45

ESCPI EI4

L p (t ). D p (t ). LTp (t ) = . D p (t 1) + E p (t ). E Tp (t )

(70.)

Comme L p ( t ) est triangulaire infrieure avec des 1 sur sa diagonale principale, cette dernire quation montre,
par unicit de la dcomposition LDU, que L p ( t ) sobtient par la dcomposition LDU de la matrice
p (t ) = . D p (t 1) + E p (t ). E Tp ( t )

(71.)

Dcomposition LDU de p(t)


Pour ce faire, nous allons utiliser une rcursion en ordre sur p (t ) en utilisant lgalit :
p +1 ( t ) = L p +1 (t ). D p +1 (t ). LTp +1 (t ) = . D p +1 (t 1) + E p +1 (t ). E Tp +1 ( t )

(72.)

0
L p (t )

L p +1 (t ) =
T
c 1 p (t ) 1
p +1

(73.)

On note :

En dveloppant lquation prcdente, il vient :


L (t ). D (t ). LT (t )
p
p
p
p +1 ( t ) =
T
1 p
T
c p +1 (t ) . D p (t ). L p (t )

p ( t )
p +1 ( t ) =
p
e 1p
(t ). E Tp (t )
+1

1 p T
1 p
c p +1 (t ). D p (t ). c p +1 (t ) + p +1 (t )

1 p

L p (t ). D p (t ). c p +1 (t )

1 pT

E p (t ). e p +1
. p +1 ( t

(t )

1 p
1 p T
1) + e p +1 (t ). e p +1

(t )

(74.)

(75.)

Par simple identification, on tire aprs simplification :


1 p

c p +1 (t ) = D p1 (t ).

p (t ). e 1p+1pT (t )

(76.)

et
1 p

p +1 (t ) = . p +1 (t 1) + e p +1 (t ). 1

T
1
p ( t ). D p ( t ).

p (t )). e 1p+1p

(t )

(77.)

Equations de mise jour de la matrice D


En posant
p (t ) = 1

Tp (t ). D p1 (t ). p (t ).

(78.)

on dduit lquation de remise jour de la matrice D p (t )


1 p T

p +1 (t ) = . p +1 (t 1) + p ( t ). e p +1

1 p

(t ). e p +1 (t )

(79.)

Mise jour de p(t)

Traitement Numrique du Signal

46

ESCPI EI4

Reprenons lquation

L p +1 (t ).

p + 1 ( t ) = E p +1 ( t )

(80.)

En dveloppant la dernire ligne, il vient


1 p T

1 p

e p +1 ( t ) = c p +1
1 p

1 p

e p +1 (t ) = e p +1 ( t ). (
1 p

( t ).

p (t ) + 1p+1p (t )

(81.)

Tp (t ). D p1 (t ). p (t )) + 1p+1p (t )

1 p

1 p

e p +1 ( t ) = e p +1 (t ).(1 p ( t )) + p +1 (t )

(82.)
(83.)

do la relation qui lie lerreur a priori et lerreur a posteriori


1 p

1 p

p +1 (t ) = e p +1 (t ). p (t )

(84.)

Rcursion en ordre sur p(t)


p +1 ( t ) = 1

p +1 ( t ) = 1

Tp+1 (t ). D p+11 (t ). p+1 (t )

T
1
p ( t ). D p ( t ).

p (t )

1 p T

p +1

(85.)
1 p

(t ). p +1 (t )

p +1 ( t )

(86.)

do lquation de mise jour de p (t )


1 pT

p +1 ( t ) = p ( t )

2p (t )

e p +1

1 p

( t ). e p +1 (t )

p +1 ( t )

(87.)

Calcul de Lp-1(t)

De mme que pour le calcul de L p (t ) , on part de lquation de remise jour de la matrice dautocorrlation du
signal dordre p, i.e. :
L p (t ). D p ( t ). LTp (t ) = . L p (t 1). D p (t 1). LTp (t 1) + X p (t ). X Tp (t )

(88.)

T
On fait apparatre la matrice Lp1 (t ) en multipliant gauche et droite par respectivement L1
p ( t ) et L p ( t ) , on

obtient :
D p (t ) = . Lp1 (t ) D p (t 1). LpT (t ) +

p (t ). Tp (t )

(89.)

De la mme faon que prcdemment, cette quation montre que Lp1 (t ) sobtient par la dcomposition LDU de la
matrice
p (t ) = D p (t )

p (t ). Tp (t )

(90.)

Dcomposition LDU de p(t)

Pour ce faire, nous allons utiliser une rcursion en ordre sur p (t ) en utilisant lgalit :

Traitement Numrique du Signal

47

ESCPI EI4

p +1 (t ) = . Lp1+1 (t ). D p +1 (t 1). LTp +1 (t ) = D p +1 (t )

p+1 (t ). Tp+1 (t )

(91.)

En vertu du lemme dinversion matriciel partitionne, on a :


Lp1+1 (t )

Lp1 (t )

1 pT
1
c p +1 . L p (t ) 1

. L1 (t ). D (t 1). L T (t )
p
p
p

1 p
1
T
. c p +1 (t ) . L p ( t ). D p (t 1). L p (t )

(92.)

1 p
1 p T
1
T
. p +1 ( t 1) + . c p +1 (t ). L p ( t ). D p (t 1). L p (t ). c p +1 (t )

1 p

. Lp1 ( t ). D p ( t 1). LpT (t ). c p +1 ( t )

(93.)

En effectuant lquation prcdente, il vient :

p (t )

p
T
1p
+1 ( t ). p ( t )

= p +1 ( t )
1 p
1 p T
p +1 (t 1) p +1 ( t ). p +1 (t )

p (t ). 1p+1pT (t )

(94.)

On en dduit lquation suivante :


p
1 p T
1
T
1
c1p
+1 ( t ) = . L p ( t ). D p ( t 1). E p ( t ). p +1

(95.)

et une nouvelle quation de mise jour pour la matrice D p (t )


1 p

1 p T

p +1 (t ) = . p +1 (t 1) + p +1 ( t ). 1 + 1 . E Tp (t ). D p1 (t 1). E p (t ) . p +1

(t )

(96.)

Cette dernire quation pourrait tre utilise pour dvelopper un algorithme bas sur lerreur a priori. Nous ne
dvelopperons pas ces calculs, car ils conduisent un algorithme dont le cot de calcul est plus important.
Expression de Lp+1-1(t)
Lp1 (t )
0
Lp1+1 (t ) =
1 . 1 p . E T ( t ). D 1 (t 1)
p
p
p +1

(97.)

Mise jour de la matrice L


p
1 p
On cherche ici trouver une relation entre le filtre c1p
+1 (t) et c p +1 (t - 1)

On part de lquation :
1 p

1 p

1
c p +1 ( t ) = D -1
p ( t ). L p ( t ). r p +1 ( t )
p
Lquation de mise jour de rp1
+1 ( t ) scrit :

Traitement Numrique du Signal

48

ESCPI EI4

1 p

1 p

r p +1 ( t ) = . r p +1 ( t 1) + X p (t ). x Tp +1 ( t )

(98.)

do
1 p

1 p

1
T
c p +1 ( t ) = D -1
p ( t ). L p ( t ). ( . r p +1 ( t 1) + X p ( t ). x p +1 ( t ))
1 p

1 p

1
1
1
-1
c p +1 ( t ) = D -1
p ( t ). L p ( t ). D p ( t 1).( . D p ( t 1). L p ( t 1). r p +1 ( t 1)) + D p ( t ).
1 p

1 p

1
c p +1 ( t ) = D -1
p ( t ). ( . L p ( t ). D p ( t 1). c p +1 ( t 1 )+

(99.)

p (t ). x Tp+1 (t )

p (t ). x Tp+1 (t ))

(100.)
(101.)

Lquation prcdente peut se rcrire, aprs calcul

T
D-1 (t ). . L1 (t ). D (t 1). c1 p 1( t 1 )+

p 1
p 1
p ( t ). x p + 1 ( t )
p +1
c1 p 1( t ) p-1

p
+
1

1 p-1
p
(t ) T
c p ( t ) p (t 1) p

1 p 1
T
p +1
. (t ) . c p +1( t 1 )+ ( t ) ( x p +1 (t ) E p 1 ( t ). c p +1 ( t 1))
p
p

(102.)

A ce stade, on a donc trouv une quation de mise jour pour le coefficient c p +1 ( t ) de prdiction sur la pime
composante du vecteur de sortie du signal dentre dindice p+1. On peut en fait montrer que cette quation est
valable quelque soit le signal dentre dindice i, avec i p+1.

On note ci (t ) le coefficient de prdiction sur la pime composante du signal de sortie (i.e. lerreur a priori E(t)) du
signal dentre dindice i, avec i>p. Ce coefficient reprsente galement la pime composante de ci1i 1 ( t ) .

L p (t )

T
c 1 p (t )
p
+
1

L p +i (t ) = ...

c 1 pT (t )
i

0
0

1
1
p +1

ci

( t ) ... cii 1 ( t )

p
R (t )
rp1
...
ri1 p (t )
+1 (t )
p
T
1 p T
p +1
...
ri p +1 (t )
rp +1 (t ) r0 (t )

Ri (t ) =
...
T
T
1 p T
p +1
(t ) ...
ri p +i 1 (t ) r0i (t )
rp +i (t ) ri

Le vecteur ri1 p (t ) nest rien dautre que le vecteur de corrlation de x i (t ) avec X p (t )

Traitement Numrique du Signal

49

ESCPI EI4

En effectuant Li (t ) Di ( t ) LTi (t ) , on trouve


L (t ) D (t ) LT ( t )
p
p
p

...
R p +i ( t ) =
T
ci1 p (t ). D p (t ). LTp (t )

L p (t ). D p (t ). ci1 p (t )

(103.)

par simple identification, on dduit :


1 p
p
1
1
c1p
(t )
+ i ( t ) = D p ( t ). L p ( t ). ri

(104.)

De plus, lquation de mise jour de ri1 p (t ) scrit


1 p

ri

1 p

(t ) = . ri

( t 1) + X p (t ). xiT (t )

(105.)

1 p

Ces deux dernires quations montrent que lon peut refaire exactement le mme calcul en remplaant c p +1 (t ) par
1 p

ci

(t ) . On aboutit ainsi aux quations de mise jours des c p +i ( t ) 1 i N-p, o N est le nombre de signaux

capteurs x i (t ) .
p

ci ( t ) = .

p (t 1)
p (t )

. ci ( t 1 ) +

1
1 p 1
( xiT (t ) E Tp 1 (t ). ci
(t 1)). 1p p-1 ( t )
p (t )

(106.)

On pose :
1 p 1

ei

1 p 1 T

( t ) = x i ( t ) ci

(t 1). E p 1 (t ).

(107.)

Cette dernire quation est galement vraie pour i = p . Elle nest alors rien dautre que lexpression de lerreur a
priori

1 p

Rcursion en ordre sur e i

1 p

ei

(t )
1 p 1T
(t ) = xi (t ) ci
(t 1)

pT

ci

E
(t )
p 1
( t 1) . 1 p 1
(t )
e p
1 p

En posant ei10 (t ) = xi (t ) , on tire une quation de rcursion en ordre sur ei


1 p

ei

1 p 1

(t ) = ei

pT

(t ) ci

(t 1). e 1p p 1 ( t )

(108.)

( t ) , i.e.
(109.)

pour 1 p N et p+1 i N

Lquation de remise jour des coefficients du filtre scrit alors :

Traitement Numrique du Signal

50

ESCPI EI4

ci ( t ) = .

p ( t 1)
p (t )

. ci ( t 1 ) +

1
1 p-1 T
ei
(t ). 1p p-1 (t )
p (t )

(110.)

1 p

En utilisant le fait que p (t ) = . p ( t 1) + 1p p 1 (t ). e 1p p 1 ( t ) et la rcursion en ordre sur ei

( t ) , on

aboutit
p

ci ( t ) = ci ( t 1 )+

3.5.5

p 1 (t ) 1 p T
e
(t ). e 1p p-1 (t )
p (t ) i

(111.)

Algorithme

Dans le cas dun treillis servant la prdiction dune rfrence, si N est le nombre de capteurs, on note pour
1 p N , x p (t ) le signal sur le pime capteur et x N +1 ( t ) le signal de rfrence

Initialisation t=0

1 p N + 1 p (t ) = 0
1 p N + 1 et 1 i N + 1 c ip (t ) = 0

Initialisation t

0 (t ) = 1
1 p N + 1 e 1p0 (t ) = x p ( t )

1 p 1
(t ). e 1p p 1 (t )
p (t ) = . p (t 1) + p 1 (t ). e p

e 1p p 1 (t ). e 1p p 1 (t )
2
1 p N + 1 p ( t ) = p 1 ( t ) p 1 ( t )
p (t )

1 p
1 p 1
pT

ei
(t ) = ei
(t ) ci (t ). e 1p p 1

p 1 (t ) 1 p-1 T
p + 1 i N + 1 p
p
e
(t ). e 1p p-1 (t )
ci ( t ) = ci ( t 1 ) +

p (t ) i

Traitement Numrique du Signal

51

ESCPI EI4

3.6 Conclusion
L'optimisation en temps rel d'un filtre adaptatif se heurte principalement des problmes de cot de calcul.
Plusieurs cas sont envisager:

Si la puissance de calcul est importante et le dbit des signaux n'est pas trop rapide, il est possible
d'envisager une inversion directe de la matrice d'autocorrlation. Le cot de calcul est alors proportionnel

N3.


Si la puissance de calcul est plus limite ou/et si le dbit des signaux s'acclre, il est ncessaire de s'orienter
vers des algorithmes dits lents dont le cot de calcul est proportionnel N.

Enfin dans le cas o la puissance est encore rduite et/ou le dlai des signaux traiter s'acclre encore, il
faut s'orienter vers des algorithmes rapides dont le cot de calcul est proportionnel N.

Parmi les algorithmes prcdents, il existe principalement deux familles:

les algorithmes directs: RLS, Fast Kalman,...

les algorithmes en racine carre: Treillis spatial,QR,treillis,FLSQR,...

Il a t observ que les problmes d'instabilit taient trs courants dans la famille des algorithmes directs alors qu'ils
taient quasi inexistants dans la famille des algorithmes en racine carre.

Enfin, il faut rappeler l'importance de l'algorithme du gradient stochastique qui, n'optimisant pas tout fait le mme
critre que les algorithmes prcdents, ne peut tre rattach une famille particulire mais dont la simplicit, le
faible cot de calcul et la robustesse ont fait pendant longtemps l'algorithme de filtrage adaptatif de rfrence.

Traitement Numrique du Signal

52

ESCPI EI4

Bibliographie

LIVRES GENERAUX
M. Bellanger, Traitement numrique du signal, Collection CNET ENST, Masson 1990.
Boite et H. Leich, Les filtres numriques, Collection CNET ENST, Masson 1990.
M. Stein, Les modems pour les Transmissions de Donnes, Collection CNET ENST, Masson 1987
M. Bellanger, Analyse des signaux et filtrage numrique adaptatif, Collection CNET ENST, Masson 1989.
M. Kunt, Techniques modernes de traitement numrique des signaux, Collection CNET ENST, Presses

Polytechniques de Lausanne.
S. Haykin, Adaptive Filter Theory, 2nd Ed., Prentice Hall 1991

ARTICLE DE REFERENCE EN ANALYSE SPECTRALE


S. Kay, S. Marple, Spectrum analysis - A modern perspective -, Proceedings of IEEE vol 69 N 11, November

1981.
ARTICLES SUR LE LEMME D'INVERSION MATRICIEL

M. Woodbury, "Inverting Modified Matrices," Mem. Rep. 42, Statistical Research Group, Princeton University,
Princeton, NJ, 1950.

ARTICLES DE FILTRAGE ADAPTATIF


[1] R.W. Lucky , "Techniques for adaptive equalization of digital communication systems," Bell Syst. Tech. J., vol

45, pp 255-286, 1965. (un des premiers papiers sur le sujet)


[2] B.D. Van Veen and K.M. Buckley , "Beamforming : a versatile approach to spatial filtering," IEEE ASSP Mag.,

vol 5, pp 4-24, 1988.


[3] F. Ling and G. Proakis, "Numerical Accuracy and Stability: Two Problems of Adaptive Estimation Algorithms

Caused by Round-off Error," in Proc ICASSP 84, paper 30.3.1, San Diego, 1984.
[4] P. Fabre and C. Guegen, "Fast recursive least-squares algorithms: preventing divergence," In Proc. ICASSP 85,

Tampa, FL, 1985.


[5] J.L. Botto and G. V. Moustakides, "Stabilizing the Fast Kalman Algorithms," IEEE trans on ASSP, vol 37, N9,

September 1989.
[6] D. Slock and T. Kailath, "Numerically Stable Fast Transversal Filters for Recursive Least Squares Adaptive

Filtering," IEEE trans on SP, vol 39, N1, January 1991.


Articles sur le treillis spatial
[7] L. Fty, "Mthodes de traitement d'antenne adaptes aux radiocommunications," Thse ENST, Juin 1988.
[8] F. Ling and J.G. Proakis, "A Recursive Modified Gram-Schmidt algorithm with applications to least squares

estimation and adaptive filtering," IEEE trans on ASSP, vol 34, pp 829-836, 1986.
[9] M. Morf, A. Vieira, and D.T. Lee, "Ladder forms for identification and speech processing," in Proc IEEE Conf.
Decision Contr., pp. 1074-1078, Dec 1977.

Traitement Numrique du Signal

53

ESCPI EI4

Annexe : Drivation Forme Bilinaire

Drivation de AT RA en rel

u = (a 0

K a N 1 )

u = (a 0

a 0

M
a

N 1

ri , j

K a N 1 ) rk , j a j
j

u = a k rk , j a j

k
j

u = a k a j rk , j
k

u=

a k a j rk , j + a p a j r p, j
k p j

u=

a k a p rk , p + a k a j rk , j + a p a j r p, j + a 2p r p, p
k p

k p j p

j p

u
= a k rk , p + a j r p, j + 2 a p r p , p
p k p
j p

R = R T donc rk , p = r p,k do :

u
= 2a p r p, p + 2 a j r p, j
a p
j p

Traitement Numrique du Signal

54

ESCPI EI4

u = 2K r p, j
p

M

K a j
M

Donc :
T
A RA = 2 RA
A

Traitement Numrique du Signal

55

You might also like