Vous êtes sur la page 1sur 35

CHAPITRE 5

TRAITEMENT NUMERIQUE DES


SIGNAUX ALEATOIRES

Steven L. Kay, ingnieur lectricien amricain, professeur de


traitement du signal luniversit de Rhodes Island. Spcialiste en
statistique mathmatique en liaison avec le traitement du signal, il
est lauteur dun ouvrage de rfrence dans le domaine de la
dtection de signaux (Fundamentals of Statistical Signal Processing,
Prentice Hall), dont on trouve dans tous les domaines du traitement
du signal. Membre dhonneur de lIEEE pour sa contribution la
dtection et lestimation spectrale paramtrique

Les signaux tudis jusquici possdent un forme simple, dont on peut rendre
compte sous forme analytique. Lutilisation pratique de tels signaux est assez
restreinte : elle touche principalement les cas o lingnieur contrle le type des
signaux se manifestant dans un systme, parce quil en assure la synthse (par
exemple dans le cas du signal mis par un radar ou un sonar ou dans le cas des
sons ou des images de synthse). A contrario il est rare que les signaux naturels,
rsultant de causes multiples et souvent incontrlables et non mesurables,
puissent tre caractriss par une expression analytique simple. Cest le cas par
exemple des signaux reus par un sonar ou un radar, de la parole, de l'lectro-
cardiogramme, de l'lectro-encphalogramme, des signaux godsiques ou
encore des signaux boursiers tudis par les conomistes (Fig. 5.1). On les
qualifie alors dalatoires, par opposition aux premiers que lon qualifie de
dterministes1.

1 En ralit, le qualificatif de dterministe ou alatoire nest pas vraiment une caractristique des

signaux (qui sont tous fondamentalement dterministes) mais plutt du degr de connaissance (ou
de lignorance) que nous en avons. Tout ce qui sera dit ici sur les signaux alatoires est donc
applicable a fortiori aux signaux dterministes .
2 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

Fig. 5.1 Exemples de signaux bio-mdicaux.


Haut : intervalles entre les battement du cur (ms) ;
Centre : Pression artrielle moyenne (mm Hg);
Bas : Volume respiratoire.

Aprs un rappel sur les variables alatoires et une application importante la


quantification uniforme des signaux (5.1), nous examinerons les proprits
thoriques des signaux alatoires : moyenne, variance, densit de probabilit,
autocorrlation et densit spectrale de puissance (5.2). Nous poursuivrons en
considrant le filtrage dun signal alatoire et montreront comment les proprits
de ces signaux sen trouvent modifies (0). Nous tudierons pour terminer divers
estimateurs de ces grandeurs partir des signaux alatoires eux-mmes. Une
difficult frquente rsulte de ce que les enregistrements disponibles de ces
signaux sont souvent de dure limite, soit par manque rel de donnes, soit par
manque de stationnarit du signal, ou encore par soucis de limiter le volume de
calcul; il faut en gnral accepter un compromis entre la rsolution et la
prcision de l'estimation (5.4).

5.1 Variables alatoires


5.1.1Rappel thorique
Une variable alatoire continue X est compltement caractrise par sa fonction
de densit de probabilit p X ( x) qui permet le calcul de la probabilit que X
appartienne lintervalle (a,b) :
b
P ( X (a, b)) = p X ( x) dx (5.1)
a

Il est quivalent de spcifier sa fonction de rpartition FX(x), qui est lintgrale de


la fonction de densit de probabilit :
x
FX ( x) = p

X ( )d (5.2)
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 3

On caractrise souvent (et souvent de faon incomplte) une variable alatoire


par sa moyenne mX et sa variance X, dfinies par :

mX = E[ X ] =

xp X ( x)dx (5.3)


X 2 = E[( X mX ) 2 ] = (x m

X ) 2 p X ( x)dx (5.4)

De faon similaire, on caractrise compltement la relation statistique entre deux


variables alatoires continues X et Y par une densit de probabilit conjointe
p XY ( x, y ) telle que :
b d
P ( X (a, b), Y (c, d )) = p XY ( x, y )dx dy (5.5)
a c

On caractrise souvent cette relation de faon plus simple (et souvent


incomplte) par la covariance cov(X,Y) entre X et Y, ou par sa valeur normalise
entre 1 et 1, la corrlation (X,Y) :
cov( X , Y ) = E[( X mX )(Y mY )] (5.6)
cov( X , Y )
( X ,Y ) = (5.7)
XY
En particulier, deux variables sont dites indpendantes ssi la valeur prise lors du
tirage alatoire de la premire na aucune influence sur le tirage de la seconde :
p XY ( x, y ) = pX ( x) pY ( y ) (5.8)
Elle sont dites non corrles ssi :
cov( X , Y ) = 0 (5.9)
On montre que deux variables alatoires indpendantes sont non corrles, mais
quen gnral la rciproque est fausse. La proprit (5.8) doit en effet tre
vrifie pour tout x et y, alors que (5.9) est une proprit plus globale.
Comme les variables dterministes, les variables alatoires possdent une
algbre. Lopration la plus simple est la somme Y de deux variables alatoires
indpendantes X1 et X2. Le rsultat est bien entendu galement une variable
alatoire, et sa densit de probabilit est facile obtenir : la probabilit dune
valeur particulire y de Y est bien entendu la somme (continue) des probabilits
de chaque paire de valeurs particulires (x1,y-x1) dont la somme donne y. Si les
variables sont indpendantes, la probabilit de chaque paire est donne par le
produit des probabilits de leurs lments, et on trouve tout naturellement que
la densit de probabilit de Y est le produit de convolution des densits de
probabilit initiales :

pY ( y ) = p

X1 ( x) p X 2 ( y x)dx
(5.10)
pY ( y ) = p X1 ( x)* p X 2 ( x)
Exemple 5.1 - Variable alatoire distribution uniforme sur (-q/2, q/2)
Cette v.a. est caractrise par une densit de probabilit constante (Fig. 5.2) .
4 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

pX(x)

1/q

x
-q/2 q/2

Fig. 5.2 Densit de probabilit de la v.a. uniforme

Sa moyenne est nulle. Sa variance est donne par :


q/2
x3
q/2
x2 q2
X = dx = =
2
(5.11)
q / 2
q 3q q / 2 12
Il est facile de gnrer un tirage de cette v.a. sous Matlab, destimer sa moyenne et sa
variance, et dafficher un histogramme donnant une ide de sa densit de probabilit2 :

x=rand(1,1000); %v.a. uniforme entre 0 et 1


x=(x-1/2)*10; %v.a. uniforme entre 5 et 5
m=mean(x)
m=
0.0211
s=std(x)^2 % std = standard deviation = cart-type
s=
8.3717
hist(x,20);

80

60

40

20

0
-5 -4 -3 -2 -1 0 1 2 3 4 5

Fig. 5.3 Histogramme dun tirage de v.a. uniforme

Exemple 5.2 - Variable alatoire distribution normale N(m,)


Cette v.a. est caractrise par une densit de probabilit gaussienne (Fig. 5.4) :

1 ( x m) 2
p X ( x) = exp (5.12)
2 2 2

2 On constate en passant que, bien que la moyenne, la variance, et la densit de probabilit dune

v.a. soient des grandeurs dterministes, leurs estimateurs partir dun tirage de cette v.a. sont
eux-mmes des variables alatoires. Nous tudierons plus loin les caractristiques de ces
estimateurs.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 5

PX(x)

x
m

Fig. 5.4 Densit de probabilit de la v.a. gaussienne


N(m,)

La moyenne de cette v.a. est gale m. Sa variance est gale . On montre facilement
que plus de 99% des valeurs dune v.a. gaussienne tombent dans lintervalle (m-3, m+3).

Il est tout aussi facile de gnrer un tirage de cette v.a. sous Matlab et den estimer les
caractristiques :

x=randn(1,1000); %v.a. gaussienne N(0,1)


