Вы находитесь на странице: 1из 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'lectrocardiogramme, 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 .

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) :

P ( X (a, b)) = p X ( x) dx
a

(5.1)

Il est quivalent de spcifier sa fonction de rpartition FX(x), qui est lintgrale de la fonction de densit de probabilit :

FX ( x) =

( )d

(5.2)

TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

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)dx

(5.3)

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

(x m

) 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 :

P ( X (a, b), Y (c, d )) = p XY ( x, y )dx dy


a c

b d

(5.5)

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) (5.7)

( X ,Y ) =

cov( X , Y )

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 )
Elle sont dites non corrles ssi :

(5.8)

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 ) =

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) .

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 :

x3 x2 q2 = dx = = q 3q q / 2 12 q / 2
q/2

q/2

(5.11)

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

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) :

p X ( x) =

( x m) 2 1 exp 2 2 2

(5.12)

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


PX(x)

6 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

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.

TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES


U=FX(x) 1 tirage uniforme 0 Tirage suivant pX(x) 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 (kqq/2,kq+q/2) par une valeur unique X, typiquement la valeur centrale de lintervalle : kq. Lerreur commise, appele erreur de quantification, 5.7): est donc donne par (Fig. (5.13)

e= X x

q/2e q/2

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

pX(x)

-A

q=2A/2N

Fig. 5.7

Quantification uniforme dun signal x


e 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 :

e2 =

q2 A2 = 2N 12 3 2

(5.14)

TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES


x
5 4 3 2 1 0 2 3

/2 /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 x 2 e
A

dB

(5.15)

Si l'on dsigne par le facteur de charge dfini par :

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

dB

RSB = 10 log ( x 2 / e 2) 100 90 86 80 70 65,8 60

Nb = 16

50 14 12 10 8 40 30 20 10 10 log ( x2 / s2) = - 20 log 10 20 (dB) 42

-100

-50

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 )]
Stationnarit au sens large et ergodicit

(5.19)

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) et donc : mX ( k ) = mX ( j ) = m X
(5.20)

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 ) et donc : XX (i, j ) = XX (i j ) = XX ( j i )

(5.21)

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 :
N 1 mX = x(n) = lim N x(n) N 2 N + 1 i =

X = | x(n) mX |2 = lim N | x(n) mX |2 N 2 N + 1 i = XX (k ) = x(n) x* (n + k ) = lim N x(n) x* (n + k ) N 2 N + 1 n =

(5.22)

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

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

(5.23)

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 :

XX (n) =

1/ 2

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) :

X 2 = XX (0) =

1/ 2

1/ 2

S XX ( F ) dF

(5.27)

SXX(F)

XX(n)

n -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 :

2 XX (k ) = X 0

pour k = 0 pour k 0

(5.28)

La densit spectrale de puissance dun bruit blanc est donc une constante :

S XX ( F ) = X

(5.29)

TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES


XX(n) X
n -1/2 0 1/2 SXX(F)

13

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 0 -2 -4

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 :

XX (t ) = lim
A2 = T0

1 Ae j (0 + ) Ae j (0 ( +t )+ ) d T T T / 2
T0 / 2

T /2

T0 / 2

e j0 + e j0 ( + t ) d

(5.30)

= 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)
que

Il sensuit, vu lorthogonalit des exponentielles de frquences harmoniques, lautocorrlation et la densit spectrale de puissance dune fonction priodique x(t) :

x(t ) = Ai e j ( i0t +i )
i =0

(5.32)

sont donnes par :

XX (t ) = Ai 2 e ji t
0

i =0

S XX ( f ) = Ai ( f + if 0 )
2

(5.33)
associe une fonction cisodale

i =0

De

x(t ) = A cos( t + )

mme,

la

fonction dautocorrlation est donne par :

XX (t ) =

A2 cos( 0t ) 2

S XX ( f ) =

A2 A2 ( f if 0 ) + ( f + if 0 ) 4 4

(5.34)

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).

XX (k ) =

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


XX(n)
A/2 n -1/2 0 1/2 SXX(F) A/4 F

(5.35)

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 )* ]

= XX (k )+ | mX |2

(5.36)

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


SXX(F)

15

XX(n)

|m|

n -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 ))* ] = XX (k ) + YY (k ) + XY (k ) + YX (k )


Si les deux signaux sont non-corrls, elle se rduit donc :

(5.38)

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 )
Lexemple prcdent nest dailleurs quun cas particulier de ce principe.

(5.40)

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) =

i =

h(i) x(n 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 )] =

i =

h(i) E[ X (n i)] =mX

i =

