Professional Documents
Culture Documents
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
Claude E. Shannon
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.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/].
Fig. 2.3 Image de Lena, souvent utilise comme image test en Traitement de
lImage.
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.
t (ms)
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].
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).
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
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
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
fe
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
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
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
xq(t)
x(t) 2b niveaux
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.18 Signal numrique temps continu correspondant aux bits des valeurs
de f(n)
[http://www.technologyuk.net/telecommunications/telecom_principles/digital_si
gnals.shtml]
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');
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.
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
1/ 2 10log(2) 3dB
4 2 6 dB
100 10 20 dB
10000 100 40 dB
1000000 1000 60 dB
Il est noter que le RSB dune ligne tlphonique est typiquement de 30 dB.
On constate dans la pratique que le bruit est difficilement perceptible sur lintensit dune
image au-dessus dun RSB de 40 dB.
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 !
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.
Remerciements
Bibliographie
T. Dutoit
30/08/16
CHAPITRE 1
INTRODUCTION AUX SYSTEMES
NUMERIQUES LINEAIRES ET
INVARIANTS
1 Ceci dfinit en fait un signal numrique scalaire. On peut galement dfinir des signaux vectoriels
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):
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
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
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.
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
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
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
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
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
x(n)
2L+1 points
Moyenne
y(n)
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)
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
(n) h(n)
SLI
numrique
n n
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):
12
10
0
0 5 10 15 20 25 30 35 40 45 50
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
9
x 10
14
12
10
0
0 5 10 15 20 25 30 35 40 45 50
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.
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 .
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
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).
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
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.
resp=filter([1],[1 1 -1],[1,0,2,1,0,0,0])
1 1 4 6 10 16 26
7 On notera que, dans cette dernire quation, la sommation est dfinie pour i allant de - + ,
| h(n i) |
i
(1.13)
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)
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)
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
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.
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
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
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
9 Notons que le dnominateur de cette dernire expression est similaire celle obtenue en
Y ( z) b z i
i
H ( z) i 0
N (1.25)
1 ai z
X ( z) i
i 1
b z i
i
H ( z) i 0
N
(a0 1) (1.26)
a z
i 0
i
i
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
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])
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 :
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 :
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
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
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
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.
1 (t 0) 1 (n 0)
(t ) (n) (2.1)
0 (t 0) 0 (n 0)
(t)
1
t
0
Rectangle
Le signal rectangulaire rect(t) est constant 1/2 +1/2, damplitude 1.
rect(t)
1
t
-1/2 1/2
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
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
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).
Exemple 2.3
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.
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
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).
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
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.
T0(t)
1
t
T0
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
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
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
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
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.
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
+ + t
- - + ++ +
t
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)
rect(t) rect(t)
1 1
t t
* =
-1/2 1/2 -1/2 1/2
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)
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.21 Convolution dun signal de base non priodique avec une impulsion de
Dirac.
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
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.
f ( ) (t )d f (t ) (2.41)
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 )
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)
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
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:
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
f(t)
Surface=A0
A(f) (f)
A0
ce qui correspond la somme des surfaces sous-tendues par f(t), comptes avec
leur signe.
(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 )
Fig. 2.30 Transforme dun signal dilat (ici dun facteur 2).
| |
2f
f
1
/2
f
-/2
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
rect(t) 1
|sinc(f)|
1
t
f
-1/2 1/2 0 1 2 3
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
rect(f)
sinc(t)
1 1
t f
-2 - 2 -1/2 1/2
Exemple 2.12
(t)
1 1
t
f
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
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)
F1
RMStot
F2
2F F
2 2
k k
THD 100 k2 100 k2 (2.54)
2Fk Fk
2 2
k 1 k 1
Exemple 2.13
F(f)
exp( j 0t ) ( f f 0 ) f
0 f0
Exemple 2.14
A(f)
1/2 1/2
1
cos(0t ) ( f f0 ) ( f f0 ) f
2
-f0 0 f0
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
A(f)
1/2 1/2
1
sin( 0t ) . ( f f 0 ) ( f f 0 )
2j -f0 f
0 f0
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
Cette dernire relation permet dailleurs de comprendre lquation (2.50) et la Fig. 2.34
diffremment. En effet, puisquon a :
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.
1/2 |sinc(f)/T0|
rectT0(t)
1
t f
-1/2 1/2 2 0 1 2 3
triT0(t)
1/2 |sinc(f)/2|
1
t f
-1 1 0 1 2 3
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
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
A(f) A()
1 1
rect (t ) sinc(f )
sinc( )
2
f
0 1 2 3 0 2 4 6
(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
1/2 1/2
1
( f f0 ) ( f f0 ) -f0 0 f0
f
- 0 0
2 0
( 0 ) ( 0 )
F (f)e jt df
f (t) (2.65)
5 On verra en effet au chapitre suivant que la plupart du temps un signal temps discret est le
f
F ( )
n
f (n)e jn avec 2 F 2
Fe
(2.68)
0 si t nTe
F (f)e df 1
jt fe / 2
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)
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
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 .
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
(linarit) a f ( n)
i
i i
a F (F )
i
i i
(dilatation) f (an) 1
F ( F / a)
a
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
fT0 (t ) f (t kn0Te ) (2.73)
k
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
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
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
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
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)
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)
2 25
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)
b e i
ji
H ( ) i 0
N (2.82)
1 ai e ji
i 1
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
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 :
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 :
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 :
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
On retrouve bien sur ce graphique les 20dB damplification calculs plus haut.
(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
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
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
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.
Circuit
Electrique
Kirchoff(p) Kirchoff(t)
Equation
Diffrentielle Sol. Gn
+Sol Part.
L
X(p)
. H(p) Y(p)
L X(f)
. H(f)
L
Y(f)
L
F F F
x(t) h(t) y(t)
*
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
(n)
Exercices
Exercice 2.1
46 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES
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
Exercice 2.2
On demande :
a. De dterminer lexpression analytique de sa rponse en frquence
Exercice 2.3
Exercice 2.4
Jeu des 8 familles (Daprs J. Lebrun, EPFL) (voir Figs1-3 dans les pages
suivantes)
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
Exercice 2.5
Exercice 2.6
Exercice 2.7
On demande de :
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
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
Solution
10
-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
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
Solution
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
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)
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
Te
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
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
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 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).
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 :
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
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).
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
fe/2 fe
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
t -2 e - e 0
e 2 e
= =
f(t) |F()|
t -2e - e 0
e 2 e
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.
+ (t)
h(t)
+ (t) Extrapol. h(t)
X
d'ordre 0
1
X
t t
X X
Te 2 Te 0 Te
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.
Fig. 3.19 Effet spectral du sur-chantillonnage par insertion de zros (exemple : k=4)
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.
H ( j ) (dB)
0
-Ap
-As
(rad/s)
c e/2 s
16 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES
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
argument commercial.
18 ANALYSE FREQUENTIELLE DES SIGNAUX ET SYSTEMES NUMERIQUES
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 .
"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
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
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
La reconstruction du signal original est alors possible (Fig. 3.30 et Fig. 3.31).
x(n)
+
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
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 )
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 )
Exercices
Exercice 3.1
Soit x(t) la rponse impulsionnelle du quadriple ci-dessous :
1M
1F
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.
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
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)
(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.
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
Exercice 3.7
Le module du spectre dun signal temps continu x(t) est reprsent ci-dessous.
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.
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 :
Solution
1 sin(f ) 1 k
Xs ( f ) Xc ( f ) ( f )
f T k T
CHAPITRE 4
TRANSFORMEE DE FOURIER
DISCRETE
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
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
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)
X1w1
w1
w0 X0w0
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
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
( 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
0.5
-0.5
-1
1 2 3 4 5 6 7 8
0
1 2 3 4 5 6 7 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)
T0|X + (F)|
|X +(F)|
F
-1 0 1
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
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
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
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 )
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.
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
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).
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)|
|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
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
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
1/2 |sinc(f)/T0|
rectT0(t)
1
t f
-1/2 1/2 2 0 1 2 3
On retrouve bien ici les raies attendues, avec une amplitude multiplie par le nombe N
dchantillons retenus (ici 60).
triT0(t)
1/2 |sinc(f)/2|
1
t f
-1 1 0 1 2 3
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
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)|');
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]
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.
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
n 0
(4.22)
x ( n)
X N (0) kX (0) avec k n 0
(4.23)
x ( n)
n
|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
rect(f)
sinc(t)
1 1
t f
-2 - 2 -1/2 1/2
Exemple 4.12
2
H ( p) 2 avec 2 1000 2 5 (4.24)
p 2 p 2
26 TRANSFORMEE DE FOURIER DISCRETE
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
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
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
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
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
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)
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
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
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
Exemple 4.17
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
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
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.
Exemple 4.19
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
x(n) Compltion
FFT
par des zros
y(n)
x IFFT
h(n) Compltion
par des zros FFT
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
Exemple 4.20
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
Exercice 4.2
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
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
x
FX ( x) p
X ( )d (5.2)
FX(x)
PX(x)
1
x
x 0 x
mx
X 2 E[( X mX )2 ] (x m
X ) 2 p X ( x)dx (5.4)
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
pX(x)
1/q
x
-q/2 q/2
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 :
80
60
40
20
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
1 ( x m)2
p X ( x) exp (5.12)
2 2 2
PX(x)
x
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 :
2000
1500
1000
500
0
-30 -20 -10 0 10 20 30 40 50
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
3 Ce qui revient dire, vu (5.10), que la convolution dun grand nombre de fonctions de densits
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)
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)
p X (t1 ) ( x) p X (t1 ) ( x) p X ( x)
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-
XX ( ) XX * ( ) (5.18)
X | mX |2
2
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)
SXX(f)
XX(t)
x(t) X
X
X t t f
0
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.
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
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
(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
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
( 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
( 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.
p X ( k ) ( x)
Fig. 5.15 Pour k fix, les chantillons x(k) sont des tirages dune variable
alatoire X(k)
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
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
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)
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
Les fonctions Matlab dj mentionnes pour le tirage des variables alatoires sont donc
directement utilisables pour produire les bruits blancs correspondants.
0.8
0.6
0.4
0.2
0
0 50 100 150 200 250 300
-2
-4
0 50 100 150 200 250 300
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
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.
fe
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
e(n)
x(n) xq(n)
Quantificateur
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
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)
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
SHH ( F ) H (F )H * (F ) H (F )
2
(5.51)
SYY ( F ) H ( F ) S XX ( F )
2
(5.52)
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
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.
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):
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
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
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
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)
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');
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) :
N 1
S XX ( F )
k ( N 1)
XX (k )e jk avec 2 F (5.73)
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)
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
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.
8 On spcifie ici, comme expliqu plus haut, Fe=2. Il faudra donc interprter l'axe des frquences
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
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
-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)
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
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
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.
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
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
variance=sum(x.*x)/length(x)
variance = 50.0584
variance=sum(pwelch(x,[],[],128,2))/128*2
variance = 49.9994
x=10*randn(1,512)+10*cos(2*pi*1/10*(0 :511));
% 512 chantillons dun bruit blanc gaussien (0,10) + cisoide
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).
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.
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
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 )
Puissanceprofesseur
10 log RSB 10 log 1.75 dB
Puissancetudiants
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)
d)
-13 dB
e)
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
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
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
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
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 +
b 2=
1-
(Z)
p1
Z0
p2
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( )
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 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
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
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
A()
fc/2 f
P ( z) i
H ( z) i
(6.21)
1 B j ( z)
j
Le choix d'une structure ou d'une autre est pratique dict par un critre de bruit
de calcul (voir 6.2.4).
N ( p)
H a ( p) (6.22)
D( p )
SYNTHESE DES FILTRES NUMERIQUES 9
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.
A
H a ( p) (6.26)
pa
Sa rponse impulsionnelle est donne par :
ha (t ) Aeat (6.27)
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
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
stem(0:1/Fe:49/Fe, Fe*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
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)
p j z e j (6.33)
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) :
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
2
tg 2
Te
Af (dB)
( FILTREANALOGIQ UE
)
Af ( dB)
( FILTRE
NUMERIQUE)
0 c s
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);
hold on;
stem(0:1/Fe:49/Fe, Fe*h,'r.')
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!
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)
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);
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.
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
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)
de sorte que:
H1 ( ) H 2 *( ) (6.44)
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)
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).