x=x*10+8; %v.a. gaussienne N(8,10)
m=mean(x)
m=
7.5692
s=std(x)^2 % std = standard deviation = cart-type
s=
89.0175
hist(x,20);

2000

1500

1000

500

0
-30 -20 -10 0 10 20 30 40 50

Fig. 5.5 Histogramme dun tirage de v.a. gaussienne N(8,10)

Rappelons pour terminer quen vertu du thorme central limite, la somme dun grand
nombre N de v.a. indpendantes de densits de probabilit identiques (de moyenne mX et de
variance X) tend vers une v.a. gaussienne : N(NmX,X/N) 3. Ceci explique en soi
limportance de cette variable alatoire.

On montre facilement quil est possible dobtenir le tirage dune v.a. X densit
de probabilit quelconque pX(x) partir dun tirage de v.a. U densit uniforme,
en associant chaque ralisation u de U la valeur x=FX-1(u) o F est la fonction
de rpartition de X (Fig. 5.6).

3 Ce qui revient dire, vu (5.10), que la convolution dun grand nombre de fonctions de densits

de probabilits tend toujours vers une fonction gaussienne.


6 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

U=FX(x)
1

tirage uniforme

0 x

Tirage suivant
pX(x)

Fig. 5.6 Tirage dune v.a. de densit de probabilit


quelconque partir dune v.a. uniforme

5.1.2 Application : Quantification uniforme dun signal numrique


On a tudi au chapitre 3 lchantillonnage des signaux analogiques, qui conduit
lobtention de signaux temps discret. Par la suite, on a souvent utilis
abusivement le terme de signal numrique pour dsigner le rsultat de
lchantillonnage. En ralit, un signal numrique est forcment reprsent, dans
la mmoire dun ordinateur, laide dun nombre fini de bits. La plupart du
temps, les signaux numriques sont stocks sous la forme de nombre entiers
(reprsentation dite en virgule fixe), obtenus par quantification uniforme du
signal temps discret.
Lopration de quantification uniforme sur N bits consiste diviser lintervalle (-
A,+A) en 2N intervalles de mme longueur q=2A/2N appele pas de
quantification. On associe alors chaque chantillon le numro de lintervalle
auquel il appartient, reprsent par un nombre binaire sur N bits. Cette opration
revient remplacer toutes les valeurs de x dans un intervalle donn (kq-
q/2,kq+q/2) par une valeur unique X, typiquement la valeur centrale de
lintervalle : kq.
Lerreur commise, appele erreur de quantification, est donc donne par (Fig.
5.7):
e= X x q/2e q/2 (5.13)
On peut considrer cette erreur comme un bruit qui vient sajouter au signal
temps discret, do le nom usuel de bruit de quantification (Fig. 5.10).
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 7

pX(x)

q=2A/2N
-A A

Fig. 5.7 Quantification uniforme dun signal x

x X
+

Quantificateur

Fig. 5.8 La quantification vue comme un bruit additif

Supposons que le signal soumis quantification soit tel que :


Entre 2 instants dchantillonnage, le signal quantifier traverse plusieurs
intervalles de quantification (il suffit pour cela que l'cart-type du signal
vaille au moins quelques pas de quantification ; Fig. 5.9).
La probabilit que lamplitude du signal dpasse A (dite probabilit de
dpassement) soit ngligeable.
Dans ces conditions, il est clair que la densit de probabilit de lerreur de
quantification peut tre assimile une variable alatoire uniforme entre q/2 et
+q/2. Sa moyenne est donc nulle, et sa variance est donne par :

q2 A2
e2 = = 2N (5.14)
12 3 2
8 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

5
4

2
1
0
t

2
3

e
/2
t
/2

Fig. 5.9 Quantification dun signal dont lcart-type vaut


plusieurs fois le pas de quantification (not ici )

Le rapport signal bruit, not RSB est dfini par le logarithme du rapport de la
variance du signal celle du bruit :

2
RSB = 10.log x2 dB (5.15)
e
Si l'on dsigne par le facteur de charge dfini par :
A
=
x
on obtient :

1
RSB = 10 log 2 3 22 N 6, 02 N + 4.44 20.log (5.16)

Cette expression est illustre la Fig. 5.10 pour quelques valeurs de N. Elle
montre bien que chaque bit de quantification apporte 6 dB supplmentaire de
RSB. La valeur N=16 correspond la quantification adopt usuellement pour les
signaux audio (CD, cartes sons des ordinateurs). Elle permet dobtenir des RSB
allant jusqu 90 dB. On remarque galement sur le graphique une chute du RSB
lorsque diminue : lhypothse de non dpassement nest alors plus vrifie, et
la variance du bruit augmente de faon importante.
En pratique, si la variable quantifier est de type gaussien, le facteur de charge
doit tre suprieur ou gal 3 (A=3) pour viter le dpassement. Cette valeur
est adapter la statistique du signal dans le cas non gaussien.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 9

dB RSB = 10 log ( x 2 / e 2)

100
90
86
80

70
65,8
60
Nb = 16
50
14 42
12 40
10
30
8
20
10
10 log ( x2 / s2) = - 20 log

-100 -50 0 10 20 (dB)

Fig. 5.10 RSB pour la quantification uniforme d'un signal


dont lcart-type vaut plusieurs fois le pas de
quantification

5.2 Signaux alatoires temps discret


Au contraire dun signal dterministe, dont les chantillons peuvent tre
caractriss tout instant dchantillonnage par leur valeur, un signal alatoire
temps discret4 peut tre formalis mathmatiquement comme une squence
temporelle de variables alatoires (Fig. 5.11)5 :

{ X (n)} = {..., X ( n),..., X (1), X (0), X (1),..., X (n),...} (5.17)

4 Si le signal provient de lchantillonnage dun signal alatoire temps continu, ce qui est souvent

le cas, nous supposerons toujours que lchantillonnage respecte le thorme de Shannon. Sil
sagit dun signal quantifi, nous supposerons que le pas de quantification est petit par rapport
lcart-type du signal.
5 La suite dchantillons nest pas considre comme le tirage dune mme variable alatoire :

chaque chantillon est le tirage dune variable alatoire propre.


10 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

p X ( k ) ( x)

Fig. 5.11 Pour k fix, les chantillons x(k) sont des


tirages dune variable alatoire X(k)

On associe ainsi chaque chantillon k une variable alatoire X(k) de fonction de


densit de probabilit p X ( k ) ( x ) , que lon peut estimer partir dun grand nombre
de tirages de ce kme chantillon (ce qui implique normalement un grand
nombre de tirages du signal tout entier). La squence des fonctions p X ( k ) ( x ) en
fonction de k dfinit ce que lon appelle la statistique dordre 1 du signal
alatoire.
Bien que ces variables alatoires puissent tre totalement indpendantes les
unes des autres (voir plus loin : bruit blanc ), leur squencement temporel
correspond le plus souvent un lien statistique entre chantillons successifs. La
relation entre deux chantillons i et j dun signal alatoire peut ainsi tre
caractrise par le densit de probabilit conjointe p X ( j ) X ( j ) ( x, y ) des deux
variables alatoires correspondantes. La squence des fonctions p X ( j ) X ( j ) ( x, y ) en
fonction de (i,j) dfinit ce que lon appelle la statistique dordre 2 du signal
alatoire.
En pratique, de mme que lon caractrise plus simplement la statistique dordre
1 par des moyennes (plutt que par les fonctions de densit de probabilits
compltes), on caractrise la statistique dordre 2 par la fonction
dautocorrlation du signal (5.2.1) ou par sa transforme de Fourier, la densit
spectrale de puissance (5.2.2).

5.2.1Fonction dautocorrlation
Dfinitions
La fonction dautocorrlation dun signal alatoire (complexe dans le cas gnral)
est donne par :

XX (i, j ) = E[ X (i) X ( j )] = xy
* *
p X (i ) X ( j ) ( x, y )dxdy (5.18)