h(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 =

= =

i =

h(i) h( j ) E[ X (n i) X
j = j =

(n + m j )]

i =

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

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

YY (m) =
= =

i =

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


k =

k =

XX (m k ) h(i)h(i + 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 ) =

i =

h(i)h(i + k ) =

i =

h(i)h(i k ) = {h(n)}*{h(n)}

(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 )

(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)

XX(n)

h(n) H(F)

y(n)

XX(n)

XY(n)

HH(n) |H(F)|

YY(n)

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 =

= =

i =

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


XX

(5.47)

(k i)

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 nulle, il vient :
2 SYY ( F ) = X H ( F ) 2

2 X

et de moyenne

= XX (0) =
2 Y

+1/ 2
2 X

1/ 2

H ( F ) dF

(5.48)

Si le filtre est un passe-bande idalis dont la bande passante normalise vaut B (B<1), on trouve donc (Fig. 5.18):
2 2 Y = 2 X 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
F

-1/2

0 H(F) 1

1/2

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

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 2 dun bruit blanc x(n) de moyenne nulle et de variance X dans un filtre moyenne mobile (filtre RIF, non rcursif ; Fig. 5.19) :

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

(5.50)

SYY

u(n)

x(n)

B(z)

y(n)

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 :

SYY ( F ) =

2 x

b z
i =0 i

2 i z = e j

(5.51)

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


Exemple 5.9 Signal alatoire autorgressif (AR)

19

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

y(n) = x(n) + ai y(n i)


i =1

(5.52)

SYY

u(n)

x(n)

1 A( z )

y(n)

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

2 SYY ( F ) = x

a z
i =0 i

(5.53)
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 2 bruit blanc x(n) de moyenne nulle et de variance X dans un filtre rcursif (filtre RII; Fig. 5.21) :

y(n) = bi x(n i) + ai y(n i)


i =1 i =1

(5.54)

SYY

u(n)

x(n)

B( z ) A( z )

y(n)

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


M 2 i i

SYY ( F ) =

2 x

b z a z
i =0 i i =0 N

(5.55)
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 :
2 2 S XX ( F ) = x + x ( F )

F 1

(5.56)

L'estimateur

sera donn par :

X =

1 N

x( n)
n=0

N 1

(5.57)

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

1 E [X ] = E N

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

N 1

N 1

(5.58)

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


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

21

(5.60)

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 :

VAR [ x ] =

1 1 2 2 N x = x 2 N N

(5.61)

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.8

10

20

30

40

50

60

70

80

90

100

variance(mux)

0.6

0.4

0.2

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 2 une gaussienne de moyenne x et de variance x / N . La vraie moyenne x se trouve 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 x / N

d = . x / N

(5.62)

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 x / N

(5.63)

5.4.2 Estimation de la fonction d'autocorrlation


Estimateur non biais Un premier estimateur est dfini comme suit :

1 XX (k ) = . Nk

N k 1

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 :

VAR [ XX ]

N . 2 (l ) + XX (l + k ) XX (l k ) 2 XX (N k ) l

(5.65)

et comme elle varie comme 1/N, l'estimateur est consistant. Estimateur biais On peut dfinir un autre estimateur :

XX (k ) =

1 . N

N k 1

n=0

x ( n ) x* ( n + k )

(5.66)

pour lequel on a videmmment :

E [ XX (k ) ] =

Nk XX (k ) N 1 2 . XX (l ) + XX (l + k ) XX (l k ) N l

(5.67)

D'autre part, on trouve pour la variance :

VAR [ XX (k ) ]

(5.68)

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 :

XX (k ) =

1 * {xN (n)}*{xN (n)} N

(5.69)

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

XX (k ) = 4 (k )

(5.70)

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 2 1 0 -1

20

40

60

80

100

120

140

160

180

200

autocorrlation sur 100 points, estimateur non-biais 3 2 1 0 -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

20

40

60

80

100

120

140

160

180

200

autocorrlation sur 100 points, estimateur non-biais 100 50 0 -50 -100

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 ) :

S XX ( ) =

k = ( N 1)

N 1

XX (k )e jk

(5.71) par son expression dans (5.69), on trouve

Si on remplace immdiatement:

XX (k )

1 2 S XX ( ) = X N ( ) N
o X N ( ) est la TFTD de la suite x(n) :
N 1 n=0

(5.72)

X N ( ) = x(n)e jn

(5.73)

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 :
E S XX ( ) =

k = ( N 1)

N 1

E [ XX (k ) ] e jk =

Nk XX (k )e jk N k = ( N 1)

N 1

(5.74)

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 2 variance x , on trouve :
2 VAR S XX ( ) = S XX ( )

