You are on page 1of 237

Traitement du signal

Notes de cours

Edition du 01/09/2016
Copyright 2001-2016 Facult Polytechnique de Mons

Thierry Dutoit
Facult Polytechnique de Mons
TCTS Lab
Bvd Dolez, 31 Ph: +32 65 374774
B-7000 Mons Fax: +32 65 374729
Belgium Thierry.Dutoit@fpms.ac.be
http://tcts.fpms.ac.be/~dutoit
2 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

CHAPITRE 2
INTRODUCTION

I just wondered how things were put together.

Claude E. Shannon

2.1 Classification des signaux


Un signal est une variation dune grandeur physique (le plus souvent lectrique,
dlivre par un capteur1) qui porte de linformation2.
On classe souvent les signaux les plus tudis en fonction de leur origine, cest-
-dire en fonction du type de systmes qui les produisent. On trouve ainsi :
Les signaux de tlcommunications, qui transportent linformation sous forme
de signaux obtenus par modulation dune porteuse, dans un metteur, et
dmodulation dans un rcepteur (Fig. 2.1).

1 Dans certains cas, lorsquil serait dangereux dutiliser des signaux lectriques pour transporter de

linformation on pense par exemple aux signaux de commande dune vanne dune colonne
distiller le ptrole lindustrie utilise des signaux hydrauliques.
2 La notion dinformation intervient dans celle de signal afin de ne pas considrer comme signal

une variation de grandeur physique portant, non pas de linformation, mais de lnergie, comme
cest le cas par exemple de la sinsusode 50Hz du rseau de distribution lectrique.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 3

Fig. 2.1 Schma-bloc typique dun systme de tlcommunication.


[https://en.wikipedia.org/wiki/Communications_system].

Les signaux gophysiques, tels que lvolution du niveau (Fig. 2.2), de la


temprature, de la pression, de la vitesse dcoulement de fluides terrestres,
les signaux acoustiques, les ondes sismiques, etc.

Fig. 2.2 Mesure du niveau de liquide dans un rservoir, par modification dune
rsistance lectrique en fonction de la position dun flotteur dans le rservoir.
[http://www.allaboutcircuits.com/textbook/direct-current/chpt-9/voltage-signal-
systems/].

Un cas particulier trs important est limage, variation de luminosit et de


couleur perue par lil, lappareil photo (Fig. 2.3) ou la camra vido.

Fig. 2.3 Image de Lena, souvent utilise comme image test en Traitement de
lImage.

Les signaux biologiques, mesurs divers endroits du corps humain et


renseignant sur son fonctionnement. On peut citer par exemple llectro-
cardiogramme (Fig. 2.4), llectro-encphalogramme, llectro-oculogramme
ou llectro-myogramme, etc.
4 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 2.4 Un battement dECG, pollu ici par le rseau lectrique. Un tel signal
devra tre filtr avant dtre utilis (par exemple pour lanalyse de rythme
cardiaque). Le filtrage permettra dliminer la contribution 50 Hz du rseau.

Les signaux de communication interpersonnelle, tels la parole ou lcriture


(Fig. 2.5).

t (ms)

Fig. 2.5 Signal de parole ( Alices adventures ). La grandeur porte en


ordonne est une image de la pression mesure par un micro ; la ligne de base
est la pression atmosphrique. Le signal se dcompose en units plus ou moins
distinctes, qui sont perues par loreille comme des sons articuls porteurs
dinformation (ces sons sont nots sur le graphique au moyen de lalphabet
phontique international).

2.2 Caractrisation des signaux


Temps continu Temps discret ; Analogique Numrique
Un signal temps continu peut tre dcrit par une fonction continue du temps
f(t). Au contraire, un signal temps discret na de valeurs qu des instants
discrets, souvent rpartis de manire rgulire sur laxe du temps. On le notera
plutt f(n) (o n est un entier).
Lopration de discrtisation dans le temps saccompagne systmatiquement dun
opration de discrtisation sur les valeurs prises par le signal.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 5

On parle de signal analogique lors quon est temps continu (et donc en gnral
valeurs continues galement) et de signal numrique lorsquon est temps
discret (et donc en gnral en valeurs discrtes).
Cette distinction fera lobjet dune section spcifique sur lchantillonnage et la
quantification (0.3).
Monodimensionnel Multidimensionnel
On peut classer les signaux en fonction de leur dimension. Ainsi, la plupart des
signaux ci-dessus sont reprsentables mathmatiquement par des fonctions
dune seule variable relle. On les appelle donc signaux monodimensionnels.
Limage, au contraire, est un signal bidimensionnel. Dans le cadre de ce cours,
nous nous intresserons aux signaux monodimensionnels.
Dterministe - Alatoire
Il est galement frquent de classer les signaux en fonction de la connaissance
que lon peut en avoir. Bien que tous les signaux soient par essence
dterministes (ils sont tous crs par des causes physiques prcises, bien que
parfois non mesurables), on rserve en gnral le qualificatif de dterministe
pour les signaux dont on peut expliquer lallure temporelle (ce qui implique quon
peut alors souvent lui associer une quation analytique). Les autres signaux sont
qualifis dalatoires et sont traits par des outils particuliers (Fig. 2.6). Dans ce
cours, nous intresserons uniquement aux signaux dterministes. Les signaux
alatoires seront tudis dans des cours plus spcialiss.

Fig. 2.6 Haut : signal priodique (ici temps discret); Bas : signal non
priodique.
[http://pilot.cnxproject.org/content/collection/col10064/latest/module/m10057/l
atest].

Causal Non causal


Enfin, un signal est dit causal lorsquil est identiquement nul pour tous les
instants ngatifs. Un tel signal rsulte souvent dune action particulire linstant
t=0. Il est dit anticausal sil est nul pour tous les instants positifs. Dans le cas
gnral, il est non-causal (Fig. 2.7).
6 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Signal Causal Signal Anticausal Signal non-causal


Fig. 2.7 Signal causal, anticausal, et non-causal.
[http://pilot.cnxproject.org/content/collection/col10064/latest/module/m10057/l
atest].

Priodique Apriodique
Les signaux priodiques (Fig. 2.8) se rptent aprs une priode T0 :
fT 0 (t ) fT 0 (t T0 ) (2.1)

Fig. 2.8 Haut : signal priodique de priode T0 ; Bas : signal non priodique
[http://pilot.cnxproject.org/content/collection/col10064/latest/module/m10057/l
atest].

Pair Impair
Un signal est pair si f(t)=f(-t); il est impair si f(t)=-f(-t).

Fig. 2.9 Gauche : signal pair; Droite : signal impair


[http://pilot.cnxproject.org/content/collection/col10064/latest/module/m10057/l
atest].

Energie finie puissance finie


Lnergie E dun signal, homologue du carr de la norme dun vecteur, et dfinie
par :
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 7

f (t ) dt E
2
(2.2)

Cette expression nest dfinie que pour des signaux dnergie finie. Les signaux
d'nergie infinie sont par contre souvent de puissance finie. On dfinit la
puissance P d'un signal comme la moyenne du carr du signal :
T /2
1
P lim
2
f (t ) dt (2.3)
T T
T / 2

En particulier, les signaux priodiques sont dnergie infinie. Lintgrale


prcdente peut ntre calcule que sur une priode, et l'expression de leur
puissance se simplifie en :
T /2
1 0

2
P fT0 (t ) dt (2.4)
T0 T0 / 2
Les signaux priodiques sont donc de puissance finie si leur priode est un signal
dnergie finie (ce qui est le cas pour tous les signaux priodiques utiliss en
pratique).

RMS
sin(t) moyenne(sin(t))

sin(t)

Fig. 2.10 La puissance dun signal priodique (ici ) peut ne se calculer que sur
une priode.
[https://en.wikibooks.org/wiki/Signals_and_Systems/Print_version]

On dfinit galement la valeur efficace FRMS (o RMS est mis pour Root Mean
Square) dun signal f(t) (Fig. 2.10) comme la racine carre de sa puissance,
cest--dire comme lamplitude dun signal constant qui aurait la mme puissance
que f(t) :
T /2
1
lim
2
FRMS f (t ) dt (2.5)
T T
T / 2

ou, pour un signal priodique :


T0 / 2
1

2
FRMS f (t ) dt (2.6)
T0 T0 / 2

Exemple 1 Puissance et valeur efficace dun sinus

La puissance dun signal sinusodal de type A sin(0t), avec 0=2/T0, est donne par :
8 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

T /2 T /2
1 0 A 0
T0 T0 / 2 T0 T0 / 2
P Asin (0 t ) dt 1/ 2 sin(20t )dt A / 2

Sa valeur efficace est donc gale A/ 2 .

2.3 Echantillonnage et quantification


La plupart des signaux (du moins ceux qui ont une origine naturelle) sont
intrinsquement analogiques. Il est donc logique que les machines permettant de
crer ou de modifier ces signaux aient longtemps t elles-mmes exclusivement
analogiques. Le tlphone en est un bel exemple. Ce sont ces signaux
analogiques qui nous intresseront dans ce cours.
Cependant, depuis les annes 70, on dispose de systmes lectroniques (CAN :
convertisseur analogique-numrique, ou ADC : analog-digital converter)
permettant d'chantillonner et de quantifier les signaux analogiques, les
transformant ainsi en signaux numriques (Fig. 2.11). Ces derniers sont
caractriss par le fait qu'ils ne sont dfinis qu' des instants discrets, appels
instants d'chantillonnage et multiples de la priode dchantillonnage Te, et
qu'ils ne peuvent prendre qu'un nombre fini de valeurs discrtes3. Inversement,
on dispose de systmes (CNA : convertisseur numrique-analogique, ou DAC :
digital-analog converter) permettant de reconvertir un signal numrique en
signal analogique (Fig. 2.12). Cette brche entre l'analogique et le numrique a
ouvert la voie vers la mise au point de machines, numriques cette fois (c'est--
dire bases sur l'utilisation d'un calculateur spcialis ou DSP, pour Digital Signal
Processor) permettant de manipuler les signaux.

x(t) x(n) xq(n)

fe

Fig. 2.11 Reprsentation schmatique de lchantillonnage et de la quantification


d'un signal analogique.

3 En pratique, videmment, ces signaux numriques sont cods laide de signaux analogiques,

par modulation numrique. Dans le plus simple des cas, chaque chantillon est reprsent laide
dun nombre fini de bits (0 ou 1), et chaque bit est transcod en analogique sous la forme de deux
niveaux de tension. Le signal analogique sous-jacent est cependant toujours interprt comme un
signal numrique.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 9

x(t) xq(n) yq(n) y(t)

Fig. 2.12 Chane de traitement numrique du signal. Lentre et la sortie du


systme sont analogiques ; le traitement est numrique.

L'chantillonnage d'un signal analogique reprsent par une fonction x(t)


consiste construire, partir de x(t), un signal temps discret x(n) obtenu en
mesurant la valeur de x(t) toutes les Te secondes :

x(n) x(nTe ) (2.7)

Intuitivement, condition que la frquence dchantillonnage Fe (Fe=1/Te) soit


suffisamment grande par rapport aux frquences contenues dans le signal, leffet
de discrtisation d lchantillonnage peut tre nglig (Fig. 2.13). On montre
en pratique, dans le cadre du thorme de lchantillonnage, que Fe doit tre
suprieure deux fois la plus haute frquence contenue dans le signal
chantillonner4. Au-del de cette valeur, le signal apparent est en effet
diffrent du signal original (tout se passe comme si la frquence de Fe/2 jouait
un effet de miroir : Fig. 2.14). Ainsi, sur un CD audio, dont le contenu frquentiel
est infrieur 20kHz, Fe est fix 44100 Hz. Cette notion trs importante sera
revue en dtail au chapitre 3.

4 Cette condition est parfois appels condition de Shannon. En pratique, pour assurer que cette

condition est vrifie, on place souvent, avant chantillonnage, un filtre passe-bas de frquence de
coupure infrieure ou gale Fe/2 : le filtre de garde.
10 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 2.13 Echantillonnage de signaux sinusodaux de frquences 1, 2, 3, et


4Hz,avec une frquence dchantillonnage de 8 Hz.
[http://jackschaedler.github.io/circles-sines-signals/sampling.html]

Fig. 2.14 Echantillonnage dune sinusode de frquence 15,5 Hz avec une


frquence dchantillonnage de 12 Hz. Le signal apparent a une frquence de 8,5
Hz. [http://jackschaedler.github.io/circles-sines-signals/sampling2.html]

La quantification dun signal consiste en discrtiser les valeurs sur une grille de
valeurs admissibles. Typiquement, ce nombre de valeurs est un exposant de 2,
de la forme 2b (ce qui permet dassocier chaque valeur admissible un mot de b
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 11

bits). Le quantificateur le plus simple est le quantificateur uniforme, caractris


par un pas de quantification constant, not q (Fig. 2.15).

xq(t)

x(t) 2b niveaux

Fig. 2.15 Fonction de quantification uniforme. Le pas de quantification q est ici


gal 1. Le nombre de niveaux admissibles est ici de 8 (soit une quantification
sur 3 bits). [https://fr.wikipedia.org/wiki/Quantification_(signal)]

La quantification du signal cre une erreur de quantification e(t) :


e(t ) xq (t ) x(t ) q / 2 e(t ) q / 2 (2.8)

Fig. 2.16 Effet de la quantification sur un signal analogique (ici une quantification
sur 2 bits et un pas q gal 1/2)
[https://fr.wikipedia.org/wiki/Quantification_(signal)]
12 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Sur un signal audio, on peroit cette erreur comme un bruit qui vient sajouter au
signal temps discret, do le nom usuel de bruit de quantification (Fig. 2.16).
Pour que cet effet devienne ngligeable, il faut choisir un nombre de bits de
quantification suffisant. Sur un CD audio, la quantification est faite sur 16
bits, ce qui correspond au fait que chaque chantillon est cod comme un
nombre entier entre -32768 32767, soit de -215 215-1.

Fig. 2.17 Effet combin de lchantillonnage et de la quantification dun signal


analogique (en pointill). Le rsultat est une suite dchantillons prenant des
valeurs discrtes ( + )
[http://chamilo2.grenet.fr/inp/courses/ENSE32A4EMAAAK0/document/html/Intr
o.htm]

Notons pour terminer quaprs chantillonnage et quantification, les signaux


devenus numriques peuvent videmment tre transmis sous forme dun signal
numrique temps continu, qui portera explicitement les bits dinformation
contenus dans le signal.

Fig. 2.18 Signal numrique temps continu correspondant aux bits des valeurs
de f(n)
[http://www.technologyuk.net/telecommunications/telecom_principles/digital_si
gnals.shtml]

Exemple 2 Echantillonnage dun sinus


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 13

A=10; f=440; Fe=10000;


t=(1:20000)/Fe;
signal = A * sin(2*pi*f*t); % f=440 Hz, Fe=10000 Hz

soundsc(signal,10000);
subplot(2,1,1); plot(signal(1:250)); title('sinus 440 Hz');
subplot(2,1,2); stem(signal(1:250)); title('sinus 440 Hz, Fe=10kHz');

Exemple 3 Quantification dun sinus chantillonn

A = 10; f = 440; Fe = 10000;


signal = A * sin(2*pi*f*(1:20000)/Fe); % f=440 Hz, Fe=10000 Hz

b = 2;
quantizer_max = max(signal);
q = (2*quantizer_max) / 2^b;
signal_quantized = floor(signal/q)*q + q/2;
error = signal - signal_quantized;

soundsc(signal_quantized,10000);
plot(signal(1:50));
hold on;
subplot(2,1,1), plot(signal_quantized(1:50)); title('sinus quantifi');
subplot(2,1,2), plot(error(1:50)); title('erreur de quantification');
14 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Il est noter que, mme sans cette opration formelle de quantification (ici 2
bits), les chantillons sont en ralit dj stocks par MATLAB sous forme
quantifie : MATLAB stocke ses variables en virgule flottante sur 8 octets, ce qui
correspond en pratique une quantification ngligeable.

2.4 Rapport signal sur bruit


La notion de signal est souvent indissociable de celle de bruit, perturbation
indsirable qui se superpose au signal utile. Ce qui est bruit et ce qui ne lest pas
dpend videmment du contexte. Ainsi, par exemple, pour un oprateur sonar,
le signal utile est mis par les navires et les sous-marins, et le bruit peut
provenir des poissons et des crustacs qui mettent des signaux perturbateurs ;
au contraire, pour loprateur sonar dun btiment de pche, le signal utile est
celui mis par les bancs de poissons, les autres signaux sont donc des
perturbations.
Un des problmes fondamentaux en traitement du signal sera donc dextraire le
signal utile du bruit. La difficult du problme dpend en particulier de la
proportion entre signal et bruit, mesure par le rapport signal bruit (RSB, ou
SNR en anglais pour signal-to-noise ratio) :
PS PS S
RSB ou, en dB : RSBdB 10log 20log RMS (2.9)
PB PB BRMS
o PS et PB sont respectivement la puissance du signal et du bruit. On trouvera
dans le tableau ci-dessous un rappel des valeurs souvent utilises en dB et leur
lien avec des rapports de puissance et de valeur efficace (racine carre de la
puissance). Les dB sont utiliss en ingnierie lorsque les rapports stalent sur
une large plage.
En pratique, la puissance dans (2.9) est souvent estime sur une portion de
signal :
b
1
P
2
f (t ) dt (2.10)
ba a

Notons que, sur le signal chantillonn f(n)5, cette mme puissance peut tre
estime comme :
N 1
1
P
2
f ( n) (2.11)
N 0

Gain en Gain en dB
puissance amplitude
20log(2) 6dB

5 On suppose que la frquence dchantillonnage suffisante pour que le signal chantillonn donne

une image raliste du signal original.


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 15

1/ 2 10log(2) 3dB
4 2 6 dB

100 10 20 dB

10000 100 40 dB

1000000 1000 60 dB

Tableau 2.1 Valeurs usuelles et quivalents en dB

Exemple 4 Parole bruite avec divers niveaux de RSB

Signal = audioread('par8.wav'); % Fe=8000 Hz; nbits=16

% out = awgn(in,snr) : additive white Gaussian noise with given SNR


signal_plus_noise = awgn(signal, 40, 'measured');
soundsc(signal_plus_noise,8000);
subplot(5,1,1); plot(signal_plus_noise); title('signal+noise; SNR=40dB');
pause;

signal_plus_noise = awgn(signal, 20, 'measured');


soundsc(signal_plus_noise,8000);
subplot(5,1,2); plot(signal_plus_noise); title('signal+noise; SNR=20dB');
pause;

signal_plus_noise = awgn(signal, 10, 'measured');


soundsc(signal_plus_noise,8000);
subplot(5,1,3); plot(signal_plus_noise); title('signal+noise; SNR=10dB');
pause;

signal_plus_noise = awgn(signal, 0, 'measured');


soundsc(signal_plus_noise,8000);
subplot(5,1,4); plot(signal_plus_noise); title('signal+noise; SNR=0dB');
pause;

signal_plus_noise = awgn(signal, -10, 'measured');


soundsc(signal_plus_noise,8000);
subplot(5,1,5); plot(signal_plus_noise); title('signal+noise; SNR=-10dB');
16 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Il est noter que le RSB dune ligne tlphonique est typiquement de 30 dB.

Exemple 5 Image bruite avec divers niveaux de RSB

signal = rgb2gray(imread('lena.jpg')); % convert the jpg to B&W (luminance)

signal_plus_noise = imnoise(signal, 'gaussian', 0, 0.0001);


subplot(2,2,1); imshow(signal_plus_noise); title('signal+noise; SNR=40dB');

signal_plus_noise = imnoise(signal, 'gaussian', 0, 0.001);


subplot(2,2,2); imshow(signal_plus_noise); title('signal+noise; SNR=30dB');

signal_plus_noise = imnoise(signal, 'gaussian', 0, 0.01);


subplot(2,2,3); imshow(signal_plus_noise); title('signal+noise; SNR=20dB');

signal_plus_noise = imnoise(signal, 'gaussian', 0, 0.1);


subplot(2,2,4); imshow(signal_plus_noise); title('signal+noise; SNR=10dB');
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 17

On constate dans la pratique que le bruit est difficilement perceptible sur lintensit dune
image au-dessus dun RSB de 40 dB.

Exemple 6 Quantification et RSB

Reprenons le signal sinusodal prcdemment quantifi. Le rapport des puissances du


signal et du bruit est gal au rapport des variances des vecteurs dchantillons
correspondants.
A = 10; f = 440; Fe = 10000;
signal = 10 * sin(2*pi*f*(1:20000)/Fe); % f=440 Hz, Fe=10000 Hz
b = 2;
quantizer_max = max(signal);
q = (2*quantizer_max) / 2^b;
signal_quantized = floor(signal/q)*q + q/2;
error = signal - signal_quantized;
SNR = var(signal)/var(error)
SNR_dB = 10*log10(SNR)

> SNR = 19.0679


> SNR_dB = 12.8030
On verra dans le cours de Traitement du Signal que le RSB li la quantification dun signal
musical est thoriquement donn par :

RSBdB 6,02b 1,76 (2.12)


18 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

ce qui implique que chaque bit supplmentaire de quantification apporte une augmentation
de 6 dB de RSB. En particulier, sur un CD audio, le RSB est de 98 dB !

2.5 Traitement numrique du signal


Le traitement (numrique) du signal consiste en un ensemble de thories et de
mthodes, relativement indpendantes du signal trait, permettant de crer,
d'analyser, de synthtiser (c.--d crer partir de rien), de quantifier, de
classifier, de prdire, ou de reconnatre les signaux. Il s'agit donc d'une science
applique, puisque le signal numrique n'existe pour ainsi dire pas dans la
nature. Il est une invention de l'homme, qui a pour but principal de permettre
une manipulation aise de signaux analogiques l'aide de calculateurs
numriques. Ses applications sont nombreuses dans des domaines aussi varis
que les tlcommunications, le traitement du son musical, le traitement de la
parole, le radar, le sonar, l'tude des vibrations sismiques, le contrle non
destructif, l'ingnierie bio-mdicale, l'imagerie, l'conomie (avec l'tude des
sries chronologiques), etc.
On peut estimer que cette science de l'ingnieur a rellement vu le jour dans les
annes 60, avec la dcouverte d'algorithmes rapides de calcul de la transforme
de Fourier discrte par Cooley et Tukey. Les ouvrages de base ont t publis
entre la fin des annes 70 et le dbut des annes 90. Ce n'est que rcemment
(fin des annes 90), cependant, que les applications pratiques se sont
multiplies, avec l'avnement des technologies numriques (RNIS-CD-GSM-DVD-
MP3, etc.) et des processeurs spcialiss en traitement du signal (DSP : digital
signal processor). On trouvera sur le site MOODLE du cours , outre des pointeurs
vers divers sites et outils logiciels intressants, les biographies d'un certain
nombre de chercheurs qui ont marqu de leur empreinte l'volution de ce que
l'on qualifie aujourd'hui de rvolution numrique. La plupart sont toujours en
poste ou rcemment retraits.
De nombreux journaux scientifiques sont publis mensuellement (notamment
par lIEEE et EURASIP) sur ce sujet, que ce soit pour le dveloppement de
nouvelles ides et techniques (comme rcemment lacquisition comprime -
sparse sampling - qui permet dchantillonner des signaux sous la limite de
Shannon mentionne plus haut) ou dans des domaines plus appliqus (comme
par exemple manalyse et le comprhension du contenu des images
numriques).

2.6 Systmes analogiques Systmes numriques


Les systmes numriques possdent sur leurs homologues analogiques un
ensemble davantages dcisifs :
Simplicit. Les systmes numriques sont intrinsquement plus simples
analyser (et donc synthtiser) que les systmes analogiques. La
rcurrence linaire qui caractrise un filtre numrique, par exemple, est
accessible un tout jeune enfant. Cette proprit des systmes
numriques est due en partie ladquation parfaite entre simulation et
traitement : simuler un traitement numrique, cest en faire.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 19

Possibilits de traitement accrues. La simplicit des oprations numriques


de base ne doit pas tromper : il sensuit quil est possible de raliser, en
numrique, des oprations beaucoup plus complexes quen analogique,
notamment des oprations non-linaires.
Robustesse aux bruits. Les systmes numriques sont par essence
insensibles aux bruits parasites lectromagntiques. Le transcodage de
linformation sous forme numrique joue un peu le rle de firewall .
Prcision et stabilit. Puisque les seuls bruits sont lis la prcision
des calculs, cette dernire dpend uniquement du calculateur utilis ; elle
est insensible la temprature et ne varie pas avec lge du systme.
Flexibilit. Dans un grand nombre de systmes numriques, le traitement
est dfini par un logiciel charg en mmoire. Il est ds lors trs facile de
modifier ce traitement, sans devoir modifier la machine qui le ralise. On
pense par exemple aux modems numriques actuels, qui peuvent
sadapter facilement aux normes futures par simple reprogrammation.

2.7 De lEmbarqu lInternet des objets


On a assist ces vingt dernire annes une rvolution plus silencieuse mais
bien plus importante pour l'essor du traitement du signal : celle des rseaux
informatiques et des systmes embarqus (embedded systems). Les
technologies sous-jacentes au traitement numrique des signaux (CAN-CNA-
DSP) sont en effet devenues tellement bon march que les objets qui nous
entourent en sont progressivement quips. L'ancien paradigme de l'unit
centrale intelligente relie des priphriques se trouve ainsi balay et remplac
par une myriade de petits calculateurs embarqus et dialoguant entre eux
l'aide de signaux ports par des rseaux informatiques. Les camras et appareils
photos numriques, lecteurs de MP3 portables, agendas lectroniques, tous
aujourdhui runis dans un seul smartphone ne sont que la partie visible par le
grand public de ce bouleversement en marche. Lapparition plus rcente encore
de systmes informatiques programmables embarquant des CAN et CNA, bas
prix (comme les cartes Arduino, RaspBerry Pi et leur clnes - Fig. 2.19), a permis
aux tudiants du monde entier (et pas seulement dans les universits) de
sadonner, sans toujours le savoir, aux joies du traitement du signal.
20 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 2.19 Carte RaspBerry Pi3 : un ordinateur QuadCore et 1 GO de RAM pour 30


EU.

L tape suivante dans ce processus est dj en route : les objets ainsi rendus
autonomes possdent dsormais une adresse IP et se mettent communiquer
travers linternet des objets. Lapparition de protocoles rseaux informatiques
bas dbit et basse puissance permet en effet dj des objets autonomes de
rester connects pendant plusieurs annes (ce qui correspond souvent par
ailleurs leur dure de vie). En particulier, les rseaux LoRA se dveloppent en
ce moment mme partout dans le monde, et en particulier en Wallonie. Bas sur
une technologie libre, les nuds LoRa (Fig. 2.20) peuvent envoyer quelques
centaines doctets par jour, sur une porte de 10 km (contre 100m pour le
wifi !). Un rseau mondial (et citoyen) des nuds LoRa existe mme dj : the
THINGS network.

Fig. 2.20 Caractristiques des rsaux LoRa.


[http://www.microchip.com/design-centers/wireless-connectivity/embedded-
wireless/lora-technology]
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 21

Organisation pratique du cours

Depuis le dcret paysage et son application, le cours de Traitement du Signal


a t spar en deux parties : Traitement du signal 1 (16 de cours, 8h
dexercices, 24h de TP), qui est suivi par les BAB3 FPMs/IG, BAB3 FS/Info, et
MAB1 FPMs/Elec, et Traitement du Signal 2 (4h de cours et 8h de projet) qui est
suivi par les MAB1 FPMs/ELEC. Ces trois publics ont des formations diffrentes,
ce qui implique une forme de redite (comme certains ont dj pu le constater
dans cette introduction), notamment en ce qui concerne la transforme de
Fourier et les transmittances des systmes linaires et invariants, qui seront
rsums aux endroits adhoc.
Les sances d'exercices sont TRES importantes, et doivent tre prpares par les
tudiants. En particulier, chaque sance suppose la prparation prliminaire d'un
exercice (court) par les tudiants. En dbut de sance, un tudiant au hasard est
envoy au tableau pour y transcrire sa solution. Le reste de la sance d'exercices
est consacr une liste d'exercices que les tudiants peuvent consulter avant la
sance sur le site MOODLE du cours. Aucun rsolu n'est donn, mais le
professeur et des assistants passent parmi les tudiants pour les aider.
Les 6 TP de 4h passent en revue les outils de traitement du signal sous MATLAB
et SIMULINK, en relation avec le cours. Cette premire partie est sanctionne par
une preuve pratique en 7 sance. Pour les MA1, les deux dernires sances
sont consacres un avant-projet se rapportant un "projet grand public" bas
sur un principe de traitement du signal.
L'examen ne porte que sur des exercices. La rpartition des points est la
suivante: TS1 (4 crdits) = EP (35/100) Examen (65/100) ; TS2 (1 crdit) =
Projet (35/100) Examen (65/100).

Remerciements

Je tiens remercier Dominique Wynsberghe, Stphanie Devuyst, Nicolas Riche et


Alexis Moinet : leurs remarques et corrections ont apport beaucoup ces notes
de cours. Je remercie galement Thomas Dubuisson et Fabien Rogister, qui ont
contribu augmenter ces notes d'exercices progressifs et judicieux. Enfin, je
suis reconnaissant aux tudiants et tudiants de la FPMs qui ont bien voulu me
signaler les coquilles prsentes dans ce document (il en reste srement!) et qui,
par leur interaction, m'ont permis de prsenter cette matire d'une manire qui,
je l'espre, correspond bien la formation de l'ingnieur civil lectricien.
22 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Bibliographie

Les prsentes notes de cours ont bnfici de lapport de nombreux ouvrages.


Parmi les principaux, que je recommande chaudement (dans lordre de priorit,
du plus important au moins important) :
DENBIGH, P. (1998) System Analysis and Signal Processing, 513 pp. Harlow :
Addison-Wesley
AUGER, F. (1999) Introduction la thorie du signal et de linformation, 461 pp.
Paris : Technip
BAHER, H. (2001) Analog and Digital Signal Processing, 497 pp. Chichester :
Wiley & Sons
LYONS, R.G. (1998) Understanding Digital Signal Processing, 517pp. Harlow :
Addison-Wesley

T. Dutoit
30/08/16
CHAPITRE 1
INTRODUCTION AUX SYSTEMES
NUMERIQUES LINEAIRES ET
INVARIANTS

Leonardo Pisano Fibonacci (1170-1250), mathmaticien italien


spcialiste de la thorie des nombres. Parmi les nombreux problmes
quil a traits, celui qui a donn naissance la squence de Fibonacci
est rest clbre : Un homme place un couple de lapins dans un
enclos. Si on suppose que chaque couple donne naissance un
nouveau couple chaque mois, et que chaque nouveau couple devient
lui-mme productif partir de son deuxime mois, combien de
couples aura-t-il de mois en mois ? . Ce problme caractrise un
systme linaire numrique, dont la rponse impulsionnelle est
{1,1,2,3,5,8,13}.

Ce chapitre constitue une premire introduction aux systmes numriques, et en


particulier aux systmes linaires et invariants. Il doit permettre den
comprendre lextrme simplicit, sur le plan des lments et des lois
dassociations entre ces lments (par opposition au systmes lectriques
temps continus tudis dans un cours de thorie des circuits pour les
lectriciens).
Ltude prcise du comportement dynamique des systmes temps discret est
galement laisse un chapitre ultrieur, consacr la transforme en Z.

1.1 Signaux numriques


Un signal numrique1 x(n) est dfini comme une squence de nombres (souvent
appels chantillons parce qu'ils proviennent en gnral de l'chantillonnage d'un
signal analogique; cf. Chap. 3):

1 Ceci dfinit en fait un signal numrique scalaire. On peut galement dfinir des signaux vectoriels

(squence de vecteurs) ou matriciels (squence de matrices). Ainsi, une squence dimages


numriques est un signal numrique matriciel. On parle galement de signaux mono- et multi-
dimensionnels. Une image peut tre vue comme un signal bi-dimensionnel vectoriel (chaque
chantillon reprsente un pixel, par exemple sous la forme de ses trois composantes RGB).
2 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

x(n) ..., x( n),..., x(1), x(0), x(1),..., x(n),... (1.1)

Dans de nombreux cas, on manipule des squences dites causales, partir dune
valeur de dpart x(0) (les valeurs pour n ngatif sont supposes nulles):

x(n) x(0), x(1),..., x(n),... (1.2)

Exemple 1.1
1 si n 0
Impulsion numrique : ( n)
0 si n 0
Ce signal est facilement obtenu dans Matlab (ici les 50 premires valeurs):

impulse=[1, zeros(1,49)];
1 si n kn0 (k entier)
Train dimpulsions numrique : n0 (n)
0 si n kn0
Sous Matlab (ici avec n0=10):

pulsetrain=[1, zeros(1,9)];
pulsetrain=[pulsetrain pulsetrain pulsetrain pulsetrain pulsetrain] ;
1 si n 0
Echelon numrique : ( n)
0 si n 0
step=[ones(1,50)];
Exponentielle imaginaire numrique : f (n) e jn

Sous Matlab (ici avec =pi/20):

imagexp=[exp(j*(0:49)*pi/20)];

La Fig. 1.1 montre comment Matlab permet dafficher ces squences numriques de base :

Subplot(2,2,1); stem(impulse);
Subplot(2,2,2); stem(pulsetrain);
Subplot(2,2,3); stem(step);
Subplot(2,2,4); stem(real(imagexp)); hold on; stem(imag(imagexp));

1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

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

1 1

0.8
0.5
0.6
0
0.4
-0.5
0.2

0 -1
0 10 20 30 40 50 0 20 40 60 80 100
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 3

Fig. 1.1 Squences numriques de base

1.2 Systmes numriques


Un systme numrique (Fig. 1.2) reoit en entre une squence d'chantillons
{x(0), x(1), x(2), }, note plus simplement x(n), et produit en sortie une
squence d'chantillons y(n) obtenue partir de lentre aprs application dune
srie d'oprations algbriques2.

x(n) Systme y(n)


numrique

Fig. 1.2 Systme numrique

Un systme numrique est linaire et invariant sil rpond en outre aux


conditions classiques illustres la Fig. 1.3.

x1(n)+ x2(n) Systme y1(n)+ y2(n)


numrique
linaire

x(n-n0) Systme y(n-n0)


numrique
invariant

Fig. 1.3 Systme numrique linaire et invariant

Un systme numrique est stable si, lorsquon lui prsente une entre finie (c.--
d. dont tous les chantillons sont de grandeur finie), il produit une sortie finie.
Exemple 1.2
Le systme dfini par la relation y(n)=Kx(n)+A (o K et A sont des constantes relles) est
non linaire, invariant, et stable.

Llment dlai dfini par la relation y(n)=x(n-1) est linaire, invariant, et stable.

Le systme dfini par la relation y(n)=n x(n) est linaire, non invariant, et instable.

Le systme dfini par la relation y(n)= |x(n)| est non linaire, invariant, et stable.

1.3 Systmes rcursifs Systmes non rcursifs

2 En pratique un systme peut avoir plusieurs entres et/ou plusieurs sorties. On parle de systme

SISO (Single Input Single Output) ou MIMO (Multiple Inputs Multiple Outputs).
4 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

La classe la plus importante des systmes numriques linaires et invariants


(SLI) peut tre dcrite par des quations aux diffrences finies, linaires et
coefficients constants, de la forme :
y (n) a1 y (n 1) a2 y (n 2) ... aN y (n N )
(1.3)
b0 x(n) b1 x(n 1) ... bM x(n M )
Une telle quation exprime le fait que la valeur de la sortie y(n) linstant
courant est une combinaison linaire des N sorties prcdentes, de lentre
courante, et des M entres prcdentes. On la note souvent de faon plus
compacte :
N M
y(n) ai y(n i) bi x(n i ) (1.4)
i 1 i 0

De tels systmes sont dits rcursifs tant donne le caractre rcursif de


lquation correspondante : il faut avoir dj calcul toutes les sorties
prcdentes (n-1, n-2, ) pour pouvoir calculer la sortie courante (n).
Un cas particulier est celui des systmes dont les valeurs de sortie sont calcules
uniquement partir du signal d'entre :
M
y(n) bi x(n i) (1.5)
i 0

De tels systmes sont dits non rcursifs 3.


Lordre dun SLI numrique rcursif est donn par le degr de la rcursivit de
lquation aux diffrences finies associe : N. Pour un filtre non rcursif, l'ordre
est dfini gal M.
De la mme faon quune systme linaire et invariant analogique (caractris
par une quation intgro-diffrentielle entre lentre et la sortie, toutes deux
analogiques) dfinit un filtre analogique, on appelle filtre numrique un systme
numrique linaire et invariant. On parlera donc dans la suite de filtre rcursif et
de filtre non rcursif.
Il est possible de visualiser lquation de rcurrence associe un filtre
numrique, sous la forme dune structure (ou graphe de fluence) faisant
apparatre les lments de base suivants :

Ladditionneur, symbolis par , qui additionne les signaux ses


entres.

Le multiplieur, symbolis par a , qui multiplie un signal par un scalaire a

Llment dlai , symbolis par z-1 , qui produit une sortie retarde de
une valeur par rapport son entre.
La structure associe (1.3) est donne la Fig. 1.4 4

3 Nous verrons plus loin que tout systme rcursif peut se rcrire sous une forme non-rcursive,

mais que le nombre de coefficients du filtre non-rcursif quivalent peut tre trs grand.
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 5

b0
x(n) y(n)

z-1 z-1
b1 -a1

z-1 z-1
b2 -a2

z-1
bM
z-1

-aN

Fig. 1.4 Exemple de structure dun filtre numrique rcursif

On constate que le caractre rcursif ou non rcursif dun filtre numrique est li
la prsence ou labsence de boucles orientes dans sa structure.
Exemple 1.3 Intrts composs
Le principe des intrts composs sur un compte bancaire peut tre facilement dfini par une
quation aux diffrences finies :

p
y(n) y(n 1) y(n 1) x(n) (1.6)
100
o y(n) est la somme disponible au temps t=nT sur le compte, x(n) est le dpt ou le retrait
courant et p est le taux dintrt (en %). La valeur de T dpend de la politique financire de
ltablissement (actualisation par jour, semaine, mois, anne).

Le systme sous-jacent est rcursif et dordre 1. Sa structure est donne la Fig. 1.5.

x(n) y(n)

z-1
1+p/100

Fig. 1.5 Structure du SLI correspondant au calcul des intrts composs

4 Plus prcisment, il sagit l dune des structures possibles. Nous verrons au chapitre consacr au

filtrage numrique que plusieurs structures existent, avec chacune leurs avantages et leurs
inconvnients.
6 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

Exemple 1.4 Squence de Fibonacci


La squence de Fibonacci (voir citation en dbut de chapitre) peut tre dfinie par une
quation aux diffrences finies :

y(n) y(n 1) y(n 2) x(n) (1.7)


O y(n) est le nombre de couples de lapins dans lenclos au nme mois et x(n) est le nombre
de couples que lon ajoute la population de lenclos au nme mois.

Le systme sous-jacent est rcursif et dordre 2. Sa structure est donne la Fig. 1.6

x(n) y(n)

z-1
1

z-1
1

Fig. 1.6 Structure du SLI correspondant au calcul de la squence de Fibonacci

Exemple 1.5 Filtre moyenne mobile


Imaginons que lon veuille crer un filtre numrique dont chaque valeur de sortie y(n) soit la
moyenne locale du signal dentre, estime sur 2L+1 valeurs autour de lchantillon
courant x(n) (Fig. 1.7):
L
1
y(n) x( n i )
2L 1 i L
(1.8)

x(n)

2L+1 points

Moyenne

y(n)

Fig. 1.7 Filtre moyenne mobile


INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 7

Lquation prcdente dfinit bien un filtre numrique non rcursif, appel filtre moyenne
mobile.

Notons que ce filtre, tel que dfini, est non causal : le calcul de la valeur courante de sortie
courant ncessite de connatre les L valeurs dentre suivantes. Lexistence de systmes non
causaux nest pas ncessairement un problme dans le domaine du numrique : ces
systmes seront en pratique implments comme des systmes causaux dlai, le dlai
correspondant au nombre de valeurs futures ncessaires au calcul de la valeur de sortie
courante. Le systme causal dlai correspondant lquation prcdente est donn par :

1 2L
y ( n) x(n i )
2 L 1 i 0
(1.9)

et reprsent la Fig. 1.8.

1/(2L+1)
x(n) y(n)

z-1
x(n-1)

z-1
x(n-2)

z-1
x(n-2L)

Fig. 1.8 Structure du SLI causal dlai (L) correspondant au filtre moyenne mobile

1.4 Rponse impulsionnelle


La rponse impulsionnelle, note h(n), dun SLI numrique est alors dfinie
comme sa rponse force y(n) limpulsion numrique (Fig. 1.9), en supposant
que les conditions initiales sont nulles : y(n)=0 pour n<0.

(n) h(n)

SLI
numrique

n n

Fig. 1.9 Rponse impulsionnelle


8 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

Au contraire des systmes analogiques, le calcul de la rponse impulsionnelle


dun SLI numrique est immdiat : il suffit deffectuer la rcurrence numrique
sous-jacente5.
Exemple 1.6
La rponse impulsionnelle du systme des intrts composs dcrit par (1.6) est :

h(n)={1, 1+p/100, (1+p/100), (1+p/100)3, }

On peut lobtenir sous Matlab grce la fonction filter, qui implmente la rcurrence
gnrale (1.4). Le rsultat est affich la Fig. 1.10 (on suppose ici que p vaut 5):

impresp=filter([1],[1 -1.05],impulse); stem(impresp)6;

12

10

0
0 5 10 15 20 25 30 35 40 45 50

Fig. 1.10 Rponse impulsionnelle du filtre correspondant au calcul des intrts


composs

On constate en passant que ce systme est instable (mais qui sen plaindra ?), puisque sa
rponse une squence de nombre finis produit une squence de nombres qui tendent vers
linfini.

Exemple 1.7
La squence de Fibonacci est prcisment la rponse impulsionnelle du systme rpondant
(1.7), puisquon suppose commencer llevage avec un couple de lapins et ne plus en ajouter
par la suite : h(n)={1, 1, 2, 3, 5, 8, 13, 21, }

Sous Matlab :

impresp=filter([1],[1 1 -1],impulse);
impresp(1:12)
1 1 2 3 5 8 13 21 34 55 89 144
stem(impresp);

5 Ceci illustre bien ce qui avait t annonc dans lintroduction de ce cours : simuler un traitement

numrique, cest leffectuer.


6 La fonction stem permet de visualiser une squence numrique sans interpolation linaire entre
les chantillons successifs, ce qui permet de ne pas la confondre avec un signal analogique.
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 9

9
x 10
14

12

10

0
0 5 10 15 20 25 30 35 40 45 50

Fig. 1.11 Rponse impulsionnelle du filtre correspondant la squence de Fibonacci

Comme on pouvait sy attendre, ce systme, tel que modlis ici par une simple rcurrence
linaire, est galement instable .

On notera que la rponse impulsionnelle dun filtre non rcursif nest rien dautre
que la suite de ses coefficients {b0, b1, b2, ,} (Fig. 1.12), qui se trouvent
successivement pousss vers la sortie par limpulsion qui se propage le long de la
chane dlments dlai.

Fig. 1.12 Rponse impulsionnelle d'un filtre non rcursif

Exemple 1.8
Lexamen de la structure du filtre moyenne mobile suffit se convaincre que sa rponse
impulsionnelle est donne par la squence 1/(2L+1){1, 1, 1, , 1, 0, 0, 0, } comprenant
2L+1 valeurs 1/(2L+1) et une infinit de 0 .

Pour l'exemple qui nous occupe (avec L = 3):

impresp=filter(1/7*[1 1 1 1 1 1 1],[1],impulse); stem(impresp);


10 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

0.16

0.14

0.12

0.1

0.08

0.06

0.04

0.02

0
0 5 10 15 20 25 30 35 40 45 50

Fig. 1.13 Rponse impulsionnelle du filtre moyenne mobile causal dlai

Nous pouvons donc penser que ce filtre est stable, bien que rien ne nous permette pour le
moment daffirmer que la rponse impulsionnelle soit suffisante pour vrifier la stabilit dun
filtre. Nous verrons la Section suivante que cest bien le cas.

On constate sur les exemples prcdents que la rponse impusionnelle dun filtre
rcursif est une squence, a priori illimite, de valeurs non nulles (et ce mme si
le filtre est stable), puisque chaque valeur de sortie dpend des valeurs de
sorties prcdentes. Par contre, la rponse impulsionnelle dun filtre non rcursif
est donne par la suite de ses coefficients, et constitue donc une squence qui
sannule aprs un nombre fini de valeurs. En consquence, les filtres rcursifs
sont appels filtres rponse impulsionnelle infinie (RII) et que les filtres non
rcursifs sont dits rponse impulsionnelle finie (RIF).

1.5 Rponse force une entre quelconque


Convolution numrique
Le calcul de la rponse une entre quelconque est tout aussi trivial que celui de
la rponse impulsionnelle : il suffit deffectuer la rcurrence numrique. Il est
cependant intressant de constater que la rponse une entre quelconque peut
tre dtermine facilement si on connat dj la rponse impulsionnelle, en
effectuant une convolution numrique.
Calcul par produit de convolution. On peut en effet toujours considrer
quune squence dentre {x(n)}={x(0), x(1), x(2), } est une somme
dimpulsions numriques pondres et dcales :
x(n) x(0) (n) x(1) (n 1) x(2) (n 2) ... (pour tout n) (1.10)
Vu les proprits de linarit et dinvariance du systme, la rponse x(n) est
donne par :
y(n) x(0)h(n) x(1)h(n 1) x(2)h(n 2) ... (1.11)
ce qui nest rien dautre quune combinaison linaire des rponses
impulsionnelles chacun des nombres de la squence dentre (et donc dcales
dautant; Fig. 1.16).
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 11

x(0)(n) x(0)h(n)

h(n)
n 0 n
0
x(1)(n-1) x(1)h(n-1)
0 n
n
0 0 n
SLI
x(2)(n-2) numrique x(2)h(n-2)

n
n 0
0

x(n) y(n)

n 0 n

Fig. 1.14 Convolution numrique par somme de rponses impulsionnelles dcales et


pondres

Cette quation dfinit ce que lon appelle une convolution numrique, note 7 :

y(n) x(n)* h(n) x(i)h(n i)
i
(1.12)

Exemple 1.9
Considrons nouveau le systme de Fibonacci et supposons que le propritaire de lenclos y
apporte, non pas un seul couple de lapins le premier mois, mais bien : un couple le premier
mois, deux couples le troisime, et un couple le quatrime mois. On demande combien de
couples se trouveront dans lenclos aprs sept mois.

Il est facile de lancer le calcul de la rcurrence sous Matlab :

resp=filter([1],[1 1 -1],[1,0,2,1,0,0,0])
1 1 4 6 10 16 26

On peut retrouver facilement ce rsultat en utilisant la rponse impulsionnelle


{1,1,2,3,5,8,13,21,34,55,89,144} : le premier couple de lapins produira 13 couples en sept
mois, les deux couples placs au troisime mois en produiront 2*5, et le quatrime en
produira 3, ce qui fait bien en tout 26.

Stabililt et rponse impulsionnelle. Une des consquences importantes de


l'quation (1.12) est que la stabilit d'un filtre numrique peut bel et bien tre
vrifie uniquement sur base de sa rponse impulsionnelle. On montre assez
facilement (mais la dmonstration n'a pas d'intrt ici) que la condition de
stabilit s'exprime comme :

7 On notera que, dans cette dernire quation, la sommation est dfinie pour i allant de - + ,

et non de 0 + comme on pourrait sy attendre vu (1.11). Cette extension permet de prendre


en compte les systmes non causaux, dont la rponse impulsionnelle h(n) peut tre dfinie pour n
ngatif.
12 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

| h(n i) |
i
(1.13)

Dans la pratique, on ne mesure jamais que les premiers chantillons de la


rponse impulsionnelle d'un systme (ceux dont la valeur est suprieure un
seuil, typiquement 1e-3 ou 1e-4, et on ignore les autres), de sorte que cette
condition se rduit :
| h(i) | ( i ) (1.14)

Vision duale du produit de convolution. Il est facile de montrer que le


produit de convolution numrique ainsi dfini est bien commutatif :

y(n) x(n)* h(n) h(i) x(n i) (1.15)
i 0

Cette autre faon dcrire le produit de convolution possde elle aussi une
interprtation simple : pour obtenir une valeur particulire y(n0) de la squence
y(n), il suffit dinverser h(n), de repositionner h(0) sur x(n0), et de calculer le
produit scalaire entre les squences x(n) et h(n) ainsi dfinies. On constate ainsi
quil est possible dobtenir directement une valeur y(n0) de la squence y(n) par
combinaison linaire des valeurs de x(n) autour de x(n0), combinaison linaire
dont les coefficients sont les valeurs de h(n) (Fig. 1.16).

h(n)
h(-n)

n
0 n 0
x(n)
x(n)

SLI
numrique n
0 n 0

()
y(n)

n
0
y(2)

Fig. 1.15 Convolution numrique par retournement de la rponse impulsionnelle et


somme pondre des chantillons d'entre : calcul de y(2)
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 13

Pour rappel, lquation de rcurrence (1.4) ncessite au contraire le calcul de


toutes les valeurs de y(n) prcdant y(n0)8. Ce calcul est ralis ici indirectement
par le calcul prliminaire de h(n).
Exemple 1.10
Soit {x(n)}=n et {h(n)}= {1,1/2,1/3,1/4,0,0,}. Le calcul de y(6) par (1.15)
donne 10.5833. Cette valeur correspond 6+5/2+4/3+3/4 (Fig. 1.16).

x(i)
10

0
1 2 3 4 5 6 7 8 9 10
h(6-i)
1

0.5

0
1 2 3 4 5 6 7 8 9 10
calcul de y(6)
15

10

0
1 2 3 4 5 6 7 8 9 10

Fig. 1.16 Calcul de y(6) par combinaison linaire des valeurs de x autour de x(6)

1.6 Transforme en Z Ples et zros dun SLI


Les oprations effectues pour raliser la convolution entre deux squences ne
sont pas sans rappeler celles qui permettent de calculer un produit de
polynmes. Le produit de deux polynmes se rduit en effet une somme de
produits des coefficients du premier par les coefficients du second, dcals des
puissances correspondantes. On montre facilement que ces deux oprations sont
exactement identiques : la convolution entre deux squences numriques est
exactement quivalente au produit de deux polynmes dont les coefficients sont
prcisment les squences convoluer.
Exemple 1.11

8 Sauf si le systme est non-rcursif, auquel cas on a dj vu que sa rponse impulsionnelle est

gale la suite de ses coefficients. Le calcul de y(n0) par (1.5) est alors exactement identique
(1.15).
14 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

Soit {x(n)}={1,2,3,0,0,} et {h(n)}={2,3,4,0,0,}. La convolution de {x(n)} avec {h(n)}


par (1.12) donne {2,7,16,17,12,0,0,} . Construisons deux polynmes X(z) et H(z) partir
de {x(n)} et {h(n)} :

X(z)=1+2z-1+3z-2=z-2(z2+2z+3) H(z)=2+3z-1+4z-2= z-2(2z2+3z+4)

Le produit de ces deux polynmes donne bien le polynme Y(z)=z-4(2z4+7z3+16z+17z+12)

On peut galement le vrifier par Matlab :

conv([2,3,4],[1 2 3])
ans =
2 7 16 17 12
On comprend mieux maintenant pourquoi, dans Matlab, la fonction qui ralise le produit de
deux polynmes sappelle conv.

Lexemple prcdent a montr quil est intressant dassocier une squence


numrique {x(n)} un polynme en z-1 (o z est la variable complexe), que lon
appelle transforme en Z de {x(n)} et que lon note X(z) :
Z
x(n) X ( z) x(i) z i (1.16)
i

Si H(z) est la transforme en z de la rponse impulsionnelle {h(n)} dun SLI


numrique :
Z
h(n) H ( z) h(i) z i (1.17)
i

La transforme en z de la sortie du systme est alors donne par :


Z
y ( n) Y ( z) X ( z)H ( z) (1.18)

On voit donc (pour ceux qui ont eu un cours sur le sujet) que la transforme en z
(qui associe une fonction de la variable complexe z un signal numrique) est
lhomologue, dans le domaine numrique, de la transforme de Laplace (qui
associe une fonction de la variable complexe p un signal analogique). On avait
en effet :
L

x(t )e
pt
x(t ) X ( p) dt


(1.19)
L

h(t )e
pt
h(t ) H ( p ) dt

L
y (t ) Y ( p) X ( p) H ( p)
Le passage de lanalogique au numrique correspond au passage de lintgrale
la somme, et la substitution de z ep.
Transforme en Z de signaux usuels. On peut dresser rapidement une liste
des valeurs de X(z) pour certains signaux simples. Ainsi par exemple:
|az 1 |1
an (n) ai z i 1
Z
(1.20)
i 0 1 az 1

L'exponentielle dcroissante an (|a|<1) correspond donc (de faon similaire ce


qui se passe en analogique) un ple rel, en z=a (Fig. 1.17) et un zro en 0.
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 15

Im(z)
a (n)
n

1
Re(z)
x 1
a
n

Fig. 1.17 Exponentielle numrique relle et son ple rel dans le plan z

Cette conclusion reste valable si a est un nombre complexe e j :


| z 1 |1
e (n) e z
1
Z
jn ji i
n i
(1.21)
i 0 1 e j z 1
On en dduit qu'un cosinus amorti correspond deux ples complexes conjugus
et deux zros (un en zro et l'autre sur l'axe rel, la verticale des ples):

i
n cos(n ) (n) i cos(i ) z i e e ji z i
Z
ji

i 0 i 0 2
1
1/ 2 1/ 2
(1.22)9
1 e z
j 1
1 e j z 1
1 cos( ) z 1

1 2 cos( ) z 1 z 2

Im(z)
ncos(n)(n)
1 x
Re(z)
- 1
x
n

Fig. 1.18 Sinusode numrique amortie et ples complexes conjugus dans le plan z

Fonction de rponse oprationnelle (en z) d'un SLI numrique. La


transforme en z est cependant largement moins indispensable en numrique
que son homologue de Laplace ne lest en analogique. La rcurrence (1.4), qui se
substitue lquation intgro-diffrentielle dcrivant un SLI analogique, permet
en effet le calcul direct de la sortie, sans devoir passer par le calcul de sa
transforme en z.
Comme la transforme de Laplace, la transforme en z ne converge pas
ncessairement pour toutes les valeurs de z (on parle de domaine de

9 Notons que le dnominateur de cette dernire expression est similaire celle obtenue en

analogique: 1 2 cos( ) z 1 z 2 z 2 ( z 2 2 z ) si l'on pose cos( ) , c'est--dire si


- est la partie relle des ples.
16 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

convergence; voir par exemple la condition apparue en (1.20)). Elle jouit


galement de nombreuses proprits (que nous ne verrons pas ici in extenso).
La seule proprit fondamentale de la transforme en z que nous utiliserons ici
est celle lie au retard de {x(n)} de n0 chantillons:
Z
x(n n0 ) x(i n0 ) z i x(k ) z ( k n ) z n x(k ) z k z n X ( z )
0 0 0
(1.23)
i k k

On peut en effet avantageusement appliquer cette proprit la rcurrence


(1.4) :
N M
Y ( z ) Y ( z ) ai z i X ( z ) bi z i (1.24)
i 1 i 0

ce qui conduit une autre formulation de H(z) :


M

Y ( z) b z i
i

H ( z) i 0
N (1.25)
1 ai z
X ( z) i

i 1

que lon rcrit parfois sous la forme plus simple :


M

b z i
i

H ( z) i 0
N
(a0 1) (1.26)
a z
i 0
i
i

Cette dernire quation dfinit la fonction de transfert en z dun SLI, et est


comparer lquation donnant la forme de la fonction de transfert en p dun
systme analogique. On dfinit les zros et les ples dun SLI numrique comme
les racines du numrateur et du dnominateur de H(z).
Ples et stabilit. Lquation (1.18) permet alors, si lon connat X(z) et H(z),
de calculer la sortie Y(z) d'un SLI numrique, et den dduire {y(n)}. On peut
dailleurs galement utiliser pour ce faire la dcomposition en fractions simples
(en pratique, on ne le fait presque jamais: on obtient plus rapidement la rponse
partir de la rcurrence du filtre). On trouve alors, comme en analogique, que la
rponse est en gnral une somme pondre de termes de rgime dont la forme
dpend de l'excitation, et de termes transitoires dont l'allure ne dpend que de la
position des ples de H(z).
En consquence, on peut tablir un lien entre la position des ples dun systme
numrique et sa stabilit: un SLI numrique est strictement stable si ses ples
sont tous lintrieur du cercle de rayon unit (cercle non compris), et stable si
on accepte aussi les ples simples10 sur le cercle de rayon unit. Cette proprit
vient directement du fait que la rponse impulsionnelle du systme peut tre
obtenue par dcomposition en fractions simples de H(z), et inversion de chacun

10 Rappelons quen analogique un ple multiple correspond un terme t exp(-t) cos(t). Un ple

multiple sur laxe imaginaire conduit donc une rponse non borne. Pour les mmes raisons, un
ple multiple sur le cercle de rayon unit correspond un systme numrique instable.
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 17

des termes. Si tous les ples sont l'intrieur du cercle de rayon unit, tous ces
termes seront de forme dcroissante11.
Le demi-plan de droite de lanalogique se trouve ainsi transform en lintrieur
du cercle de rayon unit, ce qui correspond la substitution de z ep dj
voque plus haut (Fig. 1.19).

Im Im

z=ep 1
Re Re

Fig. 1.19 Zone de stabilit en z et lien avec la zone de stabilit en p.

Exemple 1.12
Nous avions dj du que le systme de Fibonacci est instable. Nous pouvons maintenant le
vrifier sur sa fonction de transfert :

1
H ( z) 1
1 z z 2
Les ples de H(z) sont rels et gaux (1 5) / 2 . Il y a deux zros en 0, qui n'ont pas
d'influence sur le module de la rponse en frquence. On peut les afficher facilement sous
Matlab, qui les positionne automatiquement par rapport au cercle de rayon unit :

zplane([1],[1 1 -1])

Fig. 1.20 Affichage des ples et zros par Matlab

11 La dmonstration stricte de cette proprit n'est cependant pas simple.


18 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

Exemple 1.13
L'intrt de l'expression d'un filtre numrique sous sa forme H(z) (1.26) est galement de
permettre de manipulations de la structure du filtre sans changer sa rponse impulsionnelle.
Ainsi, le filtre moyenne mobile de l'Exemple 1.8 possde une forme rcursive plus simple
que sa forme non rcursive:

1 N 1 i 1 1 z N
H ( z) z N 1 z 1
N i 0
laquelle il correspond la rcurrence :

1
y(n) y(n 1) x(n) x(n N )
N
et la structure :

1/N
x(n) y(n)

z-N z-1
-1 1

On peut vrifier que les rponses impulsionnelles de ces deux filtres sont identiques. La
forme rcursive est plus compacte calculer, mais elle ncessite, pour le calcul d'un
chantillon donn y(n0) de la sortie, de calculer tous les chantillons de sortie prcdents.
Notons qu'il s'agit ici d'un cas assez rare (celui d'une structure rcursive qui possde un
equivalent exact non rcursif). En gnral, un filtre rcursif possde une rponse
impulsionnelle longue, qui ne s'annule thoriquement jamais mais devient en pratique
ngligeable au bout d'un temps fini. On pourrait ds lors le remplacer par son quivalent non
rcursif obtenu en tronquant la rponse impulsionnelle du filtre rcursif. On ne le fait en
gnral pas, car le degr du filtre non rcursif (et donc la charge de calcul associe) est
systmatiquement trs suprieur celui du filtre rcursif.

Exercices
Exercice 1.1
Un SLI est dcrit par lquation :

On demande :
De dessiner la structure du filtre correspondant
De trouver lexpression analytique de sa rponse impulsionnelle
Den dduire une condition pour que le filtre soit stable
De vrifier cette condition partir de la fonction de transfert en z du systme

Solution
h(n) h1 (n) h2 (n) b0 (a1 )n (n) b2 (a1 )n2 (n 2) , stable si |a1|<=1

Exercice 1.2
Le systme suivant constitue, pour certaines valeurs de ses coefficients, un
oscillateur numrique. Il implmente un calcul purement rcursif de cos(x).
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 19

x(n) y(n)

z-1
a1

z-1
a2

On demande :
Dcrire la rcurrence numrique correspondante
De trouver les valeurs de a1 et a2 permettant ce filtre davoir une rponse
impulsionnelle de type ncos(n) pulsation rduite et d'amortissement nul (c.-
d. ayant un unitaire)
De calculer les ples de ce systme et de les dessiner dans le plan complexe

Solution
a1 2cos( ); a2 1 ; ples complexes = (ej, e-j)

Exercice 1.3
Un systme du second ordre est dcrit par le diagramme suivant :

On demande :

De dterminer la fonction de transfert du systme ainsi que

lquation aux diffrences correspondante


De calculer les 10 premiers chantillons de la rponse impulsionnelle du systme
en utilisant lquation aux diffrences (le systme est suppos initialement au
repos)
De dessiner le diagramme ples-zros de ce systme.
20 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

Solution
h(9)=.1563; zros = exp[+-j acos(-0.75)]; ples = sqrt(.5) exp[+-j /4]

Exercice 1.4
Un systme numrique est dcrit par lquation aux diffrences :

On demande :

De calculer la fonction de transfert du systme

De calculer les 5 premiers chantillons de la rponse du systme


(pour les conditions initiales y(-2)=y(-1)=0)
De donner la pulsation rduite et le coefficient d'amortissement de la rponse
impulsionnelle.
Solution
h(4)= -0.0027; =sqrt(0.9); =/2

Exercice 1.5
Un systme numrique est constitu de la mise en parallle de deux systmes
numriques :

Le signal dentre x(k) ainsi que la rponse impulsionnelle h1(k) sont fournis :

On demande :
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 21

De tracer le signal y1(k) pour k compris entre -2 et 6


De dterminer h2(k) tel que la sortie y(k) du systme soit identique lentre x(k)

Solution
h2(-1)= -0.25; h2(0)= 0.5; h2(1)= -0.25;

Exercice 1.6
Soit les signaux x1(n) et x2(n) :

On demande :
De calculer les 3 premiers chantillons de leur convolution numrique : y(0), y(1),
y(2).
De calculer le 8me chantillon sans passer par le calcul des chantillons
prcdents.

Solution
y(2)=2; y(7)=1

Exercice 1.7
Un systme numrique est caractris par le diagramme ples-zros :

On demande :
De dterminer la fonction de transfert du systme ( une constante prs) partir
du diagramme ples-zros
Den dduire lquation aux diffrences dcrivant le systme
De dessiner la structure du filtre correspondant

Exercice 1.8
Un systme numrique est dcrit par la structure suivante :
22 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS

On demande de :
Dterminer lquation aux diffrences correspondant cette structure
De dterminer la fonction de transfert du systme
De dterminer combien de multiplications et dadditions sont ncessaires selon
cette structure pour obtenir chaque chantillon de sortie (on fait comme
hypothse que est rel et quune multiplication par 1 nest pas compte).

Solution
2 produits et 4 sommes

Exercice 1.9
A partir de leurs rcurrences respectives, calculer les 5 premiers chantillons de
la rponse impulsionnelle des filtres ci-dessous H1, H2, H3 et vrifier que la
rponse de H3 est bien la convolution numrique de celle de H1 et H2.

Solution
h3(n)={0,1,1,-2,-4,}

Exercice 1.10
Discuter de la stabilit du systme donn par la rcurrence suivante en fonction
de k (rel).
INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS 23

Solution
toujours instable)

Exercice 1.11
a. Donner la fonction de transfert en z correspondant la rcurrence suivante,
tudier sa stabilit, et proposer une structure pour le SLI correspondant.

x(n) y(n)
y(n)=x(n)+2x(n-1)+y(n-1)+4y(n-2) SLI

b. Donner lquation de rcurrence du SLI inverse (celui qui produirait x(n) en


sortie si on lui prsentait y(n) en entre) et proposer une structure.

Solution
a. instable b

Exercice 1.12
A partir de leurs rcurrences respectives, calculer les 5 premiers chantillons de
la rponse impulsionnelle des filtres ci-dessous H1, H2, H3 et vrifier que la
rponse de H3 est bien la convolution numrique de celle de H1 et H2.

Exercice 1.13
Etablir les correspondances entre les diagrammes ples zros et les rponses
impulsionnelles suivants et justifier vos choix :
24 INTRODUCTION AUX SYSTEMES NUMERIQUES LINEAIRES ET INVARIANTS
CHAPITRE 2
ANALYSE FREQUENTIELLE
DES SIGNAUX ET SYSTEMES
NUMERIQUES

Witold Hurewicz (1904-1956). Mathmaticien russe, spcialiste en topologie.


Emigr aux Etats-Unis en 1936, il dcida dy rester et devint professeur au
MIT, de 1945 sa mort. Durant la seconde guerre mondiale, il participa
lanalyse des signaux radar, intrinsquement discrets puisque la position des
objets y est connue une seule fois par tour dantenne. Cest dans ce contexte
quil inventa en 1947 ce que nous connaissons aujourdhui sous le nom de
transforme en Z.

Le chapitre 1 a montr lessentiel de ce qui peut tre dit des signaux et systmes
numriques (linaires et invariants) dans le domaine temporel.
Lanalyse frquentielle des signaux numriques ncessite d'introduire la
transforme de Fourier temps discret (TFTD), homologue de la transforme de
Fourier dans le monde numrique. Nous le ferons ici aprs un rappel sur
lanalyse frquentielle des signaux analogiques, par souci de cohrence.
Nous pourrons alors dfinir la rponse en frquence dun systme numrique,
comme facteur multiplicatif intervenant dans le calcul de sa rponse en rgime
sinusodal. Nous verrons que ce facteur multiplicatif peut tre obtenu partir de
la fonction de transfert en Z du systme. Nous terminerons par le calcul pratique
de quelques filtres simples.

2.1 Signaux simples usuels


On utilisera souvent dans ce cours les signaux ci-dessous, dont nous donnons ici
les versions analogiques et numriques (et limplmentation MATLAB de ces
dernires).
Echelon unit
Lchelon unit, not (t) en temps continu (Fig. 2.1) ou (n) en temps discret,
est dfini par :
2 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

1 (t 0) 1 (n 0)
(t ) (n) (2.1)
0 (t 0) 0 (n 0)

(t)
1

t
0

Fig. 2.1 Signal chelon temps continu.

Rectangle
Le signal rectangulaire rect(t) est constant 1/2 +1/2, damplitude 1.

rect(t)
1

t
-1/2 1/2

Fig. 2.2 Signal rectangulaire temps continu.

Exemple 2.1 Signal rectangulaire temps discret

rect=[ones(1,100) zeros(1,100)]; %% 1s of a rectangle sampled at 100Hz


stem(rect);

Triangle
Le signal triangulaire est dfini par :

1 t ( t 1)
tri (t ) (2.2)
0 sinon
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 3

Fig. 2.3 Signal triangulaire temps continu.

Sinus cardinal
Le signal sinus cardinal (souvent appel fonction pieuvre ) est donn par :
sinc(t)=sin(t)/t (2.3)

sinc(t)
1

t
-2 - 2

Fig. 2.4 Sinus cardinal

Exemple 2.2 Sinus cardinal temps discret

Fe=100 ; t=(-100:99)* 10 /Fe; %Fe = 100 ; 200 samples ; 10 oscillations


sincard=sin(pi*t)./(pi*t);
plot(sincard); title ('sinus cardinal');

Exponentielle imaginaire - phaseur


Lexponentielle imaginaire A e j0t , o A est une constante complexe
A e j A correspond, dans lespace 3 dimensions comprenant le plan complexe
et un axe temporel orthogonal, une hlice de rayon |A|, de phase initiale A,
et de vitesse angulaire 0. Le sens de rotation dpend du signe de 0, ce qui
donne un sens la notion de frquence ngative. On parle souvent de phaseur
lorsquon considre la projection de ce signal sur le plan complexe.
4 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 2.5 Exponentielle imaginaire en 3D.


[http://dsp.stackexchange.com/questions/431/what-is-the-physical-significance-
of-negative-frequencies]

Signal sinusoidal
Un signal sinusodal est de la forme gnrale a cos(0t ) , ce qui comprend en
particulier les formes a sin(0t ) et a cos(0t ) . a est la valeur de crte, 0 est la
pulsation (en radians/s) et est la phase lorigine (en radians). La frquence
de la sinusode est donne par f 0 0 / 2 et la priode par T0 2 / 0 .
Ces signaux sont obtenus par projection dun phaseur sur les axes rels ou
imaginaires (Fig. 2.6).

Fig. 2.6 Signaux sinusodaux [http://jackschaedler.github.io/circles-sines-


signals/sincos.html]

La puissance de ce signal est donne par :


T /2 T /2
1 0 1 0

2
P a cos(0t ) dt a 2 / 2
2
f T0 (t ) dt (2.4)
T0 T0 / 2 T0 T0 / 2
La valeur efficace de ce signal est donc donne par a 2.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 5

Exemple 2.3

La Fig. 2.7 reprsente un signal sinusodal.


Il est facile den dduire lexpressions analytique :

U max 14.1 10 2 ; 0 2 / T0 2 / 0.02 315 rad / s ;


t 2 0.0032
1 rad / s
2 T0 0.02

Fig. 2.7 Grandeur sinusodale

Exponentielle complexe
Lexponentielle complexe est dfinie par . Elle peut tre dcompose en
trois facteurs : A, lamplitude, , o est li lamortissement du signal, et
o =2f, et f est la frquence de rotation de lexponentielle imaginaire
autour de lorigine. Le signal est rellement amorti si est ngatif. Linverse de
est not et appel constante de temps.

Fig. 2.8 Exponentielle complexe (avec amortissement : <0)


[https://www.quora.com/Laplace-Transforms/What-are-the-best-possible-
6 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

pedagogical-functions-examples-to-use-when-intuitively-describing-Laplace-
Transforms-to-someone].

Impulsion de Dirac
Un des signaux discrets les plus simples est limpulsion de Dirac (n) dfinie par :

1 (n 0)
( n) (2.5)
0 (n 0)
On peut donc extraire la valeur dun signal f(n) linstant n=0 en le multipliant
(Fig. 2.9) par limpulsion (n) :
f (n) (n) f (0) (n) (2.6)

Fig. 2.9 Haut : produit de (n) par un signal f(n) ; Bas : produit de (n-k) par un
signal f(n).

Le rsultat de cette opration est un signal qui vaut f(0) linstant n=0 et est nul
partout ailleurs.
En gnralisant (2.6), on peut tout aussi bien extraire la valeur dun signal f(n)
linstant n=k en le multipliant (Fig. 2.9) par limpulsion (n-k), qui ne vaut 1
quen n=k :
f (n) (n k ) f (k ) (n k ) (2.7)
On peut donc finalement crire que :

f ( n)
k
f (k ) (n k ) (2.8)

ce qui exprime que le signal f(n) est vu comme une somme pondre
dimpulsions de Dirac dcales dans le temps.
En particulier, lchelon temps discret (n) peut tre dcrit comme :

( n) ( n k ) (2.9)
k 0
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 7

On peut galement tirer de (2.6) que :


f (n) (n) f (0) (n) f (0) (n) f (0)



(2.10)

En particulier videmment :

( n) 1

(2.11)

Lanalogue temps continu de limpulsion de Dirac est not (t) et devrait jouir
des mmes proprits que (n) (Fig. 2.10) :
f (t ) (t ) f ( ) (t ) (2.12)

f (t )


f ( ) (t )d (2.13)


(t ) (t )d
0
(2.14)



f (t ) (t ) dt f (0) (2.15)

(t )dt 1

(2.16)

Fig. 2.10 Haut : produit de (t) par un signal f(t) ; Bas : produit de (t-) par un
signal f(t).

La proprit (2.14) peut se rcrire, aprs changement de variable s=t- :


t
(t ) (s)ds

(2.17)

ce qui implique que (t) soit la primitive de (t), et donc que (t) soit la drive
de (t). Mathmatiquement, ceci pose problme car la fonction (t) est
8 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

discontinue, et ne possde donc pas de drive au sens classique. Une thorie a


donc d tre tablie pour formaliser cette impulsion, qui est formellement dfinie
comme une distribution, cest--dire comme un objet mathmatique dont on ne
peut en principe pas donner la valeur (la drive de (t) est infinie en 0) mais
dont on peut connatre leffet par intgration grce (2.15).
En pratique, cependant, on peut utiliser (t) comme une fonction classique, quon
assimile, pour respecter (2.16), la limite de rect(t/a)/a pour a tendant vers 0.
On ne lui donne pas de valeur, mais plutt un poids gal la surface du
rectangle, cest--dire 1 (Fig. 2.11)

rect(t/a)/a (t)
1/a 1

t t
-a/2 a/2

Fig. 2.11 Limpulsion de Dirac temps continu, vue comme limite de rect(t/a)/a
quand a tend vers 0.

Train d'impulsions de Dirac (ou peigne de Dirac)


Le train dimpulsion de Dirac T 0 (t ) est un signal priodique obtenu partir dune
impulsion de Dirac (Fig. 2.12).

T 0 (t ) (t kT )
k
0 (2.18)

T0(t)

1
t

T0

Fig. 2.12 Train dimpulsions de Dirac

2.2 Oprations sur les signaux


2.2.1 Oprations lmentaires sur les signaux
Les signaux tant assimils des fonctions, on peut leur faire subir des
oprations simples.
Dcalage temporel
Le dcalage temporel (ou time-shift) est dfini par :
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 9

f (t )
f (t t0 ) f (n)
f (n n0 ) (2.19)

Fig. 2.13 Oprations de base sur les signaux : (a) signal original (b) signal
retard de 4s (c) signal rflchi (d) signal dilat dun facteur 2.
[www.montefiore.ulg.ac.be/systems/SYST002/syst002-syllabus.pdf]

Rflexion
La rflexion (ou time-reversal) est dfinie par :

f (t )
f (t ) f (n)
f (n) (2.20)

Changement dchelle
Le changement dchelle est dfini par :

f ( t )
f (t ) f ( n)
f (n) (2.21)

et contracte (>1) ou dilate (<1) le signal selon laxe temporel (Fig. 2.13).
Somme
La somme de signaux correspond videmment la somme des fonctions sous-
jacentes, cest--dire la somme, pour tout instant t, de valeurs prises par ces
deux fonctions pour ce mme instant t (Fig. 2.14).
10 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 2.14 Somme de deux signaux (rouge et vert) pour donner un signal plus
complexe (bleu) [http://www.intmath.com/blog/mathematics/how-do-noise-
canceling-headphones-work-7619]

Exemple 2.4

On peut crer un signal priodique fT0 (t ) de priode fondamentale T0 par la


somme infinie de signaux obtenus par dcalage, intervalles rguliers kT0, dun
signal de de base non priodique f(t) (Fig. 2.15):

fT0 (t ) f (t kT )
k
0 (2.22)

f(t) fT0(t)

A A

t t

T0

Fig. 2.15 Priodification ( droite) dun signal de base non priodique ( gauche)

Produit
De mme, le produit de signaux correspond au produit des fonctions sous-
jacentes, cest--dire au produit, pour tout instant t, de valeurs prises par ces
deux fonctions pour ce mme instant t (Fig. 2.14).
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 11

Fig. 2.16 Produit de deux signaux. On parle, en tlcommunications, de


modulation damplitude. En musique, on parlera de trmolo.
[http://www.technologyuk.net/telecommunications/telecom_principles/amplit
ude_modulation.shtml]

2.2.2 Produit scalaire de signaux analogiques


Le produit scalaire de deux signaux complexes f(t) et g(t) est dfini par (Fig.
2.17, gauche):

f (t ), g (t )

f (t ) g * (t ) dt (2.23)

Il peut tre vu comme une extension, lespace des fonctions, du produit


scalaire dfini dans un espace vectoriel (complexe, en gnral).
12 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

f(t) fT0(t)

A A
t t

g(t) gT0(t)
B B

t t

f(t)g(t) f(t)g(t)/T0
<f(t),g(t)> <fT0(t),gT0(t)>
AB AB/T0
t t

Fig. 2.17 Produit scalaire de deux fonctions (relles) apriodiques (gauche) et


priodiques de mme priode T0 (droite)

En particulier le produit scalaire dune fonction par elle-mme est gal son
nergie E, homologue du carr de la norme dun vecteur :

f (t ), f (t ) f (t ) f (t )dt f (t ) dt E
* 2
(2.24)

Lexpression prcdente nest dfinie que pour les signaux dnergie finie.
Dans le cas des signaux priodiques, qui sont dnergie infinie, mais en gnral
de puissance finie, on redfinit le produit scalaire (voir par exemple Fig. 2.17,
droite) comme :

1 T0 / 2

fT0 (t ) gT (t )dt ( si T T0 / k ; k 0,1, 2,...)


*

fT0 (t ), gT (t ) T0 T0 / 2
(2.25)

0 ( si T T0 / k ; k 0,1, 2,...)

Autrement dit : deux fonctions priodiques dont les priodes ne sont pas
multiples lune de lautre sont de facto orthogonales. Dans le cas contraire, leur
produit scalaire peut tre calcul comme le produit scalaire classique, estim sur
la priode la plus longue et rapport celle-ci.
En particulier, le produit scalaire dun signal priodique par lui-mme donne sa
puissance P:
T0 / 2
1

2
fT0 (t ), fT0 (t ) fT0 (t ) dt P (2.26)
T0 T0 / 2

Exemples 2.5
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 13

(2.27)
rect (t ), (t ) rect (t ) (t )dt 1/ 2 (Fig.
2.18)
(2.28)
f (t ), (t ) f (t ) (t )dt f ( ) (Fig.
2.18)

1
T0 / 2
sin(20t )
T0 / 2
1 cos(20t ) (2.29)
sin(0t ),cos(0t )
T0 2 dt
T0

40 T / 2
0 (Fig.
T0 / 2 0 2.19)

1
T0 / 2
cos(20t ) 1 1 (2.30)
cos(0t ), cos(0t )
T0 2
dt
2
(Fig.
T0 / 2
2.19)
1 T0 / 2

e j0t , e jt

T0
T0 / 2
e j0t e jt dt ( si k0 )

0 ( si k0 )
On dmontrera titre dexercice que le produit scalaire ci-dessus sannule
mme quand =k0, sauf pour k=1. Il reste donc :
(2.31)

1 T0 / 2

e j0t
,e jt
T0
T0 / 2
e j0t e j0t dt 1 ( si 0 )

0 ( si 0 )
Nous constatons ici que les exponentielles imaginaires sont des fonctions priodiques trs
particulires1 : elle sont toutes orthogonales et de norme unitaire.

Fig. 2.18 Produits scalaires vidents

1 Ce ne sont pas les seules fonctions orthogonales. Le traitement du signal foisonne densembles

de signaux orthogonaux. Les ondelettes (dont la thorie a t dveloppe la fin des annes 80
par une chercheuse belge, Ingrid Daubechies) en sont un bel exemple.
14 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

f(t) f(t)

t t

g(t) g(t)

t t

f(t)g(t) <f(t),g(t)>=0 f(t)g(t) <f(t),g(t)>=1/2

+ + t
- - + ++ +
t

Fig. 2.19 sin(0t ),cos(0t ) et cos(0t ),cos(0t )

2.2.3 Convolution
La convolution est une opration fondamentale. Elle consiste, pour deux signaux
x(t) et y(t) temps continu et nergie finie, crer un signal z(t) donn par :

z (t ) x(t ) * y (t ) x( ) y(t )d

(2.32)

Il faut comprendre cette quation de la manire suivante : pour toute valeur de


t, z(t) est donn par le produit scalaire entre x() et x(t-).
Il est donc possible de lui donner une interprtation graphique simple : y(t-) est
en effet simplement le rsultat dune rflexion de la fonction y() en y(-), suivie
dun dcalage de t vers la droite pour donner y(t-). Lintgrale de convolution
est alors laire sous-tendue par le produit de x(t) et cette fonction rflchie-
dcale. Lintgrale est calculer pour toutes les valeurs possibles du dcalage t,
ce qui permet de tracer y(t) point par point (Fig. 2.20).
On montre facilement que le produit de convolution est commutatif.
x(t )* y(t ) y(t )* x(t ) (2.33)
Dans le cas de deux signaux priodiques de frquences multiples lune de lautre,
lintgrale (2.32) est infinie, et le produit scalaire entre x() et y(t-)
scrit plutt :
T0 / 2
1
zT0 (t ) xT0 (t )* yT (t )
T0
T0 / 2
x( ) y (t )d avec T0 kT (k 1, 2,3,...)
(2.34)

Il est nul si les frquences ne sont pas multiples (selon (2.25)).

Exemple 2.6 - Convolution entre deux rectangles

On montre trs facilement (graphiquement ou analytiquement) que :


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 15

rect (t ) * rect (t ) tri (t ) (2.35)

rect(t) rect(t)
1 1

t t
* =
-1/2 1/2 -1/2 1/2

Exemple 2.7 - Convolution avec une impulsion de Dirac

En utilisant linterprtation graphique donne ci-dessus (ou suivant (2.13)), il est facile de
comprendre que :

f (t ) * (t )

f ( ) (t )d f (t ) (2.36)

et plus gnralement encore :

f (t )* (t t0 ) f (t t0 ) (2.37)
On en dduit que convoluer un signal avec une impulsion de Dirac revient
dplacer lorigine de ce signal au droit de limpulsion (Fig. 2.21).
16 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 2.20 Construction graphique de z(t)=x(t)*y(t) pour diffrentes valeurs de t.


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 17

f(t) (t-t0) f(t-t0)


A A
1
t t t
* =
t0 t0

Fig. 2.21 Convolution dun signal de base non priodique avec une impulsion de
Dirac.

Exemple 2.8 - Convolution avec un peigne de Dirac

On a vu plus haut (2.22) comment on pouvait crer un signal priodique.

En utilisant lexemple ci-dessus, on voit quon obtient le mme rsultat par convolution
entre T 0 (t ) et une fonction f(t) non priodique de dpart (Fig. 2.22) :

f (t ) * T0 (t )

f ( ) T0 (t )d fT0 (t )
(2.38)

f(t) T0(t)

A 1
t t
*
T0

fT0(t)

= t
T0

Fig. 2.22 Convolution dun signal de base non priodique avec un peigne de
Dirac

2.3 Analyse frquentielle des signaux analogiques


Le but de lanalyse frquentielle est de dcomposer un signal quelconque en une
somme de signaux lmentaires bien connus (Fig. 2.23).
18 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 2.23 Dcomposition dun signal ( gauche ; ici, un signal priodique) en une
somme de sinusodes (au centre) par calcul de leurs amplitudes ( droite)
[https://www.quora.com/Laplace-Transforms/What-are-the-best-possible-
pedagogical-functions-examples-to-use-when-intuitively-describing-Laplace-
Transforms-to-someone]

Rappelons tout dabord (Fig. 2.24) que dans un espace vectoriel deux
dimensions, on peut toujours exprimer un vecteur quelconque x comme
combinaison linaire des vecteurs dune base orthonorme {u1 , u 2 } :
x x1u1 x2u2 (2.39)
o les coefficients de cette combinaisons linaire sont donns par :
x1 x, u1 et x2 x, u2 (2.40)

x , u1 u1
x1u1
x x1u1 x2u2
u1

u2 x , u2 u2
x2 u 2
Fig. 2.24 Dcomposition dun vecteur sur une base
orthonorme.

Nous verrons ci-dessous que lon peut procder de la mme faon pour les
signaux, condition de dfinir une base de lespace des signaux.

2.3.1 Transforme de Fourier d'un signal dnergie finie


Impulsions de Dirac et base orthonorme
Rappelons lquation (1.50) :
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 19



f ( ) (t )d f (t ) (2.41)

Cette quation peut tre interprte de la faon suivante : un signal analogique


f(t) peut tre dcompos comme une somme pondre (et continue, do
lintgrale qui remplace la somme) de fonctions de base orthonormes
{ (t ) ( [, ]) }. Les coefficients de cette dcomposition sont fonction de la
variable et valent tout simplement f( ) .

f (t ), (t t1 ) (t t1 )
f (t1 ) (t t1 )
f (t ) f (t1 ) (t t1 ) f (t2 ) (t t2 )
(t t1 )

(t t2 )
f (t ), (t t2 ) (t t2 )
f (t2 ) (t t2 )

Fig. 2.25 Dcomposition dune fonction sur des impulsions de


Dirac.2

Lquation (1.42) exprime alors simplement le fait que les coefficients de cette
dcomposition sont obtenus par produit scalaire de f(t) avec les fonctions de
base, comme on le ferait dans un espace vectoriel classique.
Exponentielles imaginaires et base orthonorme
Un des rsultats importants de l'analyse mathmatique (que lon admettra ici)
est de montrer que lon peut galement dcomposer un signal d'nergie finie
comme une somme pondre (et continue) de fonctions de base
jt
{ e ( [, ]) }: les exponentielles imaginaires (Fig. 2.26). Ceci sexprime
comme suit :

F(f)e
j t
f(t) df (2.42)

Les coefficients (complexes) F(f) de cette somme pondre continue sont


fonction de la variable f (frquence: f=/2) et constituent la transforme de
Fourier de f(t), note F(f).

2 Ce graphique est prendre symboliquement : les deux impulsions de Dirac ne constituent pas

une base ; il faut en ralit dcomposer sur lensemble infini des impulsions.
20 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

f (t ), e j1t e j1t
F (1 )e j1t
j1t
f (t ) F (1 )e j1t F (2 )e j2t
e

e j2t f (t ), e j2t e j2t


F (2 )e j2t

Fig. 2.26 Dcomposition dune fonction sur des exponentielles


imaginaires.3

Le calcul de F(f) est simple : il est bas sur la projection de f(t) sur les fonctions
de base, laide du produit scalaire. Si lon admet en effet que les exponentielles
imaginaires constituent une base de lensemble des fonctions dnergie finie,
cette base est orthonorme, vu (1.45). Il sensuit que les coefficients intervenant
dans la dcomposition de f(t) sur ces fonctions de base peuvent tre obtenus par
simple projection de f(t) sur les fonctions de base:

F(f) f(t), e jt (2.43)

ce qui conduit lexpression bien connue de F(f) :



F(f)

f(t)e jt dt (2.44)

Le couple f(t) et F(f) constitue une paire de transformes de Fourier. On note


souvent cette relation sous la forme :

f(t) F(f) (2.45)

Amplitude et phase
Si on dfinit l'amplitude A(f) et la phase (f) de la transforme de Fourier par:

F ( f ) A( f )e j ( f ) (2.46)

Il est facile de comprendre que, pour que f(t) soit une fonction relle (ce qui sera
toujours le cas ici, lexception de lexponentielle imaginaire), A(f) doit tre une
fonction paire en f en tandis que (f) est une fonction impaire en f (Fig. 2.27).
Les exponentielles complexes dont est constitu un signal rel vont en effet par
paires complexes conjugues : de mme amplitude, de frquences gales et
opposes, et avec des phases initiales opposes (Fig. 2.28).

3 Ce graphique est prendre symboliquement : les deux fonctions ne constituent pas une base ; il

faut en ralit dcomposer sur lensemble infini des exponentielles imaginaires.


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 21

f(t)

Surface=A0

A(f) (f)

A0

Fig. 2.27 Amplitude (paire) et phase (impaire) de la transforme de Fourier dun


signal rel non priodique

En particulier, on a pour la valeur en f=0 :



F( 0 ) f(t), e f(t),1 f(t)dt A(0)
j 0t
(2.47)

ce qui correspond la somme des surfaces sous-tendues par f(t), comptes avec
leur signe.

Fig. 2.28 Somme de phaseurs damplitudes identiques et de phases opposes.

2.3.2 Proprits de la Transforme de Fourier


Lorsquon applique sur les signaux les oprations mentionnes au chapitre
prcdent, leurs transformes de Fourier se modifient. Ces proprits ont t
tudies dans un cours de Mathmatiques Appliques, et sont rappeles au
Tableau 2.1.
(dualit) F (t ) f ( f )
22 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

(dcalage temporel)
f (t t 0 ) F ( f )exp( jt0 )
(rflexion) f (t ) F *( f )
(changement dchelle) f (at ) 1 f
F( )
a a

(drive)
df (t ) j F( f ) avec 2 f
dt

(somme) a . f (t )
i
i i
a .F ( f )
i
i i

(produit) f (t ) g (t ) F ( f ) G( f )
F ( f )G( f )
(convolution) f (t ) g (t )

(produit scalaire) f (t ), g (t ) F ( f ), G( f )

(Parseval) f (t ), f (t ) F ( f ), F ( f )

Tableau 2.1 Proprits principales de la transforme de Fourier

La proprit de dualit vient du fait que lexpression de la transforme de Fourier


inverse est identique, au signe prs, celle de la transforme de Fourier).
Retarder un signal ne change rien lamplitude de sa transforme car les
exponentielles imaginaires qui composent le signal sont simplement retardes.
Ce retard correspond une phase linaire qui vient sajouter la phase de la
transforme. On le comprend facilement sur la Fig. 2.29 : retarder un signal
compos de deux sinusodes f0 et 2 f0 implique de dphase la seconde deux fois
plus que la premire (sans quoi le signal reconstruit naurait pas la mme
forme).

Fig. 2.29 Retard dun signal compos de deux sinusodes..


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 23

La rflexion dun signal ne modifie trs logiquement que la phase de la


transforme : toutes les exponentielles imaginaires qui le composent doivent
tre elles-mmes rflchies, et voient donc leur phase changer de signe.
Dilater un signal dun facteur a revient donc compresser sa transforme du
mme facteur. En effet, le produit scalaire du signal original avec une
exponentielle imaginaire de priode T (et donc de frquence 1/T) est identique (
un facteur prs) celui du signal dilat avec une exponentielle imaginaire elle-
mme dilate, de priode aT (et donc de frquence 1/aT). Le facteur de
proportionnalit est facile comprendre : la surface du signal dilat tant
multiplie par a, lamplitude de la transforme est elle aussi multiplie par a (Fig.
2.30).

Fig. 2.30 Transforme dun signal dilat (ici dun facteur 2).

La drive temporelle dun signal correspond la drive temporelle des


exponentielles imaginaires qui le composent, et fait donc apparatre dans la
transforme un facteur j damplitude linaire en frquence et de phase
constante de +90 et -90 (Fig. 2.31).

| |
2f
f
1

/2
f

-/2

Fig. 2.31 Transforme de Fourier de la drive : facteur multiplicatif damplitude linaire


en frquence et de phase gale +-90.
24 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Les thormes du produit scalaire et de Parseval (qui nest quune forme


particulire du prcdent) prennent un sens vident si on comprend que f() et
F(f) sont les composantes de f(t) sur deux ensembles de fonctions de base
jt
orthonormes : { (t ) ( [, ]) } et { e ( [, ]) }. Ce thorme
nexprime en effet rien dautre que le fait que le produit scalaire de deux
fonctions (et donc en particulier pour Parseval le carr de la norme dune
fonction) est indpendant du repre sur lequel on les projette. Rappelons en effet
que pour des vecteurs dans un espace vectoriel, le produit scalaire de deux
vecteurs est gal au produit de leurs normes par le cosinus de langle quils font
entre eux, et est donc indpendant de la base sur laquelle on projette les
vecteurs (Fig. 2.32).

x1
x1 , x2 x1 x2 cos( )

x2
Fig. 2.32 Produit scalaire dans un espace vectoriel.

Exemple 2.9

1/ 2
1
rect (t )
1/ 2
e jt dt
j
e j / 2 e j / 2

sin / 2 sin / 2 (2.48)


2
/2
sinc( f )

rect(t) 1
|sinc(f)|
1

t
f
-1/2 1/2 0 1 2 3

On peut retrouver ce rsultat intuitivement. Il est clair, si lon se souvient que la


transforme de Fourier est un produit scalaire, que sa valeur en f=0 est lintgrale de la
fonction f(t) (donc ici 1). Par ailleurs, il est vident que F(f), tant un produit scalaire entre
f(t) et les exponentielles imaginaires, sannule pour toutes les exponentielles imaginaires
de priodes gales 1/k (avec k entier positif) .

Exemple 2.10 Transforme du signal triangulaire


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 25

On a vu prcdemment que la convolution de deux signaux rectangulaires donne un signal


triangulaire. On en dduit (Fig. 2.33) que :

tri (t ) sinc( f )

rect(t) |sinc(f)|
1
1

t f
-1/2 1/2 0 1 2 3

* x
rect(t) |sinc(f)|
1
1

t f
-1/2 1/2 0 1 2 3

= =
tri(t)
1 |sinc(f)|
1

t f
-1 1 0 1 2 3

Fig. 2.33 Lien entre transforme de Fourier dun signal carr et triangulaire

Exemple 2.11 Transforme du sinus cardinal

Par dualit de (2.49), il vient :

sinc(t ) rect( f ) rect ( f )

rect(f)
sinc(t)
1 1

t f

-2 - 2 -1/2 1/2

Exemple 2.12

(t ) 1 (vident vu l'interprtation de la transforme de Fourier comme un calcul de


produits scalaires entre la fonction de dpart et les exponentielles imaginaires)
26 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

(t)
1 1

t
f

2.3.3Transforme de Fourier d'une fonction priodique - Sries


de Fourier
La proprit (2.42) reste valable pour un signal priodique (de puissance finie)
fT0(t) condition d'utiliser, pour la projection (2.44), le produit scalaire au sens
des distributions:
0 si k0
2
fT0 (t), e jt
1 T0 / 2
(0 ) (2.49)
si k0
jt
fT0 (t)e dt T0
T0
T0 / 2

et de considrer que les valeurs non-nulles de ce produit scalaire sont en ralit


les poids d'impulsions de Dirac4 aux frquences correspondantes :
T0 / 2
1
FT0 (f) Fk ( f kf 0 )
k
avec Fk
T0 fT0 (t)e jk0t dt (2.50)
T0 / 2

Les signaux priodiques possdent donc une transforme de Fourier constitue


de raies (Fig. 2.34). Lamplitude de ces raies est gale lamplitude de la
transforme de Fourier dune priode de fT0(t), divise par la priode T0.

4 La justification thorique de lapparition dimpulsions de Dirac en frquence est la suivante :

jt0 j0t
(t ) 1 (Exemple 9) (t t0 ) e (dcalage temporel) e ( f f 0 ) (dualit).
Ainsi, plus gnralement, dcomposer un signal priodique sur les exponentielles imaginaires
conduit lapparition dimpulsions de Dirac en frquence, dont les poids sont les coefficients des
composantes.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 27

fT0(t)

AT0(f)
T0 (f)
A0/T0

Fig. 2.34 Amplitude et phase de la transforme de Fourier dun signal priodique

La somme continue (2.42) se rduit finalement une somme discrte, que lon
appelle srie de Fourier associe fT0(t) :

fT0 (t ) Fe
k
k
jk0t
(2.51)

Notons que, comme les composantes exponentielles imaginaires de la


transforme de Fourier dun signal priodique sont orthogonales et de valeur
efficace unitaire (car de puissance unitaire), on a :

FRMS F N ... F1 F0 F1 ... FN (2.52)


2 2 2 2 2

o F-N, , FN sont les amplitudes des 2N+1 exponentielles imaginaires (de


frquence positive, nulle, et ngative) qui composent le signal (voir exemple Fig.
2.35).

F1
RMStot

F2

Fig. 2.35 Valeur RMS totale dun signal compos de 2


exponentielles imaginaires. Un cas particulier est celui dun
sinus, compos de 2 raies damplitude , et de valeur efficace
gale sqrt(2)/2.

En particulier pour un signal rel de moyenne nulle (F0=0) :


28 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

FRMS 2( F1 ... FN ) (2.53)


2 2

On peut alors dfinir, pour les signaux priodiques, un taux de distorsion


harmonique total (THD, Total Harmonic Distortion), qui indique le taux
dharmoniques prsent dans le signal et est le rapport (en %) entre la valeur
efficace de lensemble des harmoniques dordre suprieur 1 et la valeur efficace
du signal entier :

2F F
2 2
k k
THD 100 k2 100 k2 (2.54)
2Fk Fk
2 2

k 1 k 1

Exemple 2.13

Il est vident qu'une exponentielle imaginaire de pulsation 0 peut tre dcompose


comme une somme continue et pondre d'exponentielles imaginaires : la seule
exponentielle intervenant dans cette dcomposition est bien entendu l'exponentielle de
dpart (Fig. 2.36).

F(f)

exp( j 0t ) ( f f 0 ) f
0 f0

Fig. 2.36 Transforme de Fourier dune exponentielle imaginaire

Exemple 2.14

De mme, on sait dj qu'un cosinus est la somme de deux exponentielles imaginaires


conjugues et d'amplitude 1/2; la dcomposition s'exprime donc comme la Fig. 2.37.

A(f)

1/2 1/2
1
cos(0t ) ( f f0 ) ( f f0 ) f
2
-f0 0 f0

Fig. 2.37 Module de la transforme de Fourier dun cosinus

En particulier, la fonction f(t)=1 n'est rien d'autre qu'un cosinus de frquence nulle :
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 29

A(f)

1 ( f ) f
0

Fig. 2.38 Module de la transforme de Fourier dune constante

On trouve tout aussi facilement, et sans aucun calcul d'intgrale :

A(f)

1/2 1/2
1
sin( 0t ) . ( f f 0 ) ( f f 0 )
2j -f0 f
0 f0

Fig. 2.39 Module de la transforme de Fourier dun sinus

Exemple 2.15

La projection dun peigne de Dirac temporel de priode T0 sur les fonctions de base donne
un peigne de Dirac frquentiel de priode f0 et d'amplitude 1/T0.


1
T (t )
0 (t nT ) T
n
0 f0 (f)
0

f(t) F(f)
1 1/T0

t f
-3T0 -2T0 -T0 0 T0 2T0 3T0 = -3f0 -2f0 -f0 0 f0 2f0 3f0
t

Fig. 2.40 Transforme de Fourier dun peigne de Dirac

Cette dernire relation permet dailleurs de comprendre lquation (2.50) et la Fig. 2.34
diffremment. En effet, puisquon a :

fT0 (t ) f (t )*T0 (t ) (2.55)

cette convolution se traduit en transforme de Fourier par un produit (Fig. 2.41):

1
FT0 ( f ) F ( f ) f0 ( f ) (2.56)
T0
30 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 2.41 Lien entre transforme de Fourier dun signal non priodique et srie de
Fourier du signal priodifi.

Exemple 2.16 signal rectangulaire priodique

Rendons le signal rectangulaire rect(t) priodique de priode gale 2s. Sa transforme de


Fourier fera apparatre des raies en f=0, 1/2, 1, 3/2, etc., de valeur sinc(f)/2.

1/2 |sinc(f)/T0|
rectT0(t)
1

t f
-1/2 1/2 2 0 1 2 3

On constate que la transforme fait apparatre une raie en f=0 (composante


continue=1/2), puis uniquement des harmoniques Fk impaires, damplitudes dcroissant en
1/k.

Exemple 2.17 signal triangulaire priodique

Rendons le signal rectangulaire tri(t) priodique de priode gale 2s. Sa transforme de


Fourier fera apparatre des raies en f=0, 1/2, 1, 3/2, etc., de valeur sinc(f)/2.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 31

triT0(t)
1/2 |sinc(f)/2|
1

t f
-1 1 0 1 2 3

On constate que la transforme fait apparatre une raie en f=0 (composante


continue=1/2), puis uniquement des harmoniques Fk impaires, damplitudes dcroissant en
1/k.

2.3.4Autocorrlation Densit spectrale d'nergie et de


puissance
On a constat dans la Section prcdente l'intrt du produit scalaire de
fonctions pour l'interprtation de la transforme de Fourier comme une technique
de dcomposition sur une base orthonorme.
L'intrt du produit scalaire de fonctions va bien au-del. En effet, on dfinit
galement, pour les fonctions d'nergie finie, une fonction caractristique,
appele fonction d'autocorrlation et dfinie par :

xx ( ) x(t ) x (t )dt x(t ), x(t )
*
(2.57)

La transforme de Fourier de cette fonction est donne par :



S xx (f)

xx (t)e jt dt (2.58)

Cette fonction est appele densit spectrale d'nergie car son intgrale sur l'axe
des frquences est gale l'nergie du signal :

S

xx (f)e jt df xx ( 0 ) E (2.59)

Nous verrons tout l'intrt de ces fonctions au chapitre 5, consacr aux signaux
alatoires (qui sont des fonctions puissance finie).
Notons pour terminer que l'intgrale de convolution est elle-mme une fonction
d'autocorrlation particulire (et est donc galement base sur des calculs de
produit scalaire) :

x(t )* y (t ) x( ) y(t )d x(t ), y( t )

(2.60)

2.3.5Notation en
On reprsente parfois la transforme de Fourier (et les sries de Fourier) en
utilisant la variable de pulsation plutt que la frquence f.
Cette notation en F() a pour avantage de rendre lcriture plus compacte.
Puisquon ne dcompose que sur des exponentielles imaginaires, apparat en
effet tout naturellement. La notation en F(f) utilise ici devrait en principe faire
32 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

apparatre explicitement f dans les expressions utilises jusquici. Ainsi,


lexpression (2.42) devrait scrire :

F(f)e
j 2 ft
f(t) df (2.61)

Pour ne pas alourdir les notations, nous avons maintenu dans les expressions
de F(f), en supposant implicitement que le lecteur remplacera de lui-mme
automatiquement par 2f.
Par contre, la notation en f a pour avantage de faire ressortir la symtrie entre la
transforme de Fourier et son inverse. Elle limine les nombreux facteurs 2 qui
apparaissent dans les proprits de la transforme lorsquelles sont exprimes en
. Ainsi par exemple, lexpression (2.61) devient, en :

1
F(f)e j 2 f t df F ( )e d
jt
f(t) (2.62)

2

En principe, lorsquune fonction f(t) possde une transforme F(f), le passage


F() est immdiat : F()=F(f). Le changement dchelle de F(f) en F() ne
change en effet rien la valeur de la fonction ; seul laxe des abscisses change,
dans la reprsentation. Ainsi par exemple, lexpression analytique de la
transforme de rect(t) nest pas modifie (Fig. 2.42).

A(f) A()
1 1

rect (t ) sinc(f )

sinc( )
2

f
0 1 2 3 0 2 4 6

Fig. 2.42 Transforme de Fourier en f et en . : cas gnral

Le seul cas o le changement dchelle modifie la valeur de la transforme est


celui de limpulsion de Dirac. En effet, limpulsion de Dirac nest pas dfinie en
tant que fonction (par sa valeur), mais uniquement est tant que distribution (
travers une intgration sur sa variable de dfinition). Ainsi, lcriture :

(f)df

1 ( )d

(2.63)

impose que (f)=2() (Fig. 2.43). Autrement dit, limpulsion de Dirac est
modifie par lopration de changement dchelle. Il ny a rien dtonnant cela,
si on se souvient que limpulsion de Dirac (t) peut tre vue comme la limite de
rect(t/a)/a pour tendant vers 0 (Fig. 1.33), et que le poids de limpulsion est la
surface sous-tendue : un changement dchelle sur rect(t/a)/a modifie la largeur
du rectangle, et donc sa surface.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 33

cos( 0t ) A(f) A()

1/2 1/2

1
( f f0 ) ( f f0 ) -f0 0 f0
f
- 0 0

2 0

( 0 ) ( 0 )

Fig. 2.43 Transforme de Fourier en f et en . : cas des transformes en (f)

2.4 Analyse frquentielle des signaux temps discret


2.4.1Transforme de Fourier temps discret (TFTD)
Pour tudier la contenu frquentiel d'un signal signal temps discret compos
d'une squence d'chantillons {f(n)}, il faut associer aux chantillons une chelle
de temps. On le fait en crant la fonction (analogique!) f+(t) compose d'une
suite d'impulsions de Dirac espaces d'un temps Te appel priode
d'chantillonnage 5, et de valeurs gales aux chantillons f(n) (Fig. 2.44, haut):

f (t )
n
f (n) (t nTe ) (2.64)

Dans la suite, nous appellerons Fe 1/ Te frquence d'chantillonnage et e 2 Fe


pulsation d'chantillonnage.
La transforme de Fourier temps discret d'un signal temps discret {f(n)} est
alors dfinie comme la transforme de Fourier du signal f+(t) qui lui est associ.
Ce dernier est en effet dcomposable sur les fonctions exponentielles
imaginaires :

F (f)e jt df

f (t) (2.65)

Les coefficients F+(f) de cette dcomposition sont obtenus par projection :




F (f) f (t)e jt dt f (n) (t nTe ) e jt dt f (n)e j nTe (2.66)
n n

que l'on rcrit plus simplement :



Te f

F (F)
n
f (n)e jn 2 F avec F
T Fe
(2.67)

o F est la frquence normalise6, sans dimension.


On dfinit souvent aussi la pulsation normalise 7 (parfois aussi note ),
comme gale 2F, ce qui donne la notation plus compacte :

5 On verra en effet au chapitre suivant que la plupart du temps un signal temps discret est le

rsultat de l'chantillonnage d'un signal continu.


6 F est gale la frquence f si la priode d'chantillonnage est gale 1.
34 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES


f
F ( )
n
f (n)e jn avec 2 F 2
Fe
(2.68)

L'examen de ces dernires relations montre que F ( F ) est une fonction


priodique (Fig. 2.44, bas) en F de priode 1 (ce qui correspond une priode de
f e en frquence non normalise), et que F ( ) est une fonction priodique en
de priode 2 (ce qui correspond une priode de e en pulsation non
normalise).
On peut ds lors rcrire l'expression (2.65) au sens des distributions sous la
forme :

0 si t nTe


F (f)e df 1
jt fe / 2

fe F (f)e jnTe df si t nTe


fe / 2
(2.69)
0 si t nTe
1/ 2

1/ 2
F (F)e jn dF si t nTe

On en dduit la formule d'inversion en F ou en :


1/ 2
1
F (F)e jn dF F ( )e jn d

f(n) ou f(n) (2.70)
1/ 2
2

Le signal {f(n)} et la fonction F ( F ) constituent une paire de transformes de


Fourier temps discret, note :
TFTD
f(n) F (F) (2.71)

ou plus simplement, en laissant tomber lindice + pour ne pas alourdir les


notations 8:
TFTD
f(n) F(F) (2.72)

7 est gale la pulsation si la priode d'chantillonnage est gale 1.

8 Il ne faudra cependant pas oublier que F(F) (o on a oubli l'indice "+") dsigne une TFTD. Nous

verrons en effet au chapitre 3 que lorsqu'on chantillonne un signal continu f(t) de transforme de
Fourier (non disctrte) F(f), la TFTD F+(F) obtenue partir de ses chantillons est donne par :
F+(F)= F(f)/Te (o Te est le pas d'chantillonnage et f=F.Fe). On crira donc, par simplicit : F(F)=
F(f)/Te , mais il ne faudra donc pas confondre F(f) et F(F): ce sont pas les mmes fonctions.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 35

f +(t)

Te

|F +|

A+(0)


-2 - 0 2
e e e e
f
-2 f e -f e 0 fe 2f e

-4 2 0 2 4
F
-2 -1 0 1 2

Fig. 2.44 Un signal numrique non priodique (haut) et la TFTD associe (en
module)

Comme ctait dj le cas pour la transforme de Fourier, la TFTD F ( F ) d'un


signal {f(n)} rel est telle que F ( F ) F ( F )* , c'est--dire que les valeurs de
F ( F ) entre 0 et 1 ne sont rien d'autre que les conjugues des valeurs de F ( F )
entre 1 et 0 : le module de la TFTD est pair et son argument est impair.

Interprtation gomtrique
L'expression (2.67) possde une interprtation gomtrique immdiate :
pour toute frquence normalise F, F ( F ) est la somme vectorielle de
vecteurs complexes de type f (n)e jn .

Exemple 2.18


Soit le signal numrique causal {f(n)}= 1, 2,1,0,0,0,... . On peut facilement calculer la
valeur de sa TFTD F ( F ) pour F=1/16 et 1/8, cest--dire F ( ) pour =/8 et /4 (Fig.
2.45) :
36 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Im
Im

1e j 0
1e j0
Re
Re

j
2
1e
j j
8
1e 4 2e j
4
2e
j / 4
F (1/16) 1 2e j / 8 e j / 4 F (1/ 8) (2 2)e

Fig. 2.45 Calcul gomtrique de la TFTD pour


F=1/16 et 1/8 ( =/8 et /4)

Lestimation complte et laffichage de la TFTD F(F) dun signal x(n) peut tre faite sous
Matlab en utilisant la fonction freqz(x,1) o x est le vecteur de la squence x(n) (nous
verrons plus loin pourquoi le deuxime argument doit tre 1) :

freqz([1 2 1],1) % calcule et affiche la TFTD de x sur 512 points entre F=0 et

On constate (Fig. 2.46) que Matlab naffiche la TFTD que dans la zone utile =0 .

Fig. 2.46 Affichage de la TFTD par Matlab

Proprits
Les proprits de la TFTD sont les mmes que celles de la transforme de Fourier
(la TFTD n'tant rien d'autre elle-mme qu'une transforme de Fourier applique
un signal de type particulier). Elles sont prsentes au Tableau 2.2. La
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 37

proprit de produit temporel et le thorme de Parceval prennent ici une forme


particulire (que lon admettra sans dmonstration9), due la priodicit des
transformes : les intgrales sont calcules sur une seule priode (pour F allant
de 1/2 +1/2).

(linarit) a f ( n)
i
i i
a F (F )
i
i i

(dilatation) f (an) 1
F ( F / a)
a

(retard) f (n n0 ) F ( F )exp( jn0 )


(convolution) f (n)* g (n) F ( F )G( F )
(produit) f (n) g (n) 1
2

F ( F )G()d
1
2

f (n) g *(n)
1/ 2
(produit scalaire)
n
1/ 2
F ( F )G *( F )dF


2 1/ 2
f ( n)

2
(Parceval) F ( F ) dF
n
1/ 2

Tableau 2.2 Proprits principales de la TFTD

2.4.2Sries de Fourier temps discret (SFTD)


Dans le cas dun signal priodique temps discret de priode gale n0
chantillons (n0 entier), que nous noterons { f n0 (n)} , lexpression (2.64) peut se

rcrire sous la forme de la fonction (analogique) fT0 (t ) , qui serait obtenue par
priodification d'une fonction correspondant f (t ) de dpart :



fT0 (t ) f (t kn0Te ) (2.73)
k

o lon a explicit le fait que la priode T0 doit correspondre un nombre entier


n0 dchantillons : T0= n0Te.
Lapplication de la TFTD un signal priodique { f n0 (n)} de priode n0 chantillons

correspond la projection de la fonction fT0 (t ) sous-jacente sur les fonctions de
base { e jt ( [, ]) }. Ceci ne peut se faire quau sens des distributions,
suivant (2.49) :

9 La TFTD d'un produit de signaux numriques f(n) et g(n) peut se comprendre de la faon

suivante : elle est donne par la convolution des transformes de Fourier F+(f) et G+(f). Or, la
convolution est calcule par produit scalaire, et les fonctions F+(f) et G+(f) sont priodiques de
priode fe. La TFTD est donc obtenue par convolution F+(f) et G+(f) sur une seule priode (de 0
fe), le tout divis par la priode fe. Ou, si on fait le calcul en frquence normalise, sur une priode
(de 0 1), le tout divis par 1. Les deux proprits suivantes s'expliquent de la mme faon.
38 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

0 si f kf 0
1
fT0 (t), e jt 1 T0 / 2
( f0 )

jt
fT0 (t)e dt si f kf 0 T0
T0
T0 / 2

0 si f kf 0
1 n0 1 (2.74)
T0 f(n)e
n0
j nTe
si f kf 0

0 si F kF0
1
1
n0 1
( F0 )
T0 f(n)e
n 0
jn
si F kF0 n0

La TFTD du signal priodique est alors, comme dans le cas non discret, une suite
d'impulsions de Dirac en frquence, dont les valeurs sont donnes par les
produits scalaires obtenus par (2.74):
n0 1
1
FT0 (F) F ( k
k
k 0 ) avec Fk
T0
f(n)e
n 0
jnk 0
(2.75)

On constate, comme dans le cas dun signal temps discret non priodique, que
FT0 (F) est priodique de priode 1.
Les signaux priodiques temps discret possdent donc un spectre de raies de
pas 1/n0 (en F ; ou 2/ n0 en ; ou Fe /n0 en frquence non normalise). Ce
spectre de raies est lui-mme priodique (Fig. 2.47) de priode 1 (en F, ou 2 en
; ou Fe en frquence non normalise). Lamplitude des raies est gale
lamplitude du spectre du signal non priodique sous-jacent f+(t) ( partir duquel
le signal f+TO(t) a t obtenu), divise par la priode T0. 10

f +(t)

|F +|
A+(0)/T0

f
-2Fe -Fe 0 Fe 2Fe

10 La transforme de Fourier dun signal priodique numrique est donc li la transforme de

Fourier du signal non priodique sous-jacent de la mme faon quen analogique. En particulier, les
expressions (2.55) et (2.56) restent valables.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 39

Fig. 2.47 Signal numrique priodique (haut) et TFTD correspondante, en


module (bas) 11

La somme continue (2.65) se rduit finalement une somme discrte, que lon

appelle srie de Fourier temps discret associe fT0 (t ) :

Fe
jk0t
fT0 (t ) k (2.76)
k

2.5 Rponse en frquence dun SLI numrique


2.5.1 Rponse de rgime une exponentielle imaginaire
numrique
Soit un SLI numrique excit par lexponentielle imaginaire x(n)=
e jn (n ,..., ) . La rponse de rgime est donne par :

y ( n) x ( n) * h( n) h(i) x(n i)
i

h(i)e
i
j ( n i )
(2.77)

e jn h(i )e ji
i

Ce qui donne finalement :



y(n) e jn H ( ) avec H ( ) h(n)e
n
jn
(2.78)

On constate donc que lexponentielle imaginaire (numrique) est une fonction


propre de tout SLI numrique : la rponse de rgime dun SLI une
exponentielle imaginaire nest autre que lexponentielle imaginaire dentre,
multipli par un facteur complexe H() qui dpend de la pulsation normalise
de lexponentielle.
La grandeur H() ainsi dfinie est appele fonction de rponse en frquence, ou
transmittance isochrone, du SLI. Lquation (2.78) montre par ailleurs, par
comparaison avec (2.68), que la rponse en frquence dun SLI est la TFTD de sa
rponse impulsionnelle.
La rponse en rgime sinusodal dun SLI est videmment directement lie la
rponse en frquence. Sachant que x(n)= A cos(n ) A / 2(e j ( n ) e j ( n ) ) , il
vient immdiatement :

11 Remarquons que la Fig. 2.47 donne la TFTD en fonction de la frquence non normalise (f). En

effet, en vertu de 2.3.5, un affichage en fonction de F ferait apparatre des impulsions de Dirac Te
fois plus grandes que celles de la Fig. 2.47.
40 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

H ( )e j ( n ) H ( )e j ( n )
y ( n) A avec H ( ) H ( ) e j arg( H ( ))
2
H ( )e j ( n )
H * ( )e j ( n ) (2.79)
A
2
A H ( ) cos(n arg( H ( )))

Exemple 2.19

Calculons sous Matlab la rponse en frquence des SLI suivants :

Passe-bas : h(n)=0.9n (n) (Fig. 2.48)

Passe-haut : h(n)=(-0.9)n (n) (Fig. 2.49)

Passe-bande : h(n)=2(0.9)n cos(n/2) (n) (Fig. 2.50)

h=0.9.^[0 :50] ;
stem(h) ;
figure(2) ;
freqz(h,1) ;

1 20
Magnitude Response (dB)

0.9
10
0.8

0
0.7

0.6
-10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.5 Normalized frequency (Nyquist == 1)

0
0.4
Phase (degrees)

0.3 -20

0.2 -40

0.1 -60

0 -80
0 10 20 30 40 50 60 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

Fig. 2.48 Rponse impulsionnelle et rponse en frquence du filtre passe-bas

h=(-0.9).^[0 :50] ;
stem(h) ;
figure(2) ;
freqz(h,1) ;

1 20
Magnitude Response (dB)

0.8
10
0.6

0
0.4

0.2
-10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 Normalized frequency (Nyquist == 1)

80
-0.2
Phase (degrees)

-0.4 60

-0.6 40

-0.8 20

-1 0
0 10 20 30 40 50 60 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

Fig. 2.49 Rponse impulsionnelle et rponse en frquence du filtre passe-haut


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 41

h=2*(0.9).^[0 :50].*cos([0 :50]*pi/2) ;


stem(h) ;
figure(2) ;
freqz(h,1) ;

2 25

Magnitude Response (dB)


20
1.5
15

1 10

5
0.5
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 Normalized frequency (Nyquist == 1)

100
-0.5

Phase (degrees)
50
-1
0

-1.5
-50

-2 -100
0 10 20 30 40 50 60 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

Fig. 2.50 Rponse impulsionnelle et rponse en frquence du filtre passe-bande

2.5.2Lien entre rponse oprationnelle et rponse isochrone


Tout comme en analogique, il est possible dobtenir la rponse en frquence dun
SLI partir de lquation aux diffrences finies qui le caractrise :
N M
y(n) ai y(n i) bi x(n i ) (2.80)
i 1 i 0

En substituant e jn x(n) et H ( )e jn y(n) 12, il vient :


N M
H ( )e jn ai H ( )e j ( ni ) bi e j ( n i ) (2.81)
i 1 i 0

ce qui donne finalement, en isolant H ( ) :


M

b e i
ji

H ( ) i 0
N (2.82)
1 ai e ji

i 1

On prendra lhabitude, pour la suite, dcrire cette relation sous la forme :


M

b z i
i

H ( ) i 0
N
H ( z ) z e j (2.83)
1 ai z i

i 1 z e j

o lon retrouve les squences {b0, b1,, bM} et {1, a1,, aN} associes des
polynmes en la variable complexe z. On lui donne le nom de transforme en

12 Il est important de noter quon ne peut ainsi substituer H ( )e jn y(n) que si une rponse de
rgime existe, cest dire si le filtre est stable.
42 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

z associe lquation au diffrences finies (2.80) 13. On constate donc que la


rponse en frquence dun SLI numrique est gale sa transforme en z
calcule sur le cercle de rayon unit.

Exemple 2.20

Un filtre numrique passe-bande (que lon supposera stable) est dfini par lquation aux
diffrences finies :

y(n)+0.81 y(n-2)=x(n)-x(n-2)

On demande :

de dterminer lexpression analytique de sa rponse en frquence

de dterminer sa rponse de rgime pour lentre x(n)=10 + 10 cos(n/2) + 10


cos(n)

de calculer et dafficher la rponse en frquence sous Matlab.

La filtre est de type RII. La rponse en frquence est donne, soit par la TFTD de h(n), que
lon pourrait calculer partir de lquation aux diffrences finies, mais qui est thoriquement
infinie. Il est plus simple de calculer H() partir des coefficients ai et bi :

1 z 2 1 e j 2
H ( )
1 0.81z 2 z e j
1 0.81e j 2
Il vient donc :

H (0) 0 H ( / 2) 2 / 0.19 10.53 H ( ) 0


On en dduit que la rponse de rgime sinusodal est donne par 105.3 cos(n/2), ce qui
constitue une amplification d peu prs 20dB.

Matlab permet trs facilement de calculer et dafficher la rponse en frquence dun filtre
numrique connaissant son quation aux diffrences finies. La fonction freqz est en effet
prvue pour tre utilise selon le synopsis freqz(b,a) o b et a sont les vecteurs des ai et
bi :

freqz([1 0 -1],[1 0 0.81]) ;

40
Magnitude Response (dB)

20

-20

-40

-60
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

100
Phase (degrees)

50

-50

-100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

13 Lorigine de cette notation sera dveloppe dans un chapitre ultrieur consacr la transforme

en z.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 43

Fig. 2.51 Rponse en frquence du filtre passe-bande

On retrouve bien sur ce graphique les 20dB damplification calculs plus haut.

2.5.3 Interprtation gomtrique


Lquation (2.83) se prte une interprtation gomtrique similaire celle
permettant de pressentir la rponse en frquence dun systme numrique en
fonction de la position de ses ples et zros. On peut en effet la rcrire sous la
forme :
M

(z z )
i
H ( ) H ( z ) z e j Kz (M N ) i 1
N (2.84)
(z p )
i 1
i
z e j

(z z ) i
H ( ) K i 1
N

(z p )
i 1
i
z e j

On en conclut (Fig. 2.52) que le module de la rponse en frquence, pour une


pulsation rduite 0 donne, est obtenu ( K prs) en multipliant les normes des
vecteurs joignant les zros du systme un point ej0 du cercle de rayon unit, et
en divisant le rsultat par le produit des normes des vecteurs joignant les ples
ce mme points. De mme la rponse en phase correspond la somme des
arguments des vecteurs issus des zros moins la somme des arguments des
vecteurs issus des ples14.

Fig. 2.52 Estimation graphique de la rponse en frquence dun SLI numrique.

Il sensuit que la position de ples prs (mais lintrieur) du cercle de rayon


unit une pulsation fait apparatre une rsonance dans la rponse en

14 On notera que les zros ou les ples en z=0 (contribution en z ( M N ) ) nont pas deffet sur
lamplitude de la rponse, mais bien sur sa phase.
44 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

frquence pour =. De mme, des zros, prs du (ou sur le) cercle de rayon
unit induisent une antirsonance dans la rponse frquence.

Exemple 2.21

On peut prvoir la rponse en amplitude du filtre numrique passe-bande de lexercice


prcdent :

zplane([1 0 -1],[1 0 0.81]) ;

0.8

0.6

0.4
Imaginary part

0.2

-0.2

-0.4

-0.6

-0.8

-1

-1 -0.5 0 0.5 1
Real part

Fig. 2.53 Rponse en frquence du filtre passe-bande

On constate deux zros en =0 et qui imposeront une rponse nulle en F=0 et et deux
ples en =/2, proches du cercle de rayon unit. Ces ples provoqueront une rsonance
en F=1/4, qui sera dautant plus marque que les ples se rapprochent du cercle.

2.5.4 Rsum comparatif entre SLI analogiques et numriques


Nous pouvons prsent rsumer le lien entre systmes numriques et
analogiques sous la forme de deux graphiques (Fig. 2.54 et Fig. 2.55).
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 45

Circuit
Electrique

Kirchoff(p) Kirchoff(t)

Equation
Diffrentielle Sol. Gn
+Sol Part.
L
X(p)
. H(p) Y(p)

p=j p=j p=j

L X(f)
. H(f)

L
Y(f)

L
F F F
x(t) h(t) y(t)
*

Fig. 2.54 Relations entre lments dun SLI analogique

Structure
Numrique

Mason Intuitif

Equation aux
Diff. Finies
Rcurrence

z
X(z)
. H(z) Y(z)

j j j
z= e z= e z= e

z X(F)
. H(F)

z
Y(F)

z
TFTD TFTD TFTD

x(n) h(n) y(n)


*
Rcurrence

(n)

Fig. 2.55 Relations entre lments dun SLI numrique

Exercices
Exercice 2.1
46 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Un systme causal est dcrit par lquation aux diffrences :

On demande :
De calculer la fonction de transfert du systme
De tracer le diagramme ples-zros correspondant
De calculer la rponse en frquence et desquisser le spectre damplitude
| | de f=0...400 Hz en calculant ce spectre aux frquences f=[50, 100, 150
Hz] (Fe=200 Hz).

Solution

2 ples rels en -0.6 et +0.5; H(/2)=H(3/2)=.7 dB; H()=-dB

Exercice 2.2

Soit le filtre dfini par la relation :

y(n)=x(n)+ y(n-10) , o 0<.

On demande :
a. De dterminer lexpression analytique de sa rponse en frquence

b. De tracer son diagramme ples-zros (sparer le cas <1 et le cas


>1)

c. Den dduire une esquisse du graphique du module de sa rponse en


frquence (sparer le cas <1 et le cas >1).

Exercice 2.3

Un filtre en peigne est dfini par la relation :

On demande de dterminer analytiquement sa rponse en frquence, desquisser


le graphique de son module partir de son diagramme ples-zros et de justifier
lappellation filtre en peigne.

Exercice 2.4

Jeu des 8 familles (Daprs J. Lebrun, EPFL) (voir Figs1-3 dans les pages
suivantes)

Pour chaque diagramme de ples-zros (Z1-Z8 ; Fig. 1), retrouver la rponse en


frquence (F1-F8 ; Fig. 2) et la rponse impulsionnelle (I1-I8 ; Fig. 3)
correspondantes. JUSTIFIEZ TOUS VOS CHOIX.

Complment thorique : La Fig. 1 prsente certains systmes comportant des


ples en dehors du cercle de rayon unit. En gnral, de tels systmes sont
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 47

instables, et leur rponse en frquence nest donc pas dfinie, sauf si lon
calcule uniquement la rponse impulsionnelle h(n) correspondante pour n<=0 et
quon suppose cette rponse nulle pour n>0 (on obtient alors des systmes dits
anti-causaux).
En effet, si un signal x(n) causal (c..d. nul pour n<0) admet pour transforme
en z : X(z) = x(0)+x(1) z-1+ x(2) z-2+ x(3) z-3+, alors le signal y(n)=x(-n)
(anti-causal) admet pour transforme en z : Y(z) = x(0)+x(1) z1+ x(2) z2+ x(3)
z3+
Les zros du Y(z) sont donc les inverses (complexes) des zros de X(z), ce qui
implique que lintrieur du cercle de rayon unit correspond alors lextrieur de
ce mme cercle lorsquon se restreint aux signaux anti-causaux.
On supposera donc ici que les systmes de la Fig. 1 dont les ples sont en dehors
du cercle de rayon unit sont anti-causaux, et donc stables.

Solution

Z1 F8 I4; Z2 F6 I7; Z3 F2 I2; Z4 F4 I5; Z5 F1 I8; Z6 F3 I1; Z7 F5 I3; Z8 F7 I6


48 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 49
50 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 51

Exercice 2.5

On mesure la rponse impulsionnelle dun systme numrique linaire et


invariant et on trouve : h(n)=2*(-0.8)n (n). Donner la rcurrence numrique du
systme, en dduire sa fonction de transfert oprationnelle H(z) et esquisser sa
rponse en frquence.

Exercice 2.6

Soit le systme numrique linaire de fonction de transfert T(z)=1/A(z). On


demande de choisir A(z) de faon ce que T(z) constitue un oscillateur
numrique ( la limite de stabilit) de pulsation rduite .
On demande ensuite de calculer les 5 premiers chantillons de sa rponse
impulsionnelle.

Exercice 2.7

Soit le systme numrique linaire dfini par :

On demande de :

Donner sa fonction de transfert oprationnelle


Den dduire la position des ples et des zros
De donner les conditions de stabilit du systme
De dessiner lallure de sa rponse en frquence pour r=0.9 et = 36
De dessiner une structure pour ce systme

Exercice 2.8

Etablir les correspondances entre les diagrammes ples zros et les rponses en
frquences suivants et justifier vos choix :
52 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Exercice 2.9

On demande de calculer analytiquement et graphiquement la TFTD de la


squence {1,1,1,1,1,0,0,}, et de vrifier le rsultat avec Matlab.

Solution

20
Magnitude Response (dB)

-20

-40

-60
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

100

50
Phase (degrees)

-50

-100

-150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

Exercice 2.10

Un filtre en peigne est dfini par la relation :


y(n)=x(n)-x(n-n0)
On demande de dterminer analytiquement sa rponse en frquence, desquisser
le graphique de son module partir de son diagramme ples-zros, et de
justifier lappellation de filtre en peigne. Vrifier la rponse sous Matlab pour
n0=10.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 53

Solution

10

Magnitude Response (dB)


0

-10

-20

-30

-40
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

100
Phase (degrees)

50

-50

-100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

Exercice 2.11

Il a t vu lexercice 1.2 que la rcurrence y(n)=x(n)+2cos()y(n-1)-y(n-2)


dfinit un oscillateur numrique la pulsation rduite . On demande de calculer
lexpression analytique de la rponse en frquence de ce systme pour =2/3,
dexpliquer sur le diagramme ples-zros pourquoi il y a rsonance en F=1/3, et
de vrifier la rponse sous Matlab.

Solution

60
Magnitude Response (dB)

40

20

-20
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

150

100
Phase (degrees)

50

-50

-100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)

Exercice 2.12
54 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Un lment dlai de type z-M permet de retarder un signal de M chantillons. Il


est en pratique galement possible de simuler le retard dune fraction
dchantillon. En effet, on a :

Dessiner la structure du filtre correspondant, et calculer sous Matlab sa rponse


en phase et en frquence pour des valeurs de comprises entre 0 et 1.

Solution

On constate que la simulation du retard est mauvaise en HF.


CHAPITRE 3
ECHANTILLONNAGE

Claude E. Shannon (1916-2001), mathmaticien et ingnieur lectricien


amricain. Aprs deux thses aux MIT, Shannon entra aux Bell Labs, en 1941,
o il tablit les fondements de la thorie de linformation. Il dcrivit le premier
la possibilit denvoyer du son, du texte, et des images, par le biais dun flux
binaire (il est dailleurs linventeur du bit , contraction de binary digit ),
dans un article magistral : "A mathematical theory of communication", Bell
Labs Technical Journal, 1948. Il sintressa plus tard lintelligence artificielle,
et fut un des premiers programmer un jeu dchecs.

La grande majorit des signaux numriques reprsentent en ralit des signaux


analogiques sous-jacents, auxquels on veut pouvoir appliquer toute la puissance
des traitements numriques. La conversion analogique-numrique est appele
chantillonnage. Nous tudierons dans ce chapitre linterprtation spectrale de
lchantillonnage, et en dduirons l'expression du thorme de Shannon.
Nous examinerons de plus prs les problmes lis la conception du filtre de
garde, et introduirons linterpolation-dcimation ainsi que le sur-chantillonnage.
Nous verrons de mme comment reconstruire un signal analogique partir de
son homologue numrique, par extrapolation et lissage.
Nous conclurons ce chapitre par lexamen du thorme de Shannon gnralis et
de son application pour le filtrage en sous-bande.

3.1 Principe
Les signaux numriques peuvent tre crs directement par un systme
numrique (un processeur, sous toutes ses formes actuelles). On parle alors de
synthse numrique (comme dans le cas de la synthse d'images ou de sons
numriques). La plupart du temps, cependant, ils sont obtenus par
chantillonnage de signaux analogiques.
L'chantillonnage d'un signal analogique reprsent par une fonction f (t )
consiste construire, partir de f (t ) , un signal temps discret f (n) f (nTe )
obtenu en mesurant la valeur de f (t ) toutes les Te secondes (Fig. 3.1) :
f (n) f (nTe ) (3.1)
2 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

f(t) f(n)

fe

Fig. 3.1 Reprsentation schmatique de lchantillonnage

Si f (t ) subit une discontinuit par saut un instant d'chantillonnage, on


convient de poser :

f (n) 1/ 2. f (nTe ) f (nTe ) (3.2)

Le schma de principe de l'chantillonnage est dcrit la Fig. 3.2. Il exprime le


fait qu'on peut considrer que f (t ) est obtenu par multiplication de f(t) par un
train d'impulsions de Dirac de priode Te :
f (t ) f (t ) Te (t ) f (nTe ) (t nTe ) (3.3)
n

Fig. 3.2 Reprsentation mathmatique de l'chantillonnage

On peut alors interprter la transforme de Fourier F ( ) de f (t ) (c'est--dire


la TFTD de {f(n)}) comme celle d'un produit, et en calculer la transforme de
Fourier :
1 1
F ( f ) F ( f )* fe ( f ) F ( f nf )
e (3.4)
Te Te k

Nous savions dj que la TFTD d'un signal chantillonn est priodique en f, de


priode fe (ou, en F, de priode 1). Nous comprenons maintenant que, lorsque le
signal numrique est obtenu par chantillonnage d'un signal analogique, cette
priodicit rsulte de la superposition de toutes les translates ( des multiples
entiers de fe) de la transforme de Fourier du signal original divise par Te.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 3

f(t) |F(f)|
Surface=A0 A0

t f

x *
(t)
1
1/Te
t f
fe
Te

= =
+
f (t) |F+(f)|

A0/Te
t f
fe

Fig. 3.3 Spectre dun signal avant (en haut) et aprs (en bas) chantillonnage (cas
sans recouvrement)

3.2 Recouvrement spectral (aliasing)


Si le spectre F(f) du signal analogique f(t) n'est pas nul au del de fe/2, la
superposition (3.4) peut conduire des empitements des translates (Fig. 3.4).
Ce phnomne est appel recouvrement (ou repliement) spectral (aliasing).

f(t) |F(f)|
Surface=A0 A0

t f

x *
(t)
1
1/Te
t f
fe
Te

= =
f+(t) |F+(f)|

t f
fe
4 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 3.4 Phnomne de recouvrement spectral1

Le recouvrement spectral a pour consquence que le signal temps discret f(n)


obtenu par chantillonnage n'est plus une image correcte de f(t), mais bien du
signal f (t ) dont le spectre est donn par F ( f ) entre -fe et +fe. Ainsi, par
exemple, une sinusode de frquence f juste lgrement infrieure fe sera
perue, aprs chantillonnage, comme une sinusode basse frquence fe-f.
C'est l'effet stroboscopique, bien connu (Fig. 3.5).

Signal apparent : fe-f Signal d'entre f

Te

Fig. 3.5 Effet stroboscopique (extrait de Mixed-Signal and DSP Design


Techniques, edited by Walt Kester, Newnes, 2003,
http://www.analog.com/library/analogDialogue/archives/39-06/mixed_signal.html)

Le terme de repliement spectral est dailleurs tout fait justifi (plus encore que
celui de recouvrement). En effet, tout se passe comme si la partie de F(f)
infrieure fe/2 se trouvait additionne la partie de ce mme F(f) suprieure
fe/2, replie autour de fe/2 et conjugue (Fig. 3.6).

F+(f)|

fe /2 fe

Fig. 3.6 Repliement spectral2

1 Ce graphique est ici des fins didactiques, mais il peut porter confusion : en ralit, cest le

spectre complexe F() qui est additionn des translates de lui-mme, et pas le spectre
damplitude.
2 Ce graphique est en ralit assez rducteur : non seulement ce ne sont pas les spectres

damplitude qui sadditionnent (mais bien les spectres complexes), mais de plus lopration de
repliement est en ralit associe la conjuguaison de F(f).
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 5

Exemple 3.1
On chantillonne une sinusode f (t ) sin(2 f 0t ) la frquence dchantillonnage de
10000 Hz. Dessinons lallure des chantillons (cest--dire lallure de la fonction f+(t)
correspondante) pour des valeurs de f0 gales : 1000 Hz, 2500 Hz, 5000 Hz, 7500 Hz,
9000 Hz, et 31000 Hz.

Pour que les graphiques possdent des axes temporels identiques, choisissons de montrer
les 10 premires ms des signaux (Fig. 3.7).

subplot(6,1,1); stem(sin(2*pi*1000*[0:99]/10000));
subplot(6,1,2); stem(sin(2*pi*2500*[0:99]/10000));
subplot(6,1,3); stem(sin(2*pi*5000*[0:99]/10000));
subplot(6,1,4); stem(sin(2*pi*7500*[0:99]/10000));
subplot(6,1,5); stem(sin(2*pi*9000*[0:99]/10000));
subplot(6,1,6); stem(sin(2*pi*31000*[0:99]/10000));

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

-1 -14
0x 10 10 20 30 40 50 60 70 80 90 100
5

-5
0 10 20 30 40 50 60 70 80 90 100
1

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

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

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

Fig. 3.7 Echantillonnage de sinusodes

On constate :
6 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Que seuls les chantillonnages des sinusodes 1000 et 2500 Hz donnent une image
raliste des signaux sous-jacents (on peut retrouver la frquence des sinusdes
correspondantes en mesurant leur priode sur le graphique).

Que lchantillonnage de la sinusode 5000 Hz fait apparatre un signal damplitude


trs petite. En thorie, les chantillons devraient tre tous nuls. Les valeurs non
nulles apparaissant sur le graphique sont le rsultat derreurs darrondis de Matlab.

Que les chantillonnages des sinusodes 7500 Hz et 9000 Hz donnent des rsultats
identiques (au signe prs) ceux des sinusodes 2500 Hz et 1000 Hz. Il est par
consquent impossible, aprs chantillonnage, de retrouver la frquence exacte des
sinusodes sous-jacentes. Cest le rsultat du repliement spectral des sinusodes de
dpart autour de la frquence de Nyquist (5000 Hz).

Que lchantillonnage de la sinusode 31000 Hz donne exactement le mme


rsultat que celui dune sinusode 1000 Hz. Cest le rsultat de la superposition de
toutes les translates ( des multiples entiers de fe) de la transforme de Fourier du
signal original.

Un moyen simple d'viter le repliement spectral est d'chantillonner une


frquence suprieure deux fois la plus haute composante frquentielle du
signal. Certains signaux cependant (typiquement, les fonctions qui prsentent
des discontinuits), ont un spectre thoriquement infini. Dans ce cas, on peut
toujours choisir le frquence d'chantillonnage de faon imposer que le
recouvrement spectral soit infrieur un seuil.
Exemple 3.2
On cherche calculer la transforme de Fourier de recta(t)/a. On demande :

de choisir la frquence dchantillonnage de faon que la valeur maximale de la


transforme de Fourier de recta(t)/a soit affecte de moins de 1% derreur par
repliement spectral (on suppose quil ny a pas de filtre de garde);

de vrifier ce rsultat sous Matlab.

Il est clair quil y aura repliement spectral, quelle que soit la frquence dchantillonnage
choisie. En effet, la transforme de Fourier de recta(t)/a est donne par :

sin(a / 2)
recta (t ) / a
a / 2
Son enveloppe est donc donne par 2/a. Le maximum du spectre se trouve en f=0 et vaut
1. Si lon suppose que leffet du repliement est surtout du au premier spectre image droite,
quon approxime ce spectre par son enveloppe (Fig. 3.8), et quon suppose que lamplitude
du spectre rsultant est la somme des amplitudes du spectre de base et de ce premier
spectre image3, il vient :

F ( f e ) 0.01 max( F ( f ) ) 0.01

2 /(a 2 f e ) 0.01
f e 100 / a

3 En ralit la somme tant complexe, leffet du recouvrement sera en gnral moindre que celui

calcul ici.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 7

A(f)
1

Enveloppe du premier
spectre image

<1%
f
0 1/a 2/a 3/a fe

Fig. 3.8 Effet approximatif du repliement

Si on prend par exemple a=1 (ce qui correspond un carr dune seconde), on trouve peu
prs fe>30. Comme chaque lobe a une largeur de 1Hz, on constate quil faut 30 lobes pour
que lerreur soit de moins de 1%.

Pour voir cet effet sous Matlab, on affiche la transforme F ( f ) du signal obtenu par
chantillonnage de rect1(t) une frquence largement suprieure 30 Hz (ex : 300 Hz). Le
signal est donc constitu de 300 chantillons gaux 1. On constate que le spectre obtenu
est pratiquement exempt de repliement spectral entre 0 et 30 Hz, et correspond donc
pratiquement F(f).

freqz([ones(1,300)],1,0:1/10:30,300) % F(f) entre 0 et 30 Hz => 30 lobes

zoom sur F(f)


M agnit ude Response (dB )

60

40

20

0 5 10 15 20 25
Frequency (Hertz)
0
Fig. 3.9 Transforme de Fourier de rect1(t)
P hase (degrees)

-1000

-2000
On constate que lenveloppe de F(f) 30 Hz est bien 40 dB sous F(0) (cest--dire 1% de
F(0)). -3000

Notons quen pratique, on ne connat pas la transforme de Fourier que lon cherche
-4000
calculer. Le calcul ci-dessus pour le choix de fe est alors remplac par une estimation
itrative
-5000 : partant dune premire valeur de fe, on augmente progressivement fe jusqu' ce
que la transforme
0 de5 Fourier mesure
10 ne15 change plus
20 beaucoup.
25 On a alors
30 atteint une
valeur suffisante pour viter le recouvrement spectral. Une alternative consiste utiliser ds
Frequency (Hertz )
le dpart une frquence dchantillonnage suffisamment leve pour que la condition de non-
recouvrement soit vrifie coup sr.
8 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

3.3 Filtre de garde (anti-aliasing)


On cherche donc en gnral viter ce phnomne, en faisant en sorte que le
spectre de la fonction f (t ) soit support born [-fM,+fM] avec fM<fe/2 (comme
sur la Fig. 3.3).
On sait cependant qu'une fonction dont le spectre est support born est
illimite dans le temps. Un signal physique n'est jamais illimit dans le temps et
par consquent son spectre n'est pas support born. Son chantillonnage
provoque donc en principe toujours du recouvrement spectral. Par ailleurs, tout
signal analogique est affect par des bruits additifs, qui portent des composantes
haute frquence. Ces bruits peuvent venir dgrader le spectre utile du signal
par repliement spectral.
La condition de non recouvrement n'est donc en gnral pas vrifie par les
signaux usuels, ce qui implique la ncessit de faire prcder l'chantillonnage
d'un filtre dont les spcifications seront dfinies pour vrifier la condition de non
recouvrement; ce filtre sera appel filtre de garde ou filtre anti-repliement. (Fig.
3.10).

f(t) 1 fLP(t) f(n)

fe/2 fe

Fig. 3.10 Filtre de garde idalis

On commet toujours une certaine erreur en fixant la limite du spectre fe/2 :


les composantes du signal plus haute frquence ne sont pas prises en compte.4

3.4 Thorme de Shannon


Le thorme de Shannon, galement appel thorme de lchantillonnage, est
un des fondements du traitement numrique des signaux :

"Toute fonction f(t) dont le spectre est support born ( F ( f ) 0 pour f f M )


est compltement dfinie par ses chantillons f(nTe) si f e 2 f M ."

Ce thorme dcoule immdiatement de lanalyse prcdente concernant le


phnomne de recouvrement : lchantillonnage une frquence fe dune
fonction f(t) qui respecte le thorme de Shannon ne produit pas de
recouvrement spectral. Par consquent, le signal original f(t) peut tre
reconstitu par le filtrage du signal impulsionnel f (t ) par un passe-bas idal de
frquence de coupure f M (Fig. 3.11, droite).

4 Cette erreur nest pas nouvelle. Tout systme de mesure analogique souffre du mme

inconvnient : les composantes des signaux mesurs suprieures la bande passante du systme
de mesure ne sont pas prises en compte.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 9

f +(t) |F + ()|

t -2e - e 0 2 e
e

* x

h(t) =sinc(t/Te) |H()|


1
1

t -2 e - e 0
e 2 e

= =
f(t) |F()|

t -2e - e 0
e 2 e

Fig. 3.11 Filtre de reconstitution (Gauche : convolution temporelle; Droite :


multiplication frquentielle)

Cette opration de filtrage correspond la convolution du signal f (t ) par la


rponse impulsionnelle du filtre idal, ce qui revient pratiquement raliser la
somme des rponses impulsionnelles dues chaque impulsion de f (t ) :
sin M .(t nTe )
f (t ) f (nTe ). (3.5)
n M .(t nTe )

Fig. 3.12 La fonction d'interpolation idale

La fonction sin( M .t ) /( M .t ) est la fonction d'interpolation idale (Fig. 3.12); elle


s'annule aux points t nTe , ce qui confirme l'indpendance des chantillons f (n)
dans la reconstruction du signal f (t ) (Fig. 3.11, gauche).
10 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Notons pour terminer que la frquence fe/2, qui donne la limite suprieure du
spectre du signal chantillonner, est souvent appele frquence de Nyquist.
Exemple 3.3
Parmi les sinusodes examines lexemple prcdent, seules celles 1000 et 2500 Hz
respectaient le thorme de Shannon, ce qui explique quon puisse retrouver lil les
sinusodes sous-jacentes partir des chantillons.

3.5 Reconstruction du signal temps continu filtre de


lissage (anti-imaging)
A partir d'un signal temps discret, on peut vouloir reconstruire un signal
temps continu. En pratique, il est videmment impossible de filtrer le signal
impulsionnel f (t ) , qui nest quune abstraction mathmatique utile la
comprhension des phnomnes.
On procde alors en deux tapes :
On construit un vrai signal analogique f*(t) partir des chantillons du
signal temps discret. Cette opration porte le nom dextrapolation. Le
signal f*(t) est en quelque sorte une premire bauche de f(t).
On fait suivre lextrapolateur dun filtre est appel filtre de lissage, qui
affine f*(t) et le rend plus proche de f(t).
Le principe le plus simple de la reconstruction du signal temps continu consiste
en l'utilisation d'un extrapolateur d'ordre zro (en anglais : sample and hold)
dont le schma de base est dcrit la Fig. 3.13. On peut, pour mieux
comprendre son effet, le considrer comme un filtre de rponse impulsionnelle
unitaire de 0 Te et nulle partout ailleurs : lextrapolation de f(n), tout comme le
filtrage de f (t ) , conduit un signal f*(t) voluant par paliers.

+ (t)
h(t)
+ (t) Extrapol. h(t)
X
d'ordre 0
1

X
t t
X X
Te 2 Te 0 Te

Fig. 3.13 Extrapolateur d'ordre 0

Connaissant la rponse impulsionnelle du filtre quivalent l'extrapolateur


d'ordre 0, on peut calculer sa fonction de transfert et sa rponse en frquence :
1 2
H ( p) .(1 e pTe ) .e pTe / 2 .sinh( pTe / 2) (3.6)
p p
ce qui conduit :
sin(Te / 2)
H ( j ) Te .e jTe / 2 . (3.7)
Te / 2
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 11

Le principe de la reconstitution d'un signal temps continu partir d'un signal


impulsionnel est alors dcrit la Fig. 3.14. L'examen de l'amplitude spectrale du
signal temps continu montre que l'amplitude spectrale dans la zone utile
( 0, f e / 2 ) est dforme par la fonction sin(Te / 2) /(Te / 2) (qui nest quune ple
approximation de la fonction de transfert du filtre de lissage idal) et de plus
que des rsidus non ngligeables des spectres translats subsistent. Un filtrage
passe-bas supplmentaire est donc ncessaire pour liminer ces rsidus dans le
spectre: c'est le filtre de lissage dont les spcifications sont fort proches de celles
du filtre de garde.

f +(t) |F + ()|

t -2e - e 0 2 e
e

x x

|H()|
h(t)

-2 e - e 0
e 2 e

= =
f*(t) |F*()|

-2e - e 0
e 2 e

Fig. 3.14 L'extrapolateur d'ordre 0 vu comme un filtre, suivi d'un (vrai) filtre
de lissage analogique.

En consquence, le traitement numrique d'un signal (comme un filtrage


numrique) implique l'utilisation de deux filtres analogiques (Fig. 3.15).
12 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 3.15 Chane de filtrage numrique frquence d'chantillonnage fs, avec


filtre de Garde et filtre de Lissage (anti-imaging). (extrait de Mixed-Signal and
DSP Design Techniques, edited by Walt Kester, Newnes, 2003,
http://www.analog.com/library/analogDialogue/archives/39-06/mixed_signal.html

3.6 Changement de frquence dchantillonnage -


Dcimation Interpolation
Il arrive que lon cherche augmenter ou diminuer la frquence
dchantillonnage dun signal dj chantillonn. Nous nous intresserons ici au
cas le plus courant : celui dune division ou de la multiplication de la frquence
dchantillonnage par un nombre entier.

3.6.1 Dcimation Sous-chantilonnage (downsampling)


Considrons un signal x1(n) obtenu par chantillonnage dun signal analogique
x(t) une frquence dchantillonnage valant fe. En vertu de ce qui a t dit plus
haut, le spectre utile du signal est limit lintervalle [0,fe/2] ; un filtre de garde
veille dailleurs normalement ce que cet intervalle ne soit pas perturb par du
repliement spectral.
Sous-chantillonner ce signal une frquence fe', k fois infrieure fe,
correspond en principe ne retenir quun chantillon de x1(n) sur k dans x2(n),
dcimer x1(n) par k (Fig. 3.16) :
x2 (n) x1 (kn) (3.8)

x(t) 1 xLP(t) x1(n) x2(n)


k
fe/2 fe

Fig. 3.16 Sous-chantillonnage dun signal numrique x1(n)

Ceci pose cependant un problme important : le rsultat de lchantillonnage de


x(t) fe suivi dun second chantillonnage fe/k est videmment quivalent un
chantillonnage direct fe/k : le spectre du signal dcim est celui du signal
analogique de dpart, rendu priodique de priode fe/k, et dont lamplitude
spectrale est divise par kTe (ce qui constitue donc une division par k par rapport
au spectre du signal chantillonn fe). Or, comme le filtre de garde a t prvu
pour un chantillonnage fe, le sous-chantillonnage par k introduit, au niveau
de la TFTD de x2(n), un repliement spectral des composantes de x1(n) situes
entre fe/2k et fe/2. Il est donc ncessaire de faire prcder le sous-
chantillonnage dun filtre numrique (au contraire du filtre de garde,
analogique) passe-bas jouant le rle dun adaptateur de filtre de garde , de
frquence de coupure gale fe/2k (Fig. 3.17). Le rsultat final, appel
dcimation est donn la Fig. 3.18.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 13

x(t) 1 xLP(t) x1(n) 1 x1LP(n) x2(n)


k
fe/2 fe fe/2k

Fig. 3.17 Dcimation par filtrage et sous-chantillonnage

Fig. 3.18 Effet spectral de la dcimation d'une frquence d'chantillonnage fs fs/M


(extrait de Mixed-Signal and DSP Design Techniques, edited by Walt Kester, Newnes,
2003, http://www.analog.com/library/analogDialogue/archives/39-
06/mixed_signal.html)

3.6.2 Interpolation Sur-chantillonnage (upsampling)


Pour interpoler le signal x1(n) une frquence fe', k fois suprieure fe, il faut
calculer k-1 chantillons intermdiaires entre deux chantillons connus de x1(n).
Ce calcul est possible, puisqu'en vertu du thorme de Shannon il est mme
possible de reconstituer compltement xLP(t) en utilisant linterpolateur idal.
Le calcul des k-1 chantillons intermdiaires de xLP(t) se fait en pratique de la
manire suivante : on commence par sur-chantillonner le signal (au sens du
mot anglais up-sampling ), c.--d. par augmenter sa frquence
d'chantillonnage de faon brutale en insrant k-1 chantillons nuls entre chaque
paire d'chantillons, aux endroits requis :
x2 (n) x1 (n / k ) (n multiple de k )
(3.9)
x2 (n) 0 (n non multiple de k )
Puisqu'on n'a fait qu'ajouter des zros, cette opration ne change en rien la TFTD
du signal sur-chantillonn x2(n), qui reste priodique de priode fe. Par contre,
le spectre utile de ce signal stend maintenant de 0 kfe/2. Ce spectre fait donc
apparatre des composantes de x1(n) qui ne sont pas prsentes dans xLP(t) (Fig.
3.19, o lon a expressment reprsent les TFTD en frquence vraie, non
normalise).
14 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fin du spectre Fin du spectre


utile de x1(n) utile de x2(n)
X1+(f)= X2+(f)

0 fe/2 fe 3fe/2 2fe 5fe/2 3fe 7fe/2 4fe

Fig. 3.19 Effet spectral du sur-chantillonnage par insertion de zros (exemple : k=4)

Ces composantes perturbatrices peuvent tre limines en faisant suivre le sur-


chantillonnage par un filtre passe-bas numrique de frquence de coupure gale
f'e/2k (Fig. 3.20). Le rsultat est appel interpolation du signal. Son effet
temporel est illustr la Fig. 3.21; son rsultat frquentiel apparat la Fig.
3.22.

x(t) 1 xLP(t) x1(n) x2(n) 1 X2LP(n)


k
fe/2 fe fe'/2k

Fig. 3.20 Interpolation par sur-chantillonnage et filtrage

Fig. 3.21 Principe de linterpolation par sur-chantillonnage et filtrage (d'une frquence


d'chantillonnage fs Lfs) par interpolation et filtrage (extrait de Mixed-Signal and DSP
Design Techniques, edited by Walt Kester, Newnes, 2003,
http://www.analog.com/library/analogDialogue/archives/39-06/mixed_signal.html)
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 15

Fig. 3.22 Effet spectral de linterpolation (extrait de Mixed-Signal and DSP Design
Techniques, edited by Walt Kester, Newnes, 2003,
http://www.analog.com/library/analogDialogue/archives/39-06/mixed_signal.html)

On notera que les filtres numriques utiliss pour dcimer et interpoler par un
facteur k sont en ralit identiques. En effet, leur frquence de coupure
normalise (rapport de la frquence de coupure la frquence dchantillonnage
des signaux dentrs et de sortie) vaut dans les deux cas 1/2k.

3.7 Filtre de garde rel Sur-chantillonnage


(oversampling)
Le filtre de garde idal est impossible raliser en pratique. Pour obtenir une
transition aussi radicale entre bande passante et bande attnue, il faudrait un
filtre dordre infini. Le filtre de garde utilis en pratique nest quune
approximation du filtre idal (Fig. 3.23), dans laquelle on acceptera de
commencer attnuer le signal partir dune frquence f M infrieure fe/2, et
o la bande attnue commencera une frquence f S suprieure fe/2. En
gnral, cette approximation est bonne pour les frquences loignes de la
frquence de coupure du filtre. Par contre, le filtre rel possde une bande de
transition de largeur finie, non nulle. Il sensuit que le spectre du signal temps
discret obtenu par chantillonnage du signal sortant du filtre de garde diffrera
un peu du spectre du signal analogique de dpart autour de f M , cause du
repliement des composantes rsiduelles suprieures fe/2.

H ( j ) (dB)

0
-Ap

-As
(rad/s)
c e/2 s
16 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 3.23 Filtre de garde rel

Cet effet peut tre compens de deux faons :


Si la frquence dchantillonnage est impose, on peut faire en sorte que
la bande passante du filtre de garde soit franchement plus troite que la
limite thorique de f e / 2 (ce qui permet davoir une bande de transition
plus large, et donc, pour un filtre de degr donn, un ripple plus faible en
bande passante, et une attnuation plus important en bande attnue).
Les recouvrements spectraux sont alors minimiss, au prix dune perte des
composantes plus hautes frquences du signal.
Si on a la libert de choisir la frquence dchantillonnage, on peut la
choisir fortement suprieure 2 f M . En effet, pour une frquence utile
maximale f M donne, le filtre de garde est dautant moins critique que la
frquence dchantillonnage de dpart est choisie suprieure 2 fois cette
frquence utile : on peut largir considrablement la zone de transition
tout en gardant la mme bande utile de frquence. On paie alors par un
nombre dchantillons plus importants par seconde (et donc plus de calculs
pour les traitements numriques qui suivent) le gain obtenu sur les
spcifications du filtre de garde.
Dans certains cas, on choisit mme dchantillonner plusieurs fois la
frquence dsire, ce qui permet de simplifier nettement le filtre de garde.
Une fois le signal chantillonn, on procde alors un sous-
chantillonnage par filtrage et dcimation. Une partie de la complexit du
filtre de garde se trouve ainsi dplace en numrique, dans le filtre de
sous-chantillonnage. Il est en effet nettement plus facile (et moins
coteux) de crer des filtres slectifs en numrique quen analogique.
Exemple 3.4
On cherche comme prcdemment chantillonner la fonction rectangulaire rect1(t). Si lon
choisit fe=10Hz, et quon choisit comme filtre de garde un filtre passe-bas de degr 1 de
frquence de coupure gale 5Hz, on demande :

De vrifier si la valeur maximale de la transforme de Fourier de rect1(t) est affecte


de moins de 1% derreur par repliement spectral ;

Si ce nest pas le cas, de donner le facteur de sur-chantillonnage minimal pour que


cette condition soit respecte (en supposant quon ne change pas le filtre de garde).

Le filtre de garde a une pente de 20 dB/dcade (degr 1) partir de 5 Hz. Comme


prcdemment, on ne considrera que leffet du premier spectre image, rduit son
enveloppe. Lattnuation du filtre de garde 10 Hz est de 20dB*log(10/5)/log(10) = 6dB.
Comme la transforme de Fourier de rect1(t) tombe dj de 30 dB entre F(0) et F(10) (Fig.
3.9), les 6 dB supplmentaires du filtre de garde ne permettent pas vraiment de vrifier la
condition demande (1%= attnuation de 40dB).

On peut refaire le mme calcul pour des frquences dchantillonnages de 15 (il est clair
quon ne doit pas aller jusque 30Hz, puisque cest la valeur qui vrifie la condition sans filtre
de garde). Lattnuation y est respectivement de 20dB*log(15/5)/log(10) = 9.5dB, ce qui
fait peu prs 45 dB si on tient compte du fait que F(15) est dj 35 dB au dessous de F(0).
En procdant par approximations successives, on trouve facilement que la frquence fe
minimale est de 12 Hz : 20dB*log(12/5)/log(10) = 7.6dB, qui sajoutent aux 32 dB dcart
entre de F(12) et F(0). Le facteur de sur-chantillonnage doit donc tre de 1.2.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 17

3.8 Filtre de lissage rel Sur-chantillonnage


(oversampling)
Le filtre de lissage peut galement se trouver grandement simplifi par
lutilisation dune frquence dchantillonnage intermdiaire, suprieure la
frquence de dpart, avant lextrapolateur d'ordre 0. On lobtient facilement par
interpolation (up-sampling), ce qui implique une certaine charge de calcul au
niveau du filtre numrique, que lon gagne en simplification du gabarit du filtre
de lissage.
Exemple 3.5 Application : Sur-chantillonnage dans un lecteur de CD Audio
Le sur-chantillonnage est souvent utilis dans ltage de sortie des lecteurs de CD audio. La
Fig. 3.24 illustre les contraintes sur le filtre de lissage sans et avec sur-chantillonnage. 5 On
constate que la zone de transition du filtre est beaucoup plus large dans le second cas.

Fig. 3.24 a. Rponse en frquence typique pour le filtre de lissage dans


ltage DAC dun lecteur de CD, sans sur-chantillonnage (haut) et avec sur-
chantillonnage dun facteur 4 (bas) [daprs Phil Shniter, Digital Signal
Processing, http://cnx.rice.edu/content/m11006/latest/].

3.9 Thorme de Shannon gnralis


Le thorme de Shannon peut tre gnralis pour les signaux bande troite,
c'est--dire pour les signaux pour lesquels l'amplitude spectrale se trouve
confine dans une bande de frquence de largeur B centre autour de f 0 (Fig.
3.25).

5 Paradoxalement, lindustrie du lecteur de CD se sert mme du sur-chantillonnage comme un

argument commercial.
18 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Fig. 3.25 Signal bande troite

Imaginons que lon chantillonne un tel signal une frquence telle que
Kf e f 0 B / 2 ou Kf e f 0 B / 2 , avec K entier (Fig. 3.26 et Fig. 3.27). On
constate que des spectres image apparaissent de part et dautre du spectre
initial, mais que le recouvrement spectral est nul tant que fe 2B . Le signal
original peut donc tre reconstitu par le passage du signal impulsionnel f (t )
dans un filtre passe-bande idal dont les frquences de coupure sont
fc f0 B / 2 .

Fig. 3.26 Signal bande troite chantillonn avec 3 fe f0 B / 2

Fig. 3.27 Signal bande troite chantillonn avec 3 fe f0 B / 2

La frquence d'chantillonnage ncessaire est donc fonction de la largeur


effective B et non de la valeur centrale f 0 (comme on aurait pu sy attendre avec
la version simple du thorme de Shannon) :
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 19

"Toute fonction f(t) dont le spectre est bande troite ( f 0 , B) est compltement
dfinie par ses chantillons f(nTe) si fe 2B et que f e respecte en outre lune
des conditions suivantes : Kf e f 0 B / 2 ou Kf e f 0 B / 2 , avec K entier "

On peut noter en passant que les signaux dont les spectres sont donns la Fig.
3.26 et la Fig. 3.27 sont identiques ceux que lon aurait obtenus en translatant
tout dabord le spectre du signal de Kf e (obtenant ainsi un signal analogique
basse frquence, entre 0 et f e / 2 , et en chantillonnant ce signal f e . La
reconstruction du signal de dpart implique donc bien entendu de se souvenir
que le signal, avant chantillonnage, avait son spectre dans lintervalle f 0 B / 2
Exemple 3.6 Application : Codage en sous-bandes
Le thorme de Shannon gnralis est mis profit dans les systmes dit danalyse en sous-
bandes, o un signal de dpart est dcompos, par filtrage passe-bande, en plusieurs
signaux bande troite, dont la somme fournit le signal de dpart. Ces signaux sont alors
chantillonns sparment en respectant le thorme de Shannon gnralis. Ceci permet
de transformer un flux dchantillons de dpart (large-bande, de largeur de bande fM donne)
en M flux bande troite (fM/M) en conservant le dbit total en nombre dchantillons par
seconde.
En pratique, la dcomposition en sous-bandes est gnralement ralise directement dans le
domaine numrique, c.--d. partir d'un signal dj chantillonn. Ainsi par exemple (Fig.
3.28), le signal x(n) dont le spectre A+(f), de largeur fe/2, est donn la Fig. 3.29 est
dcompos en deux sous-bandes de spectre A+L(f) et A+H(f) de largeur f'e/2 (avec f'e=fe/2).
Les deux signaux numriques xL(t) et xH(t) correspondants sont tous deux sou-
chantillonns f'e= f'e/2.. Le rchantillonnage de xL(t) respecte donc le thorme de
Shannon, et celui de et xH(t) respecte le thorme de Shannon gnralis. Les deux signaux
numriques correspondants x'L(n) et x'H(n) portent bien la mme information que le signal
x(n) qui aurait t obtenu par chantillonnage direct de x(t) une frquence
dchantillonnage fe (pour respecter le thorme de Shannon sur lchantillonnage de ce
signal). Le nombre total dchantillons utiliss pour stocker cette information dans x'L(n) et
x'H(n) est bien identique celui utilis dans x(n). Le signal x'L(n) peut tre vu comme une
approximation grossire , basse-frquence, de x(n), tandis que x'H(n) porte au contraire
les dtails haute-frquence du signal.

xL(n) x'L(n)
2
fe/4

x(n)

xH(n) x'H(n)
2
fe/4 fe/2

Fig. 3.28 Dcomposition en deux sous-bandes

Notons que la mme opration peut alors tre ritre sur x'L(n) et x'H(n) sparment, ce qui
conduit une dcomposition rcursive en un nombre de sous-bandes de plus en plus lev,
et de frquence dchantillonnage de plus en plus faible. Il est galement possible de raliser
20 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

directement une dcomposition en M sous-bandes spectrales, en utilisant les filtres et les


dcimateurs adhoc.

A+(f)

fM /2 fM fe f

A+L(f)

fM /2 fM f

A'+L(f)

fe f

A+H(f)

fM /2 fM f

A'+H(f)

fe f

Fig. 3.29 Effet spectral de la dcomposition dun signal en 2 sous-bandes. En gras, la


bande de frquence utile.

La reconstruction du signal original est alors possible (Fig. 3.30 et Fig. 3.31).

x'L(n) x"L(n) xL(n)


2
Fe/4

x(n)
+

x'H(n) x"H(n) xH(n)


2
Fe/4 Fe/2

Fig. 3.30 Recomposition partir de deux sous-bandes


ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 21

A"L(f)

fe f

AL(f)

fe f

A"H(f)

fe f
AH(f)

fM /2 fM fe f

A(f)

fM /2 fM fe f

Fig. 3.31 Effet spectral de la recompositon dun signal partir de 2 sous-bandes. En


gras, la bande de frquence utile.

Ce type de dcomposition est utilis par exemple pour le codage dimages selon la norme
JPEG2000, ainsi que pour le codage/dcodage audio selon la norme MPEG1-layer3 (plus
communment appele mp3). L'ide est alors d'estimer dans quelle mesure l'il ou l'oreille
est sensible l'information contenue dans chaque sous-bande, en fonction du contenu des
sous-bandes adjacentes, et de quantifier cette sous-bande avec un pas de quantification
(voir Chapitre 5) qui est fonction de cette sensibilit. On a en effet pu mettre en vidence
que la perception d'un signal audio ou visuel dans une bande de frquences dpend du
contenu des bandes adjancentes (effet dit psycho-acoustique ou psycho-visuel). Une sous-
bande peu importante au niveau perceptuel est alors quantifie avec peu de bits, ce qui
permet une compression importante du signal en minimisant la dgradation perue (Fig.
3.32)

x0 ( n ) y0 ( m ) y0 ( m ) x0 ( n )
h0 ( n ) M M g0 ( n )

x1( n ) y1( m ) y1( m ) x1( n )


h1( n ) M M g1( n )

x( n ) x( n )
x2 ( n ) y2 ( m ) y2 ( m ) x2 ( n )
h2 ( n ) M M g2 ( n )


xM 1( n ) yM 1( m ) yM 1( m ) xM 1( n )
hM 1( n ) M M g M 1( n )

Fig. 3.32 Codeur en M sous-bandes : la quantificateur est adapt dynamiquement au


contenu de chaque sous-bande.
22 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Exercices
Exercice 3.1
Soit x(t) la rponse impulsionnelle du quadriple ci-dessous :

1M

1F

(a) Calculer et dessiner x(t)


(b) Calculer lexpression analytique et dessiner (module uniquement; entre
-3000 et 3000 Hz) la transforme de Fourier du signal x(t).
(c) Dduire de la rponse b le graphique de la transforme de Fourier (module
uniquement; entre 3000 et 3000 Hz) du signal x+(t) chantillonn avec une
frquence dchantillonnage de 1000 Hz.
(d) Dessiner x1(t), rponse du circuit un train dimpulsions de Dirac 2(t) de
grandeur unitaire et de priode gale 2 secondes (suppos exister depuis
t=- jusque t=+).
(e) Dduire de la rponse b le graphique de la transforme de Fourier (module
uniquement; entre -5 et 5 Hz) du signal x1(t).

Solution
(a) x(t ) (1 / RC ) exp( t / RC ) (t ) x(t ) exp( t ) (t )

1
(b) X ( f )
1 j 2f
(c)

(d)

(e)
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 23

Exercice 3.2
(a) En appliquant le thorme de Shannon (thorme de lchantillonnage),
dterminez la frquence dchantillonnage minimale fe du signal x(t) dont le
module |X(f)| du spectre est reprsent la figure ci-dessous.

(b) Tracer le module du spectre du signal chantillonn la frquence de Nyquist


dans lintervalle -23 Hz < f < 23 Hz.
(c) Tracer le module du spectre du signal chantillonn la frquence fe = 5 Hz
dans lintervalle -10 Hz < f < 10 Hz.
(d) Tracer le module du spectre du signal chantillonn la frquence fe = 5.5 Hz
dans lintervalle -10 Hz < f < 10 Hz.
(e) Peut-on utiliser des frquences dchantillonnage infrieures celle qui a t
dtermine au point (a) ? Quelle serait la frquence dchantillonnage
minimale ? (Utilisez le thorme de Shannon gnralis).
(f) En utilisant le thorme de Shannon gnralis, dterminez quelle serait la
frquence dchantillonnage minimale si le contenu spectral ntait pas
compris dans lintervalle 5 Hz 7 Hz mais dans lintervalle 4 Hz 7 Hz.
(g) Dterminez la rponse en frquence dun filtre dinterpolation permettant de
reconstruire parfaitement le signal original x(t). Plusieurs bandes passantes
tant possibles, reprsentez le filtre idal avec la plus petite bande passante.

Solution
(a) fe = 14 Hz
24 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

(e) 5 Hz
(f) 7 Hz
(g)

Exercice 3.3
Considrons le signal x(t) = 2 sin(12t) + 3 cos (25t) sin (30t).
(a) Pour quelles frquences dchantillonnage vite-t-on laliasing ?
(b) Supposons que lon filtre le signal x(t) avec un filtre dantialiasing idal de
frquence 14 Hz puis quon lchantillonne la frquence fe = 28 Hz. Quel est
le signal chantillonn x(n) ? Quel est le signal y(t) reconstruit partir de
x(n) si lon utilise linterpolateur idal ?
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 25

(c) Supposons quon chantillonne le signal x(t) avec la mme frquence fe = 28


Hz, mais, cette fois, sans prfiltrage. Quel est le signal chantillonn
x(n) dans ce cas-ci ? Quel est sont spectre ? Quel est le signal y(t) reconstruit
partir de x(n) si lon utilise linterpolateur idal ?
(d) Mme questions quau point (c) mais avec le signal
x(t) = 2 sin(12t) + 3 cos (25t) cos (30t).

Indice pour les points (c) et (d) : noubliez pas la phase des signaux !

Solution
(a) suprieures ou gales 30 Hz
(b) x(n) 2 sin( 2F1n) 3 cos(2F2 n) avec F1 = 6/28 et F2 = 12.5/28
y(t ) 2 sin(12t ) 3 cos(25t )
(c)

Cependant cest X(f), complexe, qui est dupliqu et translat. Pour la


phase, rflchir avec X(f) complexe ou bien faire comme suit :

x(n) 2 sin( 2F1n) 3 cos(2F2 n) sin( 2F3n)


2 sin( 2F1n) 3 cos(2F2 n) sin( 2F4 n)
o F3 = 15/28 = 1-F4 avec F4 = 13/28
y(t ) 2 sin(12t ) 3 cos(25t ) sin( 26t )
(d) x(n) 2 sin( 2F1n) 3 cos(2F2 n) cos(2F4 n)
y(t ) 2 sin(12t ) 3 cos(25t ) cos(26t )

Exercice 3.4 (d'aprs J. Auvray)


Un signal vocal S1 est soigneusement filtr de faon ne possder aucune
composante spectrale au-del de 4 kHz.
26 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

On dsire le crypter de faon le rendre incomprhensible sur la ligne


tlphonique. Pour cela on procde de la faon suivante : le signal S1 est utilis
pour moduler en amplitude, avec suppression de porteuse, une porteuse de
frquence 32 kHz (ce qui peut se faire avec un modulateur en anneau). Le signal
obtenu est chantillonn une frquence fe et les impulsions obtenues filtres
par un filtre passe-bas idal de frquence de coupure 4 kHz. Cette procdure
permet de renverser le contenu spectral initial.
(1) Quelle valeur minimale doit-on donner fe pour que le spectre du signal
transmis soit le rsultat du renversement suivant laxe des frquences du
spectre de S1 (frquences basses et hautes permutes comme schmatis
sur la figure (a)) ?
(2) Reprsentez dans la bande [-10,+10] kHz lallure du spectre la sortie de
lchantillonneur avant filtrage par le filtre passe-bas.
(3) Comment peut-on raliser le dcryptage du signal transmis, c'est--dire
reconstituer le signal initial ?

(a) (b)

Solution
Rponses : a) 12kHz

NB : ce procd tait utilis pour le codage son de Canal+, lorsque cette chane
tait transmise sous forme analogique.

On doit translater le spectre de kfe = 28 kHz. A la translation suivante, on


ne doit pas toucher la bande ]-4 ,4[ kHz (k+1)fe 40 kHz or fe = 28
kHz/k. On trouve que k 7/3=2.33 kHz avec k entier donc on prend k =
2. Do fe = 14 kHz.
!!! autre approche : mettre le coin droit (celui 36) en 0 => kFe=36 ;
viter que limage k-1 ne recouvre la bande 0-4 kHz par son coin gauche
(celui 28) => (k-1)Fe<=24. On trouve alors k=3 et Fe=12 !
(2) faire
On constate alors que Shannon gnralis nest pas respect et il y a
recouvrement. Mais ce nest pas grave, vu le filtre de lissage.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 27

(3) Il suffit deffectuer la mme opration (montrez-le graphiquement)

Exercice 3.5
Comment un lecteur de CD facteur de surchantillonnage = 10 diffre-t-il dun
lecteur de CD sans surchantillonnage ?
Solution
voir notes de cours
Exercice 3.6
On cherche chantillonner le signal ci-dessous sans utiliser de filtre de garde :

t (s)
-0.005 0.005

Quelle est la frquence dchantillonnage minimale qui permet dassurer que le


repliement spectral au droit du lobe principal du spectre du signal soit de moins
de 5% de sa valeur relle ?

Exercice 3.7
Le module du spectre dun signal temps continu x(t) est reprsent ci-dessous.

(a) Si x(t) est chantillonn la frquence fe = 8 Hz, tracez le module du spectre


du signal chantillonn dans lintervalle [13 Hz,13 Hz].

(b) x(t) est appliqu un systme dont le module de la rponse en frquence


H(f) est reprsent la deuxime figure. Tracez le module du spectre du signal
de sortie y(t).
(c) Si y(t) est ensuite chantillonn une frquence fe = 8 Hz, tracez le spectre
de ce signal chantillonn dans lintervalle [13 Hz,13 Hz].
28 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES

Exercice 3.8
Le signal dont la transforme de Fourier (en module) est schmatise ci-dessous
(o f0 = 1000 Hz et B = 100 Hz) doit tre chantillonn.

Donnez la plus petite frquence dchantillonnage qui vrifie le thorme de


Shannon gnralis (non recouvrement des spectres).

Exercice 3.9
On considre le signal temps continu x(t) = sin (2f1t) + sin (2f2t) avec -
< t < et f1 = 500 Hz et f2 = 3000 Hz.
(a) Dterminez les frquences normalises correspondantes ainsi que le signal
chantillonn x(n) pour la frquence dchantillonnage fe = 8000 Hz.
(b) Quelle est la priode fondamentale Np de ce signal temps discret ?
(c) Quelle est la frquence dchantillonnage minimale qui satisfait le thorme
de lchantillonnage ?
(d) Quelle est la frquence dchantillonnage minimale telle que
lchantillonnage se produit sur les valeurs crtes des deux sinusodes ?

Exercice 3.10
Le module du spectre dun signal rel temps continu et bande troite est
schmatis la figure suivante o B = 2 1 et 2 = 4B.
(a) Dterminez la frquence dchantillonnage minimale qui permette la
reconstruction parfaite du signal.
(b) Reprsentez le module du spectre du signal chantillonn cette frquence.
(c) Dterminez le filtre dinterpolation permettant la reconstruction parfaite du
signal original.
(d) Supposons que 2 = 4.5. Dterminez la frquence dchantillonnage
minimale qui autorise une reconstruction parfaite.
ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES 29

Exercice 3.11
Lchantillonnage idal suppose lchantillonnage dun signal xc(t) aux instants t
= kT.
En pratique, un convertisseur A/D chantillonne le signal en chargeant un
condensateur pendant la priode . La tension du condensateur est alors une
mesure de la valeur chantillonne. Laction de charger le condensateur
correspond lintgration du signal sur cette priode :

Lexpression du signal chantillonn est

(a) Dterminez la transforme de Fourier du signal chantillonn xs(t) et


reprsentez son module lorsque = T.
(b) Quelle est linfluence de dans le domaine frquentiel ? Calculez lattnuation
maximale du spectre Xc.

Solution
1 sin(f ) 1 k
Xs ( f ) Xc ( f ) ( f )
f T k T
CHAPITRE 4
TRANSFORMEE DE FOURIER
DISCRETE

John Tukey, (1915-2000), statisticien amricain. Aprs une licence en


chimie et deux en mathmatiques Brown et Princeton University, il
devint professeur de statistiques Princeton et continua en parallle
une carrire de chercheur aux Bell Labs. Il travailla notamment dans le
domaine de lanalyse statistique robuste. Avec laide de James Cooley,
il mit au point lalgorithme de la Transforme de Fourier Rapide (FFT).
John Tukey est galement linventeur du mot software .

James Cooley (1926-), mathmaticien amricain, pionnier dans le


dveloppement du traitement numrique du signal. Alors quil
travaillait dans les laboratoires de recherche de IBM New York, il co-
inventa la FFT avec J. Tukey. Cet algorithme est aujourdhui lun des
plus utiliss en sciences et en ingnierie, de la gophysique
lastronomie en passant la biologie. Il a volontairement t rendu public
par IBM ds sa dcouverte en 1965, sans aucune protection
intellectuelle (sans brevet), afin de favoriser le dveloppement de
logiciels.

Ce troisime chapitre est consacr ltude du seul outil rellement utilisable en


pratique pour calculer la transforme de Fourier dun signal dterministe : la
transforme de Fourier Discrte (4.1). Nous verrons que la transforme de
Fourier discrte correspond la dcomposition dun vecteur sur un base
orthogonale, et quelle nest donc quune simplification (en termes de calculs) de
la transforme de Fourier temps discret introduite au chapitre 2. Cette
simplification introduit cependant quelques artefacts dont il faut tre conscient,
ne ft-ce que pour pouvoir les minimiser lorsque cest possible.
Nous montrerons quil est possible de calculer la transforme de Fourier discrte
de faon trs efficiente, laide dalgorithmes spcialiss, dits de transforme de
Fourier rapide (4.2).
La transforme de Fourier discrte doit tre considre comme un outil, dautant
plus efficace quon lutilise sous sa forme rapide. En pratique, elle est
essentiellement utilise comme :
Outil dobservation spectrale (4.3), dans le but de calculer la TFTD de
signaux numriques, et mme le plus souvent la transforme de Fourier
de signaux analogiques sous-jacents.
2 TRANSFORMEE DE FOURIER DISCRETE

Outil de convolution linaire rapide (4.4).


La plupart des conclusions qui seront tires dans ce chapitre seront galement
applicables lanalyse spectrale des signaux alatoires, qui sera lobjet du
chapitre suivant.

4.1 Transforme de Fourier Discrte


Si la transforme de Fourier temps discret introduite au chapitre 2 est
conceptuellement plus simple que la transforme de Fourier dun signal
analogique, il nen reste pas moins que le calcul de la TFTD ncessite en principe
une charge de calcul infinie, puisque la srie qui la dfinit comporte un nombre
infini de termes, et que lestimation doit en tre faite pour toutes les valeurs de
la frquence normalise F entre 0 et 1.1
Cest la raison pour laquelle la transforme de Fourier Discrte ou TFD (en
anglais Discrete Fourier Transform, ou DFT) a t introduite. Son calcul est en
effet limit un nombre fini de valeurs de n et pour un nombre fini de valeurs de
F.

4.1.1 Dfinition
Considrons une suite finie de N chantillons {x(n)}={x(0),x(1),,x(N-1)}. On
dfinit sa transforme de Fourier Discrte comme la suite {X(k)} (Fig. 4.1):
N 1 2
jn ( k
X ( k ) x ( n )e
)
N
(k 0...N 1) (4.1)
n 0

Il ne sagit donc ni plus ni moins de la TFTD dun signal numrique dont on ne


considre que les N premiers chantillons, calcule pour les N pulsations
normalises ={0, 2/N, 4/N, , 2(N-1)/N}, c.--d. pour les N frquences
normalises F={0, 1/N, 2/N, , (N-1)/N}. A ce titre, la TFD jouit des mmes
interprtations que la TFTD : interprtation gomtrique (cf. 4.1.2) et
dcomposition sur une base (cf. 4.1.3). Nous verrons galement quon peut
linterprter comme le TFTD dun signal priodique (cf. 4.1.4).
Nous verrons plus loin que la transforme de Fourier Discrte inverse est donne
par :
2
1 N 1

jnk
x ( n) X ( k )e N
(n 0...N 1) (4.2)
N k 0

1 Dans les exemples donns au chapitre prcdent, le premier problme napparaissait pas,

puisque les squences numriques taient toujours limites en nombre dchantillons. Le second
tait rsolu par Matlab en calculant les TFTD sur une grille de valeurs entre F=0 et . La
fonction freqz permet dailleurs de fixer le nombre de points de cette grille.
TRANSFORMEE DE FOURIER DISCRETE 3

N 1 2
jnk
X (k ) x(n)e N

n 0

Inverse DFT

2
1 N 1

jnk
x ( n) X ( k )e N
N k 0

Fig. 4.1 TFD et TFD inverse

4.1.2 Interprtation gomtrique


Comme pour la TFTD, lvaluation de lexpression (4.1) pour k fix correspond
2
une somme de vecteurs complexes e jn , avec = k N , pondrs par les
chantillons x(n).

Exemple 4.1

La TFD de la suite de 4 chantillons {x(n)}= x(0), x(1), x(2), x(3) correspond aux
quatre valeurs complexes {X(k)}= X (0), X (1), X (2), X (3) obtenues comme la Fig.
4.2, o lon a symboliquement plac les chantillons prs des vecteurs complexes
auxquels ils se rapportent dans la somme (4.1).
4 TRANSFORMEE DE FOURIER DISCRETE

Im Im
x(3)
2
j3
4
e
x(0)
e j 0 x(1) Re
e j 0 x(0) Re
k=0 x(2) 2 k=1
x(2) j2
x(3) e 4
2
j
4
e
x(1)

Im Im
x(1)
2
j3
4
e
x(3) e j 0 x(0) e j 0 x(0) Re
2 k=2 Re 2 k=3
x(1) j2
4 x(2) x(2) j2
4
e e 2
j
4
e
x(3)

Fig. 4.2 Calcul gomtrique de la TFD de x(0), x(1), x(2), x(3)

4.1.3 Interprtation vectorielle


Les lments de la suite {x(0),x(1),,x(N-1)} peut tre vue comme les
composantes dun vecteur x=[x(0),x(1),,x(N-1)]T dans un espace N
dimensions.
Lquation (4.2) exprime alors que x comme une combinaison linaire de N
2 2 2
jk j 2k j ( N 1)
vecteurs de base wk (k=0,,N-1), avec wk =[ e j 0 , e N
, e N
,, e N
]T (Fig.
4.4).
Il est facile de montrer que ces vecteurs de base sont orthogonaux2 entre eux
(leurs composantes dcrivent en effet des exponentielles imaginaires dont les
priodes sont entires et sont entre elles dans des rapports entiers).

X1w1

w1

w0 X0w0

Fig. 4.3 Dcomposition sur les vecteurs de base (cas N=2)

2 Le produit scalaire est ici celui dfini classiquement dans les espaces vectoriels.
TRANSFORMEE DE FOURIER DISCRETE 5

Exemple 4.2

Considrons une TFD sur 16 valeurs dentre (N=16). Il est facile dafficher sous
Matlab les parties relles des composantes des cinq premiers vecteurs de base wk
(k=0,,4).
for k=0:4
w=exp(j*2*pi/16*k*(0:15));
subplot(5,1,k+1);
stem(real(w));
end

0.5

0
0 2 4 6 8 10 12 14 16
1

-1
0 2 4 6 8 10 12 14 16
1

-1
0 2 4 6 8 10 12 14 16
1

-1
0 2 4 6 8 10 12 14 16
1

-1
0 2 4 6 8 10 12 14 16

Fig. 4.4 Partie relle des cinq premires fonctions de base


pour une TFD sur 16 valeurs (N=16)

On constate que les vecteurs de base complexes sous-jacents sont bien les
exponentielles imaginaires de priodes entires sur 16 chantillons (la premire
correspondant au cas particulier dune priode de 1 chantillon).
La dcomposition peut tre exprime sous forme matricielle :
WX = x
avec W w 0 , w1 ,..., w N 1 (4.3)
X X 0 , X 1 ,..., X N 1
T

La matrice W (dont les colonnes sont les vecteurs de base de la dcomposition)


tant orthogonale, on obtient donc facilement le vecteur X (vecteurs des
coefficients de la dcomposition) par multiplication pour la matrice adjointe :
6 TRANSFORMEE DE FOURIER DISCRETE

( W H W) X = W H x
w 0 , w 0 0 ... 0
w1 , w 1
0 (4.4)
avec W W
H
... ... ...

0 0 ... w N 1 , w N 1
Les lments de la diagonale principale de cette dernire matrice sont les carrs
des normes des vecteurs de base, et valent N (les vecteurs de base ne sont donc
pas orthonorms, comme c'tait le cas en transforme de Fourier) :
N 1 2 2
jnk
wk , wk e
jnk
N
e N
N pour tout k (4.5)
n 0

Par consquent :
1 H
X= W x (4.6)
N
Cette dernire expression est comparer celle de la TFD (4.2) : les coefficients
Xk de la dcomposition sont donns par les valeurs X(k) de la TFD (produits
scalaires de chaque wk avec x) diviss par N (carr de la norme des vecteurs de
base) :
X (k )
Xk ( pour k 0,1,..., N 1) (4.7)
N
Autrement dit, les valeurs de la TFD X(k) dune suite dchantillons sont gales
N fois les coefficients Xk de sa dcomposition sur les vecteurs de base.
On constate en passant qu'en combinant (4.7) et (4.3), on retrouve l'expression
annonce pour la TFD inverse (4.2).

Exemple 4.3

Considrons la TFD dun des vecteurs de base, par exemple w2 pour N=8. Il est clair
en vertu du raisonnement prcdent que toutes les valeurs X(k) de la TFD seront
nulles, sauf X(2), qui doit valoir 8. On obtient effectivement ce rsultat sous Matlab :
x=exp(j*2*pi/8*2*(0:7));
X=fft(x,8)3
subplot(2,1,1); stem(real(x)); %on naffiche que la partie relle de x
subplot(2,1,2); stem(abs(X)); %on naffiche que le module de X

3 On notera que la fonction Matlab utilise est


fft (Fast Fourier Transform, cf. 4.2), et non plus
freqz comme dans le chapitre prcdent. En ralit, freqz utilise fft.
TRANSFORMEE DE FOURIER DISCRETE 7

0.5

-0.5

-1
1 2 3 4 5 6 7 8

0
1 2 3 4 5 6 7 8

Fig. 4.5 Partie relle de w2 pour N=8 4 et module de sa TFD

4.1.4 Interprtation spectrale


Il a t vu au Chapitre 2 que la TFTD dun signal priodique de priode T0= n0Te
est gale 1/T0 fois la TFTD de ses n0 premiers chantillons (cest--dire la
TFTD dune seule priode du signal) :

1 n0 1
2
FT0 (F) Fk ( k 0 )
k
avec Fk
T0
f(n)e
n 0
jnk 0
et 0
n0
(4.8)

Par comparaison avec lquation (4.1), on constate que, si lon considre que
n0=N :
X (k ) T0 Fk (4.9)
Autrement dit : les valeurs des coefficients {Xk}={X(0),X(1),,X(N-1)} de la
TFD dune suite {x(n)}={x(0),x(1),,x(N-1)} ne sont rien dautre que les raies
Fk de la TFTD du signal priodique de priode N ayant {x(n)} comme priode,
corriges par un facteur multiplicatif T0= NTe (Fig. 4.6).

4 Notons que la raie en 3 correspond bien X(2) : Matlab commence toujours ses indices 1.
8 TRANSFORMEE DE FOURIER DISCRETE

x + (t)

(x(0), x(1), x(2), ,x(N-1))

T0|X + (F)|

|X +(F)|

F
-1 0 1

(X(0), X(1), X(2), ,X(N-1))

Fig. 4.6 Interprtation de la TFD dun signal numrique


comme la TFTD dun signal priodique sous-jacent

4.1.5 Proprits
Les proprits de la TFD sont prsentes au Tableau 4.1. Vu linterprtation
spectrale qui vient dtre donne, elles sont les mmes que celles de la TFTD,
condition de supposer que le signal dentre est priodique de priode gale N
chantillons. Ainsi, il est logique de voir apparatre un modulo N dans la proprit
de retard : si on retarde le signal priodique sous-jacent d'une priode (c.--d.
de N chantillons), on retrouve les chantillons de dpart.

(linarit) a f ( n)
i
i i
a F (F )
i
i i

2
(retard) f ((n n0 ) mod N ) F (k ) e
j
N
kn0

(convolution circulaire) f (n) g (n) F (k )G(k )


1
(produit) f (n) g (n) F (k ) G (k )
N
N 1
1 N 1

2 2
f ( n) F (k )
(Parceval) n 0 N n 0

Tableau 4.1 Proprits principales de la transforme de Fourier


temps discret

La convolution circulaire, qui apparat dans le tableau prcdent, est dfinie par :
TRANSFORMEE DE FOURIER DISCRETE 9

N 1
f (n) g (n) f (i) g ((n i) mod N ) (4.10)
i 0

Elle correspond en fait la convolution entre deux signaux priodiques sous-


jacents. Elle n'est donc calcule que sur une priode (N chantillons), et les
indices des chantillons sont calculs modulo N.
Enfin, si lon exprime F(k) sous la forme :

F (k ) A(k )e j ( k ) (4.11)
on montre facilement (par exemple partir de linterprtation gomtrique de la
TFD ou tout naturellement partir de son interprtation spectrale) que, dans le
cas d'un signal rel, le module A(k) est pair modulo N et la phase (k) est
impaire modulo N. On dit que {F(k)} est une suite conjugue modulo N :
F ( N k ) F (k )* (4.12)
La parit de A(k) modulo N apparat trs bien la Fig. 4.6.

Exemple 4.4

Considrons la TFD de la partie imaginaire (le sinus) dun des vecteurs de base, par
exemple w2 pour N=8. Puisque Im(w2)= -j/2 (w2-w-2)= -j/2 (w2-wN-2), toutes les
valeurs X(k) de la TFD seront nulles, sauf X(2) et X(6) qui vaudront 4j et +4j, ce qui
correspond bien une suite conjugue modulo N. On obtient effectivement ce rsultat
sous Matlab :
x=sin(2*pi/8*2*(0:7));
X=fft(x,8)
subplot(3,1,1); stem(x);
subplot(3,1,2); stem(abs(X));
subplot(3,1,3); stem(angle(X));

-1
1 2 3 4 5 6 7 8
4

0
1 2 3 4 5 6 7 8
2

-2
1 2 3 4 5 6 7 8

Fig. 4.7 Module et argument de Im(w2) pour N=8 : suite conjugue modulo 8
10 TRANSFORMEE DE FOURIER DISCRETE

4.2 Transforme de Fourier Rapide


En 1965, Cooley et Tukey proposrent une mthode qui permet de rduire
considrablement le temps de calcul de la TFD d'une suite dont le nombre
d'chantillons N est dcomposable en facteurs (typiquement, une puissance de
2). Par la suite, de nombreux algorithmes ont t publis; ils sont connus sous le
terme gnral de transformation de Fourier rapide (TFR ; ou FFT : Fast Fourier
Transform). Tous ces algorithmes sont bass sur un mme principe qui consiste
dcomposer le calcul de la TFD en plusieurs TFD de longueur plus petite. La
mise en uvre de ce principe conduit diffrentes mthodes dont les
performances sont comparables. Nous dcrirons ici plus particulirement
lalgorithme dit radix 2 avec entrelacement dans le temps.

4.2.1 FFT radix 2 avec entrelacement dans le temps


Cette mthode, qui exige une squence dont la longueur est une puissance de 2
( N 2M ), a rendu envisageable le calcul de TFD de plusieurs milliers de points.
Le nom de radix 2 provient du fait que l'on ramne le calcul d'une TFD de N
points un certain nombre de calculs de TFD de 2 points. Lappellation
entrelacement dans le temps est li la dcomposition de la suite x(n) en
suites plus courtes.
Soit X (k ) la TFD d'une suite x(n) de longueur N 2M :
N 1 2
j
X (k ) x(n).W nk
(k 0,1,..., N 1) avec W e N
(4.13)
n 0

Soient les deux suites a(n) et b(n) de longueur N/2 et leurs TFD A(k) et B(k) :
a(n) x(2n) a(n) A(k )
n, k 0,1,.., N / 2 1 (4.14)
b(n) x(2n 1) b( n) B ( k )
On montre facilement que les X(k) peuvent tre calculs partir des A(k) et B(k) :
N / 2 1 N / 2 1
X (k )
n 0
x(2n).W 2 nk
n 0
x(2n 1).W (2 n 1) k

A(k ) W k .B(k )
(4.15)
N / 2 1 N / 2 1
N
X(
2
k)
n 0
x(2n).W 2 n ( k N / 2)
n 0
x(2n 1).W (2 n 1)( k N / 2)

A(k ) W k .B(k )

au moyen de N/2 modules lmentaires appels, connus dans la littrature


anglo-saxonne sous le nom de butterfly (croisillon) et dfinis par les relations
(4.15) dans lesquelles W k est appel facteur de rotation. Ces relations sont
illustres la Fig. 4.8 dans laquelle le cercle symbolise la TFD d'une suite de
longueur 2 (addition et soustraction des deux lments).
TRANSFORMEE DE FOURIER DISCRETE 11

A(k) X(k)= A(k)+W-k B(k)

B(k) W-k X(N/2+k)= A(k)-W-k B(k)

Fig. 4.8 Elment de base pour le calcul de la FFT (croisillon)

Le problme initial est donc ramen deux sous problmes (Fig. 4.9) : le calcul
de la TFD des deux suites de N/2 points a(n) et b(n) . Ces deux problmes sont
eux-mmes diviss en problmes lmentaires de N/4 points (Fig. 4.10), et ainsi
de suite.

{ x(2n) } = { a(n) } { A(k) } { X(k) }


N/2
cellules
indices
{ x(2n+1) } = { b(n) } { B(k) } 0 { X(k+N/2) }
N/2-1

Fig. 4.9 Dcomposition en deux sous problmes de N/2 points

{ x(4n) } = { c(n) } { C(k) } { A(k) }


N/4 cellules
{ X(k) }
indices
0 N/4-1
{ x(4n+2) } = { d(n) } { D(k) } { A(k+N/4)}
N/2 cellules
indices
0 N/2-1
{ x(4n+1) } = { e(n) } { E(k) } { B(k) }
N/4 cellules { X(k+N/2) }
indices
0 N/4-1
{ x(4n+3) } = { f(n) } { F(k) } { B(k+N/4) }

Fig. 4.10 Dcomposition en quatre sous problmes de N/4 points

Comme N est une puissance de 2, on peut itrer le procd; ainsi pour N=8, on
obtient le graphe de la Fig. 4.11. D'une manire gnrale, pour N 2M , le calcul
s'effectue en M tages et chaque tage comprend N/2 modules lmentaires; il
faut donc au total:
N log 2 ( N ) additions(ou soustractions) complexes

N
log 2 ( N ) multiplications complexes5
2

5 Certaines de ces multiplications sont mmes triviales (celles par 1 et par j).
12 TRANSFORMEE DE FOURIER DISCRETE

x0 X0
x4 0 X1
W
x2 W0 X2
x6 0 W -2 X3
W
x1 W0 X4
x5 W 0 W-1 X5
x3
W 0 W-2 X6
x7 W0 W-3 X7
W-2

Fig. 4.11 FFT d'une suite de 8 points

On retiendra que la complexit algorithmique de la FFT est de lordre de


O(N log 2 ( N )) , comparer au O ( N ) de la TFD. Le gain, de lordre de
O(N/ log 2 ( N )) , est norme si N est suffisamment grand. Ainsi, pour N=1024, le
gain en charge (et donc en temps) de calcul vaut 100.

4.2.2 Cas particulier des suites relles


Lorsque la suite d'entre x(n) est relle, on sait que sa TFD est une suite
conjugue paire modulo N ( X ( N k ) X (k )* ). Il est donc inutile de calculer les
valeurs de X(k) pour k=N/2+1,,N-1 : la TFD est entirement dfinie par deux
nombres rels (X(0) et X(N/2)) et (N/2)-1 nombres complexes (X(k)
k=1,...,N/2-1). Nous allons voir quon peut effectivement viter ce calcul inutile
en prparant correctement les donnes en entre.
Il est clair que si on disposait des TFD A(k) et B(k) des deux suites {a(n)} et
{b(n)} de longueur N/2 dfinies la section prcdente, on pourrait calculer
directement les seules valeurs de X(k) qui nous intressent, puisque :
X (0) A(0) B(0)
X ( N / 2) A(0) B(0) (4.16)
k
X (k ) A(k ) W .B(k ) k 1,..., N / 2 1
Or on peut obtenir A(k) et B(k) (k=0,1,,N/2-1) en calculant la TFD dune suite
de N/2 valeurs complexes y (n) dfinie par :
y(n) a(n) jb(n) k 0,1,..., N / 2 1 (4.17)
En effet, comme les suites {a(n)} et {b(n)} sont relles, leurs TFD sont des suite
conjugues paires modulo N/2 :
A(k ) A* ( N / 2 k )
(k 0,1,..., N / 2 1) (4.18)
B ( k ) B* ( N / 2 k )
Il vient donc :
Y (k ) A(k ) jB(k )
( k 0,1,..., N / 2 1) (4.19)
Y ( N / 2 k ) A* (k ) jB* (k )
Do lon extrait facilement :
TRANSFORMEE DE FOURIER DISCRETE 13

A(k )
1
2
Y (k ) Y * ( N / 2 k )
( k 0,1,..., N / 2 1) (4.20)
B ( k ) Y ( k ) Y * ( N / 2 k )
j
2
La passage par la TFD des N/2 valeurs complexes de y (n) permet donc de
calculer directement les X(k). De cette faon, on rduit le volume des mmoires
d'un facteur 2 et on diminue le temps de calcul (d'environ 40 % pour N=1024).

4.3 Observation spectrale


Le principal usage de la TFD est li la mise en vidence des caractristiques
spectrales des signaux, le plus souvent analogiques. Nous allons voir quil est en
effet possible destimer la transforme de Fourier dun signal analogique
quelconque (priodique ou pas) laide de la TFD.
Rappelons quau chapitre 3 nous avons dfini la TFTD dune suite dchantillons
rsultant de lchantillonnage dune fonction x(t) comme la transforme de
Fourier de la fonction impulsionnelle x+(t) obtenue par multiplication de x(t) avec
un train dimpulsions de Dirac illimit dans le temps.
Nous pouvons prsent considrer la TFD dune squence (x(0),x(1),,x(N-1))
comme la transforme de Fourier de la fonction impulsionnelle xN+ (t) obtenue
par multiplication de x(t) avec un train de N impulsions de Dirac, transforme
dont on na gard que les N valeurs correspondant aux frquences f=0, Fe/N,
2Fe/N, , (N-1)Fe/N.
Il nous reste examiner leffet de cette troncation dans le temps et de cet
chantillonnage en frquence.
Considrons tout dabord le train de N impulsions de Dirac (signal fentre
rectangulaire numrique) w+(t) valant 1 pour t=0,Te,,(N-1)Te et 0 partout
ailleurs (Fig. 4.13.c). La TF W+(f) de ce signal est donne par la TFTD de la suite
dchantillons {w(n)} correspondants :

W ( F ) w(n)e jn

1 e j e j 2 ... e j ( N 1)
1 e jN (4.21)

1 e j
e j N 2 sin( N )
j1 2
e 2 sin( 1 )
2
Cette fonction a lallure dune fonction sinc priodique ; elle vaut N en F=0 et
sannule en F=1/N, 2/N, , (N-1)/N (Fig. 4.12).
14 TRANSFORMEE DE FOURIER DISCRETE

|W+(F)|

-3/N -2/N -1/N 0 1/N 2/N 3/N

Fig. 4.12 Zoom sur la TFTD de la fentre rectangulaire numrique de largeur N

La TF XN+(f) de xN+(t) correspond donc la convolution des TF respectives de


x(t) et de w+(t) (Fig. 4.13.d)
La TFD de [x(0),x(1),,x(N-1)] nest alors rien dautre que la squence des
valeurs de XN+(f) pour f={0, Fe/N, 2 Fe /N, , (N-1) Fe /N}.

4.3.1 Signal priodique


On sait que la TFTD du signal xT0(n) rsultant de lchantillonnage dun signal
analogique priodique xT0(t) avec un pas dchantillonnage Te est un spectre de
raies priodique (Fig. 4.13.a et b).
Nous pouvons maintenant utiliser (4.21) pour tablir le lien qui unit la
transforme de Fourier dun signal priodique analogique xT0(t) la TFD de la
suite dchantillons correspondant xT0(n) (n=0,,N-1).
TRANSFORMEE DE FOURIER DISCRETE 15

|XT0(f)|
xT0(t)
AT0(0)

a t f

-fe 0 fe

xT0+(t) |XT0+(f)|
AT0(0)/Te

b t f

- Fe 0 Fe

|W+(f)|
w+(t)
N

1
c
t f

- Fe 0 Fe
0 (N-1)Te

|XN+(f) |=|XT0(f)*W+(f)|

N AT0(0)

xN+(t)=xT0(t)w+(t)

t f

0 (N-1)Te - Fe 0 Fe

|X(k)|

N AT0(0)

e
k

0 N-1

Fig. 4.13 Estimation de la transforme de Fourier dun signal priodique par


TFD : TF (a) ; TFTD (b) ; TFD (e)

En effet si, plutt que de multiplier xT0(t) par un train infini dimpulsions de Dirac,
on multiplie xT0(t) par w+(t), on constate que le lobe principal de la TF de la
fentre w+(t), damplitude gale N, vient se positionner au droit de chacune
des raies du spectre de dpart.
Dans le cas o Fe /N<<f0 (cest--dire dans le cas o N>>T0/Te, ce qui revient
dire que les N chantillons retenus couvrent plusieurs priodes du signal de
dpart; cas de la Fig. 4.13.c), les copies du lobe principal ne se recouvrent pas
trop, et leur somme laisse encore deviner les raies de dpart, multiplies par N
16 TRANSFORMEE DE FOURIER DISCRETE

(Fig. 4.13.d). Dans le cas contraire, la superposition des lobes ne permet plus de
distinguer les raies.
La TFD donne alors les valeurs de cette TFTD pour F={0, 1/N, 2/N, , (N-1)/N}
(Fig. 4.13.e).

Exemple 4.5

Affichons la TFD sur N=16 points dune exponentielle imaginaire de frquence


normalise F0=4/16 et rptons le calcul pour F0=4.1/16, 4.5/16, et 4.9/16 (Fig.
4.14). Profitons-en pour afficher la frquence normalise en abscisse.
x=exp(j*2*pi*4/16*(0:15));
X=fft(x);
subplot(4,1,1); stem((0:15)/16,abs(X)); %on naffiche que le module de X
x=exp(j*2*pi*4.1/16*(0:15));
X=fft(x);
subplot(4,1,2); stem((0:15)/16,abs(X)); %on naffiche que le module de X
x=exp(j*2*pi*4.5/16*(0:15));
X=fft(x);
subplot(4,1,3); stem((0:15)/16,abs(X)); %on naffiche que le module de X
x=exp(j*2*pi*4.9/16*(0:15));
X=fft(x);
subplot(4,1,4); stem((0:15)/16,abs(X)); %on naffiche que le module de X
xlabel(frquence normalise);

20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
fr quence normalis e

Fig. 4.14 Module de la TFD (N=16) dexponentielles imaginaires de


frquences normalises F0=4/16, 4.1/16, 4.5/16, et 4.9/16 (la
fonction sinc priodique a t ajoute en superposition titre
purement didactique)
TRANSFORMEE DE FOURIER DISCRETE 17

On a superpos aux graphiques la TFTD de la fentre rectangulaire 16 chantillons, pour


mieux comprendre ce qui se passe. On constate que la raie de valeur unitaire attendue se
prsente sous la forme dune raie unique de valeur 16 pour F0=4/16 (multiple de 1/N).
Lorsque la frquence normalise du signal nest pas un multiple de 1/N, la TFTD de la fentre
rectangulaire nest plus centre sur une des frquences normalises correspondant aux
valeurs de la TFD, et plusieurs raies apparaissent. Le cas le pire est celui de 4.5/16, o les
deux raies ont la mme valeur et o les lobes secondaires de W(F) sont chantillonns par la
TFD.

Exemple 4.6 signal rectangulaire priodique

Rendons le signal rectangulaire rect(t) priodique de priode gale 2s. Sa


transforme de Fourier fera apparatre des raies en f=0, 1/2, 1, 3/2, etc., de valeur
sinc(f)/2.

1/2 |sinc(f)/T0|
rectT0(t)
1

t f
-1/2 1/2 2 0 1 2 3

On constate que la transforme fait apparatre une raie en f=0 (composante


continue=1/2), puis uniquement des harmoniques Fk impaires, damplitudes
dcroissant en 1/k.
signal=[rectwin(10) ; zeros(10,1)]; % rectangle width : 1 s = 10 samples
signal = [signal; signal; signal]
[fourier,frequencies]=freqz(signal) % computes the FT in f=[0,Fe/2]

subplot(211); stem(signal); title('f(n)')


Fe=10;
subplot(212); plot(frequencies/pi*(Fe/2),abs(fourier)); title('|F(f)|');
18 TRANSFORMEE DE FOURIER DISCRETE

On retrouve bien ici les raies attendues, avec une amplitude multiplie par le nombe N
dchantillons retenus (ici 60).

Exemple 4.7 signal triangulaire priodique

Rendons le signal rectangulaire tri(t) priodique de priode gale 2s. Sa transforme


de Fourier fera apparatre des raies en f=0, 1/2, 1, 3/2, etc., de valeur sinc(f)/2.

triT0(t)
1/2 |sinc(f)/2|
1

t f
-1 1 0 1 2 3

On constate que la transforme fait apparatre une raie en f=0 (composante


continue=1/2), puis uniquement des harmoniques Fk impaires, damplitudes
dcroissant en 1/k.
signal=[triang(20)]; % triangle width : 2 s = 20 samples
signal = [signal; signal; signal]
[fourier,frequencies]=freqz(signal) % computes the FT in f=[0,Fe/2]

subplot(211); stem(signal); title('f(n)')


Fe=10;
subplot(212); plot(frequencies/pi*(Fe/2),abs(fourier)); title('|F(f)|');
TRANSFORMEE DE FOURIER DISCRETE 19

Comme les amplitudes des raies sont petites, on peut avantageusement afficher
le module de la transforme de Fourier en dB. Cest ce que fait par dfaut la
fonction freqz, sur un axe de frquence normalis entre 0 et 1.

freqz(signal)

Exemple 4.8

Il est bien pratique de pouvoir estimer rapidement la transforme de Fourier dun


segment de signal de parole. Par exemple ici pour un extrait du a de
parenthse .
signal=audioread('par8.wav');
Fe=8000;
plot(signal)
xlabel('temps (chantillons)'); ylabel('Amplitude');
soundsc(signal,8000);
20 TRANSFORMEE DE FOURIER DISCRETE

segment=signal(600:839);
subplot(211); plot(segment);
[fourier,frequencies]=freqz(segment) % computes the FT in f=[0,Fe/2]
subplot(212); plot(frequencies/pi*(Fe/2),abs(fourier)); title('|F(f)|');

On constate que la priode du signal (de lordre de 65 chantillons) se manifeste bien


par une structure spectrale harmonique de frquence fondamentale 8000/65=123 Hz.

4.3.2 Signal non priodique


Cas o la fentre de N chantillons na pas dinfluence
Si le signal dont on cherche observer le spectre est de dure finie, et que le
nombre N dchantillons dont on dispose couvre une plage temporelle suprieure
ou gale cette dure, leffet de N est videmment transparent : la TFD affiche
alors N valeurs de la TFTD originale.

Exemple 4.9 signal rectangulaire


TRANSFORMEE DE FOURIER DISCRETE 21

Sous MATLAB, affichons la TFD de rect(t), chantillonn 10 Hz, et complt par cent
chantillons nuls. Notons que la transforme de Fourier de ce signal ne possde pas
vraiment de frquence maximale. On la choisit en pratique suffisamment grande pour
que leffet de mirroir spectral puisse tre nglig.
signal=[rectwin(10) ; zeros(100,1)]; % rectangle width : 1 s = 10 samples
[fourier,frequencies]=freqz(signal) % computes the FT in f=[0,Fe/2]

subplot(211); stem(signal); title('f(n)')


Fe=10;
subplot(212); plot(frequencies/pi*(Fe/2),abs(fourier)); title('|F(f)|');

MATLAB ne renvoie que les composantes de frquence positive. On constate que les
frquences renvoyes par freqz sont par dfaut dans [0, pi].
La forme de la rponse en amplitude correspond bien la forme attendue ; sa valeur
(ici en dB), est 100 fois suprieure la valeur thorique 1/10, vu le facteur facteur
1/Te annonc.

Exemple 4.10 Transforme du signal triangulaire

On a vu au chapitre prcdent que la convolution de deux signaux rectangulaires


donne un signal triangulaire. On en dduit (Fig. 4.15) que :

tri (t ) sinc( f )
22 TRANSFORMEE DE FOURIER DISCRETE

rect(t) |sinc(f)|
1
1

t f
-1/2 1/2 0 1 2 3

* x
rect(t) |sinc(f)|
1
1

t f
-1/2 1/2 0 1 2 3

= =
tri(t)
1 |sinc(f)|
1

t f
-1 1 0 1 2 3

Fig. 4.15 Lien entre transforme de Fourier dun signal carr et


triangulaire

Calculons cette transforme numriquement sur un triangle de largeur 2s,


chantillonn 10 Hz.
signal=[triang(20) ; zeros(100,1)]; % triangle width : 2 s = 20 samples
[fourier,frequencies]=freqz(signal) % computes the FT in f=[0,Fe/2]

subplot(211); stem(signal); title('f(n)')


Fe=10;
subplot(212); plot(frequencies/pi*(Fe/2),abs(fourier)); title('|F(f)|');
TRANSFORMEE DE FOURIER DISCRETE 23

Cas o la fentre de N chantillons conduit une troncature du signal


dans le temps
Dans le cas o le nombre dchantillons ne permet pas de couvrir tout le signal,
linterprtation donne plpus haut est galement applicable un signal non
priodique x(t), la seule diffrence tant que la transforme de Fourier de
dpart, X(f), est continue (Fig. 4.16).
Leffet de la convolution de X(f) avec W+(f) correspond une priodification
accompagne dun filtrage passe-bas de X(f) (Fig. 4.16.d): les variations
brusques de X(f) sont adoucies, et sa dynamique est limite par celle de W+(f) :
on voit parfois apparatre sur XN+(f) les lobes secondaires de W+(f) dans les
plages de frquences o X(f) est trs faible.
Le niveau damplitude des raies donnes par la TFD est li celui de la
transforme de Fourier du signal par la relation :
N 1

X ( F 0) x(n)
n
X N ( F 0) x(n)

n 0
(4.22)

Do lon dduit que :


N 1


x ( n)
X N (0) kX (0) avec k n 0
(4.23)
x ( n)
n

Il est clair que si la fentre est suffisamment longue (cest--dire si N est


suffisamment grand), leffet de filtrage passe-bas sur X(f) deviendra ngligeable
(W+(f) tendra vers une impulsion) et lamplitude de XN+(f) tendra vers celle de
24 TRANSFORMEE DE FOURIER DISCRETE

X+(f) (cest--dire vers celle de la transforme de Fourier recherche X(f)/Te, si


lon suppose que le thorme de Shannon a t respect).

|X(f)|
x(t)
A(0)

a t f

-fe 0 fe

|X+(f)|
A(0)/Te
x+(t)

b t f

-Fe 0 Fe

|W+(f)|
w+(t)
N

1
c
t f

- Fe 0 Fe
0 (N-1)Te

|XN(f) |=|X(f)*W+(F)|

k A(0)/Te
xN+(t)=x(t)w+(t)

t f

0 (N-1)Te - Fe 0 Fe

|X(k)|

k A(0)/Te

e
k

0 N-1

Fig. 4.16 Estimation de la transforme de Fourier dun signal non priodique


par TFD : TF (a) ; TFTD (b) ; TFD (e)

Exemple 4.11 Transforme du sinus cardinal

Par application de la proprit de dualit de la transforme de Fourier, il vient :


TRANSFORMEE DE FOURIER DISCRETE 25

sinc(t ) rect( f ) rect ( f )

rect(f)
sinc(t)
1 1

t f

-2 - 2 -1/2 1/2

Fe=10 ; t=(-100:99)* 1/Fe; %Fe = 10 ; 200 samples ; 20 oscillations


signal=sinc(t),
[fourier,frequencies]=freqz(signal) % computes the FT in f=[0,Fe/2]

subplot(211); stem(signal); title('f(n)')


Fe=10;
subplot(212); plot(frequencies/pi*(Fe/2),abs(fourier)); title('|F(f)|');

Exemple 4.12

Soit un SLI analogique du second ordre ples complexes conjugus, de fonction de


transfert :

2
H ( p) 2 avec 2 1000 2 5 (4.24)
p 2 p 2
26 TRANSFORMEE DE FOURIER DISCRETE

Il y correspond une rponse en amplitude :

A( ) 20 log H ( j )
(4.25)
20 log 2 20 log ( 2 2 )2 4 2 2
Le diagramme de Bode correspondant est donn la Fig. 4.17, o lon a reprsent
galement la rponse affiche par Matlab avec :
rho=2*pi*1000;sigma=2*pi*5;
freqs([rho*rho],[1,2*sigma,rho*rho],logspace(3,5,200)) ;

2
10

Magnitude
10

-2
10

20 logQ -4

log 10
10
3
10
4
10
5

= Frequency (radians)
-40 dB/dc 0
Phase (degrees)

-50

-100

-150

-200
3 4 5
10 10 10
Frequency (radians)

2
Fig. 4.17 Diagramme de Bode de ( p)
p 2 2 p 2

Sa rponse impulsionnelle est donne par :

2
h(t ) exp( t ) sin( t ) (t ) avec 2 2 (4.26)

Supposons que lon mesure cette rponse impulsionnelle sans connatre la fonction de
transfert de systme, et que lon veuille afficher sa rponse en amplitude A(f).
Nous devons pour ce faire fixer deux paramtres : la priode dchantillonnage Te et le
nombre N de points du signal utiliser pour le calcul de la FFT. La Fig. 4.18 montre les
rsultats obtenus avec Fe=10000 (cette valeur est choisie de faon que A(Fe)= A(Fe)-
40 dB) et diffrentes valeurs de N. Les commandes Matlab sont du type :
omega=sqrt(rho*rho-sigma*sigma)
N=1024; Te=1/10000;
n=(0:N-1);
h=rho*rho/omega*exp(-sigma*n*Te).*sin(omega*n*Te);
H=fft(h)*Te; % multiplier par Te pour tenir compte de lchantillonnage
w=n(1:N/2+1)/N*(2*pi/Te) ; H=H(1:N/2+1); % On ne prend que H(F) pour F=0...1/2
subplot(2,1,1); plot(n*Te,h); title(h(t) pour Fe=10000 et N=256);
subplot(2,1,2); semilogx(w,20*log10(abs(H))); title(A(w) (dB));
TRANSFORMEE DE FOURIER DISCRETE 27

4 4
x 10 h(t) pour Fe=10000 et N=1024 x 10 h(t) pour Fe=10000 et N=512
1 1

0.5 0.5

0 0

-0.5 -0.5

-1 -1
0 0.02 0.04 0.06 0.08 0.1 0.12 0 0.01 0.02 0.03 0.04 0.05 0.06

A(w) (dB) A(w) (dB)


40 40

20 20

0 0

-20 -20
1 2 3 4 5 2 3 4 5
10 10 10 10 10 10 10 10 10

4 4
x 10 h(t) pour Fe=10000 et N=256 x 10 h(t) pour Fe=10000 et N=128
1 1

0.5 0.5

0 0

-0.5 -0.5

-1 -1
0 0.005 0.01 0.015 0.02 0.025 0.03 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014

A(w) (dB) A(w) (dB)


40 30

20
20
10
0
0
-20
-10

-40 -20
2 3 4 5 2 3 4 5
10 10 10 10 10 10 10 10

Fig. 4.18 Estimation de la rponse en frquence en frquence dun


SLI analogique dordre 2 partir du module de la TFD de sa rponse
impulsionnelle chantillonne (Fe=10000 ; N variable)

On constate la Fig. 4.18 que, pour une frquence dchantillonnage suffisamment


leve, la qualit du rsultat est fonction du choix de N : lorsque N diminue, leffet de
la convolution avec W(F) se manifeste par un largissement de la rsonance, et une
modifications des amplitudes.
Notons qu'une diminution de N implique aussi une diminution de la rsolution
frquentielle : seules N/2+1 valeurs de la TFTD sont affiches par la TFD, entre F=0 et
1/2 .
On comprend, au vu de ces figures, quil faut tre prudent sur le choix de N lorsquon
value une transforme de Fourier laide de la TFD.

4.3.3 Calcul dune TFTD sur NTFD points en frquence


On a constat jusquici que la valeur de N dtermine simultanment sur la
largeur du lobe principal de W+(f) (et par l sur limportance de leffet convolutif
associ) et sur la discrtisation frquentielle ralise par la TFD. Ces deux effets
peuvent en ralit tre matriss sparment, en ralisant le calcul de la TFTD du
signal fentr {xN(n)} sur un nombre de points en frquence NTFD diffrent de N.

Compltion par des zros

Si lon ajoute des chantillons nuls la suite des N valeurs (xN(0), xN(1),, xN(N-
1)), de faon obtenir une squence de NTFD valeurs, on obtient une
reprsentation plus raliste de {xN(n)}. Le calcul de la TFD de cette squence
fournit donc un chantillonnage de la TFTD de {xN(n)}, cette fois sur NTFD valeurs
28 TRANSFORMEE DE FOURIER DISCRETE

en frquence. La compltion dune squence par des zros fournit donc une
meilleure reprsentation de XN+(f), sans pour autant augmenter la prcision du
rsultat.

Exemple 4.13

Calculons la TFTD dune fentre rectangulaire de 16 points, par FFT sur 16, 32, et 128
points :
x=ones(1,16);
subplot(6,1,1); stem(x);
subplot(6,1,2); plot((0:15)/16, abs(fft(x,16)));
x=[ones(1,16) zeros(1,16)];
subplot(6,1,3); stem(x);
subplot(6,1,4); plot((0:31)/32, abs(fft(x,32)));
x=[ones(1,16) zeros(1,112)];
subplot(6,1,5); stem(x);
subplot(6,1,6); plot((0:127)/128, abs(fft(x,128)));

0.5

0
0 2 4 6 8 10 12 14 16
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1

0.5

0
0 5 10 15 20 25 30 35
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1

0.5

0
0 20 40 60 80 100 120 140
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Fig. 4.19 FFT sur 16, 32, et 128 points de 16 chantillons dune fentre
rectangulaire.
TRANSFORMEE DE FOURIER DISCRETE 29

Priodification de la squence dchantillons

De faon similaire, il est possible de calculer la TFTD de {xN(n)} sur un nombre


de points NTFD en frquence plus petit que N. Il suffit en effet de dcouper la
squence (xN(0), xN(1),, xN(N-1)) en blocs de NTFD valeurs, et de somme les
chantillons occupant les mmes positions dans leurs blocs respectifs. Ceci
revient priodifier la squence dentre avec une priode de NTFD chantillons :

xNTFD (n) x
i
N (n iNTFD ) (4.27)

Il est facile de montrer que la TFD de la squence xNTFD (n) ainsi constitue
fournit bien les valeurs de la TFTD de {xN(n)} sur NTFD valeurs entre F=0 et 1.

Exemple 4.14

Soit une squence de N=8 chantillons (x(0), x(1),,x(7)). Constituons une squence
de longueur NTFD=4 par (4.27) : (x(0)+x(5), x(1)+x(6), x(2)+x(6), x(3)+x(7)). La
TFD de cette squence est donne gomtriquement la Fig. 4.2. Il est clair que les 4
valeurs obtenues par cette TFD sont aussi 4 des 8 valeurs que lon aurait obtenues par
TFD de (x(0), x(1),,x(7)).

x(3)+x(7)

j3
4
e
x(0)+x(4)
e j0 x(1)+x(5) x(2) e j 0 x(0)
k=0 x(2)+x(6) k=1
+ x(6) j2 +x(4)
x(3)+x(7) e 4

j
4
e
x(1)+x(5)

x(1)+x(5)

j3
4
x(0) e
x(1)
+x(5) e j0 +x(4) x(2) e j 0 x(0)
k=2 k=3
x(3) j2
4 x(2) + x(6) j2
4
+x(4)
e e
+x(7) +x(6) j

4
e
x(3)+x(7)

Fig. 4.20 Calcul gomtrique de la TFD de (x(0)+x(5), x(1)+x(6),


x(2)+x(6), x(3)+x(7))

Lintrt de cette technique se fait surtout sentir lorsque le signal dont on veut
calculer la TFTD possde un grand nombre dchantillons non nuls et que lon
veut viter un effet convolutif trop important par utilisation dune fentre trop
courte. La calcul sur tous les chantillons impliquerait alors une charge de calcul
importante, mme pour la FFT.
On retiendra que, de la mme faon que la compltion par des zros naugmente
la rsolution frquentielle sans augmenter la prcision de la TFTD sous-jacente,
30 TRANSFORMEE DE FOURIER DISCRETE

la priodification diminue la rsolution frquentielle sans affecter la prcision de


la TFTD sous-jacente.

Exemple 4.15

Calculons la TFTD dune fentre rectangulaire de 16 points, par FFT sur 16, 8, et 4
points :
x=ones(1,16);
subplot(6,1,1); stem(x);
subplot(6,1,2); stem((0:15)/16, abs(fft(x,16)));
x=[ones(1,8)+ones(1,8)];
subplot(6,1,3); stem(x);
subplot(6,1,4); stem((0:7)/8, abs(fft(x,8)));
x=[ones(1,4)+ ones(1,4)+ ones(1,4)+ ones(1,4)];
subplot(6,1,5); stem(x);
subplot(6,1,6); stem((0:3)/4, abs(fft(x,4)));

0.5

0
0 2 4 6 8 10 12 14 16
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
2

0
1 2 3 4 5 6 7 8
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
4

0
1 1.5 2 2.5 3 3.5 4
20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

Fig. 4.21 FFT sur 16, 8, et 4 points de 16 chantillons dune fentre


rectangulaire.
TRANSFORMEE DE FOURIER DISCRETE 31

En rsum, en compltant les N chantillon initiaux par de 0 ou en priodifiant


cette squence dchantillons, on peut calculer une TFTD sur un nombre de
points NTFD plus petit ou plus grand que N. Le pas frquentiel de la TFD est gale
NTFD (Fig. 4.22).

Fig. 4.22 Effet dune valeur de NTFD diffrente de N. En gris, la TFTD


sous-jacente ; en groupe, la TFD dont les points ont t relis par des
segments de droite.

4.3.4 Pondration par une fentre


Nous avons vu que le fait de ne conserver que N chantillons dun signal {x(n)}
peut tre interprt comme la multiplication de ce signal par une fentre
rectangulaire. La TFTD de cette fentre possde un lobe principal de largeur 1/N,
et lamplitude de ses lobes secondaires est peu prs 13 en dessous de celle de
son lobe principal. Ceci peut tre gnant lorsquil sagit de mesurer lamplitude
des raies dun signal priodique, si certaines raies sont largement plus de 13
dB sous la raie damplitude maximale.

Exemple 4.16

Soit un signal constitu de deux sinusodes 130 et 300 Hz, damplitudes 1 et 1/00,
chantillonnes 1000 Hz. On utilise une fentre rectangulaire de 64 points et le
calcul de la FFT se fait sur 512 points en frquence :
x=sin(2*pi*130*(0 :63)/1000)+ 0.01*sin(2*pi*300*(0 :63)/1000);
subplot(2,1,1); % affichage du signal
plot((0:63)/1000,x);
subplot(2,1,2); % affichage de la TFTD du signal fentr
plot((0:511)/512*1000,20*log10(abs(fft(x,512))));
32 TRANSFORMEE DE FOURIER DISCRETE

-1

-2
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07

40

20

-20
0 100 200 300 400 500 600 700 800 900 1000

Fig. 4.23 FFT sur 512 points de 64 chantillons dune somme de deux
sinus ( 130 et 300 Hz, chantillonnes 1000 Hz) damplitudes dans
un rapport 100

On constate que la raie de la sinusode 300 Hz est couverte par les lobes
secondaires de la TFTD de la fentre, place sur la raie 130 Hz.
On peut alors utiliser sciemment une fentre de pondration dont les
caractristiques frquentielles (demi-largeur du labo principal, amplitude des
lobes secondaires) sont diffrentes de celles de la fentre rectangulaire. Les
fentres utilises le plus couramment sont (Fig. 4.24) :
0.5 - 0.5cos(2 n / N ) si n 0...N -1
Hanning : w(n) (4.28)
0 sinon

0.54 - 0.46cos(2 n / N ) si n 0...N -1


Hamming : w(n) (4.29)
0 sinon
0.42 - 0.5cos(2 n / N ) 0.08cos(4 n / N ) si n 0...N -1
Blackman : w(n) (4.30)
0 sinon
TRANSFORMEE DE FOURIER DISCRETE 33

Fig. 4.24 Fentres de pondration usuelles et leur TFD

La demi-largeur du lobe principal et le niveau des lobes secondaires pour ces


diffrentes fentres est donn au Tableau 4.2. On constate que la diminution de
lamplitude des lobes secondaires se fait au prix dune augmentation de la
largeur du lobe principal.

Type Demi-largeur du lobe Niveau des lobes


principal (en F) secondaires

Rectangulaire 1/N -13 dB

Hanning 1.5/N -30dB

Hamming 2/N -40 dB

Blackman 2.75/N -60 dB

Tableau 4.2 Proprits des fentres de pondration usuelles

Exemple 4.17

Reprenons le signal de lexemple prcdent, et pondrons le avec la fentre de


Hamming.
x=sin(2*pi*130*(0 :63)/1000)+ 0.01*sin(2*pi*300*(0 :63)/1000);
x=x.*hamming(64);
subplot(2,1,1); % affichage du signal
plot((0:63)/1000,x);
subplot(2,1,2); % affichage de la TFTD du signal fentr
plot((0:511)/512*1000,20*log10(abs(fft(x,512))));
34 TRANSFORMEE DE FOURIER DISCRETE

0.5

-0.5

-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07

40

20

-20

-40

-60
0 100 200 300 400 500 600 700 800 900 1000

Fig. 4.25 FFT sur 512 points de 64 chantillons dune somme de deux
sinus ( 130 et 300 Hz, chantillonnes 1000 Hz) damplitudes dans
un rapport 100, pondrs par une fentre de Hamming

Mme chose avec une fentre de Blackman :


x=sin(2*pi*130*(0 :63)/1000)+ 0.01*sin(2*pi*300*(0 :63)/1000);
x=x.*blackman(64);
subplot(2,1,1); % affichage du signal
plot((0:63)/1000,x);
subplot(2,1,2); % affichage de la TFTD du signal fentr
plot((0:511)/512*1000,20*log10(abs(fft(x,512))));

0.5

-0.5

-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07

50

-50

-100
0 100 200 300 400 500 600 700 800 900 1000

Fig. 4.26 FFT sur 512 points de 64 chantillons dune somme de deux
sinus ( 130 et 300 Hz, chantillonnes 1000 Hz) damplitudes dans
un rapport 100, pondrs par une fentre de Blackman

Laugmentation de la largeur du lobe principal peut videmment poser problme,


par exemple dans le cas de sinusodes de frquences fort rapproches.
TRANSFORMEE DE FOURIER DISCRETE 35

Exemple 4.18

Soit un signal constitu de deux sinusodes 130 et 150 Hz, damplitudes identiques,
chantillonnes 1000 Hz. On utilise une fentre rectangulaire de 64 points et le
calcul de la FFT se fait sur 512 points en frquence. Montrons linfluence de la fentre
de pondration :
x=sin(2*pi*130*(0 :63)/1000)+ sin(2*pi*150*(0 :63)/1000);
subplot(3,1,1); plot((0:511)/512*1000,20*log10(abs(fft(x,512))));
subplot(3,1,2); plot((0:511)/512*1000,20*log10(abs(fft(x.*hamming(64),512))));
subplot(3,1,3); plot((0:511)/512*1000,20*log10(abs(fft(x.*blackman(64),512))));

50

-50
0 100 200 300 400 500 600 700 800 900 1000
50

-50

-100
0 100 200 300 400 500 600 700 800 900 1000
50

-50

-100
0 100 200 300 400 500 600 700 800 900 1000

Fig. 4.27 FFT sur 512 points de 64 chantillons dune somme de deux
sinus ( 130 et 300 Hz, chantillonnes 1000 Hz) damplitudes dans
un rapport 100

On constate que seule la fentre rectangulaire permet dans ce cas de distinguer les
deux raies.

4.3.5 Analyse court-terme


Comme lanalyse en frquence est une opration qui effectue une moyenne sur
tout laxe du temps, certains aspects temporels peuvent tre compltement
cachs. Il peut alors tre intressant de dcouper le signal en tranches, pour
faire apparatre lordonnancement de portions du signal. On parle alors de
transforme de Fourier court-terme (STFT : short term Fourier Transform).
On constate cependant toujours que le dcoupage en tranches plus petites
augmente la rsolution temporelle, mais diminue la rsolution frquentielle.

Exemple 4.19

Soit un signal constitu de deux sinusodes successives de frquences normalises


gales 0.1 et 0.2 et calculons-en une TFD sur 256 points :
T1=128; T2=64;
36 TRANSFORMEE DE FOURIER DISCRETE

x1=sin(2*pi*0.1*(0 :T1-1));
x2=sin(2*pi*0.2*(0 :T2-1));
x=[x1 x2];
subplot(2,1,1) ; plot(x);
subplot(2,1,2) ; plot((0:255)/256,abs(fft(x,256)));6

0.5

-0.5

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

60

40

20

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Fig. 4.28 FFT sur 256 points dune suite de deux sinusodes

On constate que la FFT fait bien apparatre les raies des deux sinusodes, mais ne
renseigne pas sur pas lordre dans lequel elles apparaissent. On peut dcouper le
signal en 3 tranches de 64 chantillons et en afficher les TFD successives, et rpter
lopration avec 6 tranches de 32 chantillons:
xt=[x(1:64);x(65:128);x(129:192)];
ft=abs(fft(xt,256));
mesh(1:3,(0:255)/256,ft);
xt=[x(1:32); x(33:64);x(65:96);x(97:128);x(129:160);x(161:192)];
ft=abs(fft(xt,256));
mesh(1:6,(0:255)/256,ft);

6 On notera au passage que la fonction fft effectue delle-mme la compltion par des 0 si
ncessaire.
TRANSFORMEE DE FOURIER DISCRETE 37

Fig. 4.29 FFT successives de tranches dune suite de deux sinusodes


(gauche : 3 tranches de 64 chantillons ; droite : 6 tranches de 32
chantillons).

4.4 Convolution linaire


Le calcul numrique de la convolution (linaire) est un des grands classiques du
traitement du signal. Lorsquon veut calculer la rponse, une entre x(t), dun
SLI analogique caractris par une rponse impulsionnelle h(t), il est souvent
plus facile dchantillonner lentre et de la convoluer numriquement avec une
version chantillonne de la rponse impulsionnelle, que de calculer lintgrale de
convolution analogique. Nous verrons au chapitre 5 que la convolution
numrique est galement utilise pour calculer la fonction dautocorrlatoin dun
signal alatoire.
Rappelons que le produit de convolution numrique (linaire) est donn par :

y(n) x(n)* h(n) x(i)h(n i)
i
(4.31)

Le nombre de valeurs non nulles retournes par la convolution de deux


squences finies de N et M valeurs est de N+M-1. Il est facile de montrer que le
nombre doprations ncessaire la convolution de ces squences est de lordre
de NM.
Il est possible de rduire considrablement cette charge de calcul en calculant la
TFD (par FFT) de chacune des squences convoluer, en multipliant ces TFDs, et
en prenant la TFD inverse du rsultat. Cette opration ncessite cependant
quelques prcautions.

x(n) Compltion
FFT
par des zros
y(n)
x IFFT

h(n) Compltion
par des zros FFT

Fig. 4.30 Calcul dun produit de convolution par FTT/IFFT

Nous avons vu en effet la section 4.1.5 que le produit de deux TFD est
quivalent la TFD de la convolution circulaire des squences de dpart :
N 1
yc (n) x(n) h(n) x(i)h((n i) mod N ) (4.32)
i 0

La convolution circulaire implique que les deux squence soient de mme


longueur (ou quon les complte par des zros pour quelles le soient), et la
squence rsultat est de mme longueur que les squences dentre.
38 TRANSFORMEE DE FOURIER DISCRETE

On comprend aisment que le rsultat du produit de convolution circulaire yc(n)


est identique celui du produit de convolution linaire si les deux squences sont
compltes par des zros de faon former des squences de N+M-1 valeurs.
En pratique, on ajoutera souvent plus de zros que ncessaire (jusqu atteindre
une puissance de 2), afin de profiter de la rapidit de la FFT.
Le gain en charge de calcul par rapport au calcul du produit de convolution par
(4.31) est videmment plus faible que celui de la FFT sur la TFD, puisquon utilise
ici 3 FFT (2 directes et une inverse). Il reste que, pour des valeurs leves de N
ou M, le calcul de convolution est incomparablement plus efficace par FFT.

Exemple 4.20

Soit a(n) et b(n) constitus respectivement de 200 et 180 chantillons unitaires. On


peut en calculer la convolution linaire partir de (4.31), puis comparer au calcul par
FFT sur 256 et 512 points :
a=ones(1,200) ; b=ones(1,180) ;
y1= conv(a,b);
y1(600)=0; % forcer le vecteur avoir 600 valeurs
subplot(3,1,1); plot(y1);
a(256)=0;b(256)=0; %completer par des zeros
y2=real(ifft(fft(a).*fft(b)));
y2(600)=0 ; % forcer le vecteur avoir 600 valeurs
subplot(3,1,2); plot(y2);
a(512)=0;b(512)=0; %completer par des zeros
y3=real(ifft(fft(a).*fft(b))); 7
y3(600)=0 ; % forcer le vecteur avoir 600 valeurs
subplot(3,1,3); plot(y3);

200

100

0
0 100 200 300 400 500 600
200

100

0
0 100 200 300 400 500 600
200

100

0
0 100 200 300 400 500 600

Fig. 4.31 Calcul dune convolution linaire (haut : force brute ; centre :
par FFT sur 256 points; bas : par FFT sur 512 points)

7 Lappel la fonction real est indispensable : vu les erreurs de calcul, lIFFT revoie un rsultat
trs lgrement complexe.
TRANSFORMEE DE FOURIER DISCRETE 39

On constate que le calcul par FFT sur 256 points ne conduit pas au bon rsultat :
256<200+180-1.

Exercices

Exercice 4.1

Soit le systme suivant :

Dans le cas o x(t) = 10 cos(30t), chantillonn Fe=120 Hz, on demande :


(a) De dterminer la frquence dchantillonnage minimale.
(b) Dtablir les relations entre f, F (frquence normalise) et k (indice de la
FFT).
(c) Desquisser la Transforme de Fourier X(F).
(d) Desquisser les FFT X1(k), X2(k) et X3(k), avec le plus de prcision possible.
(e) Desquisser ces mmes FFT si on utilise une fentre de Hamming.

Exercice 4.2

Soit le signal x(n)= 2 (n)+(n-1)+(n-3)


On demande :
(a) De calculer la Transforme de Fourier Discrte X(k) de la squence
numrique x(n) pour NTFD=4 par la formule consacre et par linterprtation
gomtrique.
(b) De calculer les chantillons des signaux yl(n)= x(n)*x(n) et yc(n)=
x(n)x(n), o indique la convolution circulaire sur NTFD points.
(c) Vrifier que, pour NTFD=8, yc(n) et yl(n) sont identiques.
(d) De calculer la Transforme de Fourier Discrte Yc(k) de la squence
numrique yc(n) avec NTFD=4, et de vrifier que Yc(k)=X(k)
40 TRANSFORMEE DE FOURIER DISCRETE

Solution
b) yl(n)={4,4,1,4,2,0,1,} yc(n)={6,4,2,4,6,4,2,}

Exercice 4.3

Soir le signal suivant, chantillonn 16 kHz (l'axe des abscisses est gradu en
chantillons). On demande :
(a) combien d'chantillons (NTFD,min) de ce signal il faut prendre au minimum pour
que leur TFD (avec fentre rectangulaire) permette de distinguer les
harmoniques entre elles (Justifier).
(b) Et si on utilise une fentre de Hamming, comment ce nombre minimum
volue-t-il?
(c) Si l'amplitude du fondamental et des harmoniques est donne par Ai=0.5/i
(i est l'indice de l'harmonique; i=1 pour le fondamental), esquisser la TFD
obtenue avec NTFD=10* NTFD,min (mentionner les amplitudes des raies qui seront
mesures).

Solution
a) 500 b) 1000

Exercice 4.4

Si la TFD de {x0, x1, , xN-2, xN-1} est donne par {X0, X1, X2, , XN-1}, que vaut
la TFD de {x0+x1, x1+x2, x2+x3, , xN-2+xN-1, xN-1+ x0 } ?

Solution
2
j k
X 'k X k (1 e N
)

Exercice 4.5
TRANSFORMEE DE FOURIER DISCRETE 41

Soit la TFD suivante (o l'axe des abscisses est donn pour une pulsation
normalise allant de 0 pi et o on suppose avoir utilis une fentre
rectangulaire):

On demande :
(a) la frquence du fondamental, si Fe=1000 Hz
(b) la priode du signal, en chantillons
(c) un ordre de grandeur du nombre d'chantillons du signal qui ont t utiliss
(NTFD)
(d) l'amplitude relle du fondamental

Solution
c) ~400 chantillons d) 5
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). 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, des signaux
biologiques (Fig. 5.1) comme l'lectro-cardiogramme ou de l'lectro-
encphalogramme, des signaux godsiques ou encore des signaux boursiers
tudis par les conomistes. On les qualifie alors dalatoires, par opposition aux
premiers que lon qualifie de dterministes1.

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

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

Fig. 5.1 Exemples de signaux bio-mdicaux.


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

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


quantification uniforme des signaux (5.1), nous examinerons les proprits
thoriques des signaux alatoires : densit de probabilit, moyenne, variance,
autocorrlation et densit spectrale de puissance (5.2). Nous verrons comment
ce que deviennent ces grandeurs lorsqu'on chantillonne un signal alatoire
(5.3). Nous poursuivrons en considrant le filtrage dun signal alatoire temps
discret et montreront comment les proprits de ces signaux sen trouvent
modifies (5.4). Nous tudierons pour terminer divers estimateurs de ces
grandeurs partir des signaux alatoires eux-mmes (5.5). 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.1 Variables alatoires


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

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


la fonction de densit de probabilit :
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 3

x
FX ( x) p

X ( )d (5.2)

FX(x)
PX(x)
1

x
x 0 x
mx

Fig. 5.2 Densit de probabilit et fonction de distribution d'une v.a.

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


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

mX E[ X ] xp

X ( x)dx (5.3)


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

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

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


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

y pY(y| x=1.6)

x pY(y| x=1)

Fig. 5.3 Densit de probabilit conjointe de deux v.a. (ici deux v.a. dpendantes)
4 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

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


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

pY ( y ) p

X1 ( x) p X 2 ( y x)dx
(5.10)
pY ( y ) p X1 ( x) * p X 2 ( x)

Exemple 5.1 - Variable alatoire distribution uniforme sur (-q/2, q/2)


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

pX(x)

1/q

x
-q/2 q/2

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

Sa moyenne est nulle. Sa variance est donne par :


TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 5

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

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


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

80

60

40

20

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

Fig. 5.5 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.6) :

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

PX(x)

x
m

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

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.
6 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

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

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


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

2000

1500

1000

500

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

Fig. 5.7 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.8).

U=FX(x)
1

tirage uniforme

0 x

Tirage suivant
pX(x)

Fig. 5.8 Tirage dune v.a. de densit de probabilit quelconque partir dune v.a.
uniforme

5.2 Signaux alatoires (rappel)

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 7

Au contraire dun signal dterministe, la valeur prise tout instant t par un signal
alatoire x(t) n'est pas connue de faon univoque, mais plutt de faon
probabiliste : elles sont considres comme le rsultat du tirage d'une v.a. X(t),
dont la densit de probabilit peut en toute gnralit dpendre de t (Fig. 5.15) :

pX (t ) ( x)

Fig. 5.9 Pour t fix, les valeurs x(t) sont des tirages dune variable alatoire X(t)

On associe ainsi chaque instant t une variable alatoire X(t) de fonction de


densit de probabilit pX (t ) ( x) , que lon peut estimer partir dun grand nombre
de tirages x(t) de ce signal au temps t. L'ensemble des fonctions pX (t ) ( x) pour
tous les instants t dfinit ce que lon appelle la statistique dordre 1 du signal
alatoire.
Bien que les variables alatoires X(t1) et X(t2) puissent tre totalement
indpendantes les unes des autres (voir plus loin : bruit blanc ), il existe le
plus souvent un lien statistique entre elles. Cette relation peut tre caractrise
par le densit de probabilit conjointe pX (t1 ) X (t2 ) ( x, y) des deux variables
alatoires. L'ensemble des fonctions pX (t1 ) X (t2 ) ( x, y) en fonction de (t1, t2) dfinit ce
que lon appelle la statistique dordre 2 du signal alatoire.
En pratique, on caractrise plus simplement (et plus approximativement) la
statistique dordre 1 par des moyennes et des carts-types (plutt que par les
fonctions de densit de probabilits compltes), et 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 (t1, t2 ) E[ X (t1 ) X (t2 )] xy
* *
p X (t1 ) X (t2 ) ( x, y )dxdy (5.13)

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


alatoires :

XY (t1, t2 ) E[ X (t1 )Y * (t2 )] (5.14)


8 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

Stationnarit au sens large et ergodicit


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 l'instant t o on la
mesure :

p X (t1 ) ( x) p X (t1 ) ( x) p X ( x)

mX (t1 ) mX (t2 ) mX (5.15)


et donc :
X (t ) X (t ) X
1 2

et que la statistique dordre 2 ne dpende que de lintervalle t2 t1 , et pas de la


valeur absolue de t1 ou t 2 :
p X (t1 ) X (t2 ) ( x, y ) p X (t1 ) X (t2 ) ( x, y)
(5.16)
et donc : XX (t1 , t2 ) XX (t2 t1 )
Lergodicit correspond quant elle au fait que lestimation des caractristiques
statistiques peut se faire sur la suite des valeurs x(t) dun seul tirage du signal
alatoire4 X(t).
Il sensuit que :
1 T /2
mX x(t ) lim x(t )dt
T T
T / 2
1 T /2

X 2 | x(t ) mX |2 lim
T T
T / 2

| x(t ) mX |2dt

(5.17)

1 T /2

XX ( ) x(t ) x* (t ) lim x(t ) x* (t )dt
T T
T / 2
On notera que l'quation la dfinition de la variance par (5.36) est analogue la
dfinition de la puissance d'un signal priodique par (2.6). En effet, tout comme
les signaux priodiques, les signaux alatoires sont de puissance finie mais
d'nergie infinie (puisqu'ils sont senss durer un temps infini). Dans la suite, on
utilisera indiffremment les mots puissance et variance pour un signal alatoire
stationnaire et ergodique.
Plus gnralement encore, on notera que la dfinition de la fonction
d'autocorrlation XX ( ) dans (5.36) correspond au produit scalaire (tel que dfini
au Chapitre 2) <x(t),x(t-)> entre le signal x(t) et une version dcale d'un
temps de ce mme signal. Comme les signaux alatoires sont des signaux de
puissance finie, l'expression de XX ( ) ci-dessus fait tout naturellement
intervenir, non pas simplement une intgrale comme dans (2.25), mais bien une
intgrale rapporte un temps.
Proprits

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

mdicaux), sur laquelle il faut mesurer des caractristiques.


TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 9

On voit que, par construction, la fonction dautocorrlation dun signal alatoire


stationnaire et ergodique possde la proprit de symtrie hermitienne :

XX ( ) XX * ( ) (5.18)

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


XX (0) E[ XX * ]
E[( X mX mX )( X mX mX )* ]
E[( X mX )( X mX )* ] E[mX mX ]
*
(5.19)
E[( X mX )mX ] E[mX ( X mX ) ]
* *

X | mX |2
2

Pour un signal de moyenne nulle, XX (0) est mme gale la variance.

5.2.2Densit spectrale de puissance


On appelle spectre ou densit spectrale de puissance (PSD: Power Spectral
Density) SXX(f) dun signal alatoire stationnaire, la transforme de Fourier de sa
fonction dautocorrlation :

S XX ( f )

XX (t )e jt dt avec 2 f (5.20)

Cette fonction est l'quivalent, pour les signaux de puissance finie, de ce qu'est
la densit spectrale d'nergie (2.26) pour les signaux d'nergie finie.
Comme la fonction dautocorrlation possde la symtrie hermitique, la densit
spectrale de puissance est purement relle. Si de plus la variable alatoire X(t)
est relle, alors la fonction dautocorrlation est relle paire, et la densit
spectrale de puissance lest aussi.
La transforme de Fourier inverse de la PSD est bien entendu la fonction
d'autocorrlation :

XX (t ) S

XX ( f )e jt df avec 2 f (5.21)

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


puissance) est donne par la surface sous-tendue par SXX(f) (Fig. 5.10) :

X 2 XX (0) S

XX ( f ) df (5.22)

Cette dernire quation justifie l'appellation de "densit spectrale de puissance"


pour SXX(f).
10 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

SXX(f)

XX(t)
x(t) X
X

X t t f
0

Fig. 5.10 Exemple de fonction dautocorrlation et de densit spectrale de


puissance dun signal alatoire valeurs relles et moyenne nulle

Exemple 5.3 Bruit blanc (thorique)


Un bruit blanc (thorique) est un signal alatoire dont la densit spectrale de puissance est
constante, quelle que soit la bande de frquences o on l'examine (tout comme une lumire
blanche est compose dondes lumineuse dans tout le spectre visible) :

S XX ( f ) X (5.23)
2

En consquence, sa fonction dautocorrlation est une impulsion de Dirac en t=0 (Fig. 5.11) :

XX (t ) X 2 (t ) (5.24)
Les v.a. X(t1) et X(t2) d'un tel signal en deux instants diffrents sont non corrles et de
moyennes nulles.

x(t) XX(t) SXX(f)


X
X
3X
t t f
0
0

Fig. 5.11 Fonction dautocorrlation et densit spectrale de puissance dun bruit


blanc thorique (ici, un bruit blanc Gaussien)

Les bruits blancs diffrent entre eux par leur statistique du 1 er ordre (la densit de
probabilit de la v.a. sous-jacente) : bruit blanc uniforme, gaussien, etc. 5

Exemple 5.4 Bruit blanc (rel)


En pratique, un bruit blanc rel ne peut avoir qu'un largeur de bande finie B (Fig. 5.13). Sa
fonction d'autocorrlation a donc la forme d'un sinus cardinal.

5 Contrairement ce qu'on pense parfois, le fait qu'un bruit soit Gaussien n'implique pas qu'il soit

blanc, et rciproquement.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 11

x(t) XX(t) SXX(f)


X/B X
X
3X
t t f
- B/2 0 B/2
0

Fig. 5.12 Fonction dautocorrlation et densit spectrale de puissance dun bruit


blanc rel

Exemple 5.5 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 x(t ) Ae j (0t ) . Sa fonction dautocorrlation est donne par :
T /2
1
XX (t ) lim Ae j (0 ) Ae j (0 ( t ) ) d
T T
T / 2

(5.25)
T0 / 2
A2

T0
T0 / 2
e j0 e j0 ( t ) d

2 j0t
Ae
Sa densit spectrale de puissance est donc une impulsion de Dirac :

S XX ( f ) A2 ( f f0 ) avec f 0 0 / 2 (5.26)
Comme un signal priodique est une somme d'exponentielles de frquences harmoniques :
p
x(t ) Ae
i
j ( i0t i )
(5.27)
i 0

et comme ces exponentielles sont orthogonales entre elles, lautocorrlation et la densit


spectrale de puissance dune fonction priodique x(t) sont donnes par :
p p
XX (t ) Ai 2e ji t 0
S XX ( f ) Ai ( f if 0 )
2
(5.28)
i 0 i 0

En particulier, la fonction dautocorrlation associe une fonction cisodale


x(t ) A cos(0t ) est donne par :

A2 A2 A2
XX (t ) cos(0t ) S XX ( f ) ( f if 0 ) ( f if 0 ) (5.29)
2 4 4
12 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

x(t) X(f)
A A/2
t f
0 T0 - f0 0 f0

XX(t) SXX(f)
A/2
A/4

t f
0 T0 - f0 0 f0

Fig. 5.13 Fonction dautocorrlation et densit spectrale de puissance de


x(t ) A cos(0t ) et comparaison avec la transforme de Fourier du signal

Exemple 5.6 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 mX ) ( ) E[( X (t ) mX )( X (t ) mX )* ]
(5.30)
X

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

S( X mX )( X mX ) ( f ) S XX ( f ) | mX |2 ( f ) (5.31)
Appliques au signal correspondant la Fig. 5.10, ces conclusions conduisent la Fig. 5.14.

SXX(f)
XX(t)
mX+X
x(t) mX X

mX+X mX
mX t t f
0

Fig. 5.14 Exemple de fonction dautocorrlation et de densit spectrale de


puissance dun signal alatoire valeurs relles et moyenne non-nulle

Exemple 5.7 Somme de deux signaux alatoires non-corrls


La fonction dautocorrlation dune somme de deux signaux alatoires X(t) et Y(t) est donne
par :
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 13

( X Y )( X Y ) ( ) E[( X (t ) Y (t ))( X (t ) Y (n ))* ]


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

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

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

5.3 Signaux alatoires temps discret


L'chantillonnage d'un signal alatoire ne pose pas de problme thorique
particulier conduit crer un signal alatoire temps discret, qui peut tre
formalis mathmatiquement comme une squence temporelle discrte de
variables alatoires (Fig. 5.15) :

X (n) ..., X ( n),..., X (1), X (0), X (1),..., X (n),... (5.35)

p X ( k ) ( x)

Fig. 5.15 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 pX ( k ) ( x) . La squence des fonctions pX ( k ) ( x) en fonction de
k dfinit la statistique dordre 1 du signal alatoire et la squence des fonctions
pX ( j ) X ( j ) ( x, y) en fonction de (i,j) dfinit sa statistique dordre 2.
On supposera le plus souvent que les signaux alatoires discrets sont
stationnaires et ergodiques, et on caractrisera plus simplement un signal
alatoire par sa moyenne, sa variance, sa fonction dautocorrlation, et sa
densit spectrale de puissance temps discret.

1 N

mX x(n) lim
N 2 N 1


i N
x ( n)

(5.36)
1 N

X 2 | x(n) mX |2 lim
N
| x ( n) m X
2 N 1 i N
|2

14 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

1 N

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


n N
x ( n) x * ( n k )

Il est clair que la moyenne et la variance du signal discret sont indentiques
celles du signal continu. De mme, les valeurs de la fonction d'autocorrlation
estimes par (5.36) ne sont rien d'autre que des chantillons de la fonction
d'autocorrlation du signal continu sous-jacent (Fig. 5.16).

SXX(f)
A
XX(t)
x(t) X

X t t f
- Fe /2 0 Fe/2

SXX+(f)

XX+(t)
x+(t) A/Te
X X/Te

X t t f
Te Te - Fe/2 0 Fe/2

SXX(F)

XX(n)
x(n) A/Te
X X

X n n F
-1/2 0 1/2

Fig. 5.16 Exemple de fonction dautocorrlation et de densit spectrale de


puissance temps discret dun signal alatoire temps discret valeurs relles
et moyenne nulle, compares celles du signal alatoire continu sous-jacent

Dans le cas dun signal temps discret, la fonction dautocorrlation est elle
aussi temps discret, et la PSD temps discret se rduit une TFTD :

S XX ( F )
n
XX (n)e jn avec =2F (5.37) 6

Il est clair de la condition de non-recouvrement d'applique ici galement : la


frquence d'chantillonnage Fe doit tre choisie suprieure deux fois la
frquence maximale de la PSD S XX ( f ) du signal continu (cette condition n'est

6 On se souviendra que la notation


S XX ( F ) est en ralit une notation simplifie pour S XX ( f )
avec f=FFe. Il ne faut en effet pas confondre la PSD du signal temps continu, S XX ( f ) , et celle du

signal temps discret, S XX ( f ) .
De mme, on parlera parfois, par abus de langage, de "PSD" pour dsigner la "PSD temps
discret" S XX ( F ) .
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 15

pas respecte dans l'exemple de la Fig. 5.16) pour que S XX ( F ) donne une image
correcte de S XX ( f ) dans [-Fe /2,Fe/2].
On constate galement sur la Fig. 5.16 que l'amplitude de la PSD temps discret

S XX ( f ) n'est pas gale celle de la PSD du signal continu. Un facteur 1/Te est
apparu, comme toujours lorsqu'on chantillonne un signal continu.
La TFTD inverse de la densit spectrale de puissance est bien entendu :
1/ 2
XX (n)
1/ 2
S XX ( F ) e jn dF (5.38)

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


puissance) est donne par la surface sous-tendue par SXX(F) dans la bande de
frquences utile [-1/2,1/2] (Fig. 5.16) :
1/ 2
X XX (0)
2
S XX ( F ) dF (5.39)
1/ 2

Exemple 5.8 Bruit blanc temps discret


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



2
pour k 0
XX (k ) X (5.40)

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

S XX ( F ) X (5.41)
2

XX(n) SXX(F)
1 X X
X

n n F
-1/2 0 1/2

-1

Fig. 5.17 Fonction dautocorrlation et densit spectrale de puissance ( temps


discret) dun bruit blanc temps discret (ici un bruit blanc binaire)

Les fonctions Matlab dj mentionnes pour le 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));
16 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

bruit blanc uniforme (0,1)


1

0.8

0.6

0.4

0.2

0
0 50 100 150 200 250 300

bruit blanc gaussien (0,1)


4

-2

-4
0 50 100 150 200 250 300

Fig. 5.18 Tirage de bruits blancs

Exemple 5.9 Signal priodique temps discret


Les conclusions de l'exemple 5.5 sont directement transposables aux signaux priodiques
temps discret. La fonction dautocorrlation du signal numrique correspond
lchantillonnage de la fonction dautocorrlation du signal continu. La densit spectrale de
puissance temps discret est un spectre de raies priodique de priode Fe. L'amplitude des
raies dpend de la variable choisie comme abscisse. En particulier, les raies apparaissent sur
Sxx(F) avec la mme amplitude que sur Sxx(f) (Fig. 5.19).

XX(t) SXX(f)
x(t) A/2
A/4
A
t t f
0 T0 0 T0 - f0 0 f0

XX+(t)
+
x (t) SXX+(f)
A/2
A/4Te

t t f
Te Te - Fe/2 0 Fe/2

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

n n F
-1/2 0 1/2

Fig. 5.19 Exemple de fonction dautocorrlation et de densit spectrale de


puissance temps discret dun signal priodique, compares celles du signal
continu sous-jacent
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 17

En particulier, pour un signal cisodal :

A2
XX (k ) cos(n0 ) (0 0 / f e )
2
(5.42)
A2 A2
S XX ( F ) ( F iF0 ) ( F iF0 ) ( pour 0 F ( f / f )e 1)
4 4

On retiendra donc que, que ce soit pour un signal priodique ou alatoire, (5.39)
est toujours valable.

5.3.1 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 (Fig. 5.20).

x(t) x(n) xq(n)

fe

Fig. 5.20 Numrisation d'un signal analogique

Lopration de quantification uniforme sur N bits consiste diviser un intervalle


[-A,+A] en 2N intervalles de mme longueur q=2A/2N appele pas de
quantification. On associe alors (non-linairement) chaque chantillon x(n) une
valeur xq(n) reprsente par un nombre binaire sur N bits. Cette opration
revient remplacer toutes les valeurs de x(n) dans un intervalle donn (kq-
q/2,kq+q/2) par une valeur unique xq(n), typiquement la valeur centrale de
lintervalle : kq.
Lerreur commise, appele erreur de quantification, est donc donne par (Fig.
5.21):

e(n) xq (n) x(n) q / 2 e(n) q / 2 (5.43)

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.24).
18 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

xq(x)
pX(x)

q
x
q=2A/2N
-A q A

e(x)=xq(x)-x
q/2 x

-q/2

Fig. 5.21 Quantification uniforme dune v.a. x

e(n)

x(n) xq(n)

Quantificateur

Fig. 5.22 La quantification vue comme un bruit additif

Il est intressant de chercher quantifier l'importance de ce bruit. 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.23).
La probabilit que lamplitude du signal dpasse A (dite probabilit de
dpassement) soit ngligeable.
Dans ces conditions, il est clair que le signal d'erreur peut tre assimil un bruit
blanc uniforme entre q/2 et +q/2. Sa moyenne est donc nulle, et sa variance
est donne par :

q2 A2
2N
2
e (5.44)
12 3 2
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 19

e

t

Fig. 5.23 Quantification dun signal dont lcart-type vaut plusieurs fois le pas de
quantification (not ici )

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

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

x
on obtient :

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

Cette expression est illustre la Fig. 5.24 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 (comme pour le CD audio). Elle permet dobtenir des RSB allant
jusqu 90 dB. On remarque galement sur le graphique une chute brutale du
RSB lorsque diminue (c.--d. lorsque -20 log augmente) : lhypothse de non
dpassement nest alors plus vrifie, et la variance du bruit augmente de faon
trs 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.
20 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 42
12 40
10
30
8
20
10
10 log (x2 / s2) = - 20 log

-100 -50 0 10 20 (dB)

Fig. 5.24 RSB pour la quantification uniforme d'un signal avec un pas de
quantification petit par rapport son cart-type (hypothse de non-dpassement)

5.4 Filtrage dun signal alatoire SSL


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

y ( n) h(i) x(n i)
i
(5.47)

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 stationnaire. Sa moyenne et sa fonction
dautocorrlation sont donnes par :

mY E[Y (n)] h(i)E[ X (n i)] mX
i
h(i)
i
(5.48)
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 21


YY (k ) E[Y (n)Y * (n k )] E[ h(i ) X (n i ) h( j ) X * (n k j )]
i j

h(i) h( j ) E[ X (n i) X
i j
*
(n k j )]


h(i) h( j ) XX (k j i)
i j

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



YY (k ) h(i) h(i l )
i l
XX (l k ) avec l i j

XX (l k ) h(i)h(i l )
l i

(5.49)

k
XX (l k ) HH (l )


k
XX (k l ) HH (l )

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


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

HH (k ) h(i)h(i k ) {h(k )}*{h(k )}
i
(5.50)

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 :

SHH ( F ) H (F )H * (F ) H (F )
2
(5.51)

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


5.25) :

SYY ( F ) H ( F ) S XX ( F )
2
(5.52)

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


H(F) SXX(F) |H(F)| SYY(F)

Fig. 5.25 Filtrage dun signal alatoire

L'exemple qui suit montre 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.10 Filtrage dun bruit blanc par un passe-bande idal
Dans le cas particulier o le signal x(n) est un bruit blanc de variance X2 et de moyenne
nulle, il vient :
22 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

SYY ( F ) X2 H ( F )
2

1/ 2 (5.53)
Y2 YY (0) X2
2
H ( F ) dF
1/ 2

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

Y2 2 X2 B (5.54)
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.

SXX(F)
X
X

F
-1/2 0 1/2

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

SYY(F) Y
X

F
-1/2 0 1/2

Fig. 5.26 Densit spectrale de puissance


avant et aprs filtrage

Exemple 5.11 Filtrage du bruit de quantification Augmentation du SNR


Lorsqu'on passe un signal numrique (et quantifi) travers un filtre, un modifie en gnral
le rapport signal sur bruit, puisque la puissance du signal et celle du bruit sont en gnral
modifies de faon diffrentes.

Ainsi par exemple, considrons une sinusode chantillonne sur N bits avec un facteur de
charge unitaire (c'est--dire que la valeur maximale en sortie du quantificateur est choisi
gale l'amplitude de la sinusode). Le RSB correspondant est de :

A / 2
RSBin 10 log( ) (5.55)
q /12
o q est la valeur du pas de quantification (q=2A/2N).
Si on passe cette sinusode travers le filtre prcdent, et qu'on suppose que la frquence
de la sinusode est dans la bande passante du filtre, le RSB la sortie du filtre est de :
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 23

1 A / 2
RSBin 10 log( )
2 B q /12 (5.56)
RSBin 10 log(2 B)
et comme B est infrieur 1, la RSB a augment.

5.5 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.5.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.12 Estimation de la moyenne dun bruit blanc de moyenne non-nulle
Considrons un exemple simple : l'estimation de la moyenne d'un signal alatoire gaussien
stationnaire dont la densit spectrale de puissance est suppose constante (bruit blanc)
except la prsence d'une raie en F 0 due prcisment la composante moyenne :

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

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

1 N 1 1 N 1
E X E x(n) E x(n) X (5.59)
N n 0 N n 0
Quant la variance de lestimateur, elle est donne par :

VAR x E ( x E x )2 E ( x x )2 (5.60)
24 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

1 N 1
2

VAR x E . x(n) x
N n 0

1 N 1
2

2 E x ( n ) N x (5.61)
N n 0

1 N 1
2

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

1 N 1 2
VAR x 2
E x ( n) x
N n 0 (5.62)
1 1
2 N x2 x2
N N
On observe qu'en l'occurrence, la variance de l'estimateur tend vers zro lorsque le nombre
d'chantillons tend vers l'infini: cet estimateur est consistant.

Sous Matlab (en prenant ici un bruit blanc Gaussien, par exemple):

x= randn(100,100)+1 ; % 100 chantillons de 100 bruits blancs gaussiens (1,1)


for N=2:100
mux= sum(x(1:N ,:))/N ; % somme de N bruits blancs
meanmux(N)=mean(mux);
varmux(N)=std(mux)*std(mux);
end
subplot(2,1,1) ; plot(meanmux); title(moyenne(mux));
subplot(2,1,2) ; plot(varmux); title(variance(mux));

moyenne(mux)
1.5

0.5

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

variance(mux)
0.8

0.6

0.4

0.2

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

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


de lestimateur x , en fonction de N.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 25

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

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

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

x x
est une v.a. gaussienne N 0,1 1.645 (5.64)
x / N

5.5.2 Estimation de la fonction d'autocorrlation


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

On peut vrifier7 que E XX XX : cet estimateur n'est donc pas biais. Pour
k<<N, on montre que sa variance vaut :
N
VAR XX . XX
2
(l ) XX (l k )XX (l k ) (5.66)
( N k )2 l
et comme elle varie comme 1/N, l'estimateur est consistant. Par contre, la
variance dpend de k : si k est proche de N, le nombre de points sur lequel est
estime la fonction d'autocorrlation est trs petit, et la variance de l'estimateur
est donc tout naturellement grande.
Estimateur biais
On peut dfinir un autre estimateur :
N k 1
1
XX (k )
N
.
n 0
x ( n) x* ( n k ) (5.67)

qui est li au prcdent par :


Nk
XX (k ) XX (k ) (5.68)
N
et pour lequel on a donc:
Nk
E XX (k ) XX (k ) (5.69)
N
D'autre part, on montre que la variance est donne par :

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.
26 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

1
VAR XX (k ) . XX
2
(l ) XX (l k ) XX (l k ) (5.70)
N l
Ce nouvel estimateur est donc biais (surtout pour les grandes valeurs de k),
mais reste consistant.
Exemple 5.13 Estimation de la fonction dautocorrlation dune cisode
OIN a vu que la fonction dautocorrlation dune cisode damplitude A est un cosinus de
mme frquence et damplitude A/2. Il est facile de le retrouver numriquement, en
utilisant l'estimateur non-biais. L'estimateur biais, quant lui, fait clairement apparatre la
pondration de l'estimateur biais par la fentre triangulaire (5.68).

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, 'unbiased'));
title('autocorrlation sur 100 points, estimateur non-biais');
subplot(2,1,2) ; plot(xcorr(x, 'biased'));
title('autocorrlation sur 100 points, estimateur biais');

Fig. 5.28 Calcul de XX (k ) (estimateur biais) et XX ( k ) (non-biais) sur 100


points dun cisode.

Exemple 5.14 Estimation de la fonction dautocorrlation dun bruit blanc Gaussien


Considrons lexemple dun bruit blanc Gaussien stationnaire de moyenne nulle et de
variance gale 4 :

S XX ( F ) 4
(5.71)
XX (k ) 4 (k )
Sous Matlab, les deux estimateurs de la fonction dautocorrlation sont appels par
xcorr(x,unbiased) et xcorr(x,biased) :

x= 2*randn(1,100) ; % 100 chantillons dun bruit blanc gaussien (0,2)


TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 27

subplot(2,1,1) ; plot(xcorr(x, 'unbiased'));


title('autocorrlation sur 100 points, estimateur non-biais');
subplot(2,1,2) ; plot(xcorr(x, 'biased'));
title('autocorrlation sur 100 points, estimateur biais');

Fig. 5.29 Calcul de XX ( k ) (non-biais) et XX (k ) (estimateur biais) sur 100


points dun bruit blanc.

On observe 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.
Une deuxime raison est quil est possible de calculer (5.67) par FFT. Il apparat
en effet que :
1
XX (k ) {xN (n)}*{xN (n)}
*
(5.72)
N
o {xN (n)} {x(0), x(1),...x( N 1),0,0,...} . On peut donc calculer lautocorrlation
comme une convolution numrique linaire. On a vu au chapitre 3 quil est
possible de le faire de faon efficiente en simulant une convolution circulaire par
FFT/IFFT.
Enfin, comme nous allons le voir au point suivant, l'estimateur biais permet un
calcul trs rapide de la densit spectrale de puissance, par le biais d'une FFT.

5.5.3Estimation 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 ) :
28 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

N 1
S XX ( F )
k ( N 1)
XX (k )e jk avec 2 F (5.73)

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


immdiatement:
1
S XX ( F )
2
X N (F ) (5.74)
N
o X N ( F ) est la TFTD de la suite x(n) :
N 1
X N ( F ) x(n)e jn avec 2 F (5.75)
n 0

Par consquent, pour k / N (k=0,1,N-1), la densit spectrale peut donc tre


calcule par un algorithme de FFT qui fournit X N ( F ) en N points uniformment
rpartis entre F = 0 et 1.
Toutefois, le priodogramme est un estimateur biais, puisquil est lui-mme
bas sur un estimateur biais :
N 1 N 1
Nk
E S XX ( F )
k ( N 1)
E XX (k ) e jk
k ( N 1) N
XX (k )e jk (5.76)

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 cette
fentre triangulaire.
D'autre part, on montre que, dans le cas particulier dun bruit blanc Gaussien de
variance x2 , on trouve :

VAR S XX ( F ) S XX
2
(F ) (5.77)

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 utilis que lorsque le nombre d'chantillons dont on
dispose pour l'estimation est faible. Dans le c as contraire, on lui prfre le
priodogramme moyenn (voir pus bas).
Notons que, tout comme dans le cas du calcul de la TFTD dun signal
dterministe, il est possible de pondrer les chantillons par une fonction fentre
w(n) sur N points avant la TFTD. L'estimateur spectral doit alors tre calcul
comme :
N 1 2
1
S XX ( F )
NP
x(n)w(n)e
n 0
jn
avec 2 F (5.78)

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


fentre) dfini par:
N 1
1
P
N
w( n )
n0
2
(5.79)

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


applique sur les chantillons avant calcul de la FFT est simplement
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 29

rectangulaire). Le choix de la fentre est cependant 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 Estimateur de Welsh


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 simple (avec ou sans
fentre de pondration). On calcule alors la moyenne des estimations pour
chaque frquence F k / M . Les diffrentes tranches considres peuvent se
recouvrir ou non. On a donc :
1 L
S XX ( F ) . S XX ,i ( F ) (5.80)
L i 1
avec
M 1 2
1
S x ,i ( F )
MP
x (n)w(n)e
n 0
i
jn
i 1, 2,..., L (5.81)

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 par contre que sa variance est donne par:
1 2
VAR S XX ( F ) S XX ( F ) (5.82)
L
si l'on peut considrer les L sections comme indpendantes. En consquence, cet
estimateur est consistant.
Pour N fix, il y a malgr tout conflit entre une grande valeur de L qui diminue la
variance mais conduit une pauvre rsolution frquentielle car M diminue.
Exemple 5.15 Bruit blanc
Sous Matlab, on peut calculer un priodogramme simple trs facilement. Considrons le cas
du bruit blanc Gaussien N(0,2) de lexemple prcdent (Fig. 5.31).

x= 2*randn(1,512) ; % 512 chantillons dun bruit blanc gaussien (0,2)


plot(10*log10( abs(fft(x,512)).^2 /512 )); % priodogramme simple
30 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

Fig. 5.30 Priodogramme simple dun bruit blanc de variance 4, calcul sur
NFFT=512 points dans l'intervalle F=[0,1].

Il est cependant plus pratique, pour le priodogramme moyenn (et mme pour le
priodogramme simple) d'utiliser par la fonction pwelch(x,window,NOVERLAP,NFFT,Fe), qui
dcoupe le signal x en tranches de NFFT chantillons, avec un recouvrement de NOVERLAP
chantillons entre tranches, et une pondration par le fentre window. , et affiche la
moyenne de leur FFT selon (5.80). Comme pour freqz, un appel pwelch sans variable de
sortie provoque laffichage de la densit spectrale de puissance, en dB (=10 log10 (Sxx) !)

Le rsultat est cependant multipli par un facteur correctif gal 2*Te. Dans ce facteur, le
rle de Te est de renvoyer une estimation de la PSD du signal analogique sous-jacent (on a
vu en effet la Fig. 5.16 que le passage en numrique divise la PSD par Te). Ce facteur
correctif permet donc la fonction pwelch de calculer, non pas la PSD S XX ( F ) du signal
chantillonn, mais bien la PSD S XX ( f ) du signal analogique de dpart. Le facteur 2 est
utilis par MATLAB pour ne renvoyer que la PSD S XX ( f ) sur [0,Fe/2] tout en faisant en
sorte que son intgrale sur [0,Fe/2] soit gale X . On retiendra que, pour calculer
2

(5.80) par pwelch, il suffit de compenser ce facteur en imposant artificiellement


Te=1/2 (c.--d. Fe=2).

Appliquons cette fonction au signal x (Fig. 5.31). Pour le 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
avec pondration par une fentre lisse un peu la variation du spectre mais ne rduit pas son
amplitude. Lorsque le mme bruit blanc est estim au moyen du priodogramme moyenn
(ici avec une fentre rectangulaire), on observe une nette diminution de l'amplitude des
variations de l'estimation.

subplot(2,2,1) ; pwelch(x(1:128),boxcar(128),0,128,2); % priodogramme simple8


subplot(2,2,2) ; pwelch(x(1:512),boxcar(512),0,512,2); % priodogramme simple
subplot(2,2,3) ; pwelch(x(1:128),hamming(128),0,128,2); % priodogramme avec fentre
subplot(2,2,4) ; pwelch(x,hamming(128),0,128,2); % priodogramme moyenn avec fentre

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

8 On spcifie ici, comme expliqu plus haut, Fe=2. Il faudra donc interprter l'axe des frquences

affich f=[0,1] comme correspondant une frquence normalise F=[0,1/2].


TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 31

Fig. 5.31 Priodogrammes dun bruit blanc. En haut gauche : simple (N=128) ;
en haut droite : simple (N=512) ; en bas gauche : simple avec pondration
par une fentre de Hamming (N=128) ; en bas droite : moyenn : N=128 et
L=4. 9

Notons que, par dfaut, pwlech divise le vecteur d'chantillons x en 8 tranches avec un
recouvrement de 50%, une fentre de Hamming, et un choix de NFFT fonction de la largeur
des tranches. On peut donc le plus souvent laisser faire la fonction, en lui
spcifiant simplement (o "[]" signifie que MATLAB utilisera ses valeurs par dfaut):

pwelch(x,[],[],[],2)

9 Dans toutes les figures qui suivent, il faut interprter l'axe des frquences affich f=[0,1] comme

correspondant une frquence normalise F=[0,1/2].


32 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

Fig. 5.32 Priodogramme moyenn dun bruit blanc (utilisation de pwelch avec
valeurs par dfaut).

Il est clair que lestimation de la variance du bruit peut tre faite par intgration de la densit
spectrale de puissance estime, selon (5.39). Il faut alors simplement se souvenir, comme
montr la Fig. 5.36, que la FFT utilise pour calculer la PSD dans pwelch ne renvoie que
NFFT/2 chantillons de cette PSD estime pour F=[0,1/2] (la PSD tant symtrique, ses
valeurs pour les frquences ngatives ne sont pas renvoyes). Le calcul de l'intgrale
ncessite donc de multiplier chaque valeur de la PSD renvoye par le pas en frquence
1/NFFT et de le multiplier nouveau par 2, pour tenir compte de la PSD pour les frquences
ngatives :

variance= sum(x.*x)/length(x)
variance = 4.0372
variance=sum(pwelch(x,[],[],128,2))/128*2
variance = 3.9154

On note que dans l'estimation prcdente on a d imposer NFFT, pour pouvoir corriger son
effet.

SXX(F)
XX(n)
x(n)
X X

X n n F
-1/2 0 1/2

^
SXX(k)

k
0 ... NFFT/2

Fig. 5.33 Valeurs du priodogramme S XX ( F ) d'un signal alatoire, telles que


renvoyes par pwelch pour F=k/NFFT (k=0,1,,NFFT/2)
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 33

Exemple 5.16 Bruit color


On construit un bruit color par filtrage du bruit blanc de lexercice prcdent. La PSD de ce
bruit est estime par diffrentes mthodes (Fig. 5.34) qui montrent l'influence du nombre de
points et du nombre de tranches dans le cas du priodogramme moyenn.

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-bas10
freqz(B,A) % vrifier la rponse en frquence du filtre
xf=filter(B,A,x) ; % filtrage

subplot(2,2,1) ; pwelch(xf(1:128),boxcar(128),0,128,2); % priodogramme simple


subplot(2,2,2) ; pwelch(xf(1:512),boxcar(512),0,512,2); % priodogramme simple
subplot(2,2,3) ; pwelch(xf(1:128),hamming(128),0,128,2); % priodogramme avec fentre
subplot(2,2,4) ; pwelch(xf,hamming(128),0,128,2); % priodogramme moyenn avec fentre

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


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

-20
Magnitude (dB)

-40

-60

-80

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

-100
Phase (degrees)

-200

-300

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

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


34 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

Fig. 5.34 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 simple avec pondration par
fentre de Hamming (N=128); (bas droite) priodogramme moyenn
(N=512;L=4)

On constate que l'utilisation d'une fentre de Hamming permet, grce ses lobes
secondaires bas, de bien voir la bande attnue -40dB, au contraire d'une fentre
rectangulaire. On constate galement que le priodogramme moyenn est plus prcis en
amplitude (car sa variance est plus faible) mais moins en frquence (car il est calcul sur
moins de points en frquence).

De mme, la variance (ici peu prs 2) peut tre calcule sur la PSD estime :

variance= sum(xf.*xf)/length(xf)
variance = 2.0736
variance=sum(pwelch(xf,[],[],128,2))/128*2
variance = 1.9973

Exemple 5.17 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 et le priodogramme moyenn calculent la densit spectrale de


puissance comme le carr dune TFD divis par N (voir par exemple (5.74)), ils sont soumis
aux mmes artifices que pour le calcul de la TFD dune cisode : en lieu et place des
impulsions de Dirac en A/4, ils font apparatre le carr des TFTD des fonctions fentres,
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 35

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 (Fig. 5.35). 11

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

n n F
-1/2 0 1/2

^
SXX(k)
N.A/4

k
0 NFFT/2

Fig. 5.35 Valeurs du priodogramme S XX ( F ) d'un signal cisodal, telles que


renvoyes par pwelch pour F=k/NFFT (k=0,1,,NFFT/2), et pour une fentre
rectangulaire.

D'une manire gnrale, si on pondre par une fentre, le coefficient multiplicatif vaut :
2
N 1
1 N 1

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

n 0
ce qui donne bien N dans le cas particulier d'une fentre rectangulaire.

Pour le priodogramme moyenn, le coefficient multiplicatif prend la mme expression que


(5.83) o lon remplace N par M, le nombre de points dans chaque tranche.
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) ; pwelch(x(1:128),boxcar(128),0,128,2); % priodogramme simple


subplot(2,2,2) ; pwelch(x(1:512),boxcar(512),0,512,2); % priodogramme simple
subplot(2,2,3) ; pwelch(x(1:128),hamming(128),0,128,2); % priodogramme avec fentre
subplot(2,2,4) ; pwelch(x,hamming(128),0,128,2); % priodogramme moyenn avec fentre

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

11 Il est noter que le N mentionn ici, et apparaissant la Fig. 5.35, fait rfrence au nombre de

points effectivement utiliss pour calculer le priodogramme. Dans le cas d'un priodogramme
moyenn, il faut donc remplacer N par Mle nombre de points dans chacune des L tranches du
signal (avec M=N/L).
36 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

Fig. 5.36 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 simple avec
fentre de Hamming (N=128); (bas droite) priodogramme moyenn (N=512 ;
L=4 ; fen. de Hamming).

On retrouve bien les valeurs maximales attendues :


Priodogramme simple (128) : 10log10(NA/4)=10log10(25*128)=35 dB

Priodogramme simple (512) : 10log10(25*512)=41 dB


Priodogramme moyenn (128 ; hamming) :
2
N 1 N 1 2
10log10(A/4* w(n) w(n) )=10*log10(25*93.4)=33.6 dB
n 0 n 0
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(x.*x)/length(x)
variance = 50.0584
variance=sum(pwelch(x,[],[],128,2))/128*2
variance = 49.9994

Exemple 5.18 Cisodes dans du bruit blanc


Voyons enfin le cas dune cisode d'amplitude 10 (s=A/2=50) contamine par un bruit
blanc de moyenne nulle et d'cart-type gal 10 (b=100). Les deux signaux tant non
corrls, leurs densits spectrales de puissance sadditionnent. La Fig. 5.37 montre
nouveau bien l'influence du choix de lestimateur et de ses paramtres.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 37

x=10*randn(1,512)+10*cos(2*pi*1/10*(0 :511));
% 512 chantillons dun bruit blanc gaussien (0,10) + cisoide

pwelch(x,hamming(128),0,128,2); % priodogramme moyenn avec fentre

Fig. 5.37 Estimation de la densit spectrale de puissance dun bruit blanc de


variance 100 (c.--d. 20 dB) superpos une cisode damplitude 10, par un
priodogramme moyenn (N=512, L=4).

On peut lire sur le priodogramme moyenn de la Fig. 5.37 la valeur de b (20 dB, ce qui
correspond b=100) et on peut obtenir s=A/2 en lisant sur la PSD la valeur du
maximum du lobe principal correspondant la sinusode (ici : 33.6 dB= MA/4 12, ce qui
donne A~10, et donc s~50). Le RSB mesur correspond donc au RSB rel, soit
10*log10(1/2)=-3 dB.

Exercices
Exercice 5.1
Un bruit blanc N(n) de moyenne nulle et de puissance 2=2 est filtr par un
filtre moyenne mobile y(n) = x(n) 2 x(n-1) + x(n-2).
a. Exprimez analytiquement YY(k) et dterminez ses valeurs pour k = -3, -2,
, 2, 3.
b. Idem mais pour HH(k).
c. Exprimez analytiquement la densit spectrale de puissance de la sortie du
filtre et esquissez-la.

Solution
a) YY (k ) 2 (k 2) 8 (k 1) 12 (k ) 8 (k 1) 2 (k 2)
YY {...,0,2,8,12,8,2,0,...}

12 En ralit, il faudrait tenir compte du fait que, comme on utilise une fentre de Hamming, le

maximum vaut un peu moins que MA/4 (voir l'exemple prcdent). On a nglig ici cet effet.
38 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

1
b) HH (k ) YY (k )
2
c) SYY ( F ) | H ( F ) |2 S NN ( F ) N2 | [1 exp( j 2F )]2 |2 8[1 cos(2F )]2

Exercice 5.2
On considre une cisode damplitude As contamine par un bruit blanc de
moyenne nulle et dcart type Ab. Ces signaux et leur somme sont reprsents
la figure de gauche. Une estimation de leur densit spectrale de puissance par un
priodogramme moyenn (N=512, L=4, fentres rectangulaires) est reprsente
la figure de droite.
On demande destimer As et Ab au moyen des informations contenues dans la
figure de droite puis den dduire une estimation du rapport signal bruit (RSB).

NB : comme indiqu dans le cours, Frequency = 1 correspond en ralit F = o F


est la frquence normalise

Solution
b2 10 4 Ab 100
Avec une DSP 61 dB en F = 0.1, (soit frequency =0.2), on trouve :
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 39

MAs2
10 log 61 dB
4
donc As 198.3 vu que chacune des L 4 fentres a 128 points (M N / L)
(En ralit, As = 200).
Puissance signal = 2 104. Puissance bruit = 104. RSB = 2 (3 dB).

Exercice 5.3
Soit un signal x(t) = 10 cos(2 700 t+pi/4) que lon chantillonne une
frquence de 1000 Hz.

On demande desquisser le priodogramme simple (avec fentre rectangulaire)


obtenu en prenant 32 points du signal prcdent et en faisant le calcul avec
NFFT=32. Comment retrouver lamplitude de la sinusode partir de ce
priodogramme ? Et sa phase ?

Solution

Lorsque la raie de la sinusode ne tombe pas sur une valeur entire de k (cest le
cas ici), on est rduit estimer lamplitude a.
Linformation sur la phase est perdue.

Exercice 5.4
Soit x(n) un bruit blanc de moyenne gale 2 et de variance unitaire. On passe
ce bruit travers un filtre dont lquation de rcurrence est :

y(n)=x(n)+x(n-1)+x(n-2)
On demande :
a. de donner lexpression de xx ( k ) ainsi que sa reprsentation graphique
b. dexprimer analytiquement yy (k ) en fonction de xx ( k )
40 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

c. den dduire les valeurs de yy (k ) pour k = -5, -4 4, 5 et den donner une


reprsentation graphique
d. de calculer la fonction HH(k) pour k = -5, -4 4, 5
e. dutiliser HH(k) et xx ( k ) pour dterminer yy (k )

Solution
a) XX (k ) 4 (k )
b) YY (k ) XX (k 2) 2 XX (k 1) 3 XX (k ) 2 XX (k 1) XX (k 2)
c) YY (k ) 36 (k 2) 2 (k 1) 3 (k ) 2 (k 1) (k 2)
YY {...,36,36,37,38,39,38,37,36,36,...}
d) HH {h(n)} {h(n)} {...,0,1,2,3,2,1,0,...}
e) En utilisant la mthode graphique de calcul de YY (k ) XX (k ) HH (k )
on retrouve plus rapidement YY {...,36,36,37,38,39,38,37,36,36,...}

Exercice 5.5
Un signal x(t) est transmis travers un canal de communication qui a pour effet
de le multiplier par une constante k, de le retarder dun temps t0, et de lui
ajouter un bruit b(t) : y(t)=k x(t-t0)+b(t). Si x(t) et b(t) sont non corrls,
exprimez la densit spectrale de puissance de y en fonction de celles de x et b ?

Solution
a) YY ( ) k 2XX ( ) BB ( )
b) SYY ( f ) k 2 S XX ( f ) SBB ( f )

Exercice 5.6 - Problme dit du confort du professeur de traitement du signal


Un professeur enseigne 30 tudiants bruyants dans une salle en hmicycle. Dix
tudiants se trouvent la premire range ( 10m du professeur), 10 autres la
seconde range (11m) et 10 autres la troisime (12m). On assimile le signal de
parole du professeur un bruit blanc N(0, 10 ), et le signal mis par chaque
tudiant un bruit blanc N(0,) (indpendant des autres). On suppose par
ailleurs que la fonction de transfert correspondant la transmission dans lair
entre la premire range et le professeur est celle dun filtre passe-bas idal de
frquence de coupure fc=6000 Hz et de gain 0.9 (deuxime range : fc=5000 Hz,
gain = 0.8 ; troisime range : fc=4000 Hz, gain = 0.7). On suppose enfin que
lauditoire est une chambre sourde (pas de rverbration) et que personne ne
bouge. On demande le rapport signal bruit peru par le professeur (dont loue
stend jusque 15000 Hz).
Pour rappel, N(m,) indique un signal Gaussien de moyenne m et d'cart type .
Solution
Puissanceprofesseur 2 3.10 5 Hz [W]
Puissancetudiants 10 2 [0.72 8 0.82 10 0.92 12] kHz [W]
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 41

Puissanceprofesseur
10 log RSB 10 log 1.75 dB
Puissancetudiants

Exercice 5.7 (librement adapt dun exercice de J.Auvray)


Un signal sinusodal s de frquence 500Hz et damplitude a=100mV est noy
dans un bruit b que lon peut considrer comme un bruit blanc filtr par un filtre
passe-bas idal de frquence de coupure 1kHz. La puissance totale du bruit est
de 10V.
a) Reprsentez la densit spectrale de puissance de ce signal bruit x=s+b.
Quel est en dB le rapport signal sur bruit de x ?

Le signal est chantillonn 4 kHz.



b) Reprsentez les densits spectrales de puissance S XX ( f ) et S XX (F ) du
signal bruit chantillonn et dterminez le rapport signal sur bruit en dB.
c) Prendre une frquence dchantillonnage de 1.2 kHz modifierait-il le RSB ?

Pour sortir le signal chantillonn du bruit on utilise un filtre passe-bande idal


(fonction de transfert rectangulaire) de frquence centrale 500 Hz et de largeur
de bande 10 Hz.
d) Reprsentez le spectre du signal y la sortie du filtre et le rapport signal
bruit obtenu.
Pour tenter damliorer les choses on effectue une dtection synchrone en
multipliant le signal original (non chantillonn) x par une rfrence damplitude
1V en phase avec s. Le multiplicateur effectue lopration p(t) = x(t).r(t)/10. Le
signal p la sortie de ce multiplicateur a un spectre comportant des raies et un
fond continu.
e) Reprsentez dabord les raies du spectre de ce signal non chantillonn et
leur amplitude.
f) Sachant que la fonction dautocorrlation de p(t) est

1 a2 a2 1
pp ( ) cos 2 bb ( ) cos
100 4 8 2
o bb() est la fonction dauto-corrlation du bruit, dterminez la densit
spectrale de puissance de p que vous dessinerez en prcisant les
amplitudes et frquences.
g) Le signal p est filtr par un filtre intgrateur RC de constante de temps
10 secondes. Soit Q le signal final. Reprsentez la densit spectrale de Q.
h) Quel est maintenant le rapport signal sur bruit en dB en prcisant bien ce
quest le signal cette tape-ci.
42 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

Solution
a)

-33 dB

b)

Le RSB ne change pas.

c) Bien que lon observerait un recouvrement dans ce cas, le RSB ne


changerait pas.
TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES 43

d)

-13 dB
e)

(les 3 raies ne sont pas reprsentes avec la mme chelle)

f)

1 a2 a2 1
S pp ( f ) ( f ) [ ( f 2 f 0 ) ( f 2 f 0 )] [ Sbb ( f f 0 ) Sbb ( f f 0 )]
100 4 16 4
avec f 0 500 Hz
1 1
g) X filtre( f )
1 j 2 f RC
| X filtre |2 df
2 RC
0.05 Hz

Le filtre RC naffecte pas la composante continue (raie en 0 Hz).


En trs bonne approximation (en ngligeant la contribution des intervalles
]-,-500 Hz] et [500 Hz,+[, ce que lon peut faire vu la constante de
temps RC = 10s), la surface hachure (puissance du bruit aprs filtrage)
10 4 1 10 5
est .
4 2 RC 8
44 TRAITEMENT NUMERIQUE DES SIGNAUX ALEATOIRES

a2 10 4
La puissance du signal (raie) en f=0 est .
400 4
Donc 10 log RSB 13 dB .
NB : sur la figure, la DSP du bruit aprs filtrage a t dilate pour une
meilleure reprsentation.
CHAPITRE 6
SYNTHESE DES FILTRES
NUMERIQUES

Thomas W. Parks and James H. McClellan ont


marqu le traitement du signal au dbut des annes
70, alors que J. McClellan tait encore tudiant
Rice University (Houston, Texas), par l'invention
d'une technique d'approximation numrique de
filtres FIR phase linaire. Connue aujourd'hui sous
le nom d'algorithme de Parks-McClellan, ce procd
est trs largement utilis dans les systmes de
tlcommunications numriques.

R. Boite (1928-2002) et H. Leich (1941-),


professeurs mrites de la FPMs, ont fortement
contribu au dveloppement des techniques de
filtrage numrique au dbut des annes 80,
notamment par la publication de leur ouvrage "Les
filtres numriques" (Masson, Paris)

Avec la FFT, le filtrage numrique est un des outils majeurs du traitement du


signal. Si les proprits temporelles et frquentielles des filtres numriques
linaires ont t analyses aux Chapitres 1 et 2, il reste voir comment on les
approxime pour obtenir une rponse en frquence donne avec un filtre IIR (6.2)
ou un FIR (6.3) et comment on les synthtise (c.--d. comment on les
implmente en pratique). Nous commenons (6.1) par le cas particulier des
filtres du second degr, qui sont fort utiliss pour construire des filtres plus
complexes.

6.1 La cellule du second degr


Pour des applications peu exigeantes, on pourra utiliser un filtre d'ordre un,
deux, ou trois. Les proprits de ces filtres en fonction de leurs coefficients ont
t largement tudies dans la littrature, et sont rsume par exemple dans
l'article "The Swiss Army Knife of Digital Networks" de R. Lyons et A. Bell (IEEE
Signal Processing Magazine, Mai 2004, pp. 90-100).
2 SYNTHESE DES FILTRES NUMERIQUES

Nous nous contenterons ici d'tudier une cellule de base du second degr et deux
exemples d'application.
La transmittance rationnelle du second degr :

b0 b1 z 1 b2 z 2
H ( z) (6.1)
1 a1 z 1 a2 z 2
Si on pose (Fig. 6.1) que la forme gnrale des ples et des zros est donne par
:
racines j
partie relle partie imaginaire
(6.2)

module
(6.3)
cos
Il vient :

1 2n cos n z 1 n z 2
2
H ( z) K (6.4)
1 2d cos d z 1 d z 2
2

Fig. 6.1 Lien entre ,,, et

Cette forme caractrise une cellule biquadratique ou cellule du second degr,


trs utilise en pratique.

6.1.1 Stabilit
Lexpression (6.1) peut tre mise sous une forme utilise classiquement en
thorie des circuits analogiques :
b0 z b1 z b2 b0 z b1 z b2
H ( z) (6.5)
z a1 z a2 z 2 z
La stabilit impose des conditions sur la valeur des coefficients du dnominateur:
si a2 a12 / 4 ( ), les ples de H(z) sont complexes et il faut que l'on
ait a2 1 ( 1 )
SYNTHESE DES FILTRES NUMERIQUES 3

si a2 a12 / 4 , les ples sont rels. On obtient alors, aprs quelques


dveloppements partant du fait que le module des racines doit tre
infrieur 1, quil faut que (1 a1 a2 ) et (1 a1 a2 ) soient positifs.
Ces conditions de stabilit sont illustres la Fig. 6.2.

b2
Ples complexes
ples conjugus
complexes conjugus
1

2
ba22=
=ab11/4
/4

-2 -1 0 1 2 ab
11

Ples
ples rels
rels
0
b2 =

1+
b1+
b1 +

1-a1+ a2=0 1+a1+ a2=0

b 2=
1-

Fig. 6.2 Domaine de stabilit (ordre 2)

6.1.2 Le rsonateur du second ordre


La transmittance (6.1) avec ples complexes situs dans le voisinage du cercle
unit, et dans laquelle b2 0 (ce qui correspond un seul zro, rel), caractrise
le rsonateur du second ordre (Fig. 6.3).

(Z)
p1


Z0

p2

Fig. 6.3 Ples et zros d'un rsonateur du second ordre

La fonction de transfert est donne par :

1 bz 1 1 bz 1
H ( z) K K
1 a1.z 1 a2 .z 2 (1 p1.z 1 ).(1 p2 .z 1 ) (6.6)
avec p1,2 .e j a1 2 cos a2 2
4 SYNTHESE DES FILTRES NUMERIQUES

Ou plus simplement :

1 cos z 1
H ( z) K (6.7)
1 2 cos z 1 2 z 2
Le calcul de l'amplitude conduit alors :
A2 ( ) H (e j ) H (e j )
1 b2 2b cos (6.8)
K 2.
1 2 2 cos( ) . 1 2 2 cos( )

Si lon suppose que le zro est plac comme sur la Fig. 6.3 1, on a b cos , ce
qui conduit :
sin 2
A2 ( ) K 2 . (6.9)
1 2 2 cos( ) . 1 2 2 cos( )

Comme on pouvait le prvoir en vertu de linterprtation gomtrique de la


rponse en frquence, cette fonction atteint un maximum pour . Autour de
cette frquence, lallure de la rponse en frquence est surtout influence par le
premier facteur du dnominateur. Si on approxime le second facteur par
1 2 2 cos(2 ) , la rponse en frquence est approximativement donne par :
sin 2
A2 ( ) K 2 . ( pour ) (6.10)
1 2 2 cos( ) . 1 2 2 cos(2 )

Si de plus on suppose que est assez voisin de 1 (ce qui correspond au cas
dun filtre trs slectif), on peut mme crire:

(1 ) 2 0
1 2 2 0 (6.11)
1 2 2
Do :

1 2 2 cos(2 ) 1 2 2 cos 2 2 sin 2


2 (1 cos 2 ) 2 sin 2 (6.12)
4 sin 2

Ce qui donne finalement :


K2
A2 ( ) (si 1 ) (6.13)
1 2 2 cos( ) .4

Le maximum vaut alors :


K
AM (6.14)
2(1 ).

1 Il nest pas indispensable davoir un zro pour crer une rsonance. On montre par contre que

lutilisation dun zro tel que sur la Fig. 6.3 conduit une filtre dont lamplitude de la rsonance est
indpendante de .
SYNTHESE DES FILTRES NUMERIQUES 5

A()

1
f

fe/2 fe f

Fig. 6.4 Rponse en frquence d'un rsonateur du second ordre

La loi de l'amplitude en fonction de (ou de la frquence f) est reprsente la


Fig. 6.4
L'intervalle de frquences dans lequel A est suprieur 1/ 2 (la bande
passante 3 dB) se calcule comme suit :

1 K2
A( )2 . AM2 si 1 (6.15)
2 8. 2 .
Comme cos x 1 x2 / 2 , il vient :

1 2 2.(1 x2 / 2) (1 )2 x2 2 x2 (6.16)
On en tire donc la relation :
( 2 x2 ).4 8 2 x (6.17)
c'est--dire
2 2(1 ) radians
(6.18)
f 2(1 ).Fe / 2 Hertz

6.1.3 Le filtre coupe-bande du second ordre


La transmittance possdant deux zros sur le cercle de rayon unit et deux ples
proches de ces zros et de mmes arguments :

1 2cos .z 1 z 2
H ( z) K. 1 1 (6.19)
1 2 cos .z 1 2 z 2
caractrise un filtre destin liminer une composante spectrale de frquence
Fe
f0 . (figure 4.18).
2
6 SYNTHESE DES FILTRES NUMERIQUES

(Z)
Z1
P1
|0P1|=

P2
Z2

Fig. 6.5 Coupe-bande du second ordre (ples et zros)

La loi de l'amplitude est reprsente la Fig. 6.5. On peut montrer, par un


raisonnement similaire ce qui a t fait prcdemment, que lintervalle de
frquences autour de f0 dans lequel l'amplitude est infrieure 1/ 2 (la bande
coupe 3 dB) vaut encore :
2 2(1 ) radians
(6.20)
f 2(1 ).Fe / 2 Hertz

A()

fc/2 f

Fig. 6.6 Rponse en frquence d'un filtre coupe-bande

6.1.4 Implmentation d'une cellule du second degr


Nous avons prsent au Chapitre 1 une structure possible pour l'implmentation
de la rcurrence numrique d'un filtre rcursif (le plus gnral). Cette structure,
appele structure directe I (ou immdiate), implmente en fait B(z)/A(z) comme
la cascade de B(z) suivi de A(z) (Fig. 6.7). Ce n'est pas la seule structure
possible, et en pratique ce n'est pas celle qui est utilise le plus souvent.
SYNTHESE DES FILTRES NUMERIQUES 7

Fig. 6.7 Structure directe I (dite immdiate)

Il est facile de trouver la structure dite directe II, en intervertissant l'ordre de


l'implmentation de A(z) et B(z) (Fig. 6.8). Il est clair que les valeurs w(k), w(k-
1), et w(k-2) apparaissant dans les parties gauche (A(z)) et droite (B(z)) de
cette structure sont identiques dans la partie A(z) et B(z). On peut donc en
pratique fusionner les lments dlais, ce qui divise par deux le nombre de dlais
ncessaires par rapport la structure directe I. Ce nombre de dlai est
minimum, d'o le nom de canonique pour cette structure.

Fig. 6.8 Interversion de B(z) et A(z)

Fig. 6.9 Structure directe II (version finale)

Il est galement possible d'implmenter la mme rcurrence avec une structure


dite directe II transpose (Fig. 6.10). Le principe de la transposition a t tabli
par Mason, sur base d'une rgle simple, dite de Mason, pour le calcul de la
fonction de transfert d'un filtre :
8 SYNTHESE DES FILTRES NUMERIQUES

P ( z) i
H ( z) i
(6.21)
1 B j ( z)
j

o Pi(z) reprsente la fonction de transfert associ un parcours dans la


structure du filtre, et o Bj(z) reprsente celle d'une boucle (les sommes sur i et
j s'tendent sur tous les parcours et toutes les boucles). On peut vrifier que les
structures prcdentes vrifient bien cette rgle.
Sur base de cette rgle, on peut toujours obtenir une structure dite transpose
partir d'une structure de base, en ralisant les oprations suivantes :
1. Remplacer les nuds de sommation par des nuds de dispersion, et
inversment
2. Inverser tous les sens de parcours
Applique la structure directe II, cette opration conduit la structure directe
II transpose. On notera que cette structure n'est autre que la structure directe I
dont on a dplac (et fusionn) les lments dlais des extrmits vers le centre
de la structure.
MATLAB implmente par dfaut la structure directe II transpose. D'autres
structures sont disponibles via la fonction dfilt

Fig. 6.10 Structure directe II transpose

Le choix d'une structure ou d'une autre est pratique dict par un critre de bruit
de calcul (voir 6.2.4).

6.2 Approximation et synthse des filtres IIR


Le problme de l'approximation ayant largement t tudi dans le cadre des
filtres analogiques (cf. cours de Thorie des Circuits : Butterworth, Chebyshev,
Cauer, etc.), une des mthodes de conception consiste trouver des
transformations qui permettent de passer du domaine analogique (plan p) vers le
domaine numrique (plan z).
On suppose que la fonction de transfert d'un filtre analogique :

N ( p)
H a ( p) (6.22)
D( p )
SYNTHESE DES FILTRES NUMERIQUES 9

a t dtermine par l'une des mthodes classiques d'approximation des filtres


analogiques. On doit alors trouver une fonction de transfert numrique :

B( z )
H ( z) (6.23)
A( z )
qui ait la mme rponse du filtre analogique sans en augmenter le degr, et en
assurant le maintient de la stabilit: les ples de H(z) doivent donc tre situs
l'intrieur du cercle unit.
Parmi les transformations existantes, on ne considrera que les deux plus
importantes : la transformation qui prserve la rponse impulsionnelle et la
transformation bilinaire.

6.2.1 La transformation qui prserve la rponse impulsionnelle


Si on veut un filtre numrique dont la rponse impulsionnelle h(n) soit une
version chantillonne de celle du filtre analogique ha(t) :

h(n) ha (nTe ) (6.24)

on peut videmment imposer:



H ( z ) h(i ) z ha (iTe ) z i
i
(6.25)
i 0 i 0

ce qui conduit tout naturellement un filtre FIR, dont la rponse en frquence


est la TFTD de h(n). Il faut donc, pour viter un recouvrement des images des
rponses en frquences du filtre analogique, chantillonner ha(t) avec une
priode d'chantillonnage respectant le thorme de Shannon.
L'implmentation d'un tel FIR pose cependant le problme de la longueur de la
suite h(n) : mme si on ne considre la rponse ha(t) que pout t=0tmax (o tmax
est tel que ha(t>tmax)<0.001*max(ha(t)), il reste que la condition de non
recouvrement conduit le plus souvent une suite h(n) trs longue, et la charge
de calcul est alors importante.
On peut heureusement respecter (6.25) en passant par un filtre IIR, nettement
moins gourmand en calcul. Considrons par exemple un filtre analogique d'ordre
un :

A
H a ( p) (6.26)
pa
Sa rponse impulsionnelle est donne par :

ha (t ) Aeat (6.27)

On peut facilement obtenir h(n) par le filtre numrique suivant :

A
H ( z) (6.28)
1 e aTe z 1
Ce principe peut tre gnralis en passant par une dcomposition en fractions
simples de (6.22) :
10 SYNTHESE DES FILTRES NUMERIQUES

N
Ai
H a ( p) K (6.29)
i 1 p pi
ce qui donne:
N
Ai
H ( z) K piTe 1 (6.30)
i 1 1 e z
On obtient donc un filtre numrique de mme degr que le filtre analogique de
dpart, et dont la stabilit est bien entendu prserve par la transformation.
En pratique, on multiplie galement H(z) par Te pour compenser le fait que la
TFTD de h(n) ne correspond Ha(f) qu' un facteur 1/Te prs :
N
Ai
H ( z ) KTe piTe 1 (6.31)
i 1 1 e z
L'inconvenient de cette approche est que, si la rponse en frquence Ha(f) n'est
pas ngligeable pour f>Fe/2, elle fait apparatre un recouvrement spectral qui
peut diminuer les performances du filtre.
Exemple 6.1
On cherche crer un filtre passe-bas numrique (Fe=3000) par approximation de
Chebyshev de type I, qui respecte les spcifications suivantes :

H ( f ) (dB)

0
-1

-40
f (Hz)
1000 1200

On ralise l'approximation du filtre analogique et utilise la fonction impinvar(N,D,Fe) :

Fe=3000;
[n,wn]=cheb1ord(2*pi*1000,2*pi*1200,1,40,'s');
[N,D]=cheby1(n,1,wn,'s');
[B,A]= impinvar(N,D,Fe); % on multiplie aussi par Te

% Calcul de la rponse impusionnelle analogique


[r,p,k]=residue(N,D);
t=0:1/(5*Fe):.02;
ha=real([exp(t'*(p.'))*r]);

% Calcul de la rponse impusionnelle numrique


h=filter(B,A,[1;zeros(49,1)]);

% Comparaison des rponses impulsionnelles


plot(t,ha);
hold on;
SYNTHESE DES FILTRES NUMERIQUES 11

stem(0:1/Fe:49/Fe, Fe*h,'r.')

% Comparaison des ples et zros


figure;
zplane(N,D)
figure
zplane(B,A)

% Calcul des rponses en frquence


[Ha,Wa]=freqs(N,D,2*pi*(1:10:Fe));
[H,W]=freqz(B,A, 1:10:Fe,Fe);

% Comparaison des rponses en frquence


figure;
plot(Wa/(2*pi),20*log10(abs(Ha)));
hold on;
plot(W,20*log10(abs(H)),'r:')

On constate effectivement que le degr du filtre est conserv, ainsi que la rponse
impulsionnelle, et que la rponse en frquence est rendue priodique par l'chantillonnage
de cette rponse, ce qui rend le filtre lgrement moins efficace autour de Fe/2

6.2.2 La transformation bilinaire


Une transformation simple qui limine cet inconvnient est la transformation
bilinaire (ou homographique) dfinie par:

1 z 1 1 p
p z (6.32)
1 z 1 1 p
12 SYNTHESE DES FILTRES NUMERIQUES

qui tablit une correspondance entre l'axe des imaginaires du plan p et le cercle
unit du plan z (Fig. 6.11).

(z)
j ( p)

Fig. 6.11 Correspondance p - z tablie par la transformation bilinraire

Par consquent, au demi-plan de gauche du plan p correspond l'intrieur du


cercle unit et au demi-plan de droite l'extrieur du mme cercle, l'axe
imaginaire tant transform en le cercle lui-mme (figure 4.21) : la stabilit est
prserve.
En particulier, on peut en effet vrifier que :

p j z e j (6.33)

On peut ainsi parler d'une correspondance entre la pulsation a du systme


temps continu et la pulsation rduite du systme temps discret: en effet,
pour p imaginaire pur, l'quation (6.32) devient :


j j j 2sin cos
1 e 1 e 2 j sin
ja 2 2
j
1 e 1 e j
2 2cos
cos (6.34)
2

j tan( )
2
En consquence, si on calcule la fonction de transfert d'un filtre numrique H(z)
en partant d'une fonction de transfert analogique Ha(p) en remplaant p par sa
valeur dans (6.32) :

H ( z ) H a ( p) p(1 z 1 ) /(1 z 1 ) (6.35)

on aura :
SYNTHESE DES FILTRES NUMERIQUES 13


H ( ) H a (a ) avec a tan( ) , ou 2arctan(a ) (6.36)
2
La relation entre la pulsation analogique et la pulsation numrique est
reprsente la Fig. 6.12. La rponse en frquence du filtre analogique peut
donc s'tendre jusqu' l'infini: il n'y a plus aucun risque de recouvrement.

T
e

Fig. 6.12 Correspondance a - tablie par la transformation bilinraire

La transformation bilinaire occasionne cependant une distorsion de l'axe des


frquences comme le montre la figure 4.22; elle ne pourra donc tre utilise que
si la distorsion peut tre tolre ou bien compense par une prdistorsion
adquate. Dans la plupart des cas rencontrs en pratique, les spcifications sont
constantes dans des domaines de frquences donns, comme l'illustre par
exemple la Fig. 6.13. Les spcifications du filtre analogique destin tre
transform sont alors obtenues simplement : on calcule les frquences critiques
analogiques par prdistorsion de celles qui sont imposes pour le filtre
numrique, et on ne modifie pas les attnuations.
Une fois les spcifications du filtre analogique obtenues, on peut en raliser
l'approximation(analogique) de Butterworth, de Chebyshev ou de Cauer, et
repasser ensuite au domaine numrique par (6.35)
14 SYNTHESE DES FILTRES NUMERIQUES

2
tg 2
Te


Af (dB)
( FILTREANALOGIQ UE
)
Af ( dB)

( FILTRE
NUMERIQUE)


0 c s

Fig. 6.13 Technique de compensation de la distorsion des frquences due la


transformation bilinaire (exemple d'un filtre passe-bas).

Exemple 6.2
Reprenons l'exemple prcdent, cette fois par transformation bilinaire. Le calcul sous
MATLAB est immdiat : Si l'on ne spcifie pas 's' dans l'appel des fonctions (ce qui veut dire
que l'on demande, non pas une approximation analogique, mai bien une approximation
numrique), MATLAB intgre par dfaut la prdistorsion, l'approximation analogique, et le
passage au numrique par la transformation bilinaire. Ainsi par exemple, pour un filtre de
Chebyshev :

Fe=3000;
[n,wn]=cheb1ord(1000/(Fe/2),1200/(Fe/2),1,40);
[B,A]=cheby1(n,1,wn);

% Calcul du filtre analogique, pour comparaison


[n,wn]=cheb1ord(2*pi*1000,2*pi*1200,1,40,'s');
[N,D]=cheby1(n,1,wn,'s');

% Comparaison des ples et zros


zplane(N,D)
figure
zplane(B,A)

% Calcul de la rponse impusionnelle analogique


[r,p,k]=residue(N,D);
t=0:1/(5*Fe):.02;
ha=real([exp(t'*(p.'))*r]);

% Calcul de la rponse impusionnelle numrique


h=filter(B,A,[1;zeros(49,1)]);

% Comparaison des rponses impulsionnelles


figure;
plot(t,ha);
SYNTHESE DES FILTRES NUMERIQUES 15

hold on;
stem(0:1/Fe:49/Fe, Fe*h,'r.')

% Calcul des rponses en frquence


[Ha,Wa]=freqs(N,D,2*pi*(1:10:Fe));
[H,W]=freqz(B,A, 1:10:Fe,Fe);

% Comparaison des rponses en frquence


figure;
plot(Wa/(2*pi),20*log10(abs(Ha)));
hold on;
plot(W,20*log10(abs(H)),'r:')

On constate que la rponse impulsionnelle et la rponse en frquence du filtre numrique


sont diffrentes de celle du filtre analogique, mais que la diffrence est favorable au filtre
numrique, de par la prsence de zros en z=-1.

6.2.3 Le problme de la quantification des coefficients


Lorsqu'un filtre numrique est implment sur un processeur en virgule fixe (ou
lorsqu'il est directement implment en hardware dans un ASIC en virgule fixe),
les coefficients calculs par approximation doivent tre quantifis sur un nombre
fini de bits, ce qui en modifie la valeur. Malheureusement, un polynme tant
trs sensible une modification de ses coefficients, la simple quantification des
coefficients bi ou ai peut conduire une modification majeure de la rponse en
frquence du filtre.
Exemple 6.3
16 SYNTHESE DES FILTRES NUMERIQUES

Nous allons faire l'approximation d'un filtre passe-bas IIR de Cauer, de degr 8, avec une
frquence de coupure de 300 Hz, un ripple en bande passante de 0.5 dB et une attnuation
minimale en bande attnue de 50 dB (la frquence d'chantillonnage est de 4 kHz). Nous
comparerons ensuite la rponse en frquence du filtre celle des filtres obtenus en
diminuant la prcision des coefficients 6, puis 5 chiffres aprs la virgule (le calcul initial de
MATLAB tant affectu avec 16 chiffres aprs la virgule).

% Approximation de dpart
[b,a]=ellip(8,.5,50,300/2000);
[h,f]=freqz(b,a,256,4000);

% 6 chiffres dcimaux
b6=round(b*1e6)/1e6;
a6=round(a*1e6)/1e6;
[h6,f]=freqz(b6,a6,256,4000);

% 5 chiffres dcimaux
b5=round(b*1e5)/1e5;
a5=round(a*1e5)/1e5;
[h5,f]=freqz(b5,a5,256,4000);

% Comparaison
subplot(3,1,1);
plot(f,20*log10(abs(h)));
subplot(3,1,2);
plot(f,20*log10(abs(h6)),'r');
subplot(3,1,3);
plot(f,20*log10(abs(h5)),'g');

On constate que la rponse en frquence est fort modifie lors du passage 5 chiffres aprs
la virgule. Pire : l'examen des positions des ples et zros rvle un problme : le passage
5 chiffres aprs la virgule a pouss certaines ples en dehors du cercle de rayon unit.
% Comparaison
zplane(b,a);
figure;
SYNTHESE DES FILTRES NUMERIQUES 17

zplane(b5,a5);

La rponse en frquence donne dans la fentre infrieure du graphique ci-dessus n'a donc
aucun signification physique : le filtre est devenu instable!

6.2.4 Le problme du bruit de calcul


Il ne faut pas oublier que dans un filtre en virgule fixe, les chantillons sont eux
aussi quantifis sur un nombre de bits fini. Ceci a deux consquences
importantes :
1. En sortie de chaque multiplicateur, les valeurs numriques sont connues
sur 2N bits (o N est le nombre de bits des valeurs d'entre : la
multilplication de deux nombres sur N bits produit un nombre sur 2N bits).
Si on ne conserve par ces 2N bits mais qu'on requantifie plutt les
valeurs, la requantification des rsultats cre au droit de chaque
multiplieur un bruit que l'on appelle bruit de calcul. Il est clair alors que
l'ordre des cellules du second degr influe sur la transmission de ce bruit
de calcul vers la sortie du filtre.
Pour attnuer cet effet, on ralise en gnral les calculs internes sur Nc
bits (o Nc est le nombre de bits interne, qui peut tre diffrent du nombre
de bits sur lequel les chantillons d'entre et de sortie sont quantifis). La
valeur de Nc est alors choisie telle qu'il en rsulte un bruit de calcul en
sortie du filtre dont le puissance c soit du mme ordre de grandeur que
la puissance s du bruit en sortie du filtre, d la quantification des
chantillons d'entre. Il en rsulte une valeur de Nc qui est comprise entre
N et 2N.
2. Les additionneurs posent un problme diffrent : ils n'oprent pas de
requantification, mais peuvent tre soumis au dpassement, si le rsultat
de la somme dpasse la valeur maximale admissible en sortie. Le
dpassement est le plus souvent interprt par le calculateur comme un
changement de signe, ce qui produit des erreurs importantes (assimilables
des bruits) et des comportements transitoires qui peuvent perturber le
bon fonctionnement du filtre, jusqu' mme devenir des bruits de rgime
(on parle de cycles limites lorsque les coefficients du filtres conduisent ce
que ces transitoires de dpassement s'entretiennent d'eux-mmes).
L'tude complte de ces effets sort du cadre de ce cours. On montre
cependant que les structures des cellules du second degr (Directe I, II,
transpose) possdent des caractristiques de bruit de calcul fort diffrentes
18 SYNTHESE DES FILTRES NUMERIQUES

l'une de l'autre. Il est donc intressant, avant de choisir une implmentation,


d'en tester les performances de bruit

6.2.5Synthse des filtres IIR en virgule fixe, par cascade de


cellules du second degr
Les problmes mentionns la Section prcdente sont d'autant plus importants
que de degr du filtre est lev. En effet, la quantification de chacun des
coefficients du dnominateur modifie la position de tous les ples. Tout comme
en synthse des filtres analogiques, une solution pour minimiser le problme est
de raliser le filtre :
M M

b z i
i
(1 z z i
i
)
H ( z) i 0
N
K i 1
N
(6.37)
1 ai z i
(1 p z i
i
)
i 1 i 1

(o zi et pi sont les zros et les ples du filtre) sous la forme d'une cascade de
cellules du second degr (avec si ncessaire une section du premier degr) 2:

1 z0 z 1 M /2
(1 bi1 z 1 bi 2 z 2 )
H ( z ) K0
1 p0 z 1
Ki
i 1

(1 ai1 z 1 ai 2 z 2 )
(6.38)

Il reste alors dcider quelles paires de zros on associe quelles paires de


ples, et dans quel ordre placer les cellules, et comment rpartir la constante K.
Le problme du bruit de calcul, mentionn la Section prcdente, intervient ici
directement.
On retiendra simplement que (Fig. 6.14) :
1. Pour le choix de la rpartition de la constante K, on cherchera minimiser
les risques de dpassement, en rpartissant K de faon ce que la
dynamique des sorties des cellules soient toujours adaptes celle du
quantificateur. Ainsi, si une section du second degr prsente une
amplification importante sa frquence de rsonance, on utilisera pour
cette section un facteur Ki gal l'inverse de ce facteur d'amplification (de
manire liminer l'amplification).
2. Pour le choix de l'association ples-zros, on cherchera toujours associer
aux ples les plus rsonant les zros les plus proches, de manire en
compenser au maximum la rsonance.
3. Pour le choix de l'ordre des cellules, on placera toujours en premier les
cellules les moins rsonantes, pour terminer par les cellules les plus
rsonantes.

2 On peut en vrifier le principe sous MATLAB grce la fonction sosdemo.


SYNTHESE DES FILTRES NUMERIQUES 19

Fig. 6.14 Exemple d'association ples-zros pour un filtre elliptique

Exemple 6.4
Sous MATLAB le calcul des sections du second degr ncessaires l'implmentation cascade
d'un filtre numrique est directement disponible dans la fonction tf2sos(b,a,ordre,scale) (o
'tf" signifie "transfer function" et "sos" signifie "second order section", o ordre est mis
"up" par dfaut et spcifie l'ordre des cellules en terme de facteur de qualit, et o scale
spcifie comme on rpartie la constante K : "Inf" correspond la procdure propos ci-
dessus, qui normalise le maximum de la rponse en frquence de chaque cellule 1).
Reprenons l'approximation de l'exemple prcdent :

[b,a]=ellip(8,.5,50,300/2000);
sos=tf2sos(b,a,'up',Inf)

>sos=
0.0261 -0.0085 0.0261 1.0000 -1.6853 0.7290
0.3027 -0.4761 0.3027 1.0000 -1.7250 0.8573
0.6795 -1.1687 0.6795 1.0000 -1.7542 0.9488
0.8641 -1.5131 0.8641 1.0000 -1.7705 0.9882

sos1n=sos(1,1:3); sos1d=sos(1,4:6);
sos2n=sos(2,1:3); sos2d=sos(2,4:6);
sos3n=sos(3,1:3); sos3d=sos(3,4:6);
sos4n=sos(4,1:3); sos4d=sos(4,4:6);
freqz(sos1n,sos1d); hold on;
freqz(sos2n,sos2d);
freqz(sos3n,sos3d);
freqz(sos4n,sos4d);

La structure du filtre correspondant est donne ci-dessous (o ts symbolise un lment


dlai), ainsi que la rponse en frquence de ses cellules du second degr.
20 SYNTHESE DES FILTRES NUMERIQUES

Il est noter que MATLAB fournit deux toolboxes spciales pour l'tude des filtres
en virgule fixe : la Filter Design Toolbox, couple la Fixed-Point Toolbox.
Notons pour terminer que ces problmes ne concernent pas les filtres en virgule
flottante.

6.3 Approximation et synthse des filtres FIR


6.3.1 Filtres phase linaire
Les filtre FIR ont une fonction de transfert de la forme :
N 1
H ( z ) h( n) z n (6.39)
n 0

Ils sont toujours stables et leur principal intrt est qu'ils peuvent facilement
implmenter des filtres phase linaire. Par contre, pour une mme slectivit,
leur degr est souvent fort suprieur celui d'un filtre IIR. Les filtres FIR et IIR
ne sont donc pas utiliss dans les mmes applications. Une utilisation typique
des filtres FIR est par exemple celle des filtres d'interpolation ou de dcimation,
o la phase linaire de FIR permet de conserver la forme du signal.
SYNTHESE DES FILTRES NUMERIQUES 21

La proprit de linarit de la phase est obtenue en imposant que la rponse


impulsionnelle h(n) (qui est aussi la suite des coefficients du filtre) soit
symtrique (Fig. 6.15) 3:
h(n) h(n) (6.40)

En effet, considrons la rponse impulsionnelle h(n) comme la somme de deux


rponses distinctes :

h(n) h1 (n) h2 ( n)
h(n) pour n 0

avec h1 (n) h(n) / 2 pour n 0
0 pour n 0
(6.41)

0 pour n 0

et h1 (n) h(n) / 2 pour n 0
h(n) pour n 0

Clairement, on a :

H ( ) H1 ( ) H 2 ( ) (6.42)

Or, si h(n) est symtrique, on a :

h1 (n) h2 (n) (6.43)

de sorte que:

H1 ( ) H 2 *( ) (6.44)

ce qui donne bien une phase rigoureusement nulle pour H(). 4

En pratique, la phase d'un FIR n'est pas nulle mais linaire car pour rendre le
filtre causal on dcale sa rponse vers la droite (Fig. 6.15). Le dlai n0 (en
nombre d'chantillons) du filtre est alors gal la moiti de sa longueur, et la
phase linaire vaut - n0.

3 On peut montrer qu'elle est galement obtenue lorsque la rponse est antisymtrique : h(n)=-h(-

n).
4 C'est d'ailleurs cette mme proprit qui explique que la densit spectrale de puissance des

signaux alatoires rels soit purement relle (leur fonction d'autocorrlation est en effet
symtrique).
22 SYNTHESE DES FILTRES NUMERIQUES

n0

Fig. 6.15 Rponse impulsionnelle d'un filtre phase nulle (haut) et phase
linaire (bas)

6.3.2 Approximation optimale des filtres FIR phase linaire


L'approximation numrique due Parks et McClellan fournit un degr minimal de
la transmittance obtenue pour des spcifications donnes. Le critre utilis
consiste minimiser le maximum de | H ( ) Hd ( ) | o Hd est la transmittance
idale raliser. L'explication cet algorithme est complexe et sort du cadre de ce
chapitre. Fort heureusement, MATLAB en fournit une implmentation simple
utiliser.
Cette technique d'approximation est trs utilise.
Exemple 6.5
Pour une frquence d'chantillonnage de 5 kHz, on cherche approximer un filtre FIR
phase linaire, 32 coefficients, dont la bande passante se situe entre 600 et 900 Hz, et qui
impose une forte attnuation avant 400 Hz et au-del de 1100 Hz.

f=[0 400/2500 600/2500 900/2500 1100/2500 1];


m=[0 0 1 1 0 0];
b=remez(31,f,m);
stem(b)
freqz(b,1)
SYNTHESE DES FILTRES NUMERIQUES 23

On constate que le filtre est bien symmtrique, et que sa phase est donc bien
linaire (les accidents de la phase sont des imprcisions de calcul).

6.3.3 Synthse des filtres FIR phase linaire


Les filtres phase linaire sont beaucoup moins sensibles que les filtres IIR
une quantification de leurs coefficients ou au bruit de calcul. Leur implmentation
ne pose pas de problme particulier : la structure directe (il n'y a plus de
distinction entre directe I et II) ou la structure transpose (qui ne diffre de la
structure directe que par la position des ses lments dlais) conviennent trs
bien. Il n'est pas ncessaire de raliser la filtre sous la forme d'une cascade de
cellules du second degr.

You might also like