De mme, on parle dintercorrlation (cross-correlation) entre deux signaux


alatoires :
XY (i, j ) = E[ X (i )Y * ( j )] (5.19)
Stationnarit au sens large et ergodicit
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 11

Dans la suite de ce chapitre, nous considrerons souvent les signaux alatoires


ergodiques et stationnaires au sens large (SSL). La stationnarit au sens large
impose que la statistique dordre 1 soit indpendante de lindice k de lchantillon
o on la mesure :
+
p X ( k ) ( x) = p X ( j ) ( x) = p X ( x)
+
mX ( k ) = mX ( j ) = m X (5.20)
et donc : +
X (k ) = X ( j ) = X
et que la statistique dordre 2 ne dpende que de lintervalle j-i, et pas de la
valeur absolue de i ou j :
p X ( i ) X ( j ) ( x , y ) = p X ( i + k ) X ( j + k ) ( x, y )
+ (5.21)
et donc : XX (i, j ) = XX (i j ) = XX ( j i )
Lergodicit correspond quant elle au fait que lestimation des caractristiques
statistiques peut se faire sur la suite des chantillons dun seul tirage du signal
alatoire6. En particulier, les chantillons sont tous le rsultat du tirage dune
mme variable alatoire X.
Il sensuit que :

1 N

mX = x(n) = lim
N 2 N + 1


i = N
x ( n)

1 N

X = | x(n) mX |2 = lim
N 2 N + 1


i = N
| x(n) mX |2

(5.22)

1 N

XX (k ) = x(n) x* (n + k ) = lim
N 2 N + 1


n = N
x ( n ) x* ( n + k )

On voit que la fonction dautocorrlation dun signal alatoire SSL et ergodique
possde la proprit de symtrie hermitienne :

XX ( k ) = XX * ( k ) (5.23)

La valeur de XX (0) est quant elle lie la variance par :


XX (0) = E[ XX * ]
= E[( X mX + mX )( X mX + mX )* ]
= E[( X mX )( X mX )* ] + E[mX mX ]
*
(5.24)
+ E[( X mX )mX ] + E[mX ( X mX ) ]
* *

= X + | mX |2
2

Pour un signal de moyenne nulle, elle est mme gale la variance.

5.2.2Densit spectrale de puissance

6 La plus souvent, dailleurs, on ne dispose que dune ralisation (parole, image, signaux bio-

mdicaux), sur laquelle il faut mesurer des caractristiques.


12 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

On appelle spectre ou densit spectrale de puissance SXX(f) dun signal alatoire


SSL la transforme de Fourier de sa fonction dautocorrlation. Dans le cas dun
signal temps discret, la fonction dautocorrlation est elle aussi temps discret,
et la densit spectrale de puissance se rduit une TFTD :

S XX ( F ) =
n =
XX ( n)e jn avec =2F (5.25)

Comme la fonction dautocorrlation possde la symtrie hermitique, la densit


spectrale de puissance est purement relle. Si de plus la variable alatoire X est
relle, alors la fonction dautocorrlation est relle paire, et la densit spectrale
de puissance lest aussi.
La TFTD inverse de la densit spectrale de puissance est bien entendu :
1/ 2
XX (n) =
1/ 2
S XX ( F ) e jn dF (5.26)

En particulier, on notera que, pour un signal de moyenne nulle, la variance est


donne par la surface sous-tendue par la densit spectrale de puissance (Fig.
5.12) :
1/ 2
X 2 = XX (0) =
1/ 2
S XX ( F ) dF (5.27)

SXX(F)

XX(n)
X

n F

-1 0 1

Fig. 5.12 Fonction dautocorrlation, densit spectrale de


puissance et variance dun bruit rel moyenne nulle

Exemple 5.3 Bruit blanc


Un bruit blanc (que nous supposerons de moyenne nulle) est un signal alatoire dont les
chantillons successifs sont des variables alatoires non corrles. Il sensuit que la fonction
dautocorrlation est nulle partout sauf en 0 :

pour k = 0
2

XX (k ) = X (5.28)
0 pour k 0
La densit spectrale de puissance dun bruit blanc est donc une constante :

S XX ( F ) = X (5.29)
2
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 13

XX(n) SXX(F)
X
X

n F
-1/2 0 1/2

Fig. 5.13 Fonction dautocorrlation et densit spectrale


de puissance dun bruit blanc

Un bruit blanc est donc physiquement un signal compos en proportions gales de


composantes toutes les frquences (tout comme une lumire blanche est compose dondes
lumineuse dans tout le spectre visible).
Les bruits blancs diffrent entre eux par leur statistique du 1er ordre (la densit de
probabilit de la v.a. sous-jacente) : bruit blanc uniforme, gaussien, etc.
Les fonctions Matlab dj mentionnes pour la tirage des variables alatoires sont donc
directement utilisables pour produire les bruits blancs correspondants.
subplot(2,1,1) ; plot(rand(1,300)); title(bruit blanc uniforme (0,1));
subplot(2,1,2) ; plot(randn(1,300)); title(bruit blanc gaussien (0,1));

bruit blanc uniforme (0,1)


1

0.8

0.6

0.4

0.2

0
0 50 100 150 200 250 300

bruit blanc gaussien (0,1)


4

-2

-4
0 50 100 150 200 250 300

Fig. 5.14 Tirage de bruits blancs

Exemple 5.4 Signal priodique


La fonction dautocorrlation dun signal priodique (que lon peut toujours considrer
comme un signal alatoire) est elle-mme priodique. En effet, considrons pour commencer
un signal analogique x(t ) = Ae j (0t + ) . Sa fonction dautocorrlation est donne par :
T /2
1
T T
XX (t ) = lim Ae j (0 + ) Ae j (0 ( +t )+ ) d
T / 2

(5.30)
T0 / 2
A2
=
T0
T0 / 2
e j0 + e j0 ( + t ) d

= A2 e j0t
Sa densit spectrale de puissance est donc une impulsion de Dirac :
14 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

S XX ( f ) = A2 ( f + f 0 ) avec f 0 = 0 / 2 (5.31)
Il sensuit, vu lorthogonalit des exponentielles de frquences harmoniques, que
lautocorrlation et la densit spectrale de puissance dune fonction priodique x(t) :
p
x(t ) = Ai e j ( i0t +i ) (5.32)
i =0

sont donnes par :


p p
XX (t ) = Ai 2 e ji t 0
S XX ( f ) = Ai ( f + if 0 )
2
(5.33)
i =0 i =0

De mme, la fonction dautocorrlation associe une fonction cisodale


x(t ) = A cos( t + ) est donne par :

A2 A2 A2
XX (t ) = cos( 0t ) S XX ( f ) = ( f if 0 ) + ( f + if 0 ) (5.34)
2 4 4
Ces conclusions sont directement transposables aux signaux numriques. La fonction
dautocorrlation du signal numrique correspond lchantillonnage de la fonction
dautocorrlation du signal analogique. La densit spectrale de puissance est donc priodique
en F de priode 1 (Fig. 5.15).

A2
XX (k ) = cos(n 0 ) ( 0 = 0 / f e )
2
(5.35)
A2 A2
S XX ( F ) = ( F iF0 ) + ( F + iF0 ) ( pour 0 < F (= f / f )e < 1)
4 4

XX(n) SXX(F)
A/2
A/4

n F
-1/2 0 1/2

Fig. 5.15 Fonction dautocorrlation et densit spectrale


de puissance dune sinusode numrique damplitude A

Exemple 5.5 Signal alatoire de moyenne non nulle


La fonction dautocorrlation dun signal alatoire X(n) de moyenne nulle, auquel on ajoute
une constante mX est donne par :

( X + m )( X + m X ) (k ) = E[( X (n) + mX )( X (n + k ) + mX )* ]
(5.36)
X

= XX (k )+ | mX |2
Sa densit spectrale de puissance est donc gale celle du signal de dpart, laquelle on
ajoute une impulsion de Dirac en 0 :