(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 :

1 S XX ( ) = NP

x(n)w(n)e
n =0

N 1

2 jn

(5.76)

o P est un facteur de normalisation (destin liminer le biais introduit par la fentre) dfini par:

P=

1 N

w(n)
n=0

N 1

(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.

S XX ( ) =
avec

1 L . S XX ,i ( ) L i =1

(5.78)

S x ,i ( ) =

1 MP

M 1 n=0

xi (n)w(n)e jn

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:

VAR S XX ( )

1 2 S XX ( ) L

(5.80)

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) :

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
10
0
-10
-20

20
10
0
-10
-20

0.1

0.3 0.2 Frequency

0.4

0.5

0.1

0.3 0.2 Frequency

0.4

0.5

Power Spectrum Magnitude (dB)

Power Spectrum Magnitude (dB)

20
10
0
-10
-20
0

20
10
0
-10
-20
0

0.1

0.3 0.2 Frequency

0.4

0.5

0.1

0.3 0.2 Frequency

0.4

0.5

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

0 -20 Magnitude (dB) -40 -60 -80 -100

0.1

0.2

0.3 0.4 0.5 0.6 0.7 Normalized Frequency ( rad/sample)

0.8

0.9

0 Phase (degrees) -100 -200 -300 -400

0.1

0.2

0.3 0.4 0.5 0.6 0.7 Normalized Frequency ( rad/sample)

0.8

0.9

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

TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

29

Power Spectrum Magnitude (dB)

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

20

20

-20

-20

-40

-40

-60

-60

0.1

0.2 0.3 Frequency

0.4

0.5

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

20

-20

-20

-40

-40

-60

-60

0.1

0.2 0.3 Frequency

0.4

0.5

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

N 1 2 w(n) N 1 1 n =0 w(n) = N 1 NP n =0 2 w(n) n =0

(5.83)

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 :

n = M

w(n)

(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)

60 40 20 0 -20

Power Spectrum Magnitude (dB)

60 40 20 0 -20

0.1

0.2 0.3 Frequency

0.4

0.5

0.1

0.2 0.3 Frequency

0.4

0.5

Power Spectrum Magnitude (dB)

40 20 0 -20

Power Spectral Magnitude (dB) 0 0.1 0.2 0.3 Frequency 0.4 0.5

60

60 40 20 0 -20

0.1

0.2 0.3 Frequency

0.4

0.5

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) :

N 1 10log10(A/4* w(n) n=0

N 1 2 w(n) )=10*log10(25*93.4)=33.6 dB n=0

Estimateur adouci : 10*log10(A/4*

n = M

w(n) )=31.3 dB

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)

40 30 20 10 0 -10

Power Spectrum Magnitude (dB)

40 30 20 10 0 -10 -20 0 0.1 0.2 0.3 Frequency 0.4 0.5

0.1

0.2 0.3 Frequency

0.4

0.5

Power Spectrum Magnitude (dB)

30 20 10 0 -10

Power Spectral Magnitude (dB) 0 0.1 0.2 0.3 Frequency 0.4 0.5

40

40 30 20 10 0 -10

0.1

0.2 0.3 Frequency

0.4

0.5

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


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

33

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 2 YY (k ) = X HH (k ) :
2 2 Y = YY (0) = X

b
i =0

2 i

YY (1) =
...

2 X

( b0b1 + b1b2 + ... + bM 1bM )

(5.85)

2 YY ( M ) = X ( 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 )]
Puisquon a :
p

(5.86)

y (n) = ai y ( n i ) + u ( n)
i =1

(5.87)

Il vient :

34

TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

YY (k ) = E aiY (n i )Y (n k ) + E U (n)Y (n k )
i =1 i =1

(5.88)

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 :

YY (k ) = aiYY (k i )
i =1

( k = 1, 2,...)

(5.89)

Pour k=0, lexpression (5.88) devient :

YY (0) = aiYY (i ) + 2UU (0)


i =1 N

= aiYY (i ) +
i =1

(5.90)
2

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 YuleWalker. 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

Power Spectrum Magnitude (dB)

0 -10 -20 -30 -40 -50

0.05

0.1

0.15

0.2 F

0.25

0.3

0.35

0.4

0.45

0.5

TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

35

0 Magnitude (dB) -10 -20 -30 -40

0.1

0.2

0.3 0.4 0.5 0.6 0.7 0.8 Normalized Frequency ( rad/sample)

0.9

50 Phase (degrees) 0 -50 -100 -150

0.1

0.2

0.3 0.4 0.5 0.6 0.7 0.8 Normalized Frequency ( rad/sample)

0.9

Fig. 5.29 Estimateurs de la densit spectrale puissance dune voyelle (240 chantillons). (haut) priodogramme moyenn (N=192 ; L=3) (bas) estimateur AR (N=10) : amplitude et phase.

de

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.