Beruflich Dokumente
Kultur Dokumente
Stephane Mallat
Table des Matieres
1 Introduction 3
2 Traitement du signal analogique 5
2.1 Filtrage lineaire homogene . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Dirac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Reponse impulsionnelle . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 Fonction de transfert . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Analyse de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Transformee de Fourier dans L1(R ) . . . . . . . . . . . . . . . . . . 9
2.2.2 Transformee de Fourier dans L2(R ) et Diracs . . . . . . . . . . . . . 11
2.2.3 Exemples de transformee de Fourier . . . . . . . . . . . . . . . . . . 13
2.3 Synthese de ltres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Filtres passe-bandes . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Filtrage par circuits electroniques . . . . . . . . . . . . . . . . . . . 16
2.3.3 Approximations par ltres rationnels . . . . . . . . . . . . . . . . . 17
2.4 Modulation d'amplitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.1 Signal analytique et transformee de Hilbert . . . . . . . . . . . . . . 20
2.4.2 Demodulation et detection synchrone . . . . . . . . . . . . . . . . . 21
3 Traitement du signal discret 23
3.1 Conversion analogique-digitale . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.1 Echantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.2 Repliement spectral . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Filtrage discret homogene . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 Convolutions discretes . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.2 Series de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.3 Selection frequentielle ideale . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Synthese de ltres discrets . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Filtres recursifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.2 Transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.3 Approximation de ltres selectifs en frequence . . . . . . . . . . . . 37
3.3.4 Factorisation spectrale . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Signaux nis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.1 Convolutions circulaires . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.2 Transformee de Fourier discrete . . . . . . . . . . . . . . . . . . . . 39
1
2 TABLE DES MATIERES
2.1.1 Dirac
Un Dirac est une masse ponctuelle qui est souvent utilisee pour simplier les calculs. C'est
une \distribution" (t) dont le support est reduit au point t = 0 et d'integrale unite, si
bien que pour toute fonction continue f (t)
Z +1
f (u)(u)du = f (0):
1
La theorie des distributions [4] denie formellement cette integrale comme une forme
lineaire qui associe a toute fonction sa valeur en t = 0. Nous nous contentons ici
5
6 CHAPITRE 2. TRAITEMENT DU SIGNAL ANALOGIQUE
d'une denition plus intuitive d'un Dirac comme limite de \bosses" qui sont contractees
indeniment.
Soit (t) une fonction continue a support dans [ 1; 1] et de masse unite
Z +1
(u)du = 1: (2.2)
1
La fonction s(t) = 1s ( st ) a un support dans [ s; s]. Avec le changement de variable
t0 = st on montre que Z +1 Z +1 1 u
s(u)du = s ( s )du = 1:
1 1
Soit f (t) une fonction continue, on verie facilement que
Z +1
lim
s!0
f (u)s(u)du = f (0):
1
Un Dirac se denit par
(t) = slim (t);
!0 s
ou la limite doit ^etre formellement prise au sens ou pour toute fonction continue f (t)
Z +1 Z +1
lim
s!0
f (u)s(u)du = f (u)(u)du = f (0): (2.3)
1 1
Un Dirac (t) n'est pas une fonction mais la theorie des distributions montre que
cela se manipule comme une fonction dans les calculs. On oubliera donc son statut de
distribution par la suite. Ainsi, on peut denir un Dirac translate en par
(t ) = slim (t );
!0 s
et on montre que pour toute fonction continue f (t)
Z +1
f (u)(u )du = f ( ): (2.4)
1
On peut cependant eviter d'utiliser une limite et deduire simplement ce resultat de (2.2)
par un changement de variable u0 = u + .
Un Dirac est symetrique (t) = ( t) car
Z +1 Z +1
f (u)( u)du = f ( u)(u)du = f (0):
1 1
On peut donc reecrire (2.4) comme une decomposition de f (t) en une somme de Diracs
translates en dierents points
Z +1
f ( t) = f (u)(t u)du:
1
2.1. FILTRAGE LINEAIRE HOMOGENE 7
Stabilite et causalite Un ltre est causal si et seulement si L[f (t)] ne depend que
des valeurs f (u) pour u < t. Comme
Z +1
L[f (t)] = h(u)f (t u)du;
1
cela signie que h(u) = 0 pour u < 0. On dit alors que h(t) est une fonction causale. On
exprime souvent les fonctions causale comme un produit avec une fonction echelon
h(t) = h(t)
(t)
8 CHAPITRE 2. TRAITEMENT DU SIGNAL ANALOGIQUE
avec 0
si t < 0
(t) = 1 si t 0 (2.7)
Lorsque f (t) est bornee on veut garantir que L[f (t)] est aussi bornee. On dit alors
que le ltre L et h(t) sont stables. Comme
Z +1
jL[f (t)]j sup jf (u)j jh(u)jdu; (2.8)
u2R 1
il sut que h 2 L1(R ) Z +1
jh(u)jdu < +1:
1
On verie (exercice) que si h(t) est une fonction denie pour presque tout t 2 R la con-
dition h 2 L1(R ) est aussi necessaire.
Exemples
Un systeme d'amplication par et de delai par est deni par
L[f (t)] = f (t ):
La reponse impulsionnelle de ce ltre est
h(t) = (t ):
La moyenne uniforme de f (t) dans un voisinage de taille T est
1 Z t+ 2 T
L[f (t)] = T T f (u)du:
t 2
Cette integrale peut ^etre reecrite comme un produit de convolution avec
1 si t 2 [ T ; T ]
h(t) = T 2 2
0 si jtj > T2
Une moyenne ponderee correspond a une reponse impulsionnelle h(t) telle que
Z +1
h(u) du = 1:
1
L'integrale Z +1
L[f (t)] = h(u)f (t u)du
1
peut ^etre interpretee comme une moyenne ponderee par h(u) de f (u) au voisinage de t.
Si f (t) = c alors on verie que L[f (t)] = c. On verra comment optimiser le choix de h(u)
pour enlever au mieux les
uctuations irregulieres de f (t) dues a un bruit de mesure.
2.2. ANALYSE DE FOURIER 9
f^(!) decro^t rapidement, cela signie donc que f (t) est une fonction reguliere. Cette
propriete se formalise en montrant que si
Z +1
jf^(!)j(j!jp + 1) < +1;
1
alors f (t) est p fois contin^ument derivable. Pour demontrer ce resultat, on prouve d'abord
que la transformee de Fourier de d dtfp(t) 2 L1(R ) est (i!)pf^(!) (exercice). On utilise
p
ensuite le fait que si g^(!) 2 L1 (R) alors g(t) est bornee et continue, ce qui se montre en
utilisant (2.11). L'equivalence entre regularite temporelle et decroissance du module de la
transformee de Fourier est particulierement importante pour analyser les proprietes d'un
signal f (t).
Pour les applications au traitement du signal, le resultat le plus important est le
theoreme de convolution.
Theoreme 2.1 (Convolution) Soit f (t) 2 L1(R ) et h(t) 2 L1(R ) . La fonction g(t) =
h ? f (t) 2 L1 (R) et sa transformee de Fourier est
g^(!) = h^ (!)f^(!): (2.12)
Demonstration
Z +1 Z +1
g^(!) = e it! f (t u)h(u)du dt:
1 1
Comme jf (t u)jjh(u)j est sommable dans R 2 , on peut appliquer le theoreme de Fubini
et le changement de variable (t; u) ! (v = t u; u) nous donne
Z +1 Z +1
g^(!) = e i(u+v)! f (v)h(u)dudv
Z1 +1
1 Z +1
= e iv! f (v )dv e iu! h(u)du ;
1 1
ce qui verie (2.12). 2
Filtrage Le theoreme de convolution prouve que la transformee de Fourier d'un ltrage
L[f ](t) = f ? h(t) est f^(!)h^ (!). La formule de reconstruction
1 Z +1
f (t) = 2 f^(!)ei!td!: (2.13)
1
appliquee a L[f ](t) implique donc
1 Z +1
L[f ](t) = 2 h^ (!)f^(!)ei!td!: (2.14)
1
Chaque composante frequentielle ei!t de f (t) d'amplitude f^(!) est donc ampliee ou
attenuee par h^ (!). Ceci n'est pas surprenant puisque nous avons deja prouve que les expo-
nentielles ei!t sont des vecteurs propres d'une convolution. Si h^ (!) = 0 pour ! 2 [!1; !2],
les composantes frequentielles de f (t) pour ! 2 [!1; !2] sont annulees par l'operateur L,
d'ou l'appellation \ltre".
2.2. ANALYSE DE FOURIER 11
Par denition, f^(!) est la tranformee de Fourier de f (t). On peut alors verier que le
theoreme de convolution, la formule de Parseval et les proprietes (2.15-2.28) restent val-
ables dans L2(R ).
2.2. ANALYSE DE FOURIER 13
et comme Z +1 p
f^(0) = e t2 dt = ;
1
p
f^(!) = e !2 =4 : (2.32)
La fonction indicatrice f (t) = 1[ T;T ](t) est discontinue et donc a une transformee
de Fourier qui n'est pas dans L1(R ) mais qui est dans L2 (R)
ZT
f (!) = e i!t dt = 2 sin(!T!) :
^ (2.33)
T
Le sinus cardinal f (t) = sintt est dans L2(R ) mais pas dans L1 (R ). Sa transformee
de Fourier se deduit de (2.33) gr^ace a la propriete de symetrie (2.15)
f^(!) = 1[ ;](!): (2.34)
Un Dirac translate (t) = (t ) a une transformee de Fourier qui se calcul
directement Z +1
^ (!) = (t)e i!t dt = e i! : (2.35)
1
14 CHAPITRE 2. TRAITEMENT DU SIGNAL ANALOGIQUE
La valeur principale f (t) = vp t1 denit par convolution la transformee de Hilbert
1 1 Z +1
H[g](t) = g ? vp t = g(u)vp t 1 u du: (2.36)
1
On calcule la transformee de Fourier de vp t1 en observant que
tf (t) = 1 ;
ce qui se traduit en Fourier gr^ace a (2.22) par
df^(!) = 2i(!):
d!
Donc
f^(!) = i sign(!) + c (2.37)
avec 8 1 si ! > 0
<
sign(!) = : 0 si ! = 0
1 si ! < 0
Comme f (t) est reelle antisymetrique, sa transformee de Fourier est imaginaire pure
antisymetrique ce qui prouve que c = 0.
Le peigne de Dirac
X
+1
c(t) = (t nT ) (2.38)
n= 1
est une distribution dont la transformee de Fourier se deduit de (2.35)
X
+1
inT! :
c^(!) = e (2.39)
n= 1
La formule de Poisson prouve que c^(!) est aussi egal a un peigne de Dirac dont l'espacement
est 2T .
Theoreme 2.3 (Formule de Poisson)
X
+1 X
+1
e inT! = 2T (! 2Tk ): (2.40)
n= 1 k= 1
Il elimine donc toutes les frequences de f^(!) au dela de !c. On deduit de (2.34) que la
reponse impulsionnelle de ce ltre est
h0(t) = sin(t!ct) :
Ce ltre passe-bas ideal est ni causal ni stable. Le paragraphe suivant explique comme
l'approximer avec un systeme physiquement realisable.
16 CHAPITRE 2. TRAITEMENT DU SIGNAL ANALOGIQUE
Un ltre passe-bande reel a une fonction de transfert qui supprime toute composante
frequentielle en dehors de deux intervalles symetriques par rapport a ! = 0
1 si j!j 2 [!0 !c; !0 + !c]
h^ 1(!) = 0 ailleurs (2.46)
R
+
-
AAA
u(t ) C V(t )
R2
AAA
R1
AAA
Figure 2.1: Circuit RC avec un amplicateur operationnel
ou N (u) et D(u) sont des polyn^omes a coecients reels. On peut demontrer (exercice)
que le ltre est causal et stable si et seulement si D(s) est un polyn^ome dont les racines
ont des parties reelles strictement negatives. Par ailleurs on montre aussi que si P (!) est
une fonction rationnelle de i! avec P (!) 0 pour tout ! 2 R , alors il existe une fonction
de transfert rationelle, correspondant a un ltre causal et stable, qui satisfait
jh^ (!)j2 = P (!):
Un ltre passe-bas ideal
h^ 0(!) = 1[ !c;!c](!)
n'est pas realisable par un circuit electrique car sa fonction de transfert n'est pas ra-
tionnelle. Le nombre d'elements (resistances, capacites, amplicateurs) necessaires pour
implementer une fonction de transfert rationnelle h^ (!) est proportionnel au degre du
denominateur. Pour limiter la complexite du circuit, on veut donc approximer jh^ 0(!)j2
par une fonction rationnelle de faible degre, tout en minimisant l'erreur d'approximation.
L'erreur d'approximation est denie par un gabarit illustre par la gure 2.2, qui specie
l'amplitude maximum des oscillations de jh^ (!)j2 dans les bandes de passage et d'attenuation
ainsi que la largeur de la bande de transition. Le probleme est donc de trouver des fonc-
tions rationnelles de degre le plus faible possible, qui satisfont les contraintes de gabarit
imposees par une application. Les polyn^omes de Butterworth ou de Chebyshev ont des
proprietes particulierement bien adaptees a ce type d'approximation.
AAAAAAAA
^ 2
h()
AAAAAAAA
AAAAAAA
1
AAAAAAAA
AAAAAAA
1 - p
AAAAAAAA
AAAAAAA
AAAAAAAA
AAAAAAA
AAAAAA
AAAAAAAA
AAAAAAA c
a
Figure 2.2: Le gabarit d'un ltre specie l'amplitude maximum des oscillations p et a
dans les bandes de passage et d'attenuation du ltre, ainsi que la largeur ! de la bande
de transition
Filtres de Butterworth Un ltre de Butterworth d'ordre n est deni par
1
jh^ bn(!)j2 = 1 + (!=! : (2.50)
c)2n
Plus n augmente plus le ltre est plat au voisinage de ! = 0 car les 2n 1 premieres
derivees de jh^ (!)j2 sont nulles en ! = 0. A la frequence de coupure !c, jh^ bn(!c)j2 = 21 . Ces
2.4. MODULATION D'AMPLITUDE 19
ltres convergent vers le ltre passe-bas ideal (2.45), au sens ou pour tout ! 2 R f!cg
lim jh^ bn(!)j2 = jh^ 0(!)j2:
n!+1
^m
^nz (! !n) + f^nz( ! !n)
f
fn (!) = 2 : (2.56)
2.4. MODULATION D'AMPLITUDE 21
On calcule avec (2.25) et (2.19) la transformee de Fourier inverse du c^ote droit de cette
equation, ce qui nous donne
fnm(t) = Re[fnz (t)ei!n t ]: (2.57)
Comme fnz (t) = fn(t) + iH[fn ](t), la modulation d'amplitude s'exprime a partir de la
transformee de Hilbert par
fnm (t) = fn(t)cos(!nt) H[fn ](t)sin(!nt): (2.58)
On a alors
fnm(t) = M ? hn (t):
Le signal fn(t) se reconstruit a partir de fnm (t) en supprimant la modulation d'amplitude.
L'equation (2.58) montre que
gn(t) = 2fnm(t)cos(!nt) = fn(t) + fn(t)cos(2!nt) H[fn](t)sin(2!n t); (2.60)
ce qui s'ecrit en Fourier
^ ^
g^n(!) = f^n(!) + fn(! 2!n) +2 fn(! + 2!n) (2.61)
^ ^
+ H[fn](! 2!n) 2i H[fn](! + 2!n) :
Comme le support de f^n(!) et de H[^fn](!) est [ b; b] et que !n > b, on separe f^(!) des
autres composantes frequentielles avec la fonction de transfert
^h0 (!) = 1 si j!j b : (2.62)
0 ailleurs
On deduit de (2.61) que
fn(t) = gn ? h0(t) = (2fnm(u)cos(!nu) ? h0 (u))(t):
Chapitre 3
Traitement du signal discret
Le traitement du signal discret a pris son essor dans les annees 70 gr^ace a l'apparition
des microprocesseurs et a l'utilisation de la transformee de Fourier rapide. Il remplace
progressivement le traitement du signal analogique dans la majorite des applications telles
que l'enregistrement digital, la television, le traitement de la parole et de l'image. Le calcul
informatique permet la mise en place d'algorithmes nettement plus sophistiques et plus
precis que le calcul analogique dont la abilite est limitee par les bruits de circuits et les
erreurs de calibrage des composants electroniques. Le traitement du signal analogique
reste cependant beaucoup plus rapide ce qui est fondamental pour certaines applications
en temps reel.
Les signaux etant le plus souvent d'origine analogique, nous etudions la conversion
analogique-digitale et les conditions permettant d'eectuer la transformation inverse. Le
ltrage homogene est etendu au calcul discret et nous introduisons le calcul rapide par
transformee de Fourier discrete.
3.1.1 Echantillonnage
Pour traiter les signaux discrets dans le m^eme cadre que les signaux analogiques, nous les
representons par des distributions de Dirac. Un echantillon f (nT ) est represente par un
Dirac d'amplitude f (nT ) centre en nT . L'echantillonnage uniforme de f (t) correspond a
la distribution
X
+1
fd (t) = f (nT )(t nT ): (3.1)
n= 1
23
24 CHAPITRE 3. TRAITEMENT DU SIGNAL DISCRET
Demonstration
Comme le support de f^(!) est inclus dans [ T ; T ], si n 6= 0 le support de f^(! 2n
T )
n'intersecte pas le support de f^(!). En consequence (3.5) prouve que
^
f^d (!) = f (T!) si j!j T : (3.8)
Soit h^ T (!) la fonction de transfert d'un ltre passe-bas ideal
T si j!j T
h^ T (!) = 0 si j!j > 0 (3.9)
et dont la reponse impulsionnelle hT (t) est donnee par (3.7). On deduit de (3.8) que
f^(!) = h^ T (!)f^d(!)
ce qui se traduit en variable de temps par
X
+1 X
+1
f (t) = hT ? fd (t) = hT ? f (nT )(t nT ) = f (nT )hT (t nT ):
n= 1 n= 1
2
Le theoreme d'echantillonnage de Nyquist donne une condition necessaire pour recon-
struire un signal a partir de ses echantillons etant donnee une information a priori sur
son support frequentiel. L'echantillonnage et l'interpolation sont illustres par la gure
3.1, dans les domaines temporels et frequentiels. D'autres caracterisations peuvent ^etre
obtenues en imposant des contraintes dierentes sur f (t).
Lorsque le support de f^(!) n'est pas inclus dans [ T ; T ], pour certaines frequences ! 2
[ T ; T ] il existe des entiers k 6= 0 pour lesquels f^(! 2Tk ) 6= 0 (voire gure 3.2). Dans
ce cas, f^d(!) est la somme de f^(!) plus certaines composantes de hautes frequences
f^(! 2Tk ). La valeur de f^d(!)h^ T (!) peut donc ^etre tres dierente de f^(!) m^eme lorsque
! 2 [ T ; T ].
26 CHAPITRE 3. TRAITEMENT DU SIGNAL DISCRET
^ f(t)
f()
t
- 0
T T
^ fd(t)
fd()
t
-3 - 0 3
T
T T T T
^ hT(t)
hT()
1
-T T
t
- 0 -2T 0 2T
T T
^ ^
f() hT() fd hT(t)
*
- 0 t
T T
f (t) = cos(!0t) = e
i!0 t + e i!0 t
2
avec 2T > !0 > T . Sa transformee de Fourier etant
f^(!) = (! !0) + (! + !0) ;
la periodisation (3.5) nous donne
+1
X
f^d (!) = T (! !0 2Tk ) + (! + !0 2Tk ) :
k= 1
Les seules composantes dans [ T ; T ] sont (! !0 + 2T ) + (! + !0 2T ) donc apres
ltrage par le ltre passe-bas hT (!), on obtient
fd ? hT (t) = cos ( 2T !0)t :
Le repliement spectral reduit la frequence du cosinus de !0 a 2T !0 2 [ T ; T ]. Ce
repli frequentiel s'observe lorsque l'on lme un mouvement trop rapide avec un nombre
insusant d'images par seconde. Une roue de voiture tournant a grande vitesse appara^t
comme tournant beaucoup plus lentement dans le lm.
Preltrage Supposons que le pas d'echantillonnage est limite a une valeur T par des
contraintes de temps calcul ou de memoire et que !0 > T . A defaut de reconstruire
exactement f (t), on veut recuperer la meilleure approximation de f (t) par interpolation
d'un echantillonnage avec hT (t). Une telle interpolation est une convolution avec hT (t) et
a donc une transformee de Fourier dont le support est inclus dans [ T ; T ]. Soit V l'espace
des fonctions dont les transformees de Fourier ont un support inclus dans [ T ; T ]. La
fonction de V qui est la plus proche de f (t) est la projection orthogonale PV f (t) de f (t)
dans V qui minimise
Z +1
kf PV f k2 = 1
2
jf^(!) P^V f (!)j2d!: (3.11)
1
Comme PV f (t) 2 V, le support de sa transformee de Fourier P^V f (!) est incluse dans
[ T ; T ]. La distance (3.11) est minimisee si
PV^ f (!) = f^(!) pour j!j T :
La projection orthogonale est donc obtenue par le ltrage lineaire
PV f (t) = T1 f ? hT (t) (3.12)
28 CHAPITRE 3. TRAITEMENT DU SIGNAL DISCRET
On calcule la projection orthogonale de f (t) sur V en preltrant f (t) avec (3.12) et
cette projection orthogonale est reconstruite a partir de son echantillonnage uniforme.
Un convertisseur analogique digital est donc compose d'un ltre qui limite la bande de
frequence du signal a [ T ; T ] suivi d'un echantillonnage uniforme avec intervalles T . En
pratique, l'implementation par circuit electronique necessite d'approximer le ltre passe-
bas ideal hT (t) par un ltre realisable (par exemple Butterworth ou Chebyshev).
^ f(t)
f()
t
- 0
T T
^
fd() fd(t)
t
-3 - 3
T 0
T T T T
^ ^ fd
fd() . h T() * hT(t)
t
-
0
T T
Figure 3.2: Cette gure illustre le recouvrement spectral cree par un pas d'echantillonnage
trop grand. Le signal reconstruit fd hT (t) peut ^etre tres dierent de f (t)
Fonction de transfert Comme dans le cas continu, les vecteurs propres de ces operateurs
de convolutions sont des exponentielles complexes e! [k] = ei!k ,
X
+1 X
+1
Le! [n] = ei!(n k) h[k] = ei!n h[k]e i!k : (3.16)
k= 1 k= 1
Les valeurs propres correspondantes sont donc obtenues par la serie de Fourier
X
+1
h^ (ei! ) = h[k]e i!k ; (3.17)
k= 1
que l'on appelle fonction de transfert du ltre.
Filtrage discret Les exponentielles complexes etant les vecteurs propres des operateurs
de convolution discrete, il en resulte le theoreme suivant.
Theoreme 3.2 (Convolution discrete) Soient f [n] et h[n] deux signaux dans l2(Z).
La transformee de Fourier de g[n] = f ? h[n] est
g^(ei! ) = f^(ei! )h^ (ei! ): (3.22)
Exemple
La moyenne discrete uniforme denie par
1 X
+N
Lf [n] = 2N + 1 f [n p];
p= N
Les p^oles et les zeros ne se distinguent donc que par un changement de signe. La phase
complexe de h^ (ei! ) se mesure de m^eme par
X
M X
N
argh^ (ei! ) = arg b0 + arg(1 ck e i! ) arg(1 dk e i! ):
a0 k=1 k=1
Exemple Prenons le cas d'un p^ole ou d'un zero situe en rei et etudions le module
et la phase de (1 rei e i! ).
10 log10 j1 rei e i! j2 = 10 log10 [1 + r2 2r cos(! )]:
Le module est donc minimum pour ! = ou il vaut 20 log10 j1 rj et maximum en
! = + ou il vaut 20 log10 j1 + rj. Suivant que ce facteur est un p^ole ou un zero, il
produit une attenuation ou une amplication au voisinage de ! = . La phase complexe
est r sin(! )
argh^ (e ) = arctan 1 r cos(! ) :
i!
3.3.2 Transformee en z
Pour etudier plus facilement les proprietes des fonctions de transfert des ltres discrets,
et en particulier des ltres recursifs, on introduit la transformee en z qui etend la serie de
Fourier
^h(ei! ) = X h[n]e in!
+1
(3.30)
n= 1
a tout le plan complexe z 2 C , avec la serie de Laurent
X
+1
h^ (z) = h[n]z n : (3.31)
n= 1
La demonstration est laissee en exercice. Dans le cas ou la transformee en z est con-
vergente pour jzj = 1, la transformee de Fourier est egale a la restriction de la transformee
en z au cercle unite du plan complexe.
Stabilite et causalite Le domaine de convergence (absolu) de la transformee en z depend
des proprietes de causalite et de stabilite du ltre. Le ltre est causal si h[n] = 0 pour
n < 0 d'ou l'on deduit que si h^ (z) converge pour jzj = alors il converge pour jzj .
L'anneau de convergence s'etend donc a l'inni (2 = +1).
Le ltre est stable si et seulement si
X
+1
jh[n]j < +1:
n=0
Cela signie que l'anneau de convergence contient jzj = 1. Si le ltre est causal et stable,
on deduit donc que h^ (z) est convergente pour jzj 1.
Inverse La transformee en z peut s'inverser mais le calcul de h[k] a partir de h^ (z) depend
du domain de convergence choisi. La formule generale d'inversion se fait par une integrale
de Cauchy qui calcule h[k] en integrant h^ (z) le long d'un contour inclu dans l'anneau de
convergence. Dans le cas ou l'anneau de convergence inclu le cercle unite, cette integrale
peut se faire le long du cercle unite, auquel cas on obtient la transformee de Fourier inverse
1
Z
h[k] = 2 h^ (ei! )eik! d!:
Pour montrer que h[k] ne depend pas seulement de h^ (z) mais aussi du domaine de
convergence choisi, prenons par exemple
h^ (z) = 1 1az 1 :
La reponse impulsionnelle correspondant a la region de convergence a l'exterieur du cercle
jzj = a est causale et se calcule par un developement en serie de 1 1 x
X
+1
h^ (z) = anz n;
n=0
d'ou h[n] = an
[n]. Pour que la region de convergence soit jzj < a on reecrit
1
h^ (z) = 1 aa z1z :
En utilisant la decomposition en serie de 1 1 x on obtient une reponse impulsionnelle anti-
causale an si n 1
h[n] = 0 si n 0
36 CHAPITRE 3. TRAITEMENT DU SIGNAL DISCRET
Exemples On utilise generalement un ltre causal, ce qui impose que l'anneau de con-
vergence s'etende a l'inni.
Si h[n] = [n k] alors
h^ (z) = z k (3.32)
et A(h^ ) =]0; +1[.
Si h[n] = an
[n] alors
h^ (z) = 1 1az 1 (3.33)
A(h^ ) =]jaj; +1[.
Si h[n] = nan
[n] alors 1
h^ (z) = 1 azaz 1
A(h^ ) =]jaj; +1[.
Convolution Toutes les proprietes de la transformee de Fourier s'etendent directement
a la transformee en z. En particulier, si g[n] = f ? h[n] alors la transformee en z de g[n]
est le produit
g^(z) = f^(z)h^ (z)
et son anneau de convergence est
\
A(^g) = A(f^) A(h^ ):
Filtres recursifs Nous avons vu en (3.29) que la fonction de transfert d'un ltre recursif
est une fonction rationnelle. Sa tranformee en z peut donc s'ecrire
PM
h^ (z) = PNk=0 bk z k :
k
(3.34)
k=0 ak z
La reponse impulsionnelle causale h[n] se calcule facilement en decomposant h^ (z) en
elements simples. Si h^ (z) a des p^oles simples situes en dk , on peut montrer par identi-
cation des coecients (exercice) qu'il peut s'ecrire sous la forme
X
M N X
N
Ak :
h^ (z) = Br z r+
1 dk z 1
r=0 k=0
Le ltre causal correspondant a une reponse impulsionelle qui se calcule avec (3.32) et
(3.33)
X
M N X
N
h[n] = Br [n r] + Ak (dk )n
[n]:
r=0 k=0
Dans le cas de p^oles multiples, la decomposition fractionnelle s'etend avec des puissances
aux denominateurs des fractions. On distingue les ltres a reponse impulsionnelle nie
3.3. SYNTHESE DE FILTRES DISCRETS 37
pour 0 n < N , il nous faut conna^tre f~[n] et h~ [n] au-dela de 0 n < N . Une approche
possible est d'etendre f~[n] et h~ [n] avec une periodisation sur N echantillons
f [n] = f~[n modulo N ] ; h[n] = h~ [n modulo N ]:
La convolution circulaire de ces deux signaux de periode N est reduite a une somme sur
leur periode
X
N 1
f ? h[n] = f [p]h[n p]:
p=0
Les vecteurs propres d'un operateur de convolution circulaire
Lf [n] = f ? h[n]
sont les exponentielles discretes ek [n] = e i2Nk n. En eet,
X
N 1
i2k p
Lek [n] = e i2Nk n h[p]e N ;
p=0
et les valeurs propres sont donnees par la transformee de Fourier discrete de h[n]
X N 1
i2k p
h^ [k] = h[p]e N :
p=0
Complexite Une transformee de Fourier d'un signal de taille N s'obtient donc en calcu-
lant deux transformees de Fourier de signaux de taille N2 . Le signal f [n] etant complexe,
le calcul des signaux fp[n] et fi[n] demande N additions complexes et N2 multiplications
complexes, ce qui fait 3N additions et 2N multiplications reelles. Soit C (N ) le nombre
d'operations d'une transformee de Fourier rapide d'un signal de periode N . On a donc
C (N ) = 2C ( N2 ) + KN; (3.45)
avec K = 5. La transformee de Fourier d'un signal d'un seul point etant egale a lui-m^eme,
C (1) = 0. Avec le changement de variable l = log2 N et de fonction T (l) = C (N )=N , on
deduit de (3.45) que
T (l) = T (l 1) + K:
Comme T (0) = 0, T (l) = Kl et donc
C (N ) = KN log2(N ):
Il existe dierents algorithmes de transformee de Fourier rapide qui decomposent une
transformee de Fourier de taille N en deux transformees de Fourier de taille N2 plus O(N )
operations. L'algorithme le plus performant a ce jour est un peu plus complique que celui
que nous venons de decrire, mais ne demande que N log2 N multiplications et 3N log2 N
additions.
42 CHAPITRE 3. TRAITEMENT DU SIGNAL DISCRET
fX [n1 + p]; :::; X [nk + p]g. Cela implique que la moyenne ne depend pas de l'instant
[n] = E fX [n]g = ; (4.1)
et que l'autocovariance ne depend que de la dierence de position
Cov(X [n]; X [m]) = E f(X [n] [n])(X [m] [m])g = RX [n m]: (4.2)
En traitement du signal, on observe le plus souvent une seule realisation, a partir
de laquelle on veut estimer certains parametres du processus sous-jacent. La pauvrete
de cette information numerique nous limite generalement a l'etude de la moyenne et de
l'autocovariance. Puisque l'on n'etudie que les moments d'ordre 2 du processus, au lieu
d'imposer que le processus soit strictement stationnaire, nous supposons simplement que
la moyenne et la covariance satisfont aux proprietes de stationnarite (4.1) et (4.2). Si de
plus la variance du processus est nie
E fjX [n]j2g < +1; (4.3)
on dit que le processus est stationnaire au sens large (SSL).
Exemple Un processus X [n] est gaussien si et seulement si pour tout k et n1, ..., nk ,
le vecteur de k variables aleatoires (X [n1]; :::; X [nk ]) est gaussien. On rappelle [8] qu'un
vecteur de p variables aleatoires (X1 ; :::; Xp) est gaussien si et seulement si la densite de
probabilite peut s'ecrire sous la forme
1
1 ( x m) t R 1 ( x m) ;
p(x1 ; :::; xp) = (2)p=2jRj1=2 exp 2
ou x = (x1; :::; xp) est le vecteur de valeurs, m = (1; :::; p) est le vecteur de moyennes
avec i = E fXig, R = (Cov(Xn; Xm))1np;1mp est la matrice de covariance des p
variables aleatoires, R 1 son inverse et jRj son determinant. Un processus gaussien
est donc entierement deni par sa moyenne et sa covariance. Si X [n] est gaussien et
stationnaire au sens large (SSL), on verie facilement qu'il est aussi stationnaire au sens
strict.
En l'absence d'information sur les moments d'ordre superieur a 2, on suppose souvent
par defaut que le processus etudie est gaussien. Les processus gaussiens apparaissent
dans de nombreux phenomenes physiques a cause du theoreme de limite centrale [8] qui
demontre que la somme de variables aleatoires independantes converge vers une variable
aleatoire gaussienne.
Autocovariance Pour tout k, l'autocovariance RX [k] de X [n] peut aussi s'estimer avec
une moyenne empirique sur les valeurs d'une realisations:
NX1 jkj
~ 1
RX [k] = N (X [n] ~) (X [n + jkj] ~): (4.8)
n=0
Si on remplace ~ par la vraie moyenne , on s'apercoit que cet estimateur est biaise
mais la variance de cet estimateur est en O( N 1jkj ). Cette variance est grande lorsque k est
de l'ordre de N . Si RX [k] = O( p1k ) et k est de l'ordre de N , l'erreur quadratique moyenne
de l'estimateur biase est plus faible que celle de l'estimateur non biaise. On utilise donc
plut^ot l'estimateur biaise (4.8) que l'estimateur (4.9).
La fonction R^X (ei! ) est appelee puissance spectrale du processus car nous verrons que
cela mesure l'energie moyenne du processus par unite de frequence. La puissance spectrale
caracterise completement l'autocovariance du processus que l'on retrouve par transformee
de Fourier inverse (3.19). En particulier, la variance du processus est
1
Z 2
2
= RX [0] = 2 R^X (ei! )d!: (4.12)
0
Exemple On appelle bruit blanc tout processus SSL dont les valeurs a des instants
dierents sont decorreles, ce qui signie que
RX [n] = 2 [n]:
La puissance spectrale d'un bruit blanc est donc constante
R^X (ei! ) = 2:
Ce theoreme montre que la notion de ltrage par convolution reste valable pour les
processus stationnaires puisque les composantes frequentielles du processus ltre sont
attenuees ou ampliees par jh^ (ei! )j2.
Densite d'energie On appelle R^X (ei ) puissance spectrale car on peut l'interpreter
comme une densite d'energie le long de l'axe des frequences.
Soit h [n] le ltre reel dont la fonction de transfert est
1
^h(ei! ) = si jj!j j =2
0 si jj!j j > =2
L'energie de ce ltre est normalisee
1
Z +
2
khk = 2
jh^ (ei! )j2d! = 1:
Soit
X [n] = X ? h[n]
le processus obtenu en ne gardant que les composantes frequentielles dans le voisinage de
. Le resultat (4.14) du theoreme 4.1 permet de montrer que la variance de ce processus
est
1 Z +
2
E fjX[n]j g = RX [0] = 2
R^X (ei! )d!
Z ^
RX (ei! ) d!:
= 1
2 jj!j j 2
50 CHAPITRE 4. TRAITEMENT DU SIGNAL ALEATOIRE
Comme RX [n] 2 l1(Z), R^X (ei! ) est continue et R^X (ei ) = R^X (e i ) si bien que
lim RX [0] = R^X (ei ):
!0
La puissance spectrale a la frequence est donc proportionnelle a la densite d'energie du
processus ltre autour de la frequence .
Applique a A = X [n], le theoreme 4.2 montre qu'un estimateur lineaire X~ [n] minimise
E f(X [n] X~ [n])2 g si et seulement si
E f(X [n] X~ [n]) D[k]g = 0 pour tout n; k. (4.21)
Le theoreme suivant montre que l'estimateur lineaire optimal X~ qui minimise l'erreur
moyenne se calcule avec un ltre dont la fonction de transfert est speciee en fonction de
la puissance spectrale du signal R^X (ei! ) et du bruit R^B (ei! ).
Theoreme 4.3 (Wiener) L'estimateur lineaire qui minimise l'erreur quadratique moyenne
est X~ = D ? h avec
^ i!
h^ (ei! ) = ^ i!RX (e ^) i! : (4.22)
RX (e ) + RB (e )
L'erreur minimum resultante est
n ~ 2
o 1 Z 2 R^X (ei! ) R^B (ei! )
= E (X [n] X [n]) = 2 d! : (4.23)
0 R^ X (ei! ) + R^B (ei! )
Demonstration Soit X~ [n] un estimateur lineaire de X [n]:
X
+1
X~ [n] = h[n; l] D[l]: (4.24)
l= 1
52 CHAPITRE 4. TRAITEMENT DU SIGNAL ALEATOIRE
Si X [n] est un vecteur gaussien et B [n] est un bruit blanc gaussien, alors l'estimateur
lineaire optimal est aussi optimal parmi les estimateurs non lineaires. En eet, deux
variables aleatoires conjointement gaussiennes sont independantes si et seulement si elles
sont decorrelees [8]. Comme X [n] X~ [n] est conjointement gaussien avec D[k], la non-
correlation (4.21) signie que X [n] X~ [n] et D[k] sont independants pour tout k; n. Dans
ce cas, on peut montrer que que X~ est egale a l'estimateur optimal (4.17).
La valeur numerique de l'erreur est souvent exprimee par le rapport signal sur bruit
(SNR pour Signal to Noise Ratio), qui se mesure en decibels par
E fX 2[n]g
SNRdb = 10 log10 : (4.26)
E f(X [n] X~ [n])2 g
100 100
50 50
0 0
50 50
100 100
0 200 400 600 800 1000 0 200 400 600 800 1000
(a) (b)
100
50
50
100
0 200 400 600 800 1000
(c)
Figure 4.1: (a): Realisation d'un processus gaussien X . (b): Signal bruite obtenu en
ajoutant un bruit blanc gaussien (SNR = -0,48db). (c): Estimation de Wiener X~ (SNR
= 15,2db).
Exemple La gure 4.1(a) montre une realisation d'un processus gaussien X obtenu
par un ltrage passe-bas d'un bruit blanc gaussien B0 de variance 02 :
X [n] = B0 ? g[n];
avec
2
n
g[n] = cos 2K 1[ K;K ][n] :
Le theoreme 4.1 montre que
R^X (ei! ) = R^B (ei! ) jg^(ei! )j2 = 02 jg^(ei! )j2:
54 CHAPITRE 4. TRAITEMENT DU SIGNAL ALEATOIRE
Le signal bruite D de la gure 4.1(b) est contamine par un bruit blanc B de variance 2.
L'estimation de la gure 4.1(c) est calculee par le ltre de Wiener (4.22):
200 200
150 150
100 100
50 50
0 0
50 50
100 100
0 1000 2000 3000 4000 0 1000 2000 3000 4000
(a) (b)
200
150
100
50
50
100
0 1000 2000 3000 4000
(c)
Figure 4.2: (a): Realisation d'un processus non gaussien X . (b): Signal bruite contamine
par un bruit blanc gaussien (SNR = 21,9db). (c): Estimation de Wiener X~ (SNR=
25,9db).
Chapitre 5
Traitement de la Parole
Le traitement de la parole necessite une analyse physiologique des mecanismes de produc-
tion, ce qui permet de comprendre les proprietes particulieres de ce type de signal. Cela
motive notament l'utilisation de modeles autoregressifs. L'identication des parametres
de ces modeles se fait par regression lineaire. Outre les applications a la reconnaissance
de la parole, ces modeles permettent de coder ecacement les signaux de parole pour la
telephonie cellulaire.
55
56 CHAPITRE 5. TRAITEMENT DE LA PAROLE
Articulation Le conduit vocal donne l'articulation au son qui caracterise chaque phoneme.
Nous avons vu que pour un son voise, le larynx emet un train d'onde riche en harmoniques
qui est ltre par le conduit vocal. Ce conduit vocal a des resonances appelees \formants".
La deformation du conduit vocal deplace les frequences de resonance, ce qui permet de
former toutes les voyelles et certaines consonnes. Pour des sons non-voises, le conduit
vocal peut aussi eectuer des constrictions qui produit des fricatives ou des sons chuintes
telles que le [s] et le [ch]. Les sons plosifs sont produits par une fermeture du conduit
vocal ce qui cree une occlusion. Le rel^achement brutal de cette occlusion produit alors
une plosive telle que [p] ou [t]. L'articulation du son est aussi aectee par l'ouverture de
la cavite nasale. Des categorisations tres detaillees des dierents sons de parole ont ete
faites par les phoneticiens.
Figure 5.3: Le conduit vocal peut se modeliser comme une succession de cylindres de
m^eme longueur ayant des diametres dierents.
Figure 5.4: La gure de gauche donne la position des 8 p^oles d'un ltre autoregressif
tandis que la gure de droite donne le module jh^ (ei! )jdb .
ainsi que les pertes d'energie dues aux vibrations des parois du conduit vocal et aux fric-
tions.
Formants Ce modele simplie montre que le conduit vocal peut ^etre represente par
un ltre autoregressif dont les parametres a[k] dependent de la conguration du conduit
vocal. Ce ltre etant causal et stable, nous savons que les p^oles de h^ (z) sont tous de
module plus petit que 1. Les p^oles de h^ (z) qui sont proches du cercle unite produisent un
pic dans le module de la reponse frequentielle jh^ (ei! )j. Ces pics de frequence sont appeles
formants. Ils ont une importance particuliere pour la reconnaissance des sons produits.
Plus le zero est proche du cercle unite, plus le formant est prononce. Les formants de
plus grande amplitude sont generalement les 2 premiers, apparaissant aux plus basses
frequences. La gure 5.4 donne un exemple de ltre autoregressif ayant 8 p^oles dont la
position est indiquee dans le plan complexe. La reponse frequentielle jh^ (ei! )jdb est donnee
a droite.
5.1.3 Excitation
Sons voises En mode vibratoire, les cordes vocales emettent un train d'onde qui peut
s'ecrire
X
+1 X
+1
f (t) = g(t nT ) = g(t) ? (t nT ):
n= 1 n= 1
ou g(t) est une onde elementaire dont le support est petit devant T (voire gure 5.2).
On peut supposer que cette onde est independante de la forme du conduit vocal. En
5.1. MODELISATION DU SIGNAL DE PAROLE 59
T
e[n]
h
Figure 5.5: Modelisation d'un son de parole par une excitation periodique ou aleatoire,
ltree par un ltre autoregressif.
d'un son voise, la periode des impulsions (pitch) est un parametre qui doit ^etre determine.
Ce modele est illustre par la gure 5.5.
Stationnarite Le conduit vocal ne se comporte comme un ltre lineaire homogene que
sur des intervalles de temps relativement petits. Sur une duree plus longue, un signal
de parole est non stationnaire puisque les sons changent au cours du temps. La taille
des intervalles sur lesquels le son peut ^etre approxime par une excitation modulee par un
ltre homogene depend de la nature du son. Pour une voyelle, cette approximation est
valable sur environ 10 2 seconde alors que beaucoup de sons de consonnes telles que les
plosives ne restent pas stationnaires sur cette duree. La variation de ces intervalles de
stationnarite est l'une des dicultes du traitement de la parole.
Les ck sont les p^oles de h^ (z) et comme h est stable, jck j < 1 pour tout 0 k < N . On en
deduit l'autocovariance decroit exponentiellement liml!+1 RX [l] = 0.
La variance du bruit blanc B [n] se calcule a partir de (5.3) en observant que comme
B [n] est independant de X [n l]
X
N
2 = E fB [n]2 g = E fB [n]X [n]g = RX [0] ak RX [k]: (5.6)
k=1
Comme les coecients ak ne dependent que de RX [l], la variance du bruit blanc est aussi
entierement denie par RX [l].
Figure 5.6: Des portions du signal de parole sont isolees par des fen^etres, qui couvrent
des intervalles de temps ou le signal peut ^etre considere comme stationnaire.
a la prediction de x[n] par son passe. Ce point de vue permet de poser l'identication des
parametres ak du ltre AR comme un probleme de prediction lineaire. Etant donne un
signal x[n], on veut calculer les coecients de regression tels que l'estimation (5.8) genere
une erreur
X
+1
2 X+1
(x[n] x~[n]) = e2 [n] (5.9)
n= 1 n= 1
qui est minimum. Pour eectuer ce calcul on introduit l'autocorrelation empirique du
signal x[n]
X
+1
rx[k] = x[n k]x[n]: (5.10)
n= 1
Cette somme s'etend seulement sur P valeurs car x[n] a au plus P valeurs consecutives
non nulles. Le theoreme suivant caracterise les coecients de regression de x~[n].
TheoremeP5.1
N
(Prediction lineaire) Les coecients de regression fak g1kN du sig-
nal x~[n] = k=1 ak x[n k] qui minimise
X
+1
= jx[n] x~[n]j2
n= 1
sont solutions du systeme
0 r [0] rx[1] ::: rx[N ] a1
10 1 0 rx[1]
1
BB rxx[ 1] rx[0] C B
::: rx[N 1] C B a2 CC BB rx[2] CC
BB : : ::: : CC BB : CC = BB : C C:
BB : : ::: : CC BB : CC BB : C C
(5.11)
@ : : ::: : A@ : A @ : A
rx[ N ] rx[ N + 1] ::: rx[0] aN rx[N ]
L'erreur resultante est
X
N
= rx[0] ak rx[k]: (5.12)
k=1
Demonstration La demonstration se fait par une interpretation geometrique du
probleme de minimisation Le signal x[n] a une energie nie et donc appartient a l'espace
l2(Z) muni de la norme
X
+1
kx[n]k2 = jx[n]j2
n= 1
et du produit scalaire
X
+1
< x[n]; y[n] >= x[n] y[n]:
n= 1
Le vecteur x~[n] est une combinaison lineaire des vecteurs fxk [n] = x[n k]g1kN et
appartient donc a l'espace V genere par ces N vecteurs. Minimiser l'erreur de prediction
5.3. ESTIMATION D'UN MODELE DE PAROLE 65
(5.9) revient donc trouver un vecteur x~[n] de V qui minimise kx x~k2. Le theoreme de
projection prouve que ce vecteur est la projection orthogonale de x~ dans V. C'est donc
un vecteur tel que x x~ est orthogonal a tous les vecteurs de V et en particulier aux
vecteurs fx[n k]g1kN
X
+1
< x[n] x~[n]; x[n k] >= (x[n] x~[n])x[n k] = 0:
n= 1
En inserant (5.8) ces equations se reecrivent
X
+1 X
N X
+1
x[n]x[n k] a[p] x[n p]x[n k] = 0: (5.13)
n= 1 1=0 n= 1
En inserant (5.10) on obtient
X
N
a[p]rx[k p] = rx[k] ; pour 1 k N;
p=1
qui correspond au systeme de N equations a N inconnues (5.11).
Comme x[n] x~[n] est orthogonal a tout vecteur dans V et donc a x~[n], l'energie de
l'erreur peut s'ecrire
=< x[n] x~[n]; x[n] x~[n] >=< x[n] x~[n]; x[n] > :
En remplacant x~[n] par son expression (5.8), on obtient
X
+1 X
N X
+1
= x[n]x[n] a[p] x[n p]x[n]
n= 1 p=1 n= 1
et donc (5.12) 2
Filtre AR pour sons non-voises Un son non-voise est modelise par bruit blanc traver-
sant un ltre AR. En comparant le systeme de Yule-Walker (5.5) et le systeme (5.11), on
s'apercoit que ces equations sont identiques lorsque l'on remplace l'autocorrelation RX [k]
du processus X [n] par l'autocorrelation empirique rx[k] du signal x[n]. Si e[n] est une
realisation du bruit blanc B [n] alors x[n] est une realisation du processus autoregressif
X [n]. L'autocorrelation empirique rx[k] peut donc s'interpreter comme une estimation
de la veritable autocorrelation RX [k] du processus. Les equations de predictions lineaires
(5.11) sont donc une approximation des equations de Yule-Walker (5.5), qui permettent
d'estimer les coecients a[k] du ltre AR. La resolution du systeme (5.11) peut se faire
en utilisant l'algorithme rapide de Levinson-Durbin qui necessite O(N 2 ) operations [1].
Filtre AR pour son voise Lorsque le son est voise, l'algorithme de regression lineaire
donne aussi une bonne estimation du ltre AR. La justication est cependant plus com-
pliquee et nous n'en donnons qu'une explication supercielle. Le signal de parole f [n] est
66 CHAPITRE 5. TRAITEMENT DE LA PAROLE
qui peut ^etre interprete comme une \note de musique" localisee au voisinage de t = u, et
autour de la frequence . La transformee de Fourier a fen^etre mesure la correlation entre
le signal f (t) et cette note elementaire
Z +1
Sf (u; ) = (t)dt:
f (t)gu; (6.1)
1
Comme g est paire, gu; (t) = eitg(t u) en centre sur u. Le produit f gu; isole donc les
composantes de f au voisinage de u, et Sf (u; ) ne depend que des proprietes de f dans
ce voisinage. L'etalement en temps de gu; est independant de u et de :
Z +1 Z +1
2 =
t (t u)2 jgu; (t)j2 dt = t2 jg(t)j2 dt: (6.2)
1 1
Si l'on applique la formule de Parseval (2.29) a (6.1), on obtient une integrale frequentielle
1 Z +1
Sf (u; ) = 2 f^(!) g^u;
(! ) d!:
1
La valeur Sf (u; ) ne depend donc que du comportement de f^(!) dans le domaine
(! ) n'est pas negligeable. La transformee de Fourier g^ de g est reelle et
frequentiel ou g^u;
symetrique car g est reelle et symetrique. En utilisant les proprietes (2.18) et (2.19), on
montre que la transformee de Fourier de gu; (t) = g(t u)eit peut s'ecrire
g^u; (!) = e iu(! ) g^(! ):
C'est donc une fonction centree a la frequence ! = . Son etalement frequentiel autour
de vaut Z +1 Z +1
2 1
! = 2 2
(! ) jg^u; (!)j d! = 2 1 !2 jg^(!)j d!: (6.3)
1 1
Il est independant de u et de . Dans un plan temps-frequence (t; !), on represente gu;
par une bo^te de Heisenberg de taille t ! , centree en (u; ), comme on peut le voir
sur la gure 6.1. La taille de cette bo^te ne depend pas de (u; ), ce qui veut dire que la
resolution de la transformee de Fourier fen^etree reste constante sur tout le plan temps-
frequence.
Incertitude de Heisenberg Pour mesurer les composantes de f et de f^ dans des pe-
tits voisinages de u et il faut construire une fen^etre g(t) qui est bien localisee dans le
temps, et dont l'energie de la transformee de Fourier est concentree dans un petit domaine
frequentiel. Le Dirac g(t) = (t) a un support ponctuel t = 0, mais sa transformee de
Fourier ^(!) = 1 a une energie qui est distribuee uniformement sur toutes les frequences.
On sait que jg^(!)j decroit rapidement dans les hautes frequences seulement si g(t) est une
fonction qui varie regulierement. L'energie de g est donc necessairement repartie sur un
domaine temporel relativement large.
Pour reduire l'etalement temporel de g, on peut operer un changement d'echelle de
temps d'un facteur s < 1 sans changer son energie totale, soit
g(t) = p1s g0( st ) avec kgk2 = kg0k2:
6.1. TRANSFORMEE DE FOURIER A FENE^TRE 71
t
|g^v,() |
t
|g^ () |
u,
0 t
u v
Figure 6.1: Les bo^tes de Heisenberg de deux atomes de Fourier fen^etres gu; and g;
.
p
La transformee de Fourier g^(!) = s g^0(s!) est dilatee d'un facteur 1=s, et on perd donc
en frequentiel ce qu'on a gagne en temporel. On voit appara^tre un compromis entre la
localisation en temps et celle en frequence.
Les concentrations en temps en en frequences sont limitees par le principe d'incertitude
d'Heisenberg. Ce principe d'incertitude a une interpretation, particulierement importante
en mecanique quantique, comme une incertitude sur la position et l'impulsion d'une partic-
ule libre. Plus t et ! sont grandes, plus on a d'incertitude sur la position et l'impulsion
de la particule libre. Le theoreme suivant montre que le produit t ! ne peut ^etre
arbitrairement petit.
Theoreme 6.1 (Incertitude de Heisenberg) On suppose que g 2 L2(R ) est une fonc-
tion centree en 0 et dont la transformee de Fourier est aussi centree en 0:
Z +1 Z +1
t jg(t)j2 dt = ! jg^(!)j2 d! = 0 :
1 1
Alors les variances denies en (6.2,6.3) satisfont
t2 !2 41 : (6.4)
Cette inegalite est une egalite si et seulement si il existe (a; b) 2 C 2 tel que
g(t) = a e bt2 : (6.5)
p
Demonstration La preuve suivante, due a Weyl, suppose que limjtj!+1 tg(t) = 0,
mais le theoreme est vrai pour tout g 2 L2(R ). Remarquons que
1
Z +1 Z +1
2 2
t ! = 2kgk4 2
jt g(t)j dt j! g^(!)j2 d!: (6.6)
1 1
Comme i!g^(!) est la transformee de Fourier de g0(t), l'identite de Plancherel (2.30) ap-
pliquee a i!g^(!) donne
1 Z +1 Z +1
2 2
t ! = kgk4 2
jt g(t)j dt jg0(t)j2 dt: (6.7)
1 1
72 CHAPITRE 6. ANALYSE TEMPS-FREQUENCE
3. Dans la gure 6.2, on voit le spectrogramme d'un signal qui a une composantes dont
la \frequence instantanee" augmente lineairement dans le temps (chirp lineaire) et une
seconde composante dont la frequence decroit de facon quadratique dans le temps (chirp
quadratique). S'ajoute a cela deux gaussiennes modulees. On a calcule le spectrogramme
avec une fen^etre gaussienne dilatee d'un facteur s = 0; 05. Le chirp lineaire a des coe-
cients de grande amplitude le long de la trajectoire de sa frequence instantanee. Le chirp
quadratique donne des grands coecients le long d'une parabole. Les deux gaussiennes
modulees donnent deux taches frequentielles a haute et basse frequence, en u = 0; 5 et
u = 0; 87.
4. La gure 6.3 montre le spectrogramme du son \greasy" dont le graphique est donne au-
dessus. L'amplitude de jSf (u; )j2 est d'autant plus grande que l'image du spectrogramme
est sombre. Le \ea" tout comme le \y" sont des sons voises dont les formants apparaissent
clairement sur le spectrogramme. Le \s" est un son non-voise dont l'energie est diuse en
hautes frequences.
f(t)
2
2
t
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
/ 2
500
450
400
350
300
250
200
150
100
50
0 u
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(a)
/ 2
500
450
400
350
300
250
200
150
100
50
0 u
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(b)
Figure 6.2: Le signal comprend un chirp lineaire de frequence croissante, un chirp quadra-
tique de frequence decroissante, et deux gaussiennes modulees situees en t = 0; 5 et
t = 0; 87. (a) Spectrogramme PS f (u; ). Les axes horizontaux et verticaux correspondent
respectivement au temps u et a la frequence . Les points sombres correspondent a des
coecients de grande amplitude. (b) Phase complexe de Sf (u; ) dans les regions ou le
module de PS f (u; ) est non nul.
6.1. TRANSFORMEE DE FOURIER A FENE^TRE 75
Figure 6.3: Le graphique du dessus correspond au son \greasy" enregistre a 8kHz. Son
spectrogramme jSf (u; )j2 est montre au-dessous, dans le plan temps-frequence.
76 CHAPITRE 6. ANALYSE TEMPS-FREQUENCE
On dit que le signal complexe fa (t) est analytique car on peut demontrer qu'il a une
extension analytique sur le demi plan complexe superieur. Par ailleurs on peut verier
que f = Re[fa ] car f^(!) = 21 (f^a(!) + f^a( !)).
On peut representer fa en separant le module de la phase complexe
fa (t) = a(t) ei(t) :
On en deduit
f (t) = a(t) cos (t):
On dira que a(t) est l'amplitude analytique de f (t), et 0(t) sa frequence analytique
instantanee; elles sont denies de maniere unique.
Exemple
1. Si f (t) = a(t) cos(!0 t + 0 ), alors
1
f^(!) = ei0 a^(! !0 ) + e i0 a^(! + !0 ) :
2
78 CHAPITRE 6. ANALYSE TEMPS-FREQUENCE
Si les variations de a(t) sont lentes en comparaison de la periode !20 , ce qu'on peut obtenir
en forcant le support de a^(!) a ^etre dans [ !0 ; !0 ], alors
f^a (!) = ei0 a^(! !0 )
d'ou fa (t) = a(t) ei(!0 t+0 ) .
les ak et les frequences instantanees 0k de chaque partielle, dont on deduit la phase k
par integration.
Pour comprimer de son f d'un facteur dans le temps, et sans modier les valeurs
des 0k et des ak , on synthetise
X
K
g(t) = ak ( t) cos 1 k ( t) : (6.19)
k=1
Les partielles de g en t = t0 et les partielles de f en t = t0 ont les m^emes amplitudes
et les m^emes frequences instantanees. Pour > 1, le son g est plus court que f tout en
etant percu comme ayant le m^eme \contenu frequentiel" que f .
On opere un deplacement frequentiel en multipliant chaque phase par une constante
:
X K
g(t) = bk (t) cos k (t) : (6.20)
k=1
La frequence instantanee de chaque partielle vaut maintenant 0k (t). Pour calculer
les nouvelles amplitudes bk (t), on utilise un modele de resonnance, qui suppose que ces
amplitudes sont les echantillons d'une enveloppe frequentielle lisse F (t; !):
ak (t) = F t; 0k (t) et bk (t) = F t; 0k (t) :
En traitement de la parole, cette enveloppe est compose de plusieurs formants. Il est fonc-
tion du type de phoneme qui a ete prononce. Comme F (t; !) est une fonction reguliere
de !, on calcule son amplitude en ! = 0k (t) par interpolation des valeurs ak (t) corre-
spondant a ! = 0k (t).
Points de cr^ete Supposons que a(t) et 0(t) ont des variations negligeables sur les
intervalles de taille s, et que 0(t) !. Comme jg^(!)j est maximal en ! = 0, (6.23)
montre que, pour chaque u, le spectrogramme jSf (u; )j2 est maximal en (u) = 0(u).
Les points correspondants (u; (u)) du plan temps-frequence sont appeles des cr^etes. Aux
points de cr^ete, (6.23) devient
Sf (u; ) = 21 a(u) ei((u) u) g^(0) (6.25)
6.2. FREQUENCE INSTANTANEE 81
a(u) parce qu'elles peuvent ^etre des artifacts provenant de variations bruitees, ou des
\ombres" d'autres frequences instantanees, d^ues aux lobes lateraux de g^(!).
Dans la gure 6.4, on peut voir les cr^etes obtenues a partir du module et de la phase
de la transformee de Fourier fen^etree de la gure 6.2. Pour t 2 [0; 4 ; 0; 5], les frequences
intantanees sont trop proches et la resolution en frequence de la fen^etre ne permet pas de
les separer. En consequence, les cr^etes y detectent une frequence instantanee moyenne.
/2
500
450
400
350
300
250
200
150
100
50
0 u
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
f(t)
0.5
0.5
t
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
/ 2
500
450
400
350
300
250
200
150
100
50
0 u
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(a)
/ 2
500
450
400
350
300
250
200
150
100
50
0 u
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(b)
Figure 6.5: Somme de deux \chirps" lineaires pralleles. (a): Spectrogramme PS f (u; ) =
jSf (u; )j2. (b): Cr^etes calculees a partir du spectrogramme.
84 CHAPITRE 6. ANALYSE TEMPS-FREQUENCE
f(t)
1
t
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
/ 2
500
450
400
350
300
250
200
150
100
50
0 u
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(a)
/ 2
500
450
400
350
300
250
200
150
100
50
0 u
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(b)
Figure 6.6: Somme de deux chirps hyperboliques. (a): Spectrogramme PS f (u; ). (b):
Cr^etes calculees a partir du spectrogramme.
6.2. FREQUENCE INSTANTANEE 85
Les chirps lineaires de la gure 6.5 verient (6.33). On a calcule leurs cr^etes en utilisant
une fen^etre gaussienne avec s = 0; 05.
2. Le chirp hyperbolique
f (t) = cos
t
pour 0 t < a une frequence instantanee
0 (t) =
( t)2 ;
a variation rapide quand t est proche de . Les frequences instantanees des chirps hyper-
boliques vont de 0 a +1 en un temps ni. Cette propriete est particulierement utile aux
radars. Ces chirps sont egalement produits par les sonars de navigation des chauves-souris
[14].
On ne peut pas estimer les frequences instantanees des chirps hyperboliques par une
transformee de Fourier fen^etree parce que, pour une taille de fen^etre donnee, la frequence
instantanee varie trop rapidement dans les hautes frequences. Lorsque u est assez proche
de , on ne peut considerer que la frequence instantanee 0 (t) est constante sur le support
[u s=2; u + s=2] de g(t u) car
s2
s2 j00 (u)j =
( u)3 > 1:
En gure 6.6, on voit un signal compose de la somme de deux chirps hyperboliques:
1 2
f (t) = a1 cos + a2 cos ; (6.34)
1 t 2 t
avec 1 = 0; 68 et 2 = 0; 72. Au debut du signal, les deux chirps ont des frequences instan-
tanees voisines qui sont separees par la transformee de Fourier fen^etree, qu'on a calculee
avec une fen^etre large. Quand on se rapproche de 1 ou de 2 , la frequence instantanee
varie trop rapidement en regard de la taille de la fen^etre. Les cr^etes correspondantes ne
permettent plus de suivre ces frequences instantanees.
86 CHAPITRE 6. ANALYSE TEMPS-FREQUENCE
Chapitre 7
Information et Codage
La complexite d'une suite de symboles peut se mesurer par la taille minimum d'un code
permettant de reconstruire cette suite. La theorie de l'information de Shannon montre
que le nombre de bit moyen pour coder chaque symbole depend de l'entropie du processus
aleatoire sous-jacent. Pour coder des suites de nombre reels, il est necessaire de les ap-
proximer avec une quantication avant d'eectuer un codage entropique. L'optimisation
de cette quantication est etudiee. Ces resultats donnent les bases mathematiques et
algorithmiques permettant de comprimer des signaux audios ou des images.
Comme les variables Xi sont independantes, la probabilite d'une suite de valeurs est:
Yn Yn
p(x1 ; ::: ; xn) = PrfX1 = x1 ; ::: ; Xn = xng = PrfXk = xk g = p(xk ):
k=1 k=1
On peut denir p(X1; :: Xn) =
Qn p(X ) qui est une variable aleatoire donnant la
k=1 k
probabilite d'une suite de valeurs tiree au hasard. Le theoreme suivant montre que pour
n xe et susament grand, alors pour la plupart des tirages, le log de cette probabilite
est presque constante et egale a l'entropie
X
K
H= p(ak ) log2 p(ak ) = E flog2 p(Xi)g:
k=1
L'entropie H peut s'interpreter comme l'incertitude moyenne sur les valeurs que prennent
les variables aleatoire Xi. On peut verier que
0 H log2 K:
L'entropie est maximum, H = log2 K , si p(ak ) = K1 pour 1 k K . Il y a en eet une
incertitude maximum sur les valeurs prises par Xi. L'entropie est minimum, H = 0, si
l'un des symboles ak a une probabilite 1. On conna^t alors a l'avance la valeur de Xi .
Theoreme 7.1 Si les Xi sont des variables aleatoires independantes et de m^eme proba-
bilite p(x) alors
1 log p(X ; :::; X ) tend vers H avec une probabilite 1
n 2 1 n
Xf(X1n;(:::;
1 < Pr Xn) 2 Tng
2 H ) = jTnj 2 n(H );
x2Tn
ce qui demontre l'inegalite (7.4) a gauche. 2
Codage On peut eectuer un codage \-typique" des valeurs de X1 :::; Xn qui utilise
des mots binaires plus courts pour coder les sequences typiques qui sont les plus proba-
bles. Comme il y a moins de 2n(H +) elements dans Tn, ces elements peuvent ^etre indexes
par des mots binaires de bn(H + )c + 1 bits, ou bxc est le plus grand entier inferieur a
x. Comme il y a K n elements dans A, les elements qui n'appartiennent pas a Tn peuvent
^etre indexes par des mots binaires de blog2 K c +1 bits. An de savoir si x 2 Tn on rajoute
un 0 au debut de son code binaire, qui est donc de longueur bn(H + )c + 2. Si x 2= Tn on
rajoute un 1 au debut de son code binaire, dont la taille est donc blog2 K c + 2. On note
R le nombre moyen de bits pour coder chaque symbole d'une sequence X1; :::; Xn.
90 CHAPITRE 7. INFORMATION ET CODAGE
Theoreme 7.2 Il existe C > 0 tel que pour tout > 0, et n susament grand, le nombre
moyen R de bits par symbole d'un codage -typique satisfait
R H + C :
Demonstration On note X~ = (X1; :::; Xn), ~x = (x1; :::; xn ). Soit l(xi ) la longueur du
mot binaire utilise par un code typique pour coder xi. Le nombre total de bits pour coder
~x est
X
n
l(~x) = l(xi ) :
i=1
Le nombre total moyen de bits par symbole est donc
X X X
n R = E fl(X~ )g = l(~x) p(~x) = l(~x) p(~x) + l(~x) p(~x)
~x2An ~x2Tn ~x2=Tn
PrfX~ 2 Tng bn(H + )c + 2 + PrfX~ 2= Tng bn log2 K c + 2
n(H + ) + 2 + (n log2 K + 2) n H + n C
avec C = 5 + log2 K pour n 1=. 2
Ce theoreme demontre que l'on peut constuire un code dont le nombre de bit moyen
par pixel est arbitrairement pres de l'entropie H . Par ailleurs, on peut montrer que tout
code necessite un nombre moyen de bit par symbole R H . Le paragraphe suivant
demontre ce resultat pour les codes par blocs.
binaire. Cette condition est clairement necessaire et susante pour garantir que toute
suite de mots binaires se decode de facon unique. Dans l'exemple precedent, w2 est le
prexe de w4. Le code suivant
fw1 = 0 ; w2 = 10 ; w3 = 110 ; w4 = 111g
satisfait la condition de prexe.
0 1
0 1
0 1
w6 w5
00 01 0 1 0 1
w4 w3 w2 w1
100 101 110 111
Figure 7.1: Arbre binaire d'un code de 6 symboles, qui satisfait la condition de prexe.
Le mot binaire wk de chaque feuille est indique au-dessous.
Un code qui satisfait la condition de prexe peut ^etre associe a un arbre binaire, dont
les K feuilles correspondent aux symboles fak g1kK . Cette representation est utile pour
construire le code qui minimise le nombre de bits moyen R. Les branches de gauche et
de droite de l'arbre binaire sont respectivement codees par 0 et 1. La gure 7.1 montre
un exemple pour un code de 6 symboles. Le mot binaire wk associe au symbole ak est
la succession de 0 et de 1 correspondant aux branches de gauche et de droite, le long du
chemin de la racine de l'arbre a la feuille correspondant a ak . Le code binaire genere par
un tel arbre satisfait toujours la condition de prexe. En eet, wm est un prexe de wk
si et seulement si am est un anc^etre de ak dans l'arbre binaire. Ceci n'est pas possible
puisque les deux symboles correspondent a des feuilles de l'arbre. Inversement, tout code
prexe peut ^etre represente par un tel arbre binaire. La longueur lk du mot binaire wk est
la profondeur de la feuille ak dans l'arbre binaire. L'optimisation d'un code de prexe est
donc equivalente a la construction d'un arbre binaire optimal qui distribue les profondeur
des feuilles de facon a minimiser (7.5).
Entropie de Shannon Le theoreme de Shannon prouve que le nombre moyen de bit
R par symbole est plus grand que l'entropie.
Theoreme 7.3 (Shannon) On suppose que les symboles fak g1kK apparaissent avec
la distribution de probabilite fp(ak )g1kK . Le nombre moyen R de bit d'un code ayant
la propriete du prexe satisfait
X
K
RH= p(ak ) log2 p(ak ): (7.6)
k=1
Il existe un code ayant la propriete du prexe tel que
R H + 1: (7.7)
92 CHAPITRE 7. INFORMATION ET CODAGE
l1
T1 T2 m
T3
N1 N2 N3
Figure 7.2: Disposition des sous arbres Ti dont la racine est a la profondeur li dans l'arbre
d'un code de prexe.
Inversement, on considere flk g1kK satisfaisant (7.8) avec l1 l2 ::: lK et
m = maxfl1; l2; :::; lK g. On denit les ensembles N1 des 2m l1 premiers noeud au niveau
m sur la gauche de l'arbre, puis N2 l'ensemble des 2m l2 noeuds suivants et ainsi de suite
comme l'indique la gure 7.2. Les noeuds des ensembles Nk sont les noeuds terminaux
7.1. COMPLEXITE ET ENTROPIE 93
2
Codage par blocs L'ajout de 1 bit dans l'inegalite (7.7) vient du fait que log2 pi
n'est pas necessairement un entier alors que la longueur d'un mot binaire doit ^etre un
entier. On peut construire des codes tels que R est plus proche de H en repartissant ce
bit supplementaire sur un bloc de n elements. Au lieu de faire un codage instantane,
symbole par symbole, on code d'un coup le bloc de symboles X~ = X1; ::: ; Xn, qui peut
^etre considere comme une variable aleatoire a valeurs dans l'alphabet An de taille K n. A
tout bloc de symboles ~a 2 An on associe un mot binaire de longuer l(~a). Le nombre de
bits R par symbole pour un tel code par bloc est
X
R = n1 p(~a) l(~a):
~a2An
Proposition 7.2 Le nombre moyen R de bit d'un code par bloc de taille n ayant la
propriete du prexe satisfait
X
K
RH= p(ak ) log2 p(ak ): (7.10)
k=1
Il existe un code par blocs de taille n ayant la propriete du prexe tel que
R H + 1:
n (7.11)
Demonstration L'entropie associee a X~ est
X
H~ = p(~x) log2 p(~x):
~x2An
Comme les variables aleatoires Xi sont independantes
Yn
p(~x) = p(x1 ; :::; xn) = p(xi) :
i=1
On demontre par recurrence sur n que H~ = nH . Soit R~ le nombre de bits moyen pour
coder les n symboles X~ . Le theoreme de Shannon 7.3 montre que R~ H~ et qu'il existe
un code par bloc tel que R~ H~ + 1. On deduit donc (7.10,7.11) pour R = Rn~ , qui est le
nombre de bits moyen par symbole. 2
Ce theoreme demontre que des codes par blocs utilisent un nombre moyen de bits par
symbole qui tendent vers l'entropie lorsque la taille du bloc augmente.
Code de Human L'algorithme de Human est un algorithme de programmation dy-
namique qui construit de bas en haut un arbre correspondant a un code prexe et qui
minimise
XK
R = p(ak ) lk : (7.12)
k=1
7.1. COMPLEXITE ET ENTROPIE 95
Nous ordonnons fak g1kK pour que p(ak ) p(ak+1). Pour minimiser (7.12) les sym-
boles de plus petites probabilites doivent ^etre associes aux mot binaires wk de longueur
maximale, ce qui correspond a un noeud au bas de l'arbre. Nous commencons donc par
representer les deux symboles de plus petite probabilite a1 et a2 comme les enfants d'un
noeud commun. Ce noeud peut ^etre interprete comme un symbole a1;2 correspondant a
\a1 ou a2 " et dont la probabilite est p(a1) + p(a2 ). La proposition suivante prouve que
l'on peut iterer ce regroupement elementaire et construire un code optimal.
Proposition 7.3 On considere K symboles avec leurs probabilites ordonnees en ordre
croissant: p(ak ) p(ak+1). On regroupe les deux symboles a1 et a2 de probabilite minimum
en un seul symbole a1;2 de probabilite
p(a1;2 ) = p(a1 ) + p(a2):
Un arbre correspondant a un code prexe optimal pour les K symboles se construit a partir
d'un arbre de code prexe optimal pour les K 1 symboles fa1;2 g[fak g3kK , en divisant
la feuille de a1;2 en deux noeuds correspondant a a1 et a2 .
La demonstration de cette proposition se trouve dans [2]. Cette proposition reduit
la construction d'un code optimal de K symboles a la construction d'un code optimal
pour les K 1 symboles. Le code de Human itere K 1 fois ce regroupement et fait
progressivement pousser l'arbre d'un code de prexe optimal depuis le bas jusqu'en haut.
Le Theoreme 7.3 de Shannon prouve que
H R H + 1: (7.13)
0 1
a6
0.4 0 1
a a1,2,3
4,5
0 1 0 1
a1,2
a a a3
5 4
0.2 0.15 0.1 0 1
a a
2 1
0.1 0.05
Figure 7.3: Arbre correspondant au code de Human pour une source dont les probabilites
sont donnees par (7.14).
7.2 Quantication scalaire
Si une variable aleatoire X prend des valeurs reelles quelconques, on ne peut pas obtenir
un code exact de taille nie. Il est alors necessaire d'approximer X par X~ qui prend ses
valeurs dans un alphabet ni, et l'erreur resultante est
D = E fjX X~ j2g:
Un quanticateur scalaire decompose l'axe reel en K intervalles f[yk 1; yk ]g1kK de tailles
variables, avec y0 = 1 et yK = +1. Le quanticateur associe a tout x 2 [yk 1; yk ] une
valeur Q(x) = ak . Si les K niveaux de quantication fak g1kK sont xes a priori, pour
minimiser jx Q(x)j = jx ak j, il faut que la quantication associe a x son niveau de
quantication ak le plus proche. On doit alors choisir des intervalles de quantication qui
satisfont
yk = ak +2ak+1 (7.15)
Proposition 7.4 Pour un quanticateur de haute resolution sur des intervalles [yk 1; yk ],
l'erreur D minimum obtenue en optimisant la position des niveaux fak g0kK est
1 XK
D = 12 pk 2k : (7.18)
k=1
Demonstration Comme Q(x) = ak si x 2 [yk 1; yk ), on peut reecrire (7.16)
K Z yk
X
D= (x ak )2p(x)dx:
k=1 yk 1
En remplacant p(x) par son expression (7.17) on a
D=
X
K
pk Z yk (x ak )2dx: (7.19)
k=1 k yk 1
Cette erreur est minimum pour ak = 12 (yk + yk 1), et l'integration donne (7.18). 2
Quantication uniforme Le quanticateur uniforme est un cas particulier important
ou tous les intervalles de quantication sont de m^eme taille
yk yk 1 = pour 1 k K:
L'erreur quadratique moyenne (7.18) devient
2X
K 2
D = 12 pk = 12 : (7.20)
k=1
Elle est independante de la distribution de probabilite p(x) de la source.
Quantication optimale On veut optimiser le quanticateur pour minimiser le nombre
de bits necessaires pour coder les valeurs quantiees X~ , etant donnee une distortion D
admissible. Le theoreme de Shannon 7.3 prouve que la valeur moyenne minimum de bits
necessaire pour coder X~ est superieure a l'entropie H de la variable aleatoire X~ . Comme
le code de Human donne un resultat proche de cette entropie, il nous faut minimiser
l'entropie H pour D xe.
La source quantiee X~ prend K valeurs dierentes fak g1kK avec probabilites fpk g1kK .
L'entropie du signal quantie est donc
X
K
H= pk log2 pk :
k=1
On denit l'entropie dierentielle de la variable aleatoire X a valeurs reelles
Z +1
Hd = p(x) log2 p(x)dx: (7.21)
1
Le theoreme suivant montre que pour un quanticateur de haute resolution produisant
une erreur D, l'entropie est minimum lorsque le quanticateur est uniforme.
98 CHAPITRE 7. INFORMATION ET CODAGE
Nous avons vu dans le paragraphe 5.1 que la production d'un signal de parole est bien
comprise. Des ltres autoregressifs excites par des trains d'impulsions ou un bruit blanc
Gaussien permettent de restaurer un signal intelligible a partir de peu de parametres.
Ces codes d'analyse-synthese, tel que le standard LPC-10 decrit dans le paragraphe 5.3.2,
produisent un signal de parole intelligible a 2,4kb/s.
Audio Les signaux audios peuvent inclure de la parole mais aussi de la musique et
n'importe quel type de son. Ils sont donc beaucoup plus diciles a modeliser que la
parole. Sur un disque compact, le signal audio est limite a un maximum de 20kHz. Il est
echantillonne a 44.1kHz et chaque echantillon est code sur 16bits. Le debit du code PCM
resultant est donc de 706kb/s. Le signal audio d'un disque compact ou d'une cassette
digitale doit ^etre code sans distortion auditive.
Les codeurs par transformee orthogonale qui decomposent les signaux sur des bases
locales en temps et en frequence sont parmi les plus performants pour les signaux audios,
car ils ne necessitent pas la mise en place d'un modele. Une qualite de disque compact
est obtenue par des codeurs necessitant 128kb/s. Avec 64kb/s les degradations sont a
peine audibles. Ces algorithmes sont particulierement importants pour les CD-ROM en
multimedia.
Images Une image couleur est composee de trois canaux d'intensite dans le rouge, le
vert et le bleu. Chacune de ces images a typiquement 500 par 500 pixels, qui sont codes
sur 8 bits (256 niveaux de gris). Un canal telephonique digital ISDN a un debit de 64kb/s.
Il faut donc environ 2 minutes pour transmettre une telle image.
Les images tout comme les signaux audios incluent le plus souvent des structures de
type dierent qu'il est dicile de modeliser. Courament, les algorithmes de compression
les plus ecaces sont bases sur des transformees orthogonales utilisant des bases de cosinus
locaux ou des bases d'ondelettes. Avec moins de 1 bit/pixel, ces codes reproduisent une
image de qualite visuelle presque parfaite. A 0.25 bit/pixel, l'image reste de bonne qualite
visuelle et peut ^etre transmise en 4 secondes sur une ligne telephonique digitale.
Si A[m] n'est pas de moyenne nulle, on code A[m] E fA[m]g et on memorise la valeur
moyenne E fA[m]g. Nous supposerons par la suite que E fA[m]g = 0.
Quantication Les valeurs reelles fA[m]g0m<N doivent ^etre approximees avec une
precision nie pour construire un code de taille nie. Une quantication scalaire ap-
proxime chaque A[m] individuellement. Si les coecients A[m] ont une forte dependance,
le taux de compression peut ^etre ameliore avec une quantication vectorielle qui regroupe
les coecients en blocs. Cette approche necessite cependant plus de calculs. Si la base
fgmg0m<N est choisie de facon a ce que les coecients A[m] soient presque independants,
l'amelioration d'une quantication vectorielle est marginale.
Chaque A[m] est une variable aleatoire dont la valeur quantiee est A~[m] = Qm (A[m])
Le signal quantie reconstruit est
X~
N 1
Y~ [n] = A[m] gm [n]:
m=0
Comme la base est orthogonale
X
N 1
kY Y~ k2 = jA[m] A~[m]j2
m=0
et donc la valeur moyenne de l'erreur est
X
N 1
E fkY Y~ k2g = E fjA[m] A~[m]j2 g:
m=0
Si l'on note
Dm = E fjA[m] A~[m]j2 g;
l'erreur totale devient
X
N 1
D= Dm :
m=0
Soit Rm le nombre moyen de bits pour coder A~[m]. Pour une quantication a haute
resolution, le theoreme 7.4 montre que si Dm est xe alors on minimise Rm avec une
quantication scalaire uniforme. On note m la taille des intervales de quantication.
On a montre en (7.20) que
2
Dm = 12m :
et (7.22) prouve que
Rm = Hd (X ) 21 log2 (12Dm) = Hd(X ) log2 m ;
ou Hd(X ) est l'entropie dierentielle de X denie par (7.21).
102 CHAPITRE 8. COMPRESSION DE SIGNAUX
Soit R = NR le nombre moyen de bits par coecient. Le theoreme suivant montre que le
codage est optimise lorsque tous les m sont egaux.
Theoreme 8.1 Pour une quantication haute resolution et une erreur totale D, on min-
imize R avec
2m = 12 D pour 0 m < N; (8.1)
N
auquel cas
N 22H d 2 2R ;
D(R ) = 12 (8.2)
ou H d est l'entropie dierentielle moyenne
X1
N
H d = N1 Hd (A[m]):
m=0
Demonstration Pour une quantication haute resolution uniforme, (7.24) montre
que
Rm = Hd(A[m]) 21 log2(12 Dm):
Donc
1 X1
N
1 X1
N
1 NX1
1 log (12 D ):
R = N Rm = N Hd (A[m]) N 2 2 m (8.3)
m=0 m=0 m=0
P
Minimiser R revient a minimiser mN =01 log2(12Dm). En appliquant l'inegalite de Jensen
(7.23) a la fonction concave (x) = log2 (x) pour pk = N1 on obtient
!
1 NX1 log (12 D ) log 12 NX1 D = log 12 D :
N m=0 2 m 2 N
m=0
m 2 N
2
Cette inegalite est une egalite si et seulement si tous les Dm sont egaux. Donc 12m =
Dm = ND , ce qui prouve (8.1). On deduit aussi de (8.3) que
NX1
R = N Hd (A[m]) 12 log2 12ND
1
m=0
Ce th2eoreme montre que le codage est optimise en introduisant la m^eme erreur moyenne
Dm = 12m = ND dans la direction de chaque vecteur gm de la base. Le nombre moyen de
bits Rm pour coder A[m] depend alors seulement de l'entropie dierentielle:
Rm = Hd(A[m]) 21 log2 12ND : (8.4)
On note m2 la variance de A[m], et A^[m] = 1m A[m] la variable aleatoire normalisee de
variance 1. Un changement de variable dans l'integrale de l'entropie dierentielle montre
que
Hd(A[m]) = Hd(A^[m]) + log2 m :
L'allocation de bit optimal Rm donne par (8.4) peut donc devenir negative si la vari-
ance m est trop petite, ce qui n'est clairement pas une solution admissible. En pratique
Rm doit ^etre un entier positif mais imposer cette contrainte supplementaire ne permet
pas de faire un calcul analytique simple. La formule (8.4) n'est donc utilisable que si les
valeurs fRmg0m<N sont positives et on les approxime alors par les entiers les plus proches.
Normes quadratiques ponderees Nous avons mentionne qu'une erreur quadratique
souvent ne mesure pas bien l'erreur percue pour des images ou des signaux audios. Lorsque
les vecteurs gm sont bien localises en temps/espace et en frequence, on peut ameliorer cette
norme en ponderant les erreurs par des poids qui dependent de la frequence, an de se
rapprocher de notre sensibilite auditive/visuelle, qui varie avec la frequence du signal.
Une norme ponderee est denie par
X Dm
N 1
D= 2 ; (8.5)
m=0 wm
ou Dmw = Dwm2m est l'erreur de quantication de Aw [m] = Aw[mm ] . Le theoreme 8.1 prouve
que l'allocation de bits optimale est obtenue en quantiant uniformement tous les Aw [m]
avec des intervales de m^eme tailles . Cela implique que les coecients A[m] sont uni- 2
formement quanties avec des intervales de taille m = wm, et donc Dm = wmND .
Comme on s'y attendait, en augmentant les poids wm on augment l'erreur dans la direc-
tion de gm . La quantication uniform Qm a intervales m est souvent calculee avec un
quanticateur Q qui associe a tout nombre reel l'entier le plus proche:
A[m] A[m]
Qm A[m] = m Q = wm Q
wm
: (8.6)
m
104 CHAPITRE 8. COMPRESSION DE SIGNAUX
~
NX1 h 2k 1 i NX1 h 2k 1 i
f [n] = ak cos 2N (n + 2 ) + bk sin 2N (n + 2 ) :
k=0 k=0
Comme f~[n] est symetrique par rapport a 12 , on deduit que bk = 0 pour tout 0 k < N .
De plus f [n] = f~[n] pour 0 n < N , ce qui prouve que tout signal f 2 RN peut
s'ecrire comme une somme de ces cosinus. On verie aussi facilement que ces cosinus sont
orthogonaux dans R N . On obtient donc le theoreme suivant.
Theoreme 8.2 La famille de cosinus discrets
( r )
ck [n] = k 2 cosh k (n + 1 )i ;
N N 2 0k<N
8.2. BASES DE COSINUS LOCAUX 105
avec p1
k = 2 si k = 0 (8.8)
1 sinon
est une base orthonormale de R N .
Les produits scalaires
r h
f^c[k] =< f [n]; ck [n] >= k N2
X1
N
f [n] cos k ( n + 1 )i (8.9)
n=0 N 2
denissent la transformee en cosinus de f [n]. Comme ces cosinus forment une base or-
thonormale
X1
N X1 ^
N
f [n] = < f; ck > ck [n] = fc[k] ck [n]: (8.10)
k=0 k=0
En modiant l'algorithme de transformee de Fourier rapide, on peut calculer les coe-
cients ff^c[k]g0k<N avec O(N log N ) operations [7]. De m^eme la reconstruction (8.10)
s'obtient avec O(N log N ) operations.
Localisation temporelle Lorsque le signal inclut des structures variees a dierents
instants, il est preferable de separer ces composantes avec des fen^etres temporelles et
d'eectuer une transformee en cosinus a l'interieur de ces fen^etres. Cette approche est
similaire a la transformee de Fourier a fen^etre que nous avons etudiee dans le chapitre 6.
Un signal de taille N peut etre separe en MN composantes de tailles M en utilisant des
fen^etres rectangulaires de taille M
1 si 0 n < M
g[n] = 0 sinon
Clairement
X
N
M
f [n] = g[n pM ]f [n]:
p=1
Le produit g[n pM ]f [n] est la restriction de f [n] pour pM n < (p + 1)M . On peut
decomposer cette restriction sur une base de de cosinus de taille M obtenue en translatant
la famille ( r h k 1 i)
2
ck [n] = k M cos M (n + 2 ) :
0k<M
Chaque partie g[n pM ]f [n] se decompose sur la famille fck [n pM ]g[n pM ]g0k<M
restreinte a pM n < (p +1)M . Cela revient a decomposer f [n] sur une base orthogonale
de taille N composee de MN fen^etres de taille M , modulees par des cosinus
n o
gp;k [n] = g[n pM ]ck [n pM ] 0k<M;0p< N : (8.11)
M
106 CHAPITRE 8. COMPRESSION DE SIGNAUX
Cette famille est une base orthonormale de l'espace des signaux de taille N .
Bases bidimensionnelles La proposition suivante montre que des bases orthogonales
d'images f [n; m] de taille N 2 peuvent se construire par un produit separable de bases
orthogonales de signaux mono-dimensionnels f [n] de taille N .
Proposition 8.1 Si fek [n]g0k<N est une base orthonormale de l'espace des signaux de
taille N alors
fek;j [n; m] = ek [n]ej [m]g0k<N;0j<N
est une base orthogonale de l'espace des images f [n; m] de taille N 2 .
Demonstration Il sut pour cela de montrer que ces N 2 vecteurs sont orthogonaux.
En eet
XX
N 1N 1
< ek;j ; ek0;j0 > = ek;j [n; m]ek0;j0 [n; m]
n=0 m=0
X
N 1 XN 1
= ek [n]ek0 [n] ej [m]ej0 [m]:
n=0 m=0
Ces produits scalaires sont donc tous nuls si k 6= k0 et j 6= j 0 car fek [n]g1kN est une
base orthogonale. 2
Cette proposition nous permet de construire des bases de cosinus locaux d'images par
un produit separable de bases de cosinus locaux (8.11) de signaux monodimensionnels.
La famille de N 2 fen^etres modulees
fgk;j [n pM; m qM ] = g[n pM ]g[m qM ]ck [n pM ]cj [m qM ]g0k;l<M;0p;q MN
(8.12)
est une base orthogonale
2
de l'espace des images f [n; m] de taille N 2 . Cette base decompose
l'image en MN 2 carres de taille M . Elle decompose ensuite la restriction de l'image sur
chaque carre de M 2 pixels dans une base de cosinus.
numeriques mais ces erreurs doivent rester inaudibles pour un auditeur \moyen". De
forts taux de compression sont obtenus en adaptant la quantication aux proprietes de
masquage auditif.
Masquage auditif Une petite erreur de quantication n'est pas entendue si elle est
additionnee a un signal qui a une forte energie dans la m^eme bande de frequence. Cet
eet de masquage se fait a l'interieur de bandes de frequence \critiques" de la forme
[!c 2! ; !c + 2! ], qui ont ete mesurees par des experiences de psycho-physiologie audi-
tive. Un fort signal dont la transformee de Fourier a un support contenu dans la bande
de frequence [!c 2! ; !c + 2! ] decro^t la sensibilite d'un auditeur pour d'autres com-
posantes qui sont a l'interieur de cette bande de frequence. Dans l'intervalle de frequences
[0; 20kHz], il y a approximativement 25 bandes critiques dont la largeur ! et la frequence
centrale !c satisfont
100 for ! 700
! 0:15! forc 700 ! 20 000 (8.13)
c c
Quantication adaptative Le signal f [n] est decompose dans une base de cosinus locaux
n o
gp;k[n] = g[n pM ]ck [n pM ] 0k<M;0p< N
M
construits avec une fen^etre g[n] couvrant generalement M = 1024 echantillons. Par une
transformee de Fourier rapide, pour chaque composante du signal f [n]g[n pM ] de M
echantillons, on calcule l'energie en frequence dans les bandes critiques [!c 2! ; !c + 2! ].
Cette energie permet de calculer le niveau de masquage et donc l'amplitude maximum
des erreurs de quantication qui ne sont pas audibles dans cette bande de frequence.
On quantie alors uniformement avec un pas chaque produit scalaire < f; gp;k >
pour des cosinus locaux dont la frequence se trouve a l'interieur de la bande critique
[!c 2! ; !c + 2! ]. Cet algorithme introduit dans chaque bande critique des erreurs de
quantication qui sont au-dessous du niveau d'audition.
MUSICAM L'algorithme MUSICAM (Masking-pattern Universal Subband Integrated
Coding and Multiplexing) utilise par le standard MPEG-I est le plus simple des codeurs
perceptuels. Il decompose le signal en 32 bandes de frequences de tailles egales dont la
largeur est de 750Hz. Cette decomposition est tres semblable a une decomposition dans
une base de cosinus locaux. Chaque 8 10 3 seconde la quantication est adaptee dans
chaque bande de frequence pour tenir compte des proprietes de masquage du signal. Ce
systeme comprime des signaux audios jusqu'a 128 kb/s sans introduire d'erreur audible.
Cela signie que l'image est decomposee en carres de 8 par 8 pixels et que chacun de
ces carres est decompose dans une base separable de cosinus. Dans chaque fen^etre, les
64 coecients de decomposition sont quanties uniformement. Dans les zones ou l'image
est reguliere, les cosinus de hautes frequences generent des petits coecients, qui sont
annules par la quantication. Pour coder ecacement la position de ces coecients nuls,
on utilise un code par sequences.
Codage des zeros Enregistrer la position des coecients nuls correspond au codage
d'une source binaire egale a 1 lorsque le coecient est non-nul et 0 lorsque qu'il est nul.
On peut utiliser la redondance de cette source de 0 et de 1 en codant les valeurs sous
forme de sequences. Un code \run-length" enregistre la taille Z des sequences successives
de 0 et la taille I des sequences successives de 1. Les variables aleatoires Z et I sont
ensuite enregistrees avec un code entropique. Un code \run-length" est un algorithme de
codage vectoriel dont on peut demontrer qu'il est optimal lorsque la sequence de 0 et de
1 est produite par une cha^ne de Markov d'ordre 1. Ce type de codage binaire est utilise
pour la transmission de fax.
Chaque bloc de 64 coecients en cosinus est parcouru en zig-zag, comme l'illustre la
gure 8.1. Sur ce parcours, on enregistre la taille des sequences de 0 et de 1 correspondant
aux coecients quanties a zero ou pas.
k=j=0 k=7
DC
j=7
Figure 8.1: Sur une fen^etre de 64 coecients en cosinus, la frequence zero (DC) est en
haut a gauche. Le codage des zero eectue un parcours en zig-zag depuis les basses vers
les hautes frequences.
Sur chaque bloc, le vecteur de frequence zero g0;0[n pM; m qM ] a une valeur con-
stante. Le coecient correspondant est donc proportionel a l'intensite moyenne de l'image
sur le bloc. Ces coecients sont codees separements car ils sont fortement correlees d'un
bloc a l'autre. Plut^ot que de quantier individuellement les frequences nulles (k = j = 0),
on code la dierence des coecients de frequence nulles, entre un bloc de l'image et le
suivant qui se trouve a sa droite.
Perception visuelle La sensibilite visuelle depend de la frequence et de l'orientation du
stimulus. Les proprietes de masquage sont aussi importantes en vision que pour l'audition
mais sont beaucoup plus compliquees a modeliser. Des experiences psycho-physiologiques
montrent qu'un stimulus dont la transformee de Fourier est localisee dans une bande de
8.3. CODAGE PERCEPTUEL 109
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 108 103 77
24 35 55 64 81 194 113 92
49 64 78 87 103 121 120 101
72 92 95 98 121 100 103 99
Table 8.1: Matrice de poids wk;j utilises pour la quantication des coecients correspon-
dant a chaque bloc de cosinus gk;j . Les frequences augmentent de gauche a droite et de
haut en bas.
Pour minimiser la degration visuelle des images codees, JPEG eectue une quanti-
cation avec des intervales de quantication dont les valeurs sont proportionelles a des
poids qui sont calcules grace des experiences psychophysiques. Ceci revient a optimiser
l'erreur ponderee (8.5). La table 8.1 est un exemple de matrice de 8 par 8 poids qui
peuvent ^etre utilises par JPEG. Les poids des frequences les plus basses, qui apparaissent
en haut a gauche de la table 8.1, sont 10 fois plus petit qu'aux plus hautes frequences,
qui apparaissent en bas a droite.
Qualite de compression Pour R 2 [0; 75 ; 1]bit/pixel, les images codees avec JPEG
sont visuellement quasiment parfaites. L'algorithme JPEG est souvent utilise avec R 2
[0; 5 ; 1]. Lorsque R 2 [0; 2 ; 0; 5]bit/pixel, la gure 8.2 montre que les images restorees
a partir d'un code JPEG sont de qualite moderee. A fort taux de compression, on voit
appara^tre les blocs de 8 par 8 pixels sur lesquels la transformee en cosinus est calculee.
Les performances de l'algorithme de compression JPEG ont recemment ete ameliorees
en utilisant une base orthonormale dierente, appellee base d'ondelettes [7]. Le nouveau
standard de la compression d'images utilisera donc ces nouvelles bases orthonormales.
110 CHAPITRE 8. COMPRESSION DE SIGNAUX
111