S( X + mX )( X + mX ) ( F ) = S XX ( F )+ | mX |2 ( F ) (| F | 1) (5.37)
Appliques au signal correspondant la Fig. 5.12, ces conclusions conduisent la Fig. 5.16.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 15

SXX(F)

XX(n)
|m| X

n F

-1 0 1

Fig. 5.16 Fonction dautocorrlation, densit spectrale de


puissance et variance dun bruit rel moyenne non nulle.

Exemple 5.6 Somme de deux signaux alatoires non-corrls


La fonction dautocorrlation dune somme de deux signaux X(n) et Y(n) est donne par :

X +Y (k ) = E[( X (n) + Y (n))( X ( N + k ) + Y (n + k ))* ]


(5.38)
= XX (k ) + YY (k ) + XY (k ) + YX (k )
Si les deux signaux sont non-corrls, elle se rduit donc :

X +Y (k ) = XX (k ) + YY (k ) (5.39)
La densit spectrale de puissance de la somme est alors gale la somme des densits
spectrales de puissance :

S X +Y ( F ) = S XX ( F ) + SYY ( F ) (5.40)
Lexemple prcdent nest dailleurs quun cas particulier de ce principe.

5.3 Filtrage dun signal alatoire SSL


Soit un signal alatoire {x(n)} stationnaire au sens large plac en entre dun
filtre numrique de rponse impulsionnelle {h(n)} :

y (n) = h(i) x(n i)
i =
(5.41)

En vertu de (5.10), la densit de probabilit du signal y(n) rsulte de la


convolution dun grand nombre de densits de probabilits similaires (les
coefficients de la rponse impulsionnelle agissant comme facteurs dchelle). Elle
est donc en toute gnralit diffrente de dpart, et tend vers une distribution
gaussienne en vertu du thorme central limite. En particulier, si x(n) est un
bruit gaussien, y(n) lest aussi.
Le signal de sortie {y(n)} est SSL. En effet, sa moyenne et sa fonction
dautocorrlation sont indpendantes de linstant o on les calcule :

mY ( k ) = E[Y (k )] = h(i) E[ X (n i)] =mX
i =
h(i)
i =
(5.42)
16 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES


YY (n, n + m) = E[Y (n)Y * (n + m)] = E[ h(i ) X (n i ) h( j ) X * (n + m j )]
i = j =

= h(i) h( j ) E[ X (n i) X
i = j =
*
(n + m j )]


= h(i) h( j ) XX (m j + i) = YY (m)
i = j =

On peut mettre ce dernier rsultat sous une forme plus simple :



YY (m) = h(i) h(k + i) XX (m k ) avec k = j i
i = k =

= XX (m k ) h(i)h(i + k )
k = i =
(5.43)

=
k =
XX (m k ) HH (k )

La fonction dautocorrlation de la sortie est donc la convolution entre la fonction


dautocorrlation de lentre et la fonction HH (k ) donne par:

HH (k ) = h(i)h(i + k ) =
i =
h(i)h(i k ) = {h(n)}*{h(n)}
i =
(5.44)

On en conclut que la fonction dautocorrlation du signal de sortie est le rsultat


du filtrage de la fonction dautocorrlation de lentre par la fonction
dautocorrlation de la rponse impulsionnelle.
La TFTD de HH (k ) vaut :

S HH ( F ) = H ( F ) H * ( F ) = H ( F )
2
(5.45)

Do lexpression simple de la densit spectrale de puissance de la sortie (Fig.


5.17):

SYY ( F ) = H ( F ) S XX ( F )
2
(5.46)

x(n) h(n) y(n) XX(n) HH(n) YY(n)


XX(n) H(F) XY(n) |H(F)|

Fig. 5.17 Filtrage dun signal alatoire

La corrlation entre-sortie, quand elle, est donne par :


TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 17

XY (k ) = x(n) y (n + k )

= x(n) h(i ) x(n + k i )
i =
(5.47)
= x(n) x(n + k i)h(i)
i =

= h(i)
i =
XX (k i)

Le filtrage dun signal alatoire produit donc un signal de sortie corrl avec le
signal de dpart, ce qui correspond intuitivement avec le fait que la forme
temporelle du signal de sortie dpend directement de la forme temporelle du
proche pass du signal dentre. Cette notion intuitive se traduit formellement
par la convolution (5.47), qui exprime le fait que la fonction dintercorrlation
entre-sortie est obtenue par filtrage de la fonction dautocorrlation de lentre
(Fig. 5.17).
Les exemples qui suivent montrent comment on peut se servir du filtrage pour
crer un bruit color (cest--dire un bruit de densit spectrale de puissance non
constante) partir dun bruit blanc.
Exemple 5.7 Filtrage dun bruit blanc par un passe-bande idal
Dans le cas particulier o le signal x(n) est un bruit blanc de variance X2 et de moyenne
nulle, il vient :

SYY ( F ) = X2 H ( F )
2

+1/ 2 (5.48)
= XX (0) =
2 2 2
Y X H ( F ) dF
1/ 2

Si le filtre est un passe-bande idalis dont la bande passante normalise vaut B (B<1), on
trouve donc (Fig. 5.18):

Y2 = 2 X2 B (5.49)
La variance du signal de sortie est donc plus faible que celle du signal d'entre puisque le
filtre limine une partie du spectre du bruit.
18 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

SXX(F)
X
X

F
-1/2 0 1/2

H(F)
1
F
-1/2 0 1/2
B

SYY(F) Y
X

F
-1/2 0 1/2

Fig. 5.18 Densit spectrale de puissance


avant et aprs filtrage

Exemple 5.8 Signal alatoire moyenne mobile (MA)


Un signal alatoire moyenne mobile (Moving Average, MA) y(n) est le rsultat du filtrage
dun bruit blanc x(n) de moyenne nulle et de variance X dans un filtre moyenne mobile
2

(filtre RIF, non rcursif ; Fig. 5.19) :


M
y(n) = bi x(n i) (5.50)
i =0

SYY


u(n) x(n) y(n)
B(z)

F
1/2

Fig. 5.19 Cration dun signal MA (u(n) est un bruit blanc


de variance=1) et densit spectrale de puissance rsultante

La densit spectrale de puissance de ce signal est donne par :


2
M
SYY ( F ) = 2
x b zi =0
i
i
(5.51)
z = e j

Un signal MA est donc un bruit color. Sa densit spectrale de puissance prsente des creux
la frquence angulaire des zros du filtre.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 19

Exemple 5.9 Signal alatoire autorgressif (AR)


Un signal alatoire autorgressif (AR) y(n) est le rsultat du filtrage dun bruit blanc x(n) de
moyenne nulle et de variance X dans un filtre tout-ples (filtre RII, rcursif, ne possdant
2

pas de zros ; Fig. 5.20) :


N
y(n) = x(n) + ai y(n i) (5.52)
i =1

SYY


u(n) x(n) 1 y(n)
A( z )
F
1/2

Fig. 5.20 Cration dun signal AR (u(n) est un bruit blanc


de variance=1) et densit spectrale de puissance rsultante

La densit spectrale de puissance de ce signal est donne par :


2

1
SYY ( F ) = x2 N
(5.53)
a z
i =0
i
i

z = e j

Exemple 5.10 Signal alatoire autorgressif moyenne ajuste (ARMA)


Un signal alatoire autorgressif moyenne ajuste (ARMA) est le sultat du filtrage dun
bruit blanc x(n) de moyenne nulle et de variance X dans un filtre rcursif (filtre RII; Fig.
2

5.21) :
M N
y(n) = bi x(n i) + ai y(n i) (5.54)
i =1 i =1

SYY


u(n) x(n) B( z ) y(n)
A( z )
F
1/2

Fig. 5.21 Cration dun signal ARMA et densit spectrale de


puissance rsultante

La densit spectrale de puissance de ce signal est donne par :


20 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

2
M

b z i
i

SYY ( F ) = 2
x
i =0
N
(5.55)
a z
i =0
i
i

z = e j

5.4 Estimation de la statistique du second ordre


Tout comme la TFTD, lautocorrlation et la densit spectrale de puissance
supposent des calculs sur un nombre infini dchantillons. En pratique, les
signaux alatoires sont rarement stationnaires sur une dure infinie, et les
calculs se font donc toujours partir destimateurs oprant dans une fentre de
N valeurs.

5.4.1Statistique d'un estimateur


Il est important de connatre leffet dune troncation N chantillons sur la
qualit de lestimation. Comme les signaux sont alatoires, les estimateurs le
sont aussi. Ils sont donc eux-mmes caractriss par leur moyenne, variance, et
densit de probabilit.
Lorsque la moyenne dun estimateur est diffrente de la valeur quil estime, on
dit que lestimateur est biais. Lorsque la variance de lestimateur ne peut tre
rendue aussi petite que lon veut (mme en augmentant le nombre de points sur
lesquels se base lestimation), on dit que lestimateur est non consistant. Il est
clair quon cherche en gnral des estimateurs non biaiss et consistants.
La densit de probabilit de lestimateur permet galement dassocier un
intervalle de confiance lestimation quil fournit.
Exemple 5.11 Estimation de la moyenne dun signal Gaussien
Considrons un exemple simple : l'estimation de la moyenne d'un signal alatoire gaussien
stationnaire dont la densit spectrale de puissance est suppose constante (bruit blanc)
except la prsence d'une raie en F = 0 due prcisment la composante moyenne :

S XX ( F ) = x2 + x2 ( F ) F 1 (5.56)
L'estimateur x sera donn par :
N 1
1
X =
N
x( n)
n=0
(5.57)

Cette expression est une variable alatoire car c'est une somme de variables alatoires.
Lestimateur est non biais car :

1 N 1
1 N 1
E [ X ] = E x(n) = N E [ x(n)] = X (5.58)
N n=0 n=0

Quant la variance de lestimateur, elle est donne par :

VAR [ x ] = E ( x E [ x ]) 2 = E ( x x ) 2 (5.59)
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 21

1 N 1
2

VAR [ x ] = E . x(n) x
N n =0

1 N 1
2

= 2 E x ( n) N x (5.60)
N n =0
1 N 1 2
= 2 E ( x ( n) x )
N n=0
Puisque x(n)- x est un bruit blanc de moyenne nulle, les variables alatoires correspondant
aux chantillons successifs sont indpendantes. Lesprance mathmatique de leur produit
est donc nulle, et il vient :

1 1
VAR [ x ] = 2
N x2 = x2 (5.61)
N N
On observe qu'en l'occurrence, la variance de l'estimateur tend vers zro lorsque le nombre
d'chantillons tend vers l'infini: cet estimateur est consistant.
Sous Matlab :
x= randn(100,100)+1 ; % 100 chantillons de 100 bruits blancs gaussiens (1,1)
for N=2:100
mux= sum(x(1:N ,:))/N ; % somme de N bruits blancs
meanmux(N)=mean(mux);
varmux(N)=std(mux)*std(mux);
end
subplot(2,1,1) ; plot(meanmux); title(moyenne(mux));
subplot(2,1,2) ; plot(varmux); title(variance(mux));

moyenne(mux)
1.5

0.5

0
0 10 20 30 40 50 60 70 80 90 100

variance(mux)
0.8

0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80 90 100

Fig. 5.22 Calcul approch de la moyenne et de la variance


de lestimateur x , en fonction de N.

On peut, pour terminer, associer un intervalle de confiance x . Cet estimateur est en effet
une gaussienne de moyenne x et de variance x / N . La vraie moyenne x se trouve
2

donc dans l'intervalle [ x d , x + d ] avec une probabilit de 90% si :


22 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

x
prob x = 0,9 d = . x / N (5.62)
x / N
L'intervalle de confiance 90% sera [ x d , x + d ], ce qui signifie qu'il y a 90% de
chances pour que cet intervalle contienne la vraie valeur x . Le paramtre est obtenu en
tenant compte de ce que :

x x
est une v.a. gaussienne N [ 0,1] = 1.645 (5.63)
x / N

5.4.2 Estimation de la fonction d'autocorrlation


Estimateur non biais
Un premier estimateur est dfini comme suit :
N k 1
1
XX (k ) =
Nk
.
n =0
x ( n ) x* ( n + k ) (5.64)

On peut vrifier7 que E [ XX ] = XX : cet estimateur n'est donc pas biais. Pour
k<<N, on montre que sa variance vaut :
N
VAR [ XX ] 2 XX
. 2 (l ) + XX (l + k ) XX (l k ) (5.65)
(N k ) l
et comme elle varie comme 1/N, l'estimateur est consistant.
Estimateur biais
On peut dfinir un autre estimateur :
N k 1
1
XX (k ) =
N
.
n=0
x ( n ) x* ( n + k ) (5.66)

pour lequel on a videmmment :


Nk
E [ XX (k ) ] = XX (k ) (5.67)
N
D'autre part, on trouve pour la variance :
1
VAR [ XX (k ) ] . XX
2
(l ) + XX (l + k ) XX (l k ) (5.68)
N l
Ce nouvel estimateur est donc biais (surtout pour les grandes valeurs de k),
mais reste consistant. On observe par contre que lorsque k approche du nombre
d'chantillons N, la variance de l'estimateur non biais XX (k ) devient excessive,
alors que celle de l'estimateur biais XX (k ) varie beaucoup moins. C'est une des
raisons pour lesquelles cet estimateur est souvent utilis par la suite, malgr son
biais.

7 Nous avons trait compltement le cas de lestimateur de la moyenne dun signal Gaussien. Nous

ne donnerons plus que les rsultats finaux pour le traitement des estimateurs de la fonction de
lautocorrlation et de la densit spectrale de puissance. Les calculs sont effets assez fastidieux.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 23

Lautre raison est quil est possible de calculer (5.66) par FFT. Il apparat en effet
que :
1
XX (k ) = {xN (n)}*{xN (n)}
*
(5.69)
N
o {xN (n)} = {x(0), x (1),...x( N 1), 0, 0,...} . On peut donc calculer lautocorrlation
comme une convolution numrique linaire. On a vu au chapitre 3 quil est
possible de le faire de faon efficiente en simulant une convolution circulaire par
FFT/IFFT.
Exemple 5.12 Estimation de la fonction dautocorrlation dun signal Gaussien
Considrons lexemple dun signal alatoire gaussien stationnaire de moyenne nulle et de
variance gale 4 :

S XX ( F ) = 4
(5.70)
XX (k ) = 4 (k )
Sous Matlab, les deux estimateurs de la fonction dautocorrlation sont appels par
xcorr(x,biased) et xcorr(x,unbiased) :
x= 2*randn(1,100) ; % 100 chantillons dun bruit blanc gaussien (0,2)
subplot(2,1,1) ; plot(xcorr(x, 'biased'));
title('autocorrlation sur 100 points, estimateur biais');
subplot(2,1,2) ; plot(xcorr(x, 'unbiased'));
title('autocorrlation sur 100 points, estimateur non-biais');

autocorrlation sur 100 points, estimateur biais


3

-1
0 20 40 60 80 100 120 140 160 180 200

autocorrlation sur 100 points, estimateur non-biais


3

-1

-2
0 20 40 60 80 100 120 140 160 180 200

Fig. 5.23 Calcul de XX (k ) (estimateur biais) et XX (k )


(non-biais) sur 100 points dun bruit blanc.

Exemple 5.13 Estimation de la fonction dautocorrlation dune cisode


On vrifie facilement que la valeur de la fonction dautocorrlation dune cisode damplitude
A est un cosinus de mme frquence et damplitude A/2.
24 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

x= 10*cos(2*pi*1/10*(0:99)+pi/5) ;
% 100 chantillons dun cosinus Fe/10, damplitude 10 et de phase initiale pi/5
subplot(2,1,1) ; plot(xcorr(x, 'biased'));
title('autocorrlation sur 100 points, estimateur biais');
subplot(2,1,2) ; plot(xcorr(x, 'unbiased'));
title('autocorrlation sur 100 points, estimateur non-biais');

autocorrlation sur 100 points, estimateur biais


50

-50
0 20 40 60 80 100 120 140 160 180 200

autocorrlation sur 100 points, estimateur non-biais


100

50

-50

-100
0 20 40 60 80 100 120 140 160 180 200

Fig. 5.24 Calcul de XX (k ) (estimateur biais) et XX (k )


(non-biais) sur 100 points dun cisode.

5.4.3Estimation non paramtrique de la densit spectrale de


puissance
Le priodogramme
L'estimateur spectral le plus simple est le priodogramme qui correspond la
transforme de Fourier d'une estimation de la fonction d'autocorrlation, laide
de l'estimateur biais XX (k ) :
N 1
S XX ( ) =
k = ( N 1)
XX (k )e jk (5.71)

Si on remplace XX (k ) par son expression dans (5.69), on trouve


immdiatement:
1
S XX ( ) = X N ( )
2
(5.72)
N
o X N ( ) est la TFTD de la suite x(n) :
N 1
X N ( ) = x(n)e jn (5.73)
n=0
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 25

Par consquent, pour = k 2 / N , la densit spectrale peut donc tre calcule par
un algorithme de FFT qui fournit X N ( ) en N points uniformment rpartis entre
F = -1/2 et 1/2.
Toutefois, le priodogramme est un estimateur biais, puisquil est lui-mme
bas sur un estimateur biais :
N 1 N 1
Nk
E S XX ( ) = E [ XX (k ) ] e jk = XX (k )e jk (5.74)
k = ( N 1) k = ( N 1) N

Cette expression reprsente la TFTD de la fonction d'autocorrlation XX (k ) vue


travers une fentre triangulaire de dure 2N-1; en frquence, cela correspond
une convolution entre la vraie densit spectrale de puissance et la TFTD de la
fentre.
D'autre part, on montre que, dans le cas particulier dun bruit blanc gaussien de
variance x2 , on trouve :

VAR S XX ( ) = S XX
2
( ) (5.75)

Cette variance, gale au carr de la densit spectrale, est trs leve et elle est
indpendante du nombre N d'chantillons ! Le priodogramme simple n'est donc
pas consistant et il n'est pas utilisable tel quel.
Le priodogramme modifi
Tout comme dans le cas du calcul de la TFTD dun signal dterministe, il est
possible de pondrer lestimateur de la fonction dautocorrlation par une
fonction fentre w(n) sur N points avant passage sa TFTD. L'estimateur
spectral doit alors tre calcul comme :
N 1 2
1

S XX ( ) =
NP
x(n)w(n)e
n =0
jn
(5.76)

o P est un facteur de normalisation (destin liminer le biais introduit par la


fentre) dfini par:
N 1
1
P=
N
w(n)
n=0
2
(5.77)

Ce nouvel estimateur est tout aussi biais que le prcdent (o la fentre


applique sur les chantillons avant calcul de la FFT est simplement
rectangulaire). Par contre, sa variance est rduite, du fait de leffet de lissage de
la densit spectrale de puissance ralis par la convolution avec le spectre de la
fentre.
Le choix de la fentre devient important lorsque la densit spectrale de puissance
du signal tudi comprend des raies superposes un bruit large bande. Leffet
des fentres est similaire ce qui avait dj t mis en vidence au chapitre 4.
Le priodogramme moyenn
Pour rduire la variance d'un estimateur, il suffit, en principe, de calculer la
moyenne de plusieurs estimateurs identiques mais indpendants. Le signal de
dure N est donc dcompos en L segments de dure M=N/L; pour chacun de
ces segments, on calcule par FFT un priodogramme (avec ou sans fentre de
pondration). On calcule alors la moyenne des estimations pour chaque
26 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

frquence = k 2 / M . Les diffrentes tranches considres peuvent se recouvrir


ou non.
1 L 
S XX ( ) = . S XX ,i ( ) (5.78)
L i =1
avec
M 1 2
1

S x ,i ( ) =
MP
xi (n)w(n)e jn
n=0
i = 1, 2,..., L (5.79)

Si on le compare au prcdent, le biais introduit par cet estimateur est plus


important, puisque la fentre de pondration est plus courte (sa TFTD est donc
plus large). On peut montrer que sa variance est donne par:
1 2
VAR S XX ( ) S XX ( ) (5.80)
L
si l'on peut considrer les L sections comme indpendantes.
Pour N fix, il y a donc conflit entre une grande valeur de L qui diminue la
variance et une pauvre rsolution car M diminue.
L'estimateur spectral adouci
On peut galement rduire la variance d'un estimateur spectral simple en
pondrant lestimation de la fonction d'autocorrlation (et non pas les
chantillons comme ctait le cas plus haut) par une fonction fentre qui attnue
l'effet des fonctions d'autocorrlation aux extrmits de la fentre (on sait en
effet que les valeurs extrmes de la fonction dautocorrlation sont mal
calcules) :
M
S XX ( ) =
k = M
w(k ) XX (k )e jk (5.81)

o M est plus petit que N (nombre dchantillons du signal partir desquels la


fonction dautocorrlation est estime) : typiquement M=N/5; w(n) est appele
fentre temporelle de dure 2M+1 et qui doit tre symtrique et paire pour
assurer de fournir une estimation de la densit spectrale de puissance qui soit
paire et relle. Le produit dans le domaine temporel correspond une
convolution frquentielle :

S XX ( F ) = S XX ( F ) *W ( F ) (5.82)

Lestimateur est donc forcment biais. On montre que sa variance est


effectivement infrieure celle du priodogramme.
Cet estimateur est aussi appel estimateur de Blackman-Tukey; on peut
considrer qu'il vise attnuer les erreurs importantes commises sur l'estimation
de la fonction d'autocorrlation lorsque le dlai k tend vers le nombre
d'chantillons disponibles N.
A nouveau il y a un compromis entre le choix de M le plus grand possible pour
que le spectre de la fentre se rapproche de l'impulsion de Dirac, ce qui assure
un faible biais et le choix de M petit, ce qui assure une faible variance.
Exemple 5.14 Bruit blanc
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 27

Sous Matlab, les priodogrammes simple, modifi, et moyenn son appels par la fonction
psd(x,NFFT,Fs,window), qui dcoupe le signal x en tranches de NFFT chantillons, les
pondre par le fentre window, et affiche la moyenne de leur TFTD (Fs, frquence
dchantilonnage, nest utilise que pour laffichage). Comme pour freqz, un appel psd
sans variable de sortie provoque laffichage de la densit spectrale de puissance.
Considrons le cas du bruit blanc Gaussien N(0,2) de lexemple prcdent, dont on estime la
densit spectrale au moyen du priodogramme simple. On constate une grande dispersion
des valeurs autour de la valeur vraie (une constante gale 10Log10(4)=6dB), qui ne
diminue pas lorsque NFFT augmente. Le calcul du priodogramme modifi lisse un peu la
variation du spectre. Lorsque le mme bruit blanc est estim au moyen du priodogramme
moyenn (avec une fentre rectangulaire), on observe une nette diminution des variations
de l'estimation (Fig. 5.25).
x= 2*randn(1,512) ; % 512 chantillons dun bruit blanc gaussien (0,2)
subplot(2,2,1) ; psd(x(1:128),128,1,ones(1,128)); % priodogramme simple8
subplot(2,2,2) ; psd(x,512,1,ones(1,512)); % priodogramme simple
subplot(2,2,3); psd(x(1 :129),128,1,hamming(128)); % priodogramme modifi
subplot(2,2,4) ; psd(x,128,1,ones(1,128)); % priodogramme moyenn

subplot(2,2,1) ;ax=axis; subplot(2,2,2) ;axis(ax);


subplot(2,2,3) ;axis(ax); subplot(2,2,4) ;axis(ax); % axes identiques Power Spectrum Magnitude (dB)
Power Spectrum Magnitude (dB)

20 20

10 10

0 0

-10 -10

-20 -20
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Frequency Frequency
Power Spectrum Magnitude (dB)
Power Spectrum Magnitude (dB)

20 20

10 10

0 0

-10 -10

-20 -20
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Frequency Frequency

Fig. 5.25 Priodogrammes dun bruit blanc. En haut


gauche : simple (N=128) ; en haut droite : simple
(N=512) ; en bas gauche : modifi (hamming(N=128)) ; en
bas droite : moyenn : N=128 et L=4.

Notons que lestimation de la variance du bruit peut tre faite par intgration de la densit
spectrale de puissance estime, selon (5.27). Il sufiit pour ce faire de multiplier chaque
valeur de la psd par la largeur de la bande de frquence laquelle elle correspond, cest--
dire 1/NFFT (on a en effet NFFT points sur une bande de frquence normalise allant de 1/2
+1/2):
variance=sum(psd(x,128,1,ones(1,128)))/128*2 % partir du priodogramme moyenn

8 On spcifie ici une valeur unitaire pour la frquence dchantillonnage, ce qui revient travailler

en (vraie) frquence normalise. Les affichages se feront donc pour des valeurs de F entre 0 et .
28 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

variance = 3.9154

Dans lexpression prcdente, on a multipli lintgrale par 2, puisque psd renvoie NFFT/2
points entre F=0 et F=1/2.

Exemple 5.15 Bruit color


On construit un bruit color par filtrage du bruit blanc de lexercice prcdent. Ce bruit est
analys par diffrentes mthodes (Fig. 5.26) qui montrent l'influence du nombre de points,
du nombre de tranches dans le cas du priodogramme moyenn ainsi que du nombre de
valeurs de la fonction d'autocorrlation utilises dans le cas de l'estimateur adouci.
x=2*randn(1,512) ; % 512 chantillons dun bruit blanc gaussien (0,2)
[N,Wn]=ellipord(0.5,0.6,1,40);
[B,A]=ellip(N,1,40,Wn); % synthse dun filtre passe-bas9
freqz(B,A) % vrifier la rponse en frquence du filtre
xf=filter(B,A,x) ; % filtrage

subplot(2,2,1) ; psd(xf(1:128),128,1,ones(1,128)); % priodogramme simple


subplot(2,2,2) ; psd(xf,512,1,ones(1,512)); % priodogramme simple
subplot(2,2,3) ; psd(xf,128,1,ones(1,128)); % priodogramme moyenn
phi=xcorr(xf,'biased') ;
phiad=phi(512-64:512+64).*blackman(129)';
psdad=10*log10(abs(freqz(phiad,1,129)));
%abs : liminer les composantes imag. rsiduelles
subplot(2,2,4) ; plot((0:128)/256,psdad); grid; % priodogramme adouci
xlabel('Frequency');ylabel('Power Spectral Magnitude (dB)');

subplot(2,2,1) ;ax=axis ; subplot(2,2,2) ;axis(ax);


subplot(2,2,3) ;axis(ax); subplot(2,2,4) ;axis(ax); % axes identiques

-20
Magnitude (dB)

-40

-60

-80

-100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

-100
Phase (degrees)

-200

-300

-400
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

9 La synthse de filtres numriques fait lobjet dun chapitre ultrieur.


TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 29

20 20
Power Spectrum Magnitude (dB)

Power Spectrum Magnitude (dB)


0 0

-20 -20

-40 -40

-60 -60
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Frequency Frequency

20 20
Power Spectrum Magnitude (dB)

Power Spectral Magnitude (dB)


0 0

-20 -20

-40 -40

-60 -60
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Frequency Frequency

Fig. 5.26 Estimateurs dun bruit color.


(haut) Rponse en frquence du filtre
(milieu gauche) priodogramme simple (N=128)
(milieu droite) priodogramme simple (N=512)
(bas gauche) priodogramme moyenn (N=512;L=4)

(bas droite) estimateur adouci (N=512;M=64)

De mme, la variance (ici peu prs 2) peut tre calcule sur la psd estime :
variance=sum(psd(xf,128,1,ones(1,128)))/128*2 % priodogramme moyenn
variance = 1.8313

Exemple 5.16 Cisode


Le cas de la cisode damplitude A est particulier : sa fonction dautocorrlation est un
cosinus damplitude A/2, et sa densit spectrale de puissance devrait donc faire apparatre
deux impulsions de Dirac damplitude A/4.
Comme le priodogramme, le priodogramme modifi, et le priodogramme moyenn
calculent la densit spectrale de puissance comme le carr dune TFD divis par N (voir par
exemple (5.72)), ils sont soumis aux mmes artifices que pour le calcul de la TFD dune
cisode : ils font apparatre, en lieu et place des impulsions de Dirac attendues, le carr des
spectres des fonctions fentres, diviss par N, et multipli par A/4. Dans le cas du
priodogramme simple, lamplitude du lobe principal vaut A/4 multipli par un coefficient
N/N=N. Pour le priodogramme modifi, le coefficient multiplicatif vaut :
30 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

2
N 1
1 N 1

2 w(n)
w(n) = Nn =01 (5.83)
NP n =0 w(n) 2

n =0
Pour le priodogramme moyenn, le coefficient multiplicatif prend la mme expression que
(5.77) o lon remplace N par M, le nombre de points dans chaque tranche.
Lestimateur adouci adouci procde par contre par fentrage direct de la fonction
dautocorrlation (et non du signal). Les impulsions de Dirac attendues apparaissent donc
comme le spectre de la fonction fentre multipli par A/4. Lamplitude du lobe principal
vaut donc A/4 multipli par un coefficient :
M

w(n)
n = M
(5.84)

On peut vrifier tout ceci facilement sous Matlab.


x= 10*cos(2*pi*1/10*(0:511)+pi/5) ;
% 512 chantillons dun cosinus Fe/10, damplitude 10 et de phase initiale pi/5

subplot(2,2,1) ; psd(x(1:128),128,1,ones(1,128)); % priodogramme simple


subplot(2,2,2) ; psd(x,512,1,ones(1,512)); % priodogramme simple
subplot(2,2,3) ; psd(x,128,1,hamming(128)); % priodogramme moyenn
phi=xcorr(x,'biased') ;
phiad=phi(512-64:512+64).*blackman(129)';
psdad=10*log10(abs(freqz(phiad,1,129)));
%abs : liminer les composantes imag. rsiduelles
subplot(2,2,4) ; plot((0:128)/256,psdad); grid; % priodogramme adouci
xlabel('Frequency');ylabel('Power Spectral Magnitude (dB)');

subplot(2,2,2) ;ax=axis ; subplot(2,2,1) ;axis(ax);


subplot(2,2,3) ;axis(ax); subplot(2,2,4) ;axis(ax); % axes identiques
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 31

Power Spectrum Magnitude (dB)

Power Spectrum Magnitude (dB)


60 60

40 40

20 20

0 0

-20 -20
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Frequency Frequency
Power Spectrum Magnitude (dB)

60 60

Power Spectral Magnitude (dB)


40 40

20 20

0 0

-20 -20
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Frequency Frequency

Fig. 5.27 Estimateurs de la densit spectrale


de puissance dune cisode damplitude 10 et de
frquence F=Fe/10.
(haut gauche) priodogramme (N=128)
(haut droite) priodogramme (N=512)
(bas gauche) priodogramme moyenn (N=512 ;
L=4 ; fen. de Hamming)
(bas droite) estimateur adouci (N=512 ; M=64 ;
fentre de Blackman)

On retrouve bien les valeurs maximales attendues :


Priodogramme simple (128) : 10log10(NA/4)=10log10(25*128)=35 dB
Priodogramme simple (512) : 10log10(25*512)=41 dB
Priodogramme moyenn (128 ; hamming) :
2
N 1 N 1 2
10log10(A/4* w(n) w(n) )=10*log10(25*93.4)=33.6 dB
n=0 n=0
M
Estimateur adouci : 10*log10(A/4* w(n) )=31.3 dB
n = M

Ici aussi la variance (ici 50, puisque la densit spectrale de puissance thorique est
constitue de deux raies de valeur 25) peut tre calcule sur la psd estime :
variance=sum(psd(x,128,1,hamming(128)))/128*2 % priodogramme moyenn
variance = 49.9994
32 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

Exemple 5.17 Cisodes dans du bruit blanc


Voyons enfin le cas dune cisode d'amplitude 10 contamine par un bruit blanc (dcart-type
20). Les deux signaux tant non corrls, leurs densits spectrales de puissance
sadditionnent. La Fig. 5.28 montre nouveau bien l'influence du choix de lestimateur et de
ses paramtres.
x=10*randn(1,512)+10*cos(2*pi*1/10*(0 :511));
% 512 chantillons dun bruit blanc gaussien (0,sqrt(10)) + cisoide

subplot(2,2,1) ; psd(x(1:128),128,1,ones(1,128)); % priodogramme simple


subplot(2,2,2) ; psd(x,512,1,ones(1,512)); % priodogramme simple
subplot(2,2,3) ; psd(x,128,1,ones(1,128)); % priodogramme moyenn
phi=xcorr(x,'biased') ;
phiad=phi(512-128:512+128).*blackman(257)';
psdad=10*log10(abs(freqz(phiad,1,256)));
%abs : liminer les composantes imag. rsiduelles
subplot(2,2,4) ; plot((0:255)/512,psdad); grid; % priodogramme adouci
xlabel('Frequency');ylabel('Power Spectral Magnitude (dB)');

subplot(2,2,1) ;ax=axis ; subplot(2,2,1) ;axis(ax);


subplot(2,2,3) ;axis(ax); subplot(2,2,4) ;axis(ax); % axes identiques
Power Spectrum Magnitude (dB)

Power Spectrum Magnitude (dB)

40 40

30 30

20
20
10
10
0
0 -10

-10 -20
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Frequency Frequency
Power Spectrum Magnitude (dB)

40 40
Power Spectral Magnitude (dB)

30 30

20 20

10 10

0 0

-10 -10
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Frequency Frequency

Fig. 5.28 Estimateurs de la densit spectrale de


puissance dun bruit de variance 100 superpos une
cisode damplitude 10.
(haut gauche) priodogramme (N=128)
(haut droite) priodogramme (N=512)
(bas gauche) priodogramme moyenn (N=512 ; L=4)
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 33

(bas droite) estimateur adouci (N=512 ; M=128 ;


fentre de Blackman)

5.4.4Estimation paramtrique de la densit spectrale de


puissance
Plutt que destimer la densit spectrale de puissance directement sur le signal
inconnu, il peut tre intressant de passer par un modle paramtrique. En
pratique, cela revient modliser le signal inconnu comme la sortie dun filtre.
On obtient diffrents types destimations, selon quon cherche reconnatre,
dans le signal inconnu, les attributs dun signal alatoire moyenne mobile (MA),
dun signal autorgressif (AR), ou dun signal autorgressif moyenne mobile
(ARMA).
Estimation MA
Pour crer un signal MA (Fig. 5.19) de densit spectrale de puissance impose,
on peut chercher galer la fonction dautocorrlation YY (k ) celle du bruit
dsir. Le calcul des coefficients du filtre nest pas cependant pas simple. On sait
en effet que la rponse impulsionnelle dun tel filtre est donne par le suite de
ses coefficients. Comme XX (k ) = X 2 ( k ) , on voit par (5.43) que
YY (k ) = X2 HH (k ) :
M
Y2 = YY (0) = X2 b
i =0
i
2

YY (1) = 2
X ( b0b1 + b1b2 + ... + bM 1bM )
(5.85)
...
YY ( M ) = X2 ( b0bM )
YY (k > M ) = 0
On identifie alors YY (k ) (k=0..M) dans (5.85) aux M+1 premire valeurs de la
fonction dautocorrlation du signal modliser. Les quations (5.85) forment
ainsi un systme de M+1 quations non linaires M+1 inconnues (les bi), quon
ne peut rsoudre quitrativement.
Estimation Autorgressive (AR)
Supposons que le cherche identifier un signal AR (Fig. 5.20) un signal
alatoire inconnu. Cette fois, la rponse impulsionnelle nest plus donne par le
suite des coefficients du filtre. On peut par contre calculer facilement lexpression
de la fonction dautocorrlation du signal AR :
YY (k ) = YY (k ) = E [Y (n)Y (n k )] (5.86)

Puisquon a :
p
y (n) = ai y ( n i ) + u ( n) (5.87)
i =1

Il vient :
34 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

p
p

YY (k ) = E aiY (n i )Y (n k ) + E U (n)Y (n k ) (5.88)
i =1 i =1
Dans cette dernire expression, le second terme est nul pour k>0 (il ne peut pas
y avoir de corrlation entre lentre du filtre et des sorties prcdentes). Il vient
donc :
N
YY (k ) = aiYY (k i ) ( k = 1, 2,...) (5.89)
i =1

Pour k=0, lexpression (5.88) devient :


N
YY (0) = aiYY (i ) + 2UU (0)
i =1
N
(5.90)
= aiYY (i ) + 2

i =1

puisque u(n) est un bruit blanc.


Il suffit alors, pour identifier le signal inconnu au signal AR, didentifier leurs
fonctions dautocorrlation pour des indices 0N. Le systme dquations
linaires (5.89) permett alors de calculer les ai. Lquation (5.90) permet quant
elle de rgler la valeur de . Ces quations portent le nom dquations de Yule-
Walker. Leur linarit permet donc de gnrer facilement un signal AR dont les N
premires valeurs de la fonction dautocorrlation sont imposes. Ceci revient,
paar transforme de Fourier, imposer lallure globale de la densit spectrale de
puissance (son enveloppe spectrale). Cette avantage est trs utilis dans des
applications pratiques (par exemple la modlisation AR est utilise en
transmission de parole par GSM).
Exemple 5.18 Signal de parole
On cherche estimer par un modle AR la densit spectrale de puissance de 30 ms dun
a chantillonn 8000 Hz. Matlab fournit une fonction qui ralise lestimation AR, par
rsolution des quations de Yule-Walker : lpc(x,N) o x est le vecteur des chantillons du
signal alatoire, et N est lordre du modle.
x=wavread('par8.wav',[500,739]);
% 240 chantillons du a de parenthse
psd(x,64,1,ones(1,64)); % priodogramme moyenn
[ai,sigmasq]=lpc(x,10); %retourne les ai et la valeur de sigma
figure(2)
freqz(sqrt(sigmasq),ai,256); % visualiser la densit spectrale de puissance modlise

0
Power Spectrum Magnitude (dB)

-10

-20

-30

-40

-50
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
F
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 35

Magnitude (dB)
-10

-20

-30

-40
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)
50
Phase (degrees)

-50

-100

-150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

Fig. 5.29 Estimateurs de la densit spectrale de


puissance dune voyelle (240 chantillons).
(haut) priodogramme moyenn (N=192 ; L=3)
(bas) estimateur AR (N=10) : amplitude et phase.

Lestimateur AR rsume, dans les 10 valeurs de ses coefficients ai, lallure de la densit
spectrale de puissance du signal. Lestimation paramtrique permet souvent dobtenir de
bons rsultats, mme lorsque le nombre dchantillons du signal est faible.

Estimation ARMA
On montre que les quations reliant la fonction dautocorrlation du signal ARMA
aux coefficients du filtre sont fortement non-linaires. Leur rsolution ncessite
donc la mise en uvre dun algorithme itratif.

Vous aimerez peut-être aussi