Anda di halaman 1dari 215

Traitement Numrique du Signal

lectronique et Informatique Industrielle 2nde anne - EII2

Olivier SENTIEYS
ENSSAT - Universit de Rennes 1

15 septembre 2003

Tlphone : 02-96-46-66-41
Tlcopie : 02-96-46-66-75
sentieys@enssat.fr
http ://www.irisa.fr/R2D2

ENSSAT
6 Rue de Kerampont - BP 447
22305 LANNION - France

IRISA ENSSAT
Institut de Recherche en Informatique et Systmes Alatoires
cole Nationale Suprieure de Sciences Appliques et de Technologie
Technople Anticipa Lannion

ENSSAT
ENSSAT

ii

Table des matires


Introduction
Remarques sur la notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de Matlab et Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 Signaux et Systmes
1.1 Systme numrique de traitement du signal . . . .
1.2 Classification des signaux . . . . . . . . . . . . . .
1.2.1 Dimensionnalit . . . . . . . . . . . . . . .
1.2.2 Caractristiques temporelles . . . . . . . . .
1.2.3 Valeurs prises par le signal . . . . . . . . .
1.2.4 Prdictibilit des signaux . . . . . . . . . .
1.3 Reprsentation des signaux et systmes numriques
1.3.1 Les signaux temps discret . . . . . . . . .
1.3.2 Les systmes temps discret . . . . . . . .
1.4 Analyse des Systmes Linaires Invariants . . . . .
1.4.1 Reprsentation dun signal . . . . . . . . .
1.4.2 Systme Linaire Invariant . . . . . . . . .
1.4.3 Exemple de convolution . . . . . . . . . . .
1.4.4 Stabilit . . . . . . . . . . . . . . . . . . .
1.4.5 Causalit . . . . . . . . . . . . . . . . . . .
1.4.6 Equation aux diffrences finies . . . . . . .
1.5 Reprsentation frquentielle . . . . . . . . . . . . .
2 Transformation en Z
2.1 Dfinition de la transforme en Z . . . .
2.1.1 Exemples de transforme . . . .
2.1.2 Description gnrale dune rgion
2.2 Proprits de la transforme en z . . . .
2.2.1 Linarit . . . . . . . . . . . . .
2.2.2 Dcalage temporel . . . . . . . .
2.2.3 Facteur dchelle en z . . . . . .
2.2.4 Inversion de laxe temporel . . .
2.2.5 Drivation dans lespace en z . .
2.2.6 Convolution . . . . . . . . . . .
2.3 Transformes en Z rationnelles . . . . .
2.3.1 Dfinition des ples et des zros
1

1
2
2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3
3
4
4
5
5
5
5
5
7
7
8
9
9
11
12
12
13

. . . . . . . . .
. . . . . . . . .
de convergence
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

15
15
15
16
17
17
18
18
18
19
19
20
20

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2.4

2.5

2.6
2.7
2.8

2.3.2 Fonction de transfert dun systme linaire invariant . . .


Transforme en Z inverse . . . . . . . . . . . . . . . . . . . . .
2.4.1 Transforme inverse par intgration . . . . . . . . . . . .
2.4.2 Transforme inverse par dveloppement en puissance . .
2.4.3 Transforme inverse par dveloppement fractionnaire . .
Analyse des Systmes LI par la transforme en Z . . . . . . . .
2.5.1 Rponse dun systme dcrit par une fonction rationnelle
2.5.2 Rgimes transitoires et permanents . . . . . . . . . . . .
Causalit et Stabilit . . . . . . . . . . . . . . . . . . . . . . . .
Dtermination du module et de la phase du systme . . . . . . .
Transformes en z de fonctions usuelles . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

21
22
23
23
23
24
24
25
25
26
26

3 chantillonnage et reconstruction des signaux


29
3.1 chantillonnage idal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Exemple pratique dchantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 La Transforme de Fourier Discrte
4.1 Rappels sur les signaux continus . . . . . . . .
4.2 Rappels sur les signaux discrets non priodiques
4.3 Signaux discrets priodiques . . . . . . . . . . .
4.4 Proprits de la transformes de Fourier . . . .
4.5 chantillonnage du domaine Frquentiel . . . .
4.6 Transforme de Fourier Discrte . . . . . . . . .
4.7 Convolution linaire . . . . . . . . . . . . . . .
4.7.1 Convolution priodique . . . . . . . . .
4.7.2 Convolution circulaire . . . . . . . . . .
4.7.3 Convolution linaire utilisant la TFD . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

35
35
36
36
36
37
40
42
42
43
44

5 Transforme de Fourier Rapide


5.1 Naissance de la TFR . . . . . . . . . . . . . . . . . . . . . . . .
5.2 TFR partage dans le temps (DIT) . . . . . . . . . . . . . . . .
5.3 TFR partage dans les frquences (DIF) . . . . . . . . . . . . .
5.4 Autres graphes de la TFR . . . . . . . . . . . . . . . . . . . . .
5.5 Annexes au chapitre sur la TFR . . . . . . . . . . . . . . . . . .
5.5.1 Graphe dune TFR DIT radix 2 sur 16 points . . . . . . .
5.5.2 Graphe dune TFR DIF radix 2 sur 16 points . . . . . . .
5.5.3 Graphe dune TFR gomtrie constante sur 16 points .
5.5.4 Graphe dune TFR DIF radix 4 sur 16 points . . . . . . .
5.5.5 Algorithme DIF de la TFR radix 2 sur I points complexes

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

45
45
46
49
50
52
52
53
54
55
56

.
.
.
.
.
.

59
59
60
62
63
63
64

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

6 Filtrage numrique
6.1 Introduction au filtrage numrique . . . . . . . . . . . . . . . . .
6.2 Reprsentation dun filtre numrique . . . . . . . . . . . . . . . .
6.3 Spcification dun filtre numrique . . . . . . . . . . . . . . . . .
6.3.1 Spcifications des filtres passe-bas et passe-haut . . . . . .
6.3.2 Spcifications des filtres passe-bande et rjecteur-de-bande
6.4 Classification des filtres numriques . . . . . . . . . . . . . . . . .
2

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

64
65
66
66
66
68

7 Effets de la quantification en traitement numrique du signal


7.1 Les diffrents types de codage . . . . . . . . . . . . . . . . . . . . . .
7.1.1 Rappels sur le codage dun entier . . . . . . . . . . . . . . . .
7.1.2 Codage virgule fixe . . . . . . . . . . . . . . . . . . . . . . .
7.1.3 Codage virgule flottante . . . . . . . . . . . . . . . . . . . . .
7.2 Dfinition des rgles de larithmtique virgule fixe . . . . . . . . . . .
7.2.1 Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Processus de codage : lois de quantification et de dpassement . . . .
7.3.1 Lois de dpassement . . . . . . . . . . . . . . . . . . . . . . .
7.3.2 Lois de quantification . . . . . . . . . . . . . . . . . . . . . .
7.4 Modlisation du processus de quantification . . . . . . . . . . . . . .
7.4.1 Mthode de Widrow . . . . . . . . . . . . . . . . . . . . . . .
7.4.2 Mthode de Sripad et Snyder . . . . . . . . . . . . . . . . . .
7.4.3 Extension la quantification par troncature . . . . . . . . . .
7.4.4 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.5 Rsum sur la modlisation du processus de quantification . .
7.5 Modlisation du bruit dune conversion analogique . . . . . . . . . . .
7.6 Filtrage dun bruit de quantification . . . . . . . . . . . . . . . . . . .
7.7 Modlisation du bruit de calcul au niveau des oprateurs . . . . . . .
7.7.1 Modlisation du bruit gnr . . . . . . . . . . . . . . . . . .
7.7.2 Simulation du bruit gnr . . . . . . . . . . . . . . . . . . .
7.7.3 Modlisation du bruit propag . . . . . . . . . . . . . . . . .
7.8 Comparaison des codages en virgule fixe et en virgule flottante . . . .
7.8.1 Analyse de la dynamique . . . . . . . . . . . . . . . . . . . .
7.8.2 Analyse du RSB . . . . . . . . . . . . . . . . . . . . . . . . .
7.9 Effets de la quantification sur des applications de traitement du signal
7.9.1 Filtrage RIF . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.9.2 Filtrage RII du premier ordre . . . . . . . . . . . . . . . . . .
7.9.3 Filtrage RII du second ordre . . . . . . . . . . . . . . . . . . .
7.9.4 Filtrage RII en cascade . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

71
72
72
72
74
76
76
77
77
78
78
79
80
82
85
86
87
88
88
89
89
93
94
96
96
97
99
99
100
100
100

.
.
.
.
.
.

101
. 101
. 101
. 101
. 105
. 106
. 108

6.5
6.6

6.4.1 Filtres rcursifs RII . . . . . . . .


6.4.2 Filtres non rcursifs RIF . . . . . .
Analyse frquentielle des filtres numriques
Structures des filtres RII et RIF . . . . . .
6.6.1 Structure des filtres RIF . . . . . .
6.6.2 Structure des filtres RII . . . . . .

.
.
.
.
.
.

8 Synthse des filtres RII


8.1 Introduction et rappels en filtrage analogique
8.1.1 Introduction . . . . . . . . . . . . .
8.1.2 Rappels en filtrage analogique . . . .
8.2 Mthode de linvariance impulsionnelle . . .
8.3 Transformation dEuler . . . . . . . . . . .
8.4 Transformation bilinaire . . . . . . . . . .
3

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

9 Synthse des filtres RIF


9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
9.2 Filtres phase linaire . . . . . . . . . . . . . . . . . .
9.2.1 Filtre RIF phase linaire de type I . . . . . . .
9.2.2 Filtre RIF phase linaire de type II . . . . . .
9.2.3 Filtre RIF phase linaire de type III . . . . . .
9.2.4 Filtre RIF phase linaire de type IV . . . . . .
9.3 Mthode de synthse par fentrage . . . . . . . . . . .
9.3.1 Caractristiques des principales fentres . . . .
9.3.2 Choix de la fentre dans la mthode de synthse
9.4 Mthode de synthse par chantillonnage en frquence

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

113
. 113
. 113
. 115
. 115
. 116
. 116
. 118
. 120
. 121
. 123

10 Analyse spectrale de signaux numriques


10.1 Introduction . . . . . . . . . . . . . . . . . . . .
10.2 Troncature dun signal discrtis . . . . . . . . .
10.2.1 Opration dans le domaine temporel . . .
10.2.2 Consquences dans le domaine frquentiel
10.3 Analyse spectrale par TFD . . . . . . . . . . . .
10.4 Zro-Padding . . . . . . . . . . . . . . . . . . .
10.5 Paramtres dune analyse spectrale . . . . . . . .
10.6 Conclusion (mthodologie) . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

11 Systmes multi-cadences
11.1 Rduction de la frquence dchantillonnage . . . . . . . . . . . . . . . . . . .
11.2 Augmentation de la frquence dchantillonnage . . . . . . . . . . . . . . . . .
11.2.1 lvateur de frquence dchantillonnage . . . . . . . . . . . . . . . . .
11.2.2 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.3 Multiplication de la frquence dchantillonnage par un facteur rationnel

.
.
.
.
.

135
. 135
. 136
. 138
. 139
. 139

12 Travaux Dirigs en Traitement Numrique du Signal


12.1 Echantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . .
12.1.1 Chane de TNS . . . . . . . . . . . . . . . . . . . . . .
12.1.2 chantillonnage dun signal . . . . . . . . . . . . . . . .
12.2 Analyse des filtres numriques . . . . . . . . . . . . . . . . . . .
12.2.1 Cellule lmentaire du premier ordre RII . . . . . . . . .
12.2.2 Cellule du second ordre RII purement rcursive . . . . . .
12.2.3 Analyse dun filtre numrique RIF . . . . . . . . . . . . .
12.2.4 Filtrage numrique RIF (1) . . . . . . . . . . . . . . . .
12.2.5 Filtrage numrique RIF (2) . . . . . . . . . . . . . . . .
12.2.6 Filtrage numrique RIF cascade . . . . . . . . . . . . . .
12.2.7 tude des bruits de calcul dans les filtres numriques RII
12.3 Synthse des filtres RII . . . . . . . . . . . . . . . . . . . . . .
12.3.1 Filtre passe bas du deuxime ordre . . . . . . . . . . . .
12.3.2 Filtre passe haut . . . . . . . . . . . . . . . . . . . . . .
12.4 Synthse des filtres RIF . . . . . . . . . . . . . . . . . . . . . .
12.4.1 Mthode du fentrage (2 heures) . . . . . . . . . . . . .
12.4.2 Mthode de lchantillonnage frquentiel . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

125
125
125
125
126
126
128
129
132

141
141
141
142
143
143
143
143
145
145
145
147
149
149
150
150
150
151

12.5 Transforme de Fourier Discrte et Rapide (TFD et TFR) . . . . . . . . .


12.5.1 TFD bidimensionnele . . . . . . . . . . . . . . . . . . . . . . . .
12.5.2 Transforme de Fourier Glissante . . . . . . . . . . . . . . . . . .
12.5.3 Transforme de Fourier en Base 4 . . . . . . . . . . . . . . . . .
12.5.4 Optimisation du calcul de la TFR dune suite de nombres rels . .
12.5.5 Optimisation du calcul de la TFR de deux suites de nombres rels
12.5.6 Comparaison entre TFTD et TFD . . . . . . . . . . . . . . . . .
12.5.7 TFD par convolution . . . . . . . . . . . . . . . . . . . . . . . .
12.5.8 Bruits dans la TFD . . . . . . . . . . . . . . . . . . . . . . . . .
12.5.9 tude des bruits de calcul dans la transforme de Fourier Rapide .
12.5.10 Calculs de TFD . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.5.11 Transforme en cosinus discret rapide . . . . . . . . . . . . . . . .
12.6 Analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.6.1 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.6.2 Analyse spectrale dun signal sinusodal . . . . . . . . . . . . . . .
12.6.3 Analyse spectrale dun signal . . . . . . . . . . . . . . . . . . . .
12.7 Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.7.1 Calcul dune convolution . . . . . . . . . . . . . . . . . . . . . .
12.7.2 Complexit de calcul dune convolution . . . . . . . . . . . . . . .
12.8 Interpolation et dcimation . . . . . . . . . . . . . . . . . . . . . . . . .
12.8.1 Interpolation linaire . . . . . . . . . . . . . . . . . . . . . . . . .
12.8.2 Surchantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

153
153
153
153
153
154
154
155
155
156
157
157
159
159
159
159
159
159
160
160
160
160

13 Corrections des Travaux Dirigs en TNS


13.1 Corrigs des TD sur lchantillonnage . . . . . . . . . . . . . . . . . . . .
13.1.1 Chane de TNS . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.1.2 chantillonnage dun signal . . . . . . . . . . . . . . . . . . . . .
13.2 Analyse des filtres numriques . . . . . . . . . . . . . . . . . . . . . . . .
13.2.1 Cellule lmentaire du premier ordre RII . . . . . . . . . . . . . .
13.2.2 Cellule du second ordre RII purement rcursive . . . . . . . . . . .
13.2.3 Analyse dun filtre numrique RIF . . . . . . . . . . . . . . . . . .
13.2.4 Filtrage numrique RIF (1) . . . . . . . . . . . . . . . . . . . . .
13.2.5 Filtrage numrique RIF (2) . . . . . . . . . . . . . . . . . . . . .
13.2.6 Filtrage Numrique RIF cascade . . . . . . . . . . . . . . . . . .
13.2.7 tude des bruits de calcul dans les filtres numriques RII . . . . .
13.3 Synthse des filtres RII . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.3.1 Filtre passe bas du deuxime ordre . . . . . . . . . . . . . . . . .
13.3.2 Filtre passe haut . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.4 Synthse des filtres RIF . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.4.1 Mthode du fentrage . . . . . . . . . . . . . . . . . . . . . . . .
13.4.2 Mthode de lchantillonnage frquentiel . . . . . . . . . . . . . .
13.5 Transforme de Fourier Discrte et Rapide (TFD et TFR) . . . . . . . . .
13.5.1 TFD bi-dimensionnelle . . . . . . . . . . . . . . . . . . . . . . . .
13.5.2 Transforme de Fourier Glissante . . . . . . . . . . . . . . . . . .
13.5.3 Transforme de Fourier en Base 4 . . . . . . . . . . . . . . . . .
13.5.4 Optimisation du calcul de la TFR dune suite de nombres rels . .
13.5.5 Optimisation du calcul de la TFR de deux suites de nombres rels

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

161
161
161
161
163
163
163
163
167
167
169
172
172
172
172
172
172
173
175
175
175
175
175
175

6
13.5.6 Comparaison TFTD et TFD . . . . . . . . . . . . . . . . . . .
13.5.7 TFD par convolution . . . . . . . . . . . . . . . . . . . . . . .
13.5.8 Bruits dans la TFD . . . . . . . . . . . . . . . . . . . . . . . .
13.5.9 tude des bruits de calcul dans la transforme de Fourier Rapide
13.5.10 Calculs de TFD . . . . . . . . . . . . . . . . . . . . . . . . . .
13.5.11 Transforme en Cosinus Rapide . . . . . . . . . . . . . . . . . .
13.6 Analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.6.1 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.6.2 Analyse spectrale dun signal sinusodal . . . . . . . . . . . . . .
13.6.3 Analyse spectrale dun signal . . . . . . . . . . . . . . . . . . .
13.7 Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.7.1 Calcul dune convolution . . . . . . . . . . . . . . . . . . . . .
13.7.2 Complexit de calcul dune convolution . . . . . . . . . . . . . .
13.8 Interpolation et dcimation . . . . . . . . . . . . . . . . . . . . . . . .
13.8.1 Interpolation linaire . . . . . . . . . . . . . . . . . . . . . . . .
13.8.2 Surchantillonnage . . . . . . . . . . . . . . . . . . . . . . . . .
A Examens
A.1 DS novembre 2001
A.2 DS dcembre 2000 .
A.3 DS janvier 2000 . .
A.4 DS mars 1999 . . .
A.5 Correction du DS de
A.6 Correction du DS de
A.7 Correction du DS de
A.8 Correction du DS de

. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
novembre 2001
dcembre 2000
janvier 2000 . .
mars 1999 . . .

B Abaques de filtrage analogique

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

176
177
177
178
179
180
182
182
183
183
183
183
183
183
183
183

.
.
.
.
.
.
.
.

187
. 188
. 191
. 194
. 196
. 198
. 200
. 202
. 203
207

Introduction
Le traitement numrique du signal est une notion quil nest pas facile de dfinir simplement
tant donn le nombre important dapplications relevant de cette discipline. En premire
approximation, on peut tout dabord tenter dexpliciter chacun des mots de cette expression.
Traitement signifie que lon est en prsence dun processus de squencement doprations
programmes. Une squence doprations sapplique ici une suite de donnes Numriques
qui vont reprsenter sous une forme discrte un paramtre variable, ou Signal, qui le plus
souvent est extrieur au processus de traitement.
Il sagit donc dappliquer un traitement ou une analyse de linformation une squence de
nombres discrets qui reprsente un signal provenant pour la majorit des applications du
monde physique qui nous entoure.
Le traitement numrique dun signal ncessite un support matriel permettant deffectuer
le traitement de linformation, ce peut-tre du matriel lectronique spcifique une tche
particulire ou du matriel moins spcialis comme peut-ltre un ordinateur.
Il faut pouvoir communiquer entre le monde physique extrieur et le processus par lequel
seffectue le traitement ; le signal extrieur, sil est dfini sur un support continu, doit tre
reprsent sous une forme discrte. Cela veut dire que lon accepte de perdre de linformation :
entre deux valeurs conscutives et discrtes du signal nous faisons lhypothse de ne disposer
daucune autre information. Nous verrons quune analyse du problme traiter permet de
dfinir correctement ce qui est conserv ou non dans la forme numrique dun signal.
Il faut bien sr dfinir la squence des oprations qui transforme le signal numrique. Cette
opration correspond un objectif de traitement bien prcis, par exemple supprimer lcho
des lignes tlphoniques, reconnatre une signature radar, etc...
Le dveloppement de llectronique permit le traitement du signal analogique ; un signal lectronique analogique suit continuement le signal physique qui lui est reli via un capteur. Cest
le dveloppement des calculateurs numriques qui a conduit lessor du traitement numrique
du signal. Cest en effet une approche souple - les traitements correspondent des logiciels, les
supports matriels sont polyvalents -, les tats discrets dun calculateur sont stables - ce nest
en effet pas le cas des systmes analogiques fortement sensibles aux drives dues par exemple
aux conditions de temprature ou aux problmes de vieillissement -. Cependant, lapproche
numrique peut se rvler parfois complexe pour des applications trs simples. La quantit
dinformation pouvant tre traite est corrle la vitesse de calcul ; la ralisation dun traitement sous forme analogique ira toujours plus vite que par une forme numrique avec un
calculateur et du logiciel.
1

Introduction

Remarques sur la notation


Dans la suite du document, on notera par f la frquence en Hz, fe la frquence dchantillonnage, T la priode dchantillonnage et = 2f la pulsation en rad/s. Pour des raisons
de simplicit dexpression, on peut faire abstraction de T si on sait que toutes les grandeurs
utilises seront relatives T ou fe .
Pour ces raisons, on peut utiliser dans le domaine frquentiel, la variable = 2f.T = 2f /fe
appele pulsation relative. Un filtre numrique exprim selon la variable (ou un signal
discret) sera donc priodique de priode 2 (cest dire fe ) (voir figure 6.7) et son gabarit
sera dfini entre 0 et (cest dire entre 0 et fe /2).

Utilisation de Matlab et Scilab


Matlab, Acronyme de Matrix Laboratory, est un environnement logiciel interactif puissant
ddi au calcul numrique et la visualisation ; il est trs utilis dans les divers domaines des
sciences pour lingnieur, tant pour lanalyse que la conception. Il existe galement un nombre
important de toolboxes qui tendent les possibilits de Matlab divers domaines spcialiss au
moyen de fonctions supplmentaires : traitement du signal, automatique, traitement dimages,
optimisation, rseaux de neurones, logique floue etc... Il faut considrer Matlab comme tant
avant tout un outil de calcul matriciel.
Scilab (http ://www-rocq.inria.fr/scilab) est un quivalent libre de droit de Matlab qui se
rvle donc intressant si on ne possde pas de licence Matlab. Mme si elle est proche dans
sa philosophie, la syntaxe des commandes pour lutilisation de Scilab nest pas totalement
compatible avec Matlab.
La plupart des exemples ou figures utiliss ont t raliss sous Matlab ou Scilab et seront illustrs sous Matlab travers des exemple au cours du document afin deffectuer lapprentissage
de ce type de logiciel, aujourdhui indispensable pour tout traiteur de signaux.

Remerciements
Merci Michel Corazza, Daniel Mnard, Herv Chuberre et Olivier Boffard pour leur aide
dans llaboration de ce document.

Chapitre 1

Signaux et Systmes
Un signal est une quantit physique mesurable qui volue en fonction dune ou de plusieurs
variables comme par exemple le temps ou des variables despace. Souvent on rferre un signal
la reprsentation mathmatique de la quantit physique observe. Un signal correspond le plus
souvent une modlisation du comportement de la quantit physique observable. Cependant,
il peut tre extrmement difficile dobtenir une forme mathmatique simple et concise pour
un signal donn.
Un systme est une entit physique qui ralise une opration sur un signal. Un systme dfinit
donc un signal dentre et un signal de sortie ; le signal de sortie correspond la transformation
opre par le systme sur le signal dentre. Par exemple, loreille humaine est un systme
transformant un signal correspondant une variation de pression acoustique en des squences
parallles de signaux lectriques sur le nerf auditif. Un microphone est un systme un peu
analogue au prcdent (en premire approximation trs rductrice...) dans la mesure o une
variation de pression acoustique est transforme en un signal lectrique monodimensionnel.
Ltude de tels systmes conduit analyser les transformations entre signaux dentre et de
sortie pour des systmes plus ou moins complexes ; cette activit est appele traitement du
signal. On ne parlera ici que du traitement des signaux numriques.

1.1

Systme numrique de traitement du signal

Historiquement, le traitement du signal tel que dfini dans lintroduction prcdente fut
dabord de type analogique. En pratique, les signaux manipuls taient des tensions ou des
courants.
Un systme numrique de traitement du signal peut vivre dans un monde purement numrique.
Par exemple, la cotation des valeurs dune bourse peut tre vue comme un ensemble de signaux
numriques.
Cependant la majorit des oprations en traitement du signal ont lieu sur des signaux analogiques, quil faut donc convertir sous une forme numrique pour que lon puisse leur appliquer
des oprations numriques. Dans la majorit des cas, il est tout aussi indispensable de convertir
le signal numrique dun traitement numrique en un signal analogique.
Ces oprations de conversion analogique/numrique, A/N, et numrique/analogique, N/A,
sont les interfaces entre un monde physique et le monde du calculateur o sexcutent les
algorithmes de traitement du signal. Dans la chane du traitement du signal, ces interfaces
de conversions sont le talon dAchille de ces systmes ; elles limitent la vitesse et la prcision
3

Signaux et Systmes

des systmes de traitement. La dfinition technologique dune interface de conversion A/N et


N/A est toujours un compromis cot performance.
Hormis la difficult du passage analogique/numrique, les systmes TNS ont de srieux avantages sur leurs quivalents analogiques.
Flexibilit, utilisation dalgorithmes sur des calculateurs.
Prcision et consistence des calculs numriques comparer aux drives des systmes analogiques (tolrance des composants).
Capacit de stockage, transmission sans altration du signal.

1.2

Classification des signaux

On rappelle quun signal est une fonction dpendant dune ou de plusieurs variables. Par
exemple soit le signal : s(t), s est une quantit dpendant dun paramtre t (par convention,
on utilisera la lettre t pour la variable temps).
Un signal peut tre class selon diffrents critres : sa dimensionnalit, ses caractristiques
temporelles, les valeurs quil peut prendre, sa prdictibilit.

1.2.1

Dimensionnalit

On peut tenir compte de ce critre de deux manires diffrentes : la dimension du signal et les
dimensions des variables du signal.
Considrons tout dabord ce critre de classification comme tant la dimension de lespace des
valeurs prises par le signal (ou la fonction mathmatique modlisant le signal).
On distingue alors :
le signal scalaire, ou signal monocanal pouvant prendre des valeurs relles ou complexes.
le signal vectoriel, ou signal multicanal pouvant prendre des valeurs relles ou complexes.
Prenons par exemple un signal de Tlvision (TV). Si on sintrresse aux trois couleurs
constituant une image, ce signal TV prend des valeurs dans un espace trois dimensions,
une premire pour le rouge, une seconde pour le vert et enfin une troisime pour le bleu ;
[R, V, B] = T V (t).
Par contre, si on sinterresse maintenant la luminance, ce signal prend ses valeurs dans un
espace une dimension ; [L] = T V (t).
On peut aussi considrer ce critre de classification comme la dimension du domaine de la
fonction signal, cest--dire, le nombre darguments pris par cette fonction.
On distingue alors :
Le signal mono-dimensionnel qui correspond des fonctions un seul argument, comme
par exemple le temps.
Le signal multi-dimensionnel qui correspond des fonctions plusieurs arguments.
Le signal TV correspondant la luminance peut tre fonction du temps mais aussi des variables cartsiennes correspondant un point de lcran ; [I] = T V (t, x, y). Il sagit dun signal
tridimensionnel.
Les signaux abords dans ce cours seront mono-dimensionnels fonction dune variable que lon
considrera comme le temps. Toutes les techniques de traitement du signal se gnralisent assez
bien aux signaux vectoriels et multidimensionnels (voir le cours sur le traitement dimages).

1.3 Reprsentation des signaux et systmes numriques

1.2.2

Caractristiques temporelles

On suppose un signal scalaire s(t). On distingue alors :


Les signaux temps continu ou signaux analogiques. La variable t R. On notera un signal
analogique de la faon suivante : sa (t).
Les signaux temps discret : ces signaux sont dfinis pour certaines valeurs de la variable
t.
On peut reprsenter un signal temps discret par une squence indice de la variable t :
tn ,

n = 0, 2, 1, 0, 1, 2,

tn prcise un instant pour lequel le signal est dfini. Attention, cela ne veut pas dire que le
signal est nul entre deux instants ; il nest tout simplement pas dfini.
On sintressera ici une rpartition uniforme des instants tn que lon peut noter tn = nT o
T est lespace temporel entre deux chantillons conscutifs. On peut alors employer s(n) ou
sn comme notation simplifie.
On a alors les relations suivantes :
sn = s(n) = sa (tn ) = sa (nT )

1.2.3

Valeurs prises par le signal

On suppose un signal scalaire s(t). On distingue alors :


Les signaux valeurs continues pouvant prendre une valeur relle dans un intervalle continue
(par exemple, une tension ou un courant lectrique).
Les signaux valeurs discrtes prenant seulement des valeurs parmi un ensemble fini de
valeurs possibles.
Un signal numrique est un signal temps discret et valeurs discrtes. Lopration
de discrtisation des valeurs continues dun signal en valeurs discrtes est une quantification,
note q par la suite.
Soit par exemple une convertisseur Analogique/Numrique traitant des mots de 8 bits ; un
signal quantifi par ce convertisseur prendra une valeur discrte parmi 256 possibles.

1.2.4

Prdictibilit des signaux

On peut distinguer deux grandes classes de signaux selon leur caractre de prdictibilit.
Les signaux dterministes qui peuvent tre reprsents explicitement par une fonction mathmatique.
Les signaux alatoires qui voluent dans le temps dune manire imprdictible. Il est cependant possible de dcrire mathmatiquement certaines caractristiques statistiques de ces
signaux.
On sintressera dans ce cours essentiellement aux signaux dterministes.

1.3
1.3.1

Reprsentation des signaux et systmes numriques


Les signaux temps discret

On sintresse ici un signal scalaire monodimensionnel prenant des valeurs continues : s(n).
Le signal s prend ses valeurs dans R ou C, la variable n, quon peut supposer tre le temps,
dans N.

Signaux et Systmes

Le signal s(n) est par dfinition une squence de valeurs sn . s(n) nest pas dfini pour des
valeurs de n non entires. On appelle s(n) le nime chantillon de ce signal.
Quelques signaux lmentaires sont utiles pour ltude des proprits des systmes de traitement du signal : limpulsion unit et lchelon unit.
1.3.1.1

Limpulsion unit

Il sagit dun signal not (n) tel que :

(n) =

1 si n = 0
0 sinon

Exemple 1.3.1 : Pour crer une impulsion sous Matlab, il faut tout dabord dcider
de la longueur de ce signal. Le programme Matlab suivant va crer un signal impulsion
de longueur L = 32.
L = 31;
nn = 0:(L-1);
imp = zeros(L,1);
imp(1) = 1;
stem(nn,imp);
%Trace le signal imp
Notons que les indices Matlab vont de 1 L. Par consquent, (0) correspond
imp(1).
1.3.1.2

Lchelon unit

Il sagit dun signal que lon notera u(n) tel que :

1 si n 0
u(n) =
0 si n < 0
La fonction Matlab quivalente est : u = ones(L,1) ;
1.3.1.3

Caractristiques

On dfinit lnergie E dun signal temps discret de la manire suivante :


E,

|s(n)|2

n=

La puissance moyenne P dun signal s(n) est dfinie comme :


N
X
1
P , lim
|s(n)|2
N 2N + 1
n=N

Si lnergie E est finie alors s(n) est un signal dnergie finie et P = 0. Si E est infinie alors P
peut tre soit finie ou infinie, si P est finie et non nulle alors s(n) est un signal de puissance
finie .

1.4 Analyse des Systmes Linaires Invariants

Par exemple un signal continu est un signal dnergie infinie (E = ) mais de puissance finie,
si a est lamplitude du signal, P = a2 .
Un signal s(n) est priodique de priode P si et seulement si s(n + P ) = s(n) n sinon s(n)
est apriodique.
Un signal s(n) est symtrique ou pair si et seulement si s(n) = s(n). Un signal s(n) est
antisymtrique ou impair si et seulement si s(n) = s(n). Tout signal peut se dcomposer
comme la somme dun signal pair et dun signal impair.

1.3.2

Les systmes temps discret

Un systme temps discret est un systme qui transforme un signal dentre temps discret,
appel signal dexcitation, en un signal de sortie temps discret, appel signal de rponse.
Un signal dentre e(n) est transform en un signal de sortie s(n) :
s(.) = T [e(.)]
Il faut comprendre la notation prcdente comme la transformation de la squence complte
e(n). On distingue les systmes temps discret sans effet de mmoire et les systmes dynamiques. Un systme temps discret sans effet de mmoire est un systme pour lequel un
chantillon de sortie dinstant n ne dpend que de lchantillon dentre du mme instant.
Dans tous les autres cas, il y a un effet de mmoire et le systme est dit dynamique.
Les systmes pour lesquels le comportement entre le signal dentre et le signal de sortie
nvolue pas en fonction du temps sont faciles analyser. Un systme est dit invariant en
temps (ou au dcalage) si et seulement si :
T

e(n)
s(n)

e(n k)
s(n k) e(.),

k (N )

Un systme est linaire si et seulement si :


T [a e1 (n) + b e2 (n)] = a T [e1 (n)] + b T [e2 (n)] e1 (.) e2 (.) (a, b)
Un systme linaire conserve donc loprateur daddition et de multiplication.
Un systme est causal si la sortie s(n) nimporte quel instant n dpend seulement des
chantillons passs et de lchantillon prsent du signal dentre.

1.4

Analyse des Systmes Linaires Invariants

Il sagit dune classe de systme largement utilise en traitement du signal. On suppose un


tel systme linaire, et invariant dans le temps. Lhypothse de linarit conduit au principe
de superposition d la conservation de loprateur daddition par la transformation ; cette
hypothse simplifie grandement les tudes analytiques des systmes numriques.
La stratgie gnrale danalyse dun systme linaire invariant est la suivante :
1. Dcomposition du signal dentre en une somme de signaux ou fonctions de base.
e(n) =

X
k

k ebk (n)

Signaux et Systmes
2. Etude de la rponse du systme pour lensemble des fonctions de base.
sbk (n) = T [ebk (n)]
3. Recomposition de la sortie en appliquant le principe de superposition.
s(n) =

k sbk (n)

Lintrt dune telle approche est de sappuyer sur un ensemble de fonctions de base possdant des caractristiques intressantes connues (fonction (n) et lexponentiel complexe par
exemple).

1.4.1

Reprsentation dun signal

Appliquons le premier point numr prcdemment en utilisant des signaux comme fonction
de base. Soit e(n) un signal numrique quelconque que lon cherche reprsenter uniquement
avec un ensemble de fonctions (n).
Dveloppons le signal e(n) :
e(n) = , e(2), e(1), e(0), e(1), e(2)
On rappelle que (n) vaut 1 si n = 0, 0 sinon ; une somme de fonction (n) qui ne se recouvre
pas sur le mme indice vaut soit 1, soit 0.
On peut donc crire :
..
.
. = ..
e(1) = + 0.e(2) + 1.e(1) + 0.e(0) + 0.e(1) + 0.e(2) +
e(0) = + 0.e(2) + 0.e(1) + 1.e(0) + 0.e(1) + 0.e(2) +
e(1) = + 0.e(2) + 0.e(1) + 0.e(0) + 1.e(1) + 0.e(2) +
..
.
. = ..

Le signal e(n) scrit alors :


e(n) =

+
X
k=

e(k)(n k)

1.4 Analyse des Systmes Linaires Invariants

1.4.2

Systme Linaire Invariant

Soit maintenant un systme linaire (SL) transformant un signal dentre e(n) en un signal
de sortie s(n) :
s(n) = T [e(n)]
+
X
s(n) = T [
e(k)(n k)]
k=

s(n) =

s(n) =

+
X
k=
+
X

T [e(k)(n k)]

e(k)T [(n k)]

k=

On pose :
hk (n) = T [(n k)]
En plus dtre linaire, si le systme est invariant, hk (n) ne dpend plus de k, donc :
h(n) = T [(n)]
Pour un systme linaire invariant (SLI), on obtient alors la relation suivante entre signal
dentre et de sortie :
+
X
e(k)h(n k)
s(n) =
k=

Un Systme Linaire Invariant est donc entirement caractris par sa rponse impulsionnelle
h(n).
Cette opration daccumulation de termes multiplicatifs porte le nom de convolution et se
note , on a :
s(n) = e(n) h(n)
Par un simple changement de variable sous le signe somme, il est simple de montrer quil sagit
dune opration commutative, on a :
s(n) = e(n) h(n) = h(n) e(n)

1.4.3

Exemple de convolution

Soit la rponse impulsionnelle h(n) dun systme linaire invariant telle que :
n
a si n 0
h(n) =
0 si n < 0
ou encore :
h(n) = an u(n)
Ce signal est reprsent en haut de la figure 1.1.
tudions la rponse dun tel systme lentre suivante :
e(n) = u(n) u(n N )pour N fix
On trouvera au milieu de la figure 1.1 une reprsentation de ce signal.
On peut distinguer 3 cas :

Signaux et Systmes

0.9

0.9

0.8

0.8

0.7

0.7

signal entre e(n)

reponse impulsionnelle h(n)

10

0.6
0.5
0.4

0.6
0.5
0.4

0.3

0.3

0.2

0.2

0.1
0
-30

0.1

-20

-10

0
indice temporel: n

10

20

30

-20

-10

0
-30

-20

-10

10

20

30

0
indice temporel: n

10

20

30

signal de sortie y(n)

0
-30

0
indice temporel: n

Fig. 1.1: En haut gauche, rponse impulsionnelle du systme, au haut droite entre du
systme, en bas, signal de rponse du systme lentre

1.4 Analyse des Systmes Linaires Invariants

11

1. Pour n < 0, h(n k) et e(n) nont aucun chantillon non nuls en commun donc s(n) =
0 pour n < 0
2. Pour 0 n < N , on a un recouvrement dchantillons non nuls pour 0 k < n, donc
pour 0 n < N on obtient :
s(n) =

n
X

ank = an

k=0

1 a(n+1)
1 a1

3. Pour n N , on a n recouvrements dchantillons non nuls pour 0 k < N , donc pour


n N on a :
N
1
X
1 aN
s(n) =
ank = an
1 a1
k=0

La rponse du systme est reprsente en bas de la figure 1.1.

1.4.4

Stabilit

Un systme est stable si une entre borne correspond une sortie borne. Soit h(n) la rponse
impulsionnelle dun systme linaire invariant, la condition de stabilit dun tel systme scrit :
+
X

|h(k)| < +

k=

Dmonstration :
"" :
Soit un signal e(n) born, cest--dire :
M < +

tq |e(n)| < M

Par lopration de convolution (2me forme) on obtient :


+
X

|s(n)| = |

h(k)e(n k)|

k=

En utilisant lhypothse dune entre borne :


|s(n)| M

+
X

|h(k)| < +

k=

"" :
Il suffit dun contre-exemple pour valider ce sens de la dmonstration. Soit la sortie dun systme Linaire Invariant suppose borne, on suppose de plus le systme instable, on recherche
alors une entre borne.
Soit lentre :
(
h (n)
si h(n) 6= 0
|h(n)|
e(n) =
0
si h(n) = 0

12

Signaux et Systmes

Pour n = 0 (un chantillon contre exemple suffit) on obtient :


s(0) =

+
X
k=

+
X
h (k)h(k)
e(k)h(k) =
|h(k)|
k=

+
X
|h(k)|2
= +
s(0) =
|h(k)|
k=

1.4.5

Causalit

Un systme est causal si un changement en sortie ne prcde pas un changement en entre.


Soient deux signaux dentre e1 (n) et e2 (n) ainsi que leurs sorties respectives s1 (n) et s2 (n),
un systme est causal si et seulement si n0 tel que si e1 (n) = e2 (n) pour n < n0 alors
s1 (n) = s2 (n) pour n < n0 .
Un systme linaire invariant est causal si et seulement si h(n) = 0 pour n < 0.
Un squence est causale si les chantillons de cette squence sont nuls pour n < 0.

1.4.6

Equation aux diffrences finies

Les quations de convolutions dveloppes au cours des paragraphes prcdents font intervenir
des sommes infinies de termes. Si la rponse impulsionnelle possde un nombre infini de termes
il est difficilement envisageable de mettre en oeuvre cette convolution sur un calculateur. Mais,
il cependant possible pour certaines classes de rponses impulsionnelles infinies de dvelopper
la convolution sous la forme dune rcursion. La relation entre lentre et la sortie est une
combinaison linaire coefficients constants (et en nombre fini) des chantillons dentre et
de sortie.
Une quation aux diffrences finies peut scrire sous la forme :
s(n) =

N
X

ak s(n k) +

M
X

bk e(n k)

k=0

k=1

Un systme rgit par une quation aux diffrences finies du type prcdent est linaire, invariant et causal. Si N 1 :
un chantillon de sortie au temps n, s(n) dpend des N prcdents chantillons de sortie
s(n 1) (n N ),
un tel systme est dit rcursif,
la rponse impulsionnelle est infinie, RII, ou IIR en anglais (Infinite Impulse Response).
Si N = 0 :
la sortie s(n) dpend seulement de lentre courante e(n) et de ses M chantillons prcdents,
le systme est dit non-rcursif,
la rponse impulsionnelle est finie, RIF, ou FIR en anglais (Finite Impulse Response).
La rponse impulsionnelle dun systme RIF est donne par :
h(n) =

M
X
k=0

bk (n k)

1.5 Reprsentation frquentielle

13

cest--dire par la squence des {bk }.


Puisque qutudier un systme linaire invariant revient tudier sa rponse impulsionnelle, le
cas particulier dune rponse impulsionnelle mise sous la forme dune quations aux diffrences
finies consiste tudier un systme linaire dquations, cest--dire en extraire les racines
du polynme caractristique. Ceci sera effectu de manire efficace en utilisant la transforme
en Z.

1.5

Reprsentation frquentielle

Au cours du paragraphe prcdent, nous avons vu que les systmes linaires invariants ont des
proprits, notamment le principe de superposition, qui conduisent des solutions analytiques
simples. Si on applique une sinusode lentre dun systme LI la sortie est elle aussi sinusodale et de mme pulsation. Les amplitudes et phases dpendent par contre des caractristiques
du systme. Il est donc possible danalyser le comportement dun systme linaire invariant
par lobservation de lvolution des paramtres dune srie de sinusodes. Cest cette proprit
qui rend si intressante lutilisation de la transforme de Fourier pour ltude des systmes LI.
Soit lentre e(n) = ejwnT = ejnT pour < n < + dun systme linaire invariant de
rponse impulsionnelle h(k). La sortie peut alors scrire1 :
s(n) =

h(k)ej(nk)

k=

s(n) = ejn

h(k)ejk

k=

En posant :
H(ejn ) =

h(k)ejk

k=

Lquation prcdente reprsente la modification apporte par le systme et modlise par une
amplitude complexe.
H(ejn ) est appel rponse frquentielle du systme caractris par sa rponse impulsionnelle
h(k). Il sagit dun terme complexe qui peut sexprimer par une partie relle ou imaginaire ;
on adopte le plus souvent une reprsentation de type polaire o lon fait rfrence au module
et la phase de cette rponse frquentielle :
jn )]

H(ejn ) = |H(ejn )|ejarg[H(e

La dfinition de la rponse frquentielle dun systme linaire invariant montre quil sagit
dune fonction priodique de priode 2. Cela veut dire qu deux entres identiques mais
une pulsation double le systme rpond dune manire identique. Puisque H(ejn ) est une
fonction priodique, elle peut tre reprsente par une srie de Fourier. En fait lquation de
dfinition fait apparatre H(ejw ) comme une srie de Fourier o les coefficients sont h(k).

Voir les notations de la section

14

Signaux et Systmes

Chapitre 2

Transformation en Z
La transforme en Z est un outil largement utilis pour ltude des systmes de traitement
numrique du signal. Ce type de transforme permet de dcrire aisment les signaux temps
discret et la rponse des systmes linaires invariants soumis des entres diverses. La transforme en Z est un outil permettant de driver la rponse impulsionnelle dun systme linaire
invariant dcrit par une quation aux diffrences finies. De plus, loprateur de convolution
dans le domaine temporel correspond loprateur multiplicatif dans le domaine de la transforme en Z.

2.1

Dfinition de la transforme en Z

La transforme en Z directe dun signal temps discret x(n) est dfinie par :
X(z) =

x(n)z n

(2.1)

n=

La transforme en Z tablit une correspondance entre lespace des signaux temps discret et
un espace de fonctions dfinies sur un sous-ensemble du plan complexe. On dfinit le plan en z
comme tant le plan complexe. La srie des puissances introduite dans lquation de dfinition
prcdente ne converge que pour un sous-ensemble du plan complexe. Ce sous-ensemble est appel rgion de convergence ou domaine de convergence. Une rgion de convergence correspond
lensemble des valeurs de z telles que X(z) soit dfinie et valeurs finies. Spcifier le domaine
de convergence de la transforme est tout aussi important que la transforme elle-mme.

2.1.1

Exemples de transforme

Soit le signal temps discret suivant :


x(n) = (n)
on a :
X(z) =

x(n)z n

n=
0

X(z) = z ,
X(z) = 1,

15

zC

zC

16

Transformation en Z

Pour ce premier exemple la rgion de convergence est C.


Soit le signal temps discret suivant :
x(n) = (n k)
on a :
X(z) = z k
La rgion de convergence dpend ici de k. Si k = 0, la rgion de convergence est C (exemple
prcdent). Si k < 0, X(z) nest pas valeur finie pour z = , donc la rgion de convergence
est ici C {}. Si k > 0, X(z) nest pas valeur finie pour z = 0, donc la rgion de
convergence est C 0.
Pour un signal dure finie, la rgion de convergence correspond au plan complexe C avec
lexclusion possible de z = 0 ou z = .
Soit le signal temps discret suivant :
x(n) = an u(n)

(2.2)

on a :
X(z) =
X(z) =
X(z) =

x(n)z n

n=

X
n n

a z

n=0

(az 1 )n

n=0

X(z) =

1
1 az 1

La srie prcdente converge si et seulement si |az 1 | < 1, cest--dire ssi |a| < |z|. La figure
2.1 reprsente la rgion de convergence dans le plan complexe. Si a = 1, on obtient le cas
particulier de lchelon unit. La transforme en z de lchelon unit est donc :
U (z) =

2.1.2

1
,
1 z 1

|z| > 1

Description gnrale dune rgion de convergence

Les exemples prcdents ont montr quune rgion de convergence peut tre lintrieur ou
lextrieur dun cercle.
Dune manire gnrale, la rgion de convergence est toujours un anneau, cest--dire est
dfinie par lensemble des points z tels que r1 < z < r2 , o r1 peut tre nul et r2 peut tre .

2.2 Proprits de la transforme en z

17

Im
Domaine de convergence

Re

Fig. 2.1: Domaine de convergence, X(z) =

1
1az 1

Soit un signal x(n) et z mis sous forme polaire (z = rejw ), on a alors :


|X(z)| = |

x(n)z n |

n=

|x(n)|rn

n=

1
X

|x(n)|rn +

|x(n)|rn

n=

X
|x(n)|

n=1

n=0

|x(n)|rn +

n=0

rn

La rgion de convergence de X(z) correspond au sous ensemble de C pour lequel les deux
suites convergent. Supposons que la seconde somme soit finie pour r = r2 , quel que soit r r2
la srie converge (dans ce cas en effet, chaque lment de la somme est plus petit que pour
r = r2 ). Dune faon analogue, supposons la premire somme finie pour r = r1 , alors elle est
finie pour r r1 .
La rgion de convergence de la premire somme correspond au sous ensemble de C tel que
|z| > r2 . La rgion de convergence de la seconde somme correspond au sous ensemble de C tel
que |z| < r1 .

2.2
2.2.1

Proprits de la transforme en z
Linarit

Soient deux signaux temps discret x1 (n) et x2 (n) ayant pour transformes en z respectives
X1 (z) et X2 (z). Soit le signal x(n) = ax1 (n) + bx2 (n).

18

Transformation en Z

La dfinition de la transforme en z (une somme de monmes en z) conduit directement la


relation suivante :
X(z) = aX1 (z) + bX2 (z)

(2.3)

Il sagit dune proprit trs importante permettant de calculer une transforme en Z partir
dune dcomposition en transformes lmentaires de signaux connus. La rgion de convergence
de la somme de lquation (2.3) contient lintersection des rgions de convergence de X1 (z) et
X2 (z).
Par exemple, soit x(n) = cos(0 n)u(n), on peut dcomposer x(n) de la manire suivante :
1
x(n) = (ei0 n + ei0 n )u(n)
2
En reprenant lexemple de lquation (2.2) avec a = ei0 n , on obtient :
X(z) =
=

2.2.2

1
1
1
1
(
)+ (
)
i
i
1
0
2 1e z
2 1 e 0 z 1
1 cos(0 )z 1
1 2 cos(0 )z 1 + z 2

Dcalage temporel

Soit un signal x(n) de transforme en Z, X(z). Soit k, un indice temporel quelconque et


x0 (n) = x(n k), on obtient simplement partir de la dfinition de la transforme :
X 0 (z) = z k X(z)
La rgion de convergence reste inchange, except lajout ou la suppression de z = 0 ou
z = . Cest de cette proprit que vient lutilisation dune cellule z 1 pour tenir compte
dun dcalage temporel dune unit.

2.2.3

Facteur dchelle en z

Soit un signal x(n) de transforme X(z) avec r1 < |z| < r2 pour rgion de convergence. Soit
x0 (n) = an x(n), on a alors :
z
X 0 (z) = X( )
a
avec |a|r1 < |z| < |a|r2 pour rgion de convergence.

2.2.4

Inversion de laxe temporel

Soit x(n) avec X(z) pour transforme et r1 < |z| < r2 pour rayon de convergence. Soit
x0 (n) = x(n), on a alors :
1
X 0 (z) = X( )
z
avec

1
r2

< |z| <

1
r1

comme rayon de convergence.

2.2 Proprits de la transforme en z

2.2.5

19

Drivation dans lespace en z

Soit x(n) avec X(z) pour transforme. Soit x0 (n) = nx(n). on a alors :
d
X(z)
dz
La rgion de convergence reste inchange. Dmonstration :
X 0 (z) = z

d
X(z)
dz

d X
x(n)z n
dz n=

X 0 (z) = z
=

= z

x(n)(n)z n1

n=

[nx(n)]z n

n=

Par exemple, soit x(n) = nu(n), on a vu prcdemment que :


U (z) =

1
1 z 1

On obtient alors :
d
U (z)
dz
z 2
= z(
(1 z 1 )2
z 1
=
, |z| > 1
(1 z 1 )2

X(z) = z

2.2.6

Convolution

Soient x1 (n) et x2 (n) avec pour transformes en Z respectives X1 (z) et X2 (z). Soit x(n) =
x1 (n) x2 (n), on a alors :
X(z) = X1 (z)X2 (z)
Dmonstration :

X(z) =
=
=

x(n)z n

n=

n= k=

x1 (k)x2 (n k)]z n

x1 (k)[

k=

= (

x2 (n k)z n ]

n=

x1 (k)z k )X2 (z)

k=

= X1 (z)X2 (z)

20

Transformation en Z

Pour calculer la convolution de deux signaux, il peut tre intressant de multiplier les transformes respectives des deux signaux convolus et de rechercher la transforme en Z inverse
de la transforme rsultante.
Soit s(n) la sortie dun systme linaire invariant de rponse impulsionnelle h(n) soumis
lentre e(n), on a vu au cours du chapitre sur les signaux et systmes que :
s(n) = e(n) h(n)
on a alors :
S(z) = E(z)H(z)

2.3

Transformes en Z rationnelles

On entend par transformes en Z rationnelles, lensemble des fonctions en Z scrivant comme


le ratio de deux polynmes en z 1 . Cette classe de fonction correspond aux systmes linaires
invariants dcrits par une quation aux diffrences finies.

2.3.1

Dfinition des ples et des zros

Les zros dune transforme en Z, X(z), sont les valeurs de z telles que X(z) = 0.
Les ples dune transforme en Z, X(z), sont les valeurs de z telles que X(z) =
Si X(z) est une fonction rationnelle, X(z) peut alors scrire sous la forme suivante :
N (z)
D(z)
b0 + b1 z 1 + + bM z M
a0 + a1 z 1 + + aN z N
PM
k
k=0 bk z
PN
k
k=0 ak z

X(z) =
=
=

(2.4)

En supposant a0 6= 0 et b0 6= 0, on peut rcrire lquation (2.4) de la manire suivante :


X(z) =
,

b0 z M
a0 z N

bM
b0
aN
a0

+ + zM
+ + zN

b0 N M N 0 (z)
z
a0
D0 (z)

N 0 (z) a au plus M racines simples ou multiples en z1 zM .


D0 (z) a au plus N ples simples ou multiples en p1 pN .
On alors rcrire X(z) sous la forme suivante :
b0 z M (z z1 ) (z zM )
a0 z N (z p1 ) (z pN )
Q
z M M
k=1 (z zk )
= N QN
z
k=1 (z pk )

X(z) =

avec ,

b0
a0 .

Il vient alors que :

2.3 Transformes en Z rationnelles

21

1. X(z) possde M zros finis en z1 zM


2. X(z) possde N ples finis en p1 pN
3. si N > M , X(z) possde N M zros en z = 0
4. si N < M , X(z) possde M N ples en z = 0
5. il peut aussi y avoir des ples ou zros en z = selon que X() = 0 ou X() =
En suivant la notation prcdente, X(z) est compltement dtermin par la position de ses
ples et de ses zros ainsi que par le facteur damplitude . Les ples et zros refltent le
comportement du systme (ou signal) tandis que le facteur nintervient que sur lamplitude
des signaux.
X(z) peut donc tre reprsente sous la forme dun graphique modlisant la position des ples
et des zros dans le plan complexe. Par dfinition, la rgion de convergence de X(z) exclue
tous les ples de cette fonction.

2.3.2

Fonction de transfert dun systme linaire invariant

Au cours du premier chapitre, on a vu quune manire de caractriser un systme linaire


invariant consiste tudier sa rponse impulsionnelle h(n). Il est donc tout aussi lgitime de
caractriser un systme par la transforme en Z, H(z), de sa rponse impulsionnelle, encore
appele fonction de transfert du systme.
Lors de lanalyse dun systme donn, on considre le plus souvent h(n) ou H(z) comme
inconnue. A partir dune entre connue, e(n), on observe alors la sortie s(n) caractrise par
sa transforme en Z, S(z). la fonction de transfert du systme est alors :
H(z) =

S(z)
E(z)

On a vu que si on prend e(n) = (n), on obtient directement s(n) = h(n) ; ce qui devient dans
le plan en Z, E(z) = 1 donc H(z) = S(z)
Si on applique cette approche au systmes linaires invariants dcrits par une quation aux
diffrences finies, le systme est dcrit par la relation suivante :
s(n) =

N
X

ak s(n k) +

k=1

M
X

bk e(n k)

k=0

Prenons la transforme en Z des membres de lquation prcdente :


S(z) =

N
X

ak z

S(z) +

k=1

M
X

bk z k E(z)

k=0

ou encore :
S(z)[1 +

N
X
k=1

ak z

M
X
] = E(z)[
bk z k ]
k=0

22

Transformation en Z

en posant a0 = 1, sans perdre en gnralit, on a :


H(z) =
=
=

S(z)
E(z)
PM

k=0
P
N

bk z k

1+
PM

k=1 ak z
k
k=0 bk z
PN
k
k=0 ak z

(2.5)

Lquation (2.5) met en vidence quun systme linaire invariant dcrit par une quation
aux diffrences finies a une fonction de transfert dont la transforme en Z est une fonction
rationnelle. Ceci montre lintrt de ltude des transformes en Z scrivant sous la forme de
polynmes rationnels.
2.3.2.1

Systmes tout zros

Un systme tout zros est un systme dont la transforme en Z sexprime sous la forme de
lquation (2.5) avec N = 0, cest--dire pour lequel a1 = a2 = = aN = 0.
La fonction de transfert devient :
H(z) =

M
X

bk z

k=0

M
1 X
= M
bk z M k
z
k=0

Le polynme numrateur possde M racines. La rponse impulsionnelle de ce systme est de


type finie (RIF ou FIR).
2.3.2.2

Systmes tout ples

Un systme tout ples est un systme dont la transforme en z sexprime sous la forme de
lquation (2.5) avec M = 0, cest--dire pour lequel b1 = b2 = = bM = 0.
La fonction de transfert devient :
H(z) =

1+

b0
PN

k=1 ak z

= PM

b0 z N

k=0 ak z

N k

Le polynme dnominateur possde N racines. La rponse impulsionnelle de ce systme est


de type infinie (RII ou IIR).

2.4

Transforme en Z inverse

A partir dune liste de transformes en Z de signaux lmentaires connus, il peut tre efficace de
retrouver des signaux temporels partir de transformes drives des oprateurs et proprits
dcrits prcdemment. Cependant, lorsque la transforme ne peut facilement scrire comme la
combinaison de transformes lmentaires, il reste les techniques gnrales de transformation
inverse :
1. Lintgration sur un contour ferm.
2. le dveloppement en puissance de z et de z 1
3. le dveloppement en fractions lmentaires

2.4 Transforme en Z inverse

2.4.1

23

Transforme inverse par intgration

Soit X(z) la transforme en Z du signal x(n). On dfinit la transforme en Z inverse, la


relation dterminant x(n) partir de X(z) telle que :
I
1
x(n) =
X(z)z n1 dz
2j
Lintgrale prcdente consiste sommer X(z)z n1 pour des valeurs de z prises sur un contour
ferm du plan complexe qui contient lorigine du plan tout en tant inclue dans le domaine de
convergence de la fonction.

2.4.2

Transforme inverse par dveloppement en puissance

Sil est possible dcrire X(z) comme une srie de puissances de z 1 , lunicit de la transformation directe
prendre les coefficients de la srie pour le signal temporel.
P conduitn
Si X(z) =
c
z
alors x(n) = cn
n= n
On recherche par exemple la rponse impulsionnelle dun systme dcrit par lquation aux
diffrences suivante :
s(n) = s(n 3) + e(n)
On trouve aisment :

1
1 z 3
En utilisant la limite des sries gomtriques, on a :
H(z) =

X
1
(z 3 )k
=
1 z 3
k=0

H(z) =

z 3k = 1 + z 3 + z 6 +

k=0

on obtient donc :
h(n) =

(n 3k)

k=0

Il sagit ici dun cas simple dutilisation des sries gomtriques. En gnral, le dveloppement
de X(z) en puissance de z 1 est un calcul assez long, difficile et fastidieux.

2.4.3

Transforme inverse par dveloppement fractionnaire

Lide gnrale de cette approche consiste trouver pour une fonction X(z) complexe un
dveloppement en fonctions en Z plus simples et pour lesquelles une transforme inverse est
connue. En appliquant le principe de linarit de la transforme, il est ais de recomposer le signal temporel inverse partir des signaux temporels correspondant chacune des transformes
lmentaires. En supposant :
X(z) = 1 X1 (z) + 2 X2 (z) + + L XL (z)
On obtient :
x(n) = 1 x1 (n) + 2 x2 (n) + + L xL (n)

24

Transformation en Z

La classe des transformes en Z rationnelles peut toujours scrire selon ce principe. Les formes
lmentaires sont le plus souvent des formes telles que dfinies selon le tableau suivant :
Type
polynomial en z
ple rel simple
ple rel double
ple rel double
ple rel triple
ple complexe conjugu

2.5

X(z)
P k
k ck

x(n)
c
k k (n k)
pn u(n)

1
1pz 1
pz 1
(1pz 1 )2
1
(1pz 1 )2
2
p z 1
(1pz 1 )3
r sin(0 )z
(zrei0 )(zrei0 )

npn u(n)
(n + 1)pn u(n)
n(n1) n
p u(n)
2
rn sin(0 n)u(n)

Analyse des Systmes LI par la transforme en Z

Lobjet de ce paragraphe est dtudier le comportement des systmes linaires invariants par
lanalyse de leur fonction de transfert dcrite par une fonction en Z. Il sagit donc de caractriser la sortie dun systme en fonction dune entre et de spcifier les conditions de stabilit
dun tel systme.

2.5.1

Rponse dun systme dcrit par une fonction rationnelle

Soit le systme dcrit par lquation suivante :


S(z) = H(z)E(z)
Il sagit de caractriser s(n). On suppose que H(z) peut scrire sous la forme dune fraction
de polynmes en z, cest--dire :
N (z)
H(z) =
D(z)
On suppose de plus que la transforme de lentre du systme E(z) scrit par une fraction de
polynmes :
P (z)
E(z) =
Q(z)
On a donc :
S(z) =

N (z)P (z)
D(z)Q(z)

Le signal de sortie est donc caractris par une transforme rationnelle.


Supposons :
Les ples du systme sont uniques, p1 pN
Les ples de lentre sont uniques, q1 qL
Les ples du systme et de lentre sont diffrents.
Les zros du systme et de lentre diffrent de lensemble des ples.
On peut alors crire Y (z) sous la forme suivante :
S(z) =

N
X
k=1

X
Dk
Qk
+
1
1 pk z
1 qk z 1
k=1

2.6 Causalit et Stabilit

25

En supposant un systme causal, on obtient :


s(n) =

N
X

Dk pnk u(n)

k=1

L
X

Qk qkn u(n)

k=1

Lquation prcdente montre que le signal de sortie peut tre considr comme compos de
deux partie :
une rponse en rgime naturel (termes en pk )
une rponse en rgime forc (termes en qk )

2.5.2

Rgimes transitoires et permanents

On considre sn (n) la rponse du systme en rgime naturel :


sn (n) =

N
X

Dk pnk u(n)

k=1

et sf (n) en regime forc :


sf (n) =

L
X

Qk qkn u(n)

k=1

Si tous les ples de la fonctions de transfert du systmes ont des amplitudes infrieures
1, alors le rgime naturel est dit transitoire. Des ples de faible module conduisent une
dcroissance rapide de la rponse naturelle. Rciproquement des ples proches du cercle unit
conduisent une rponse transitoire longue.
Si tous les ples du signal dentr ont un module infrieur 1, alors la rponse forc dcrot
vers 0 pour n allant vers linfini. Si le signal dentre un ple sur le cercle unit, alors le
signal est compos dune sinusode persistante. Dans un tel cas, la rponse force correspond
ce que lon appelle un tat stable.

2.6
2.6.0.1

Causalit et Stabilit
Condition de causalit pour H(z)

Au cours du chapitre caractrisant les systmes temps discret, on a vu quun systme linaire
invariant est causal ssi sa rponse impulsionnelle h(n) est nulle si n < 0.
Un systme linaire invariant est causal si et seulement si le domaine de convergence de sa
transforme en z est lextrieur dun cercle de rayon r < incluant z = . Ainsi, H(z) = z 2
a une rgion de convergence : C qui est extrieur un cercle de rayon 0 mais excluant
z = . Donc le systme est non causal.
2.6.0.2

Condition de stabilit pour H(z)

On a vu que pour quun systme linaire invariant soit stable il faut et il suffit que sa rponse
impulsionnelle vrifie :

X
|h(n)| <
n=

26

Transformation en Z

Un systme linaire invariant est stable si le domaine de convergence de sa transforme en z


inclue le cercle unit.
Pour finir, un systme linaire invariant causal est stable si et seulement si tous les ples de
sa fonction de transfert sont lintrieur, strictement, du cercle unit.

2.7

Dtermination du module et de la phase du systme

Pour un systme dont le domaine de convergence de sa fonction de transfert X(z) contient le


cercle unit, alors la rponse frquentielle de ce systme consiste valuer X(z) sur le cercle
unit, cest--dire pour z = ej .
Prenons par exemple, un systme dont la fonction de transfert sexprime sous la forme suivante :
1
H(z) =
1 + 0.5z 1
on a :
z
H(z) =
z + 0.5
Ce systme possde donc un zro en z = 0 et un ple en z = 21 .
En prenant z sur le cercle unit :
H(ej ) =

ej
ej +

1
2

En prcisant explicitement amplitude et phase :


H(ej ) = |H(ej )|ejarg(H(e

j ))

On obtient alors :
|H(ej )| =

1
+

ej

1
2

1
arg(H(ej )) = arg(ej + )
2

(2.6)
(2.7)

la double figure 2.2 reprsente sur sa partie gauche la position des ples et des zros de la
fonction de transfert (un ple est indiqu par le symbole x, et un zro par le symbole o) et sur
sa partie droite la rponse frquentielle du systme : module et phase pour 0 .
Lvolution du module de la rponse frquentielle nous montre quil-y-a attnuation des contributions dues au basses frquences par rapport aux hautes frquences. Le comportement de ce
systme est donc celui dun filtre passe-haut.

2.8

Transformes en z de fonctions usuelles

Le tableau 2.1 donne les transformes en z des fonctions les plus utilises en TNS. T est la
priode dchantillonnage du signal transform dans lequel on a pos t = nT .

2.8 Transformes en z de fonctions usuelles

x(t)
(t)
(t kT )
u(t)
t
1 2
t
2
t

aT
eat
sin 0 t
cos 0 t
eat sin 0 t
eat cos 0 t
ax1 (t) + bx2 (t)
x(t kT )

X(z)
1
z k
z
z1
Tz
(z 1)2
T 2 z(z + 1)
2(z 1)3
z
za
z
z eaT
z sin 0 T
2
z 2z cos 0 T + 1
z(z cos 0 T )
2
z 2z cos 0 T + 1
zeaT sin 0 T
z 2 2zeaT cos 0 T + e2aT
z 2 zeaT cos 0 T
z 2 2zeaT cos 0 T + e2aT
aX1 (z) + bX2 (z)
z k X(z)

Tab. 2.1: Tables des transformes en z

27

Transformation en Z

Magnitude Response (dB)

28

1
0.8
0.6

0.2

-5
0

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized frequency (Nyquist == 1)

0.8

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized frequency (Nyquist == 1)

0.8

0.9

0
30

-0.2

Phase (degrees)

Imaginary part

0.4

10

-0.4
-0.6
-0.8

20

10

-1
-1

-0.5

0
Real part

0.5

0
0

Fig. 2.2: Rponse frquentielle, X(z) =

1
1+0.5z 1

Chapitre 3

chantillonnage et reconstruction des


signaux
Ce chapitre prsente lopration dchantillonnage des signaux temps continu permettant
de reprsenter des signaux physiques analogiques sur une forme temps discret. On abordera
cette notion en tudiant tout dabord le cas dun chantillonnage idal o les chantillons du
signal temps discret sont drivs du signal analogique des instants priodiques multiples
dune priode lmentaire. Comme la notion dinstant a peu de sens en pratique et quil est
plus juste de parler de dure, on abordera ensuite le cas dun systme dchantillonnage rel,
tel quon peut on trouver dans des convertisseurs analogique/numrique ; on prcisera quelles
approximations permettent de se ramener au cas de lchantillonneur idal.
Lopration dchantillonnage inverse consiste reconstruire un signal analogique partir dun
signal temps discret. On tudiera un modle de reconstruction du signal tel que lopration
complte chantillonnage et reconstruction soit transparente.

3.1

chantillonnage idal

Soit un signal analogique xa (t) dont la transforme de Fourier est dfinie par :
Z
Xa (j) =
xa (t)ejt dt

avec = 2f .
On retrouve le signal temporel partir de sa transforme par la transforme de Fourier inverse
dfinie par le relation suivante :
Z
1
xa (t) =
Xa (j)ejt d
2
Un signal temps discret x(n) driv dun signal analogique xa (t) consiste prendre des
valeurs de xa (t) des instants multiples dune priode fixe T . T est appele priode dchantillonnage. On a donc :
x(n) = xa (t = nT )
Linverse de la priode dchantillonnage est appele frquence dchantillonnage, fe ; on a
fe = T1 . On notera , la pulsation non normalise sexprimant en radian par seconde. On
notera , la pulsation normalise, sexprimant en radian par priode. On a =
T.
29

30

chantillonnage et reconstruction des signaux

Pour se rendre compte de la relation quil y a entre x(n) et xa (n), il est utile de relier les
transformes de Fourier de ces deux signaux.
On a :
Z
1
x(n) = xa (nT ) =
Xa (j)ejnT d
2
A partir de la dfinition de la transforme de Fourier temps discret, on a aussi :
Z
1
x(n) =
X(j)ejn d
2
Pour pouvoir relier les deux quations prcdentes (par x(n) ), on exprime la premire en
dcoupant lintervalle dintgration par morceaux, on a donc :
Z (2k+1)
T
1 X
xa (nT ) =
Xa (j)ejnT d

2
(2k1)
k=

Par un changement de variable, on obtient :


xa (nT ) =

Z
T
2k jnT 2kn
1 X
Xa (j + j
)e
e
d

2
T
k=

On peut noter que e2kn = 1 pour toutes valeurs entires de k et de n. En changeant le signe
somme et le signe intgral, on obtient :
1
x(n) = xa (nT ) =
2
En remplaant par

T,

Xa (j + j

k=

2k jnT
)]e
d
T

on a :

1
x(n) =
2

j j2k jn
1 X
Xa (
[
+
)]e d
T
T
T

k=

Il est donc maintenant aise deffectuer lidentification suivante :

j j2k
1 X
Xa (
+
)
X(e ) =
T
T
T
j

k=

La relation prcdente montre que le spectre du signal numrique est priodique et correspond
des versions dcales du spectre du signal analogique correspondant.
3.1.0.3

Thorme dchantillonnage de Shannon

Le spectre du signal numrique est compos dune somme infinie de versions dcales du signal
analogique. Il est donc possible de retrouver le signal temps continu si tous les lments
somms ne se recouvrent pas.
Si le signal analogique est bande limite, cest--dire si sa transforme de Fourier temps
continu X() est nulle pour || > max , il ny a pas recouvrement des spectres dcals pour
max < 2
T max .

3.2 Exemple pratique dchantillonnage

31

On obtient alors :
max <
max <
2

max
2

<

2
max
T

T
1
T

2fmax < fN

avec fN =

(3.1)
(3.2)
(3.3)
1
T

(3.4)

fN est la frquence limite dchantillonnage ou encore appele frquence de Nyquist. Il est


donc tout dabord sassurer que lon chantillonne bien un signal continu bande limite. Ceci
est le plus souvent valid par le filtrage du signal analogique par un filtre passe-bas. Une fois
la bande de base fixe, on dtermine a frquence dchantillonnage appliquer pour obtenir
une reconstruction parfaite du signal continu partir du signal numrique.

3.2

Exemple pratique dchantillonnage

Soit un signal analogique xa (t) correspondant une sinusode de frquence f = 0.5Hz et dfini
par :
xa (t) = 5 sin(20.5t) avec 2 t +2
Daprs le paragraphe prcdent, la frquence de Nyquist correspond fN = 2 0.5 = 1Hz.
On prend pour frquence dchantillonnage fs = 4Hz, soit x(n) le signal temps discret rsultant de lchantillonnage de xa (t) la frquence fs .
La figure 3.1 montre en trait continu la signal analogique que lon vient chantillonn en
certains instants reprs par des lignes verticales termines par des croix.
La srie des figures 3.2 3.4 met en vidence les problmes de reconstruction si on ne respecte
pas la contrainte du thorme de Shannon. Le signal analogique dorigine est une sinusode de
2 Hz. Donc une frquence dchantillonnage valide devra tre suprieure 4 Hz.
Les figures 3.2 et 3.3 montrent en trait pointill le signal analogique dorigine, en trait plein
le signal analogique reconstruit partir du signal numrique not par la squence des pointstoiles. On voit que le signal reconstruit na plus rien voir avec le signal dorigine. En effet
la frquence dchantillonnage est infrieur celle de Nyquist (4 Hz).
En utilisant les mmes notations que pour les deux figures prcdentes, on peut remarquer quil
y a reconstruction parfaite pour la figure 3.4, il sagit en fait du signal numrique chantillonn
une frquence de 6.4 Hz. On peut aussi noter que si on ne regarde que lenveloppe damplitude
du signal numrique (squence des toiles), elle a peu de chose voir avec une sinusode, du
moins loeil !...donc mfiance.

32

chantillonnage et reconstruction des signaux

Signal continu/chantillon, f = 0.5Hz, A = 5 / T = 250ms


5
4
3

Amplitude continue

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

-1.5

-1

-0.5

0
0.5
Temps continu

1.5

Fig. 3.1: chantillonnage dun signal continu ; en trait continu le signal analogique, les traits
verticaux notent les valeurs du signal numrique

Signal chantillon 1.6Hz


1
0.8
0.6

Valeur du signal

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0

0.5

1.5

2.5
Temps

3.5

4.5

Fig. 3.2: chantillonnage dun signal continu et reconstruction imparfaite ; en trait discontinu
le signal analogique dorigine (F = 2Hz), en trait plein le signal analogique reconstruit,
Fs = 1.6Hz

Signal chantillon 3.2Hz


1
0.8
0.6

Valeur du signal

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0

0.5

1.5

2.5
Temps

3.5

4.5

Fig. 3.3: chantillonnage dun signal continu et reconstruction imparfaite, Fs = 3.2Hz

3.2 Exemple pratique dchantillonnage

33

Signal chantillon 6.4Hz


1
0.8
0.6

Valeur du signal

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0

0.5

1.5

2.5
Temps

3.5

4.5

Fig. 3.4: chantillonnage dun signal continu et reconstruction parfaite, Fs = 6.4Hz

34

chantillonnage et reconstruction des signaux

Chapitre 4

La Transforme de Fourier Discrte


Nous avons vu au cours du chapitre sur les Signaux et systmes que la transforme de Fourier
de deux signaux convolus correspond la multiplication des transformes des deux signaux
pris sparment. Comme loprateur de convolution est un oprateur fondamental dans lanalyse des systmes de traitement du signal, il est donc important de disposer de solutions
algorithmiques efficaces pour cet oprateur.
Pour une transforme de Fourier temps discret la variable temps est discrte, donc peut
tre reprsente sur un calculateur tandis que la variable frquence est une variable continue
quil faut aussi discrtiser. En fait sur un calculateur, un signal temporel, est une squence de
longueur finie, par exemple N points. Il nest pas ncessaire davoir une prcision infinie dans
le domaine frquentiel ; N points frquentiels suffisent pour contenir linformation du signal
temporel.
La Transforme de Fourier Discrte, TFD ou DFT, est donc loutil dfinissant le cadre de
calcul dune transforme de Fourier temps discret et frquences discrtes.
Si un signal est dfini par N chantillons temporels, la transforme de Fourier Discrte est une
transforme qui opre sur N points frquentiels dfinis par la srie des pulsations suivantes :
k =

4.1

2
,
N

k = 0, 1, , N 1

Rappels sur les signaux continus

Soit un signal analogique xa (t) dont la transforme de Fourier est dfinie par :
Z
Xa (j) =

xa (t)ejt dt

(4.1)

avec = 2f .
On retrouve le signal temporel partir de sa transforme par la transforme de Fourier inverse
dfinie par le relation suivante :
xa (t) =

1
2

35

Xa (j)ejt d

(4.2)

36

4.2

La Transforme de Fourier Discrte

Rappels sur les signaux discrets non priodiques

Pour un signal x(n) discret quelconque non priodique, sa transforme de Fourier scrit :

X(ej ) =

x(n)ejn

(4.3)

n=

On parlera galement de Transforme de Fourier Temps Discret (TFTD ou DTFT). X()


tant priodique de priode 2 cause de la discrtisation de la variable temporelle, la TF
inverse est donne par :
Z
1
X(ej )ejn d
(4.4)
x(n) =
2

4.3

Signaux discrets priodiques

Pour un signal xp (n) discret priodique, une dcomposition en srie de Fourier doit tre utilise
sous la forme :
Xp (k) =
xp (n) =

N
1
X

xp (n).e(2j

n=0
N
1
X

1
N

, k = 0, 1 . . . N 1

n.k
)
N

Xp (k).e(2j

, n = 0, 1 . . . N 1

Xp (ej ) =

k=

2
Xp (k) k
N

Proprits de la transformes de Fourier

Les principales proprits de la TF sont numres ci dessous.


Linarit ou superposition
a.x(n) + b.y(n) a.X(ej ) + b.Y (ej )
Dcalage en temps-frquence
x(n n0 ) ejn0 X(ej )
x(n)ejn0 X(ej(0 ) )
Drivation en frquence
n.x(n) j

dX(ej )
d

Produit de convolution
x1 (n) x2 (n) =

x1 (i) x2 (n i) X1 (ej ).X2 (ej )

i=

X
n=

(4.5)
(4.6)

k=0

Sa Transforme de Fourier scrit alors :

4.4

n.k
)
N

x1 (n) x2 (n)

1
2

X1 (ej ).X2 (ej )d

(4.7)

4.5 chantillonnage du domaine Frquentiel

37

Thorme du fentrage (ou de la modulation)


1
x1 (n).x2 (n)
2

X1 (ej ).X2 (ej() )d

Thorme de Parseval (conservation de la puissance dun signal)

X
i=

1
|x(i)| =
2
2

|X(ej )|2 d

Proprits de symtrie
x(n) R X(ej ) = X (ej )
Si x(n) est une suite relle, alors sa TF est symtrique conjugue. Cela implique que sa partie
relle et son module sont paires, et que sa partie imaginaire et sa phase sont impaires.
x(n) X(ej )

x(n) X (ej ), six(n) R


Le tableau 4.1 donne les transformes de Fourier des fonctions les plus utilises en TNS. T est
la priode dchantillonnage.

4.5

chantillonnage du domaine Frquentiel

Pour un signal x(n) quelconque, sa Transforme de Fourier Temps Discret, TFTD ou DTFT,
est donne lquation 4.3. On chantillonne maintenant la TFTD en N points frquentiels,
tels que :

X
2kn
2
Xk , X( k) =
x(n)ej N
N
n=

Essayons maintenant de trouver la relation quil peut y avoir entre le signal x(n) et sa TFD
dfinie par la squence des nombres Xk . Pour cela, on dcoupe la somme infinie de lquation
prcdente en blocs de N points et on effectue un changement de variable.

38

La Transforme de Fourier Discrte

x(n)
(n)
(n n0 )
1

X(ej )
1
ejn0

X
2( + 2k)
k=

u(n)

X
1
+
( + 2k)
1 ej
k=

an u(n) (|a| < 1)


(n + 1)an u(n) (|a| < 1)

1 si 0 n N
x(n) =
0 ailleurs
sin c n
n
ej0 n
cos(0 n + )
sin(0 n + )

1
1 aej
1
(1 aej )2
sin ((N + 1)/2) jN/2
e
sin(/2)

1 si || < c
j
X(e ) =
0 si c < || <

X
2( 0 + 2k)
k=

[ej ( + 0 + 2k) + ej ( 0 + 2k)]

k=

[ej ( + 0 + 2k) ej ( 0 + 2k)]

k=

Tab. 4.1: Tables des transformes de Fourier

4.5 chantillonnage du domaine Frquentiel

Xk =

39

x(n)ej

2kn
N

n=

lN X
+N 1

l=

n=lN

N
1
X
X

x(n)ej

2kn
N

x(n + lN )ej

2k(n+lN )
N

x(n + lN )ej

2kn
N

x(n + lN )ej

2kn
N

x(n lN )ej

2kn
N

l= n=0
N
1
X
X

l= n=0
N
1
X

n=0 l=
N
1
X

n=0 l=

On trouve donc :
Xk =

N
1
X

x(n lN )]ej

2kn
N

n=0 l=

Soit encore :
Xk =

N
1
X

xp (n)ej

2kn
N

o xp (n) ,

n=0

x(n lN )

l=

On constate donc par lquation prcdente que le signal xp (n) est un signal priodique, et
plus prcisment :
xp (n + N ) = xp (n)
Puisque le signal xp (n) est priodique, il peut sexprimer comme une srie de Fourier. Il est
donc possible de retrouver les chantillons xp (n) partir de la squence Xk par une srie de
Fourier temps discret :
xp (n) =

N
1
X

ck ej

2kn
N

avec ck =

N 1
2kn
1 X
xp (n)ej N
N
n=0

k=0

En comparant les coefficients de la srie de Fourier et ceux de la TFTD, on obtient :


ck =

1
Xk
N

On obtient donc xp (n) partir des Xk selon la relation suivante :


N 1
2kn
1 X
xp (n) =
Xk ej N
N
k=0

40

La Transforme de Fourier Discrte

Il faut bien voir quil sagit dune relation entre xp (n) et la squence des Xk , il faut dterminer
la relation entre xp (n) et x(n).
Cette relation sinterprte de la mme manire que les versions rpliques du spectre dun signal analogique lorsquon effectue un chantillonnage temporel de ce signal. Ici, le signal xp (n)
est une somme de rpliques du signal "de base" x(n). On observe alors le mme problme de
reconstruction que lors de la discrtisation de la variable temporelle, cest--dire, si les chantillons se recouvrent entre deux squences conscutives, on est en prsence de recouvrement
dit temporel ou time aliasing.
Il existe un cas particulier o les sommes dcales dans la construction de xp (n) ne se recouvrent pas ; il sagit des signaux temps limit. On dfinit un signal temps limit un
signal x(n) de dure L, prenant des valeurs non nulles seulement dans lintervalle [0 L 1].
Ainsi, si x(n) est un signal temps limit de dure L, tel que N L, il est possible de
retrouver x(n) partir de xp (n) en isolant une squence particulire :

xp (n) si 0 n L 1
x(n) =
0
sinon
Puisquon a reconstruit le signal dorigine x(n) partir de sa TFD, squence des valeurs Xk , il
nest pas interdit maintenant de calculer par une TFTD le spectre de x(n) pour des frquences
continues, X(). Il existe une formule de passage directe entre les Xk et X(), :
il sagit de la formule dinterpolation de Dirichlet.
Pour le reste de ce chapitre on considrera des signaux temporels temps limit.

4.6

Transforme de Fourier Discrte

La transforme de Fourier Discrte (TFD) dun signal x(n) temps limit de longueur N est
dfinie par la relation suivante :
X(k) =

N
1
X

x(n)ej

2kn
N

n=0

Fig. 4.1: TFD dun signal discret dure limite


La figure 4.1 illustre la relation entre les pas frquentiels et temporels. tant donne la dfinition de N permettant une reconstruction du signal temporel par sa transforme inverse, on
peut aussi crire :
N
1
X
2kn
X(k) =
x(n)ej N , k = 0, , N 1
(4.8)
n=0

4.6 Transforme de Fourier Discrte

41

On a la transforme de Fourier discrte inverse dfinie par :


N 1
2kn
1 X
Xk ej N ,
x(n) =
N

n = 0, , N 1

(4.9)

k=0

Les principales proprits de la TFD sont numres ci dessous.


Linarit
Dcalage en temps-frquence
x(n n0 ) e2j

kn0
N

X(k)

Produit de convolution circulaire


x1 (n) ~ x2 (n) =

N
1
X

x1 (i) x2 (n i) X1 (k).X2 (k)

i=0

avec x1 (n) et x2 (n) des signaux priodiques de priode N .


Thorme de Parseval (conservation de la puissance dun signal)
N 1
N
1
X
1 X
|x(i)|2 =
|X(k)|2
N
n=0

k=0

Proprits de symtrie
x(n) R X(k) = X (N k)
Un autre intrt de cette transforme rside dans un calcul dune somme finie de termes qui
peut tre particulirement efficace si N est une puissance de 2, (Fast Fourier Transform, FFT).
Il est possible de trouver la transforme de Fourier discrte dun signal, en valuant sa trans2k
forme en z sur le cercle unit, cest--dire en prenant z = ej N .
Il est aussi possible dexprimer X(z) en fonction des Xk , on a :
N 1
Xk
(1 z N ) X
X(z) =
2k
j
N
N z 1
k=0 1 e

On a considr les proprits prcdentes en prenant comme hypothse que x(n) est temps
limit. Soit maintenant un signal x(n) quelconque, quil soit temps limit ou non, priodique
ou apriodique, on a alors les proprits suivantes.
1. Pour un signal x(n) priodique de priode N , les valeurs X(k) de la TFD sont les
coefficients de la dcomposition en srie de Fourier du signal. La TFD est un calcul
exact.
2. Pour un signal x(n) quelconque, on a :
xp (n) = x(n),

pour n = 0, , N 1

Donc si on prend un signal temps discret quelconque, on effectue une TFD sur N
chantillons, puis une TFD inverse sur N points, on obtient exactement le signal dorigine
pour lintervalle 0 n N 1.

42

La Transforme de Fourier Discrte


3. Si x(n) est temps limit avec L N , on a alors :
Xk = X()|= 2k
N

Si x(n) nest pas temps limit, il existe toujours une relation en le spectre discret et
le spectre continu mais quil est difficile dinterprter. Comme la plupart du temps, on
souhaite interprter directement les Xk comme des composantes frquentielles du signal
on se dbrouillera pour ne ne traiter que des signaux temps limit (fentrage).
La transforme de Fourier Discrte est un outil efficace permettant de calculer la Transforme
de Fourier temps discret dun signal temps limit x(n). La Transforme de Fourier Discrte
est souvent utilise pour des oprations de filtrage sous une forme rapide.

4.7

Convolution linaire

Pour un systme linaire invariant (SLI), nous avons dmontr dans la section 1.4 que lon
obtient la relation suivante entre signal dentre et de sortie :
y(n) =

+
X

x(k)h(n k)

(4.10)

k=

Cette opration daccumulation de termes multiplicatifs porte le nom de convolution et se


note , on a :
y(n) = x(n) h(n)
Lopration de convolution temps discret prend deux squences x(n) et h(n) et produit
une troisime squence y(n). Lquation 4.10 indique que chaque chantillon de la squence
y(n) est form dune somme infinie des points de la squence x(k) et de h(k) retourne et
dcale dun facteur n. La figure P
4.2 illustre ce principe sur des squences de dure finie. La
flche indique le calcul de y(3) = +
k= x(k)h(3 k). Dans notre cas la somme se limite :
P3
y(3) = k=0 x(k)h(3 k).
Lopration de convolution linaire est transforme en simple produit par la transforme en
z:
y(n) = x(n) h(n) Y (z) = X(z).H(z)

4.7.1

Convolution priodique

Soit x1 (n) et x2 (n) deux squences priodiques de priode N et respectivement X1 (k) et X2 (k)
leur coefficients de sries de Fourier discrte, si on forme le produit :
X3 (k) = X1 (k).X2 (k)

(4.11)

alors la squence priodique x3 (n) est donne par :


x3 (n) =

N
1
X

x1 (k).x2 (n k)

(4.12)

k=0

La dmonstration de cette galit seffectue de manire simple en appliquant la TFD x3 (n)


et en manipulant la double somme ainsi obtenue.

4.7 Convolution linaire

43

Fig. 4.2: Convolution de deux signaux discrets dure limite

Lquation 4.12 est galement appele convolution priodique. Les diffrences principales par
rapport la convolution non priodique sont que la somme est limite lintervalle fini 0 . . . N
1 et que les valeurs de la squence dcale x2 (n k) se rpte priodiquement en dehors de
lintervalle de la somme.

4.7.2

Convolution circulaire

Dans cette section, nous tudions maintenant le cas o lon effectue une convolution de deux
squences de dure finie x1 (n) et x2 (n) de longueur N , associes leur TFD X1 (k) et X2 (k)
et que lon recherche dterminer une squence x3 (n) dont la DFT est :
X3 (k) = X1 (k).X2 (k)

(4.13)

Pour cela, il suffit dappliquer le rsultat de lquation 4.12 :


x3 (n) =

N
1
X

x
1 (k).
x2 (n k),

0nN 1

(4.14)

k=0

o x
1 (k) et x
2 (n k) sont des squences priodiques de priode N forme sur chaque priode
par les squences rptes de x1 (n) et x2 (n). Ce rsultat signifie que les squences de dure
finie sont considres comme priodiques de priode N est que leur dcalage est ralise de
manire circulaire. On utilisera alors le terme de convolution circulaire que lon notera :
x3 (n) = x1 (k) ~ x2 (n k)

(4.15)

Cette opration est, comme la convolution linaire, commutative. La principale proprit de


la convolution circulaire est quelle est transforme en un simple produit par la TFD. Ceci
donnera naissance aux algorithmes dits de convolution rapide grce lutilisation de la Transforme de Fourier Rapide (TFR) dcrite dans le chapitre 5.

44

La Transforme de Fourier Discrte

4.7.3

Convolution linaire utilisant la TFD

Dans cette section nous nous intressons au calcul efficace de la convolution linaire de deux
squences x1 (n) et x2 (n) en utilisant leur TFD respective X1 (k) et X2 (k). Le rsultat est le
signal x3 (n) dont la DFT est X3 (k). Si lon peut trouver une relation entre la convolution
linaire et la convolution circulaire dfinie dans la section prcdente, alors le calcul coteux
de la convolution linaire pourra tre remplace par la procdure suivante :
1. calcul des TFD sur N points des squences x1 (n) et x2 (n),
2. calcul du produit X3 (k) = X1 (k).X2 (k) pour 0 k N 1 en utilisant ventuellement
un algorithme de calcul rapide de la TFD,
3. calcul de la squence x3 (n) par TFD inverse de X3 (k).
4.7.3.1

Cas des signaux dure finie

Si on considre deux squences x1 (n) et x2 (n), respectivement de dure finie N et M , la


convolution linaire de ces deux signaux est donne par :
x3 (n) =

+
X

x1 (k)x2 (n k),

0n<

(4.16)

k=

La figure 4.2 illustre cette quation sur des signaux x(n) et h(n) de dure N = 9 et M = 5.
En observant la squence h(n k) et pour des signaux causaux, il est ais de comprendre que
lquation 4.16 prcdente peut tre rcrite de la manire suivante :
x3 (n) =

n
X

x1 (k)x2 (n k),

0nN +M 2

(4.17)

k=0

Alors, N + M 1 est la longueur de la squence x3 (n) rsultante de la convolution de x1 (n)


et x2 (n). Par consquent, la DFT X3 (k) de x3 (n) est galement de longueur N + M 1.
Ainsi, pour effectuer une convolution linaire exacte de x1 (n) et x2 (n) de dure finie, il faudra
appliquer la procdure suivante :
1. calcul des TFD sur N + M 1 points des squences x1 (n) et x2 (n) compltes par des
zros,
2. calcul du produit X3 (k) = X1 (k).X2 (k) pour 0 k N + M 2 en utilisant ventuellement un algorithme de calcul rapide de la TFD,
3. calcul de la squence x3 (n) par TFD inverse de X3 (k).
4.7.3.2

Cas des signaux dure infinie

Dans le cas le plus gnral, o les squences sont des signaux support infini, il existe uniquement des mthodes approches travaillant par blocs dchantillons et utilisant la DFT pour le
calcul de la convolution.
Le filtrage RIF est un cas particulier o une des squences est support fini (la rponse
impulsionnelle h(n) du filtre) et lautre support infini (le signal dentre du filtre). Ces
techniques ne sont pas dtailles dans ce support de cours, mais seront dtailles en cours.

Chapitre 5

Transforme de Fourier Rapide


5.1

Naissance de la TFR

La transformation de Fourier rapide (TFR), ou encore Fast Fourier Transform (FFT), est
directement issue dune rorganisation du calcul des matrices de la transforme de Fourier
discrte (TFD) dont la dfinition est donne dans les quations 5.1 et 5.2. X(k) est la TFD
du signal x(n). N points du signal x(n) donnent N points de la TFD X(k).
X(k) =

N
1
X

x(n).e(2j

n.k
)
N

, k = 0, 1 . . . N 1

(5.1)

n=0

x(n) =

N 1
n.k
1 X
X(k).e(2j N ) , n = 0, 1 . . . N 1
N

(5.2)

k=0

x(n) et X(k) sont, dans le cas gnral, des nombres complexes.


Nous pouvons rcrire lquation 5.1 sous forme matricielle en faisant ainsi apparatre la complexit de lalgorithme de la TFD.

1
1
1
X(0)
2
1 W 1
W
N
N
X(1)
..
..
..


.
.
.
=

..


.
2
WN4
1 WN
X(N 1)
2(N 1)
1 WNN 1 WN

..
.

x(0)


x(1)

..

.
2(N 1)
WN

x(N 1)
(N 1)2
WN
WNN 1
..
.

(5.3)

avec WN le twiddle factor gal e(2j N )


La TFD revient calculer un produit matrice-vecteur o chaque lment est de type complexe.
La complexit de calcul de la TFD est donc de N 2 multiplications, et de N (N 1) additions
sur des nombres complexes. Ceci revient une complexit de 4N 2 multiplications relles et
N (4N 2) additions relles. Cet algorithme se comporte donc en O(N 2 ), mais ne possde pas
de problmes dadressage car les x(n) et les WNk sont rangs dans lordre en mmoire.
En exploitant les proprits des WNk (symtrie, priodicit, ...) :
45

46

Transforme de Fourier Rapide

k(N n)

= (WNkn )

k(n+N )

= WN

WN
WN

n+N/2
WN
WN2kn

(5.4)

n(k+N )

= WNkn

(5.5)

= WNn

(5.6)

kn
WN/2

(5.7)

on peut rduire le nombre doprations arithmtiques par un rapport de 2, mais la complexit


globale reste en O(N 2 ) [OS75].
De nombreux travaux ont essay de rduire la complexit de la transforme de Fourier discrte, mais il a fallu attendre 1965 et la paire Cooley et Tuckey qui ont publi un algorithme
applicable quand N est le produit de 2 ou plusieurs entiers. Cette publication allait engendrer
de nombreuses recherches sur les algorithmes de calculs des transformes ; la FFT tait ne.
Depuis, et encore de nos jours, beaucoup dalgorithmes de traitement numrique du signal sont
bass sur lutilisation de cet algorithme efficace (ou de ses nombreux drivs) pour rduire leur
complexit.
Le principe fondamental de la TFR (en franais dans le texte) repose sur la dcomposition
du calcul dune squence de N chantillons en TFD successives sur un nombre infrieur de
points. Selon la manire dont ce principe est implant, on obtient diffrents algorithmes, tous
comparables au niveau de leur complexit.
TFR partage dans le temps ou DIT (decimation in time) :
x(n) est dcompos en sous squence.
TFR partage en frquences ou DIF (decimation in frequency) :
X(k) est dcompos en sous squence.

5.2

TFR partage dans le temps (DIT)

Depuis la formule 5.1, on partage X(k) en une somme sur les termes dindices pairs et une
autre sur les termes dindices impairs, dans notre exemple on se limitera au cas o N est une
puissance de deux.
X
X
X(k) =
x(n).WNnk +
x(n).WNnk
(5.8)
n pair

n impair
N/21

N/21

X(k) =

x(2n).WN2nk +

n=0

N/21
nk
x(2n).WN/2
+ WNk

n=0

nk
x(2n + 1).WN/2

(5.10)

n=0

X(k) = G(k) + WNk .H(k)


o

(5.9)

n=0

N/21

X(k) =

(2n+1)k

x(2n + 1).WN

(5.11)

G(k) : TFD sur les N/2 points dindices pairs,


H(k) : TFD sur les N/2 points dindices impairs.

De plus, on peut rduire la complexit de calcul des chantillons N/2 N 1 en calculant


X(k + N/2), puis en appliquant les proprits de symtrie (voir quation 5.13. On obtient

5.2 TFR partage dans le temps (DIT)

47

ainsi le calcul dun papillon de la TFR.

N
X(k + ) =
2
X(k +

N/21

N/21
n(k+N/2)
x(2n).WN/2

(k+N/2)
WN

n=0

n(k+N/2)

x(2n + 1).WN/2

(5.12)

n=0

N
) = G(k) WNk .H(k)
2

(5.13)

Lapplication de ces quations est reprsente graphiquement la figure 5.1. On remarque


quune TFD dordre N est dcompose en 2 TFD dordre N/2 suivies dune recombinaison
dont la complexit est en O(N ).
x(0)
x(2)

W80

TFD

x(4)

W81

N/2 points

W82

x(6)

W83

x(1)
x(3)

W84

TFD

x(5)

W85

N/2 points

W86

x(7)

W87

X(0)
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
X(7)

Fig. 5.1: Dcomposition DIT de la TFD


Comme N/2 est galement un nombre pair, on peut de nouveau partager chacune des TFD
dordre N/2 en deux TFD dordre N/4 jusqu arriver une TFD sur deux points pour laquelle
le graphe flot est de complexit O(N ). Finalement il en rsulte un graphe flot possdant log2 N
tages de recombinaison (complexit O0 N )) comme reprsent la figure 5.3 ; la complexit
de la transforme de Fourier est enfin rduite O(N log2 N ).
Lopration lmentaire est ici appele papillon DIT. On peut le reprsenter sous sa forme gnrale entre deux tages m et m+1 avec m = 1, 2, . . . , log2 N (figure 5.2 et systme dquations
5.14).
Xm (p)

Xm (q)

Xm+1 (p)

W rN

-1

Xm+1 (q)

Fig. 5.2: Papillon DIT de la TFR

Xm+1 (p) = Xm (p) + WNr .Xm (q)


Xm+1 (q) = Xm (p) WNr .Xm (q)

(5.14)

48

Transforme de Fourier Rapide

Un papillon DIT, dont les quations sont donnes ci dessus (5.14) ncessite 1 multiplication,
1 addition et 1 soustraction sur des nombres complexes. Le graphe complet ncessite le calcul
de N2 log2 N papillons ce qui donne donc en unit de calcul :
N2 log2 N multiplications de nombres complexes,
N log2 N additions/soustractions de nombres complexes, ou,
2N log2 N multiplications de nombre rels1 ,
3N log2 N additions/soustractions de nombre rels2 .
Cette complexit prcise peut servir valuer le temps de calcul dune TFR complte sur
nimporte quel processeur.
X(0)

X(0)

X(1)

X(8)

X(2)

X(4)

X(3)

X(12)

X(4)

X(2)

X(5)

X(10)

X(6)

X(6)

X(7)

X(14)

X(8)

X(1)

X(9)

X(9)

X(10)

X(5)

X(11)

X(13)

X(12)

X(3)

X(13)

X(11)

X(14)

X(7)

X(15)

X(15)

Fig. 5.3: Graphe dune TFR DIF sur 16 chantillons


1
2

1 multiplication complexe requiert 4 multiplications et 2 additions sur des nombres rels.


1 addition complexe requiert 2 additions sur des nombres rels.

5.3 TFR partage dans les frquences (DIF)

49

Si Xm (.) et Xm+1 (.) peuvent tre placs en mmoire sur le mme vecteur on parle de calcul en
place. De plus, le fait de faire apparatre la sparation pair/impair au dpart (DIT) puis de
sparer nouveau en N/4, N/8,... groupes dchantillons, implique en entre des chantillons
dont les adresses suivent un ordre appel bit-reverse tel que :
si la reprsentation en binaire de lindice (n) est (nb . . . n2 n1 n0 ) alors celle de son bit-reverse
(n0 ) est (n0 n1 n2 . . . nb ).
A loppos de la TFD, la TFR gnre un calcul dadresse non ngligeable. Entre deux tages m
et m+1, les W k ne varient pas linairement avec les x(k). De plus, il est ncessaire de prsenter
lalgorithme les chantillons dans un ordre non rgulier (bit-reverse) ce qui engendre un calcul
dadresse supplmentaire. Ces problmes ne sont pas ngligeables - surtout sur un processeur
gnral - car ils rajoutent la complexit lmentaire une complexit dadressage.

5.3

TFR partage dans les frquences (DIF)

Depuis la formule 5.1, on partage X(k) en une somme sur les N/2 premiers termes et une
autre sur les N/2 autres termes :
N/21

X(k) =

x(n).WNnk +

n=0

N
1
X

x().WNnk

N/21

X(k) =

N/21

x(n).WNnk

kN/2
WN

n=0

x(n + N/2).WNnk

(5.16)

n=0

N/21 h

X(k) =

(5.15)

n=N/2

x(n) + (1) .x(n + N/2) WNnk

(5.17)

n=0

On effectue une sparation des indices pairs et impairs :


N/21

X(2p) =

[x(n) + x(n + N/2)] WN2pk

(5.18)

[x(n) x(n + N/2)] WN2pk .WNn

(5.19)

n=0
N/21

X(2p + 1) =

n=0

N/21

X(2p) =

pk
[x(n) + x(n + N/2)] WN/2

(5.20)

n=0
N/21

X(2p + 1) =

pk
[x(n) x(n + N/2)] WN/2
.WNn

(5.21)

n=0

De mme que pour le partage temporel, le remaniement des quations amne le calcul de deux
TFD dordre infrieur selon le schma de la figure 5.4.

50

Transforme de Fourier Rapide


x(0)

X(0)

x(1)

TFD

x(2)

X(2)

N/2 points

X(4)

x(3)

X(6)

x(4)

X(1)

W80

x(5)

TFD

W81

x(6)

W82

x(7)

X(3)

N/2 points

X(5)
X(7)

W83

Fig. 5.4: Dcomposition DIF de la TFD


Xm (p)

Xm (q)

Xm+1 (p)

-1

W rN

Xm+1 (q)

Fig. 5.5: Papillon DIF de la TFR

On peut galement continuer diviser ces transformes dordre infrieur comme dans le cas
prcdent (DIT) jusqu arriver au papillon unitaire dont le graphe est dcrit la figure 5.5
et dans le systme dquations 5.22).

Xm+1 (p) = Xm (p) + Xm (q)


Xm+1 (q) = [Xm (p) Xm (q)].WNr

(5.22)

La complexit lmentaire est identique la TFR partage dans le temps, la seule diffrence
rside dans le calcul dadresse de la table des W k lors des tapes, qui est plus simple
programmer dans le cas DIF. De plus ce sont les chantillons en sortie qui sont placs en ordre
bit-reverse.

5.4

Autres graphes de la TFR

Divers paramtres permettent de modifier la structure du graphe flot de donnes de la Transforme de Fourier Rapide (mode dadressage, structure graphique, base du calcul), nous allons
essayer den numrer les principaux.
Le graphe gomtrie constante se caractrise par le fait que chaque passe d u calcul possde
la mme structure graphique que les autres passes. Celui-ci est directement issu de la dcomposition de la matrice [W ] de la transforme de Fourier discrte en matrices de Good [Ka91]
selon la relation ci dessous.

5.4 Autres graphes de la TFR

51

W =

log
2N
Y

Di .Ci

i=1

avec : Di des matrices diagonales, et Ci les matrices de Good.


Un exemple pour N=4 est reprsent sous forme matricielle dans lquation 5.23 puis sous son
quivalent de graphe dans la figure 5.6 ci-dessous.


1
1 1 0 0
X(0)
X(1) 0 0 1 1 0


X(2) = 1 1 0 0 0
0
0 0 1 1
X(3)

x(0)

0
1
0
0
1



x(0)
1 1 0 0
0 0

0 0
0 0 1 1 x(1)

1 1 0 0
x(2)
1 0
x(3)
0 0 1 1
0 W
1

(5.23)

X(0)

x(2)
1

x(1)
x(3)

-1

W1

X(1)
X(2)
X(3)

Fig. 5.6: Graphe dune TFR gomtrie constante sur 4 chantillons


Un autre paramtre donnant des graphes de calcul diffrents est celui du bit-reverse. En effet
on peut choisir lentre comme la sortie selon lordre normal ou lordre bit-reverse. Ceci a pour
effet de modifier la forme du graphe ainsi que du calcul des indices des Wi . Cependant, si
pour viter un calcul dadressage supplmentaire on dsire obtenir un graphe dont la fois les
entres comme les sorties sont dans lordre naturel, on passe dans une forme de calcul dit "non
en place". Cette forme possde linconvnient majeur de perdre la notion de papillon. Cest
dire quentre deux passes successives on est oblig de mmoriser les vecteurs intermdiaires,
ce qui a pour effet de doubler la mmoire ncessaire lalgorithme.
On peut galement utiliser dautres bases de calcul de la transforme (nos exemples tant en
base 2) qui consistent sparer la TFD en plus de deux (quatre par exemple) TFD dordre
infrieur ce qui a pour effet de rduire un peu encore la complexit (O(N log4 N ) pour une TFR
base (ou radix) 4). Par contre le papillon lmentaire voit son nombre de calcul augmenter. On
peut citer lexemple de la TFR DIF en base 4 dont la complexit en opration est 3N
4 log4 N
multiplications complexes et 4N log4 N additions complexes. Un exemple de graphe radix 4 est
donn en annexe du document.

entre ordre bit-reversed

X(15)

X(7)

X(11)

X(3)

X(13)

X(5)

X(9)

X(1)

X(14)

X(6)

X(10)

X(2)

X(12)

(Dcimation en
temps)

DIT:

FFT

Fig. 5.7: Graphe dune TFR DIT radix 2 sur 16 points


W= e

-2j
N

A = A + BW
B = A - BW

W= e

-2j
N

A = A + BW
B = A - BW

FFT inverse

-k

-k

k
B

X(15)

X(14)

X(13)

X(12)

X(11)

X(10)

X(9)

X(8)

X(7)

X(6)

X(5)

X(4)

X(3)

X(2)

X(1)

X(8)

X(4)

X(0)

X(0)

5.5.1
sortie ordre normal

5.5

FFT DIT RADIX-2 en place sur 16 points

52
Transforme de Fourier Rapide

Annexes au chapitre sur la TFR


Graphe dune TFR DIT radix 2 sur 16 points

entre: ordre normal

5
6
7

X(13)

X(14)

X(15)

Fig. 5.8: Graphe dune TFR DIF radix 2 sur 16 points

frquence)

(Dcimation en

W= e

-2j
N

W= e

-2j
N

A = A + B
B = (A-B) W

X(12)

A = A + B
B = (A-B) W

X(11)

FFT inverse

X(10)

FFT

X(9)

DIF:

X(8)

X(7)

X(6)

X(5)

X(4)

X(3)

X(2)

X(1)

X(0)

-k

X(15)

X(7)

X(11)

X(3)

X(13)

X(5)

X(9)

X(1)

X(14)

X(6)

X(10)

X(2)

X(12)

X(4)

X(8)

X(0)

sortie: ordre bit-reversed

5.5.2

FFT DIF RADIX-2 en place sur 16 points

5.5 Annexes au chapitre sur la TFR


53

Graphe dune TFR DIF radix 2 sur 16 points

Gomtrie
Constante

X(15)

X(7)

X(11)

X(3)

X(13)

X(5)

X(9)

X(1)

X(14)

X(6)

X(10)

X(2)

X(12)

X(4)

X(8)

X(0)

Fig. 5.9: Graphe dune TFR gomtrie constante sur 16 points


W= e

-2j
N

A' = A + BW
B' = A - BW

FFT

k
k

W= e

-2j
N

A' = A + BW
B' = A - BW

FFT inverse

-k
-k

X(15)

X(14)

X(13)

X(12)

X(11)

X(10)

X(9)

X(8)

X(7)

X(6)

X(5)

X(4)

X(3)

X(2)

X(1)

X(0)

sortie: ordre normal

entre: ordre bit-reversed

5.5.3

FFT GEOMETRIE CONSTANTE sur 16 points

54
Transforme de Fourier Rapide

Graphe dune TFR gomtrie constante sur 16 points

FFT

X(7)

X(15)

X(14)

FFT inverse

Fig. 5.10: Graphe dune TFR DIF radix 4 sur 16 points


W=e

-2j
N

A = A+B+C+D
k
B = (A-jB-C+jD)W
2k
C = (A-B+C-D)W
D = (A+jB-C-jD)W 3k
W=e

-2j
N

A = A+B+C+D
-k
B = (A-jB-C+jD)W
-2k
C = (A-B+C-D)W
D = (A+jB-C-jD)W -3k

3k

2k

B
B
C

X(15)

X(7)

X(11)

X(13)

X(3)

X(12)

X(5)

X(9)

X(1)

X(14)

X(6)

X(10)

X(13)

X(11)

X(10)

X(9)

X(6)

X(8)

X(2)

X(4)

X(5)

X(12)

X(3)

X(4)

X(8)

X(1)

X(2)

X(0)

X(0)

sortie: ordre bit-reversed

entre: ordre normal

5.5.4

FFT DIF RADIX-4 en place sur 16 points

5.5 Annexes au chapitre sur la TFR


55

Graphe dune TFR DIF radix 4 sur 16 points

56

5.5.5

Transforme de Fourier Rapide

Algorithme DIF de la TFR radix 2 sur I points complexes

Complexit de calcul : O(I.log2 I)


Nombre total de passes : log2 I
Nombre de groupes dans une passe : 2passe
Nombre de papillons calculs : I.log2 I/2
Complexit dun papillon : 2 additions et 1 multiplication complexes, ou 6 additions et 4
multiplications relles.
PROCEDURE FFT (X, isign )
[I]complexe X: -- echantillons temporels et spatiaux
int isign:
-- FFT / FFT inverse
variables locales:
[I]real: Wr, Wi:
-- racines Nime de lunit
-- Wr[k]:= COS(2p k / I)
-- Wi[k]:= isign * SIN(2p k / I)
int k,K:
real C,S:
int I1: -- nombre dechantillons par groupe
int I2: -- nombre de papillons par groupe
int I3: -- nombre de groupe
int i,l: -- indice des chantillons du papillons
complexe t: -- variable temporaire
DEBUT
I2:=I;
I3:=1;
POUR passe DE 1 LOG2I FAIRE
I1:=I2; I2:= I2 / 2;
k:=0;

K:= I / I1;

POUR j DE 0 I2-1 FAIRE


C:=Wr[k];
S:=Wi[k];
k:=k + K;

-- COS (2p k / I)
-- SIN(2p k / I)

POUR i DE j I-1 PAR I1 FAIRE


l:=i + I2;
--- papillon X[i] X[l]
--- X[i] = X[i] + X[l]
--- X[l] = (X[i] - X[l])
t.r:=X[i].r - X[l].r;
t.i:=X[i].i - X[l].i;
X[i].r := X[i].r + X[l].r;

5.5 Annexes au chapitre sur la TFR


X[i].i := X[i].i + X[l].i;
X[l].r := C*t.r + S*t.i;
X[l].i := C*t.i - S*t.r;
FAIT
I3:=I3 * 2;
-- nombre de groupes
FAIT
FAIT
-- bit reverse : remettre la sortie dans lordre normal
j:=1
POUR i DE 1 I-1 FAIRE
SI i<j ALORS
t:=X[j]
X[j]:=X[i]
X[i]:=t
FINSI
k:=I/2
TANT QUE k<j FAIRE
j:=j-k
k:=k/2
FAIT
j:=j+k
FAIT
SI isign=-1 ALORS
--- normaliser X dans le cas de la FFT inverse
POUR tous les X[i] FAIRE
X[i]:=X[i] / I
FAIT
FINSI
FIN

57

58

Transforme de Fourier Rapide

Chapitre 6

Filtrage numrique
6.1

Introduction au filtrage numrique

Il est difficile de donner une dfinition formelle de la notion de filtrage. Lingnieur lectronicien pense souvent une modification des caractristiques frquentielles dun signal donn
dentre. Dun point de vue thorique, le domaine frquentiel est coupl au domaine temporel,
le filtrage modifie donc galement la rponse dans ce dernier.
A une squence dchantillons dun signal dentre temps discret x(n), un filtre numrique,
dfini par sa rponse impulsionnelle h(n) ou par sa fonction de transfert en z H(z), rpond
par une squence dchantillons dun signal de sortie y(n) (figure 6.1).
Filtre numrique

x(n) <=> X(z)

7z
h(n) <=> H(z)

y(n) <=> Y(z)

Fig. 6.1: Reprsentation sous forme de fonction de transfert en z


Des exemples de filtrage sont donns ci aprs.
Rduction de bruit pour des signaux radio, des images issues de capteurs, ou encore des
signaux audio.
Modification de certaines zones de frquence dans un signal audio ou sur une image.
Limitation une bande frquentielle pr-dfinie.
Fonctions spciales (drivation, intgration, transforme de Hilbert, ...).
Dans lexemple du code DTMF (Digital Tone Multiple Frequency) utilis en tlphonie,
le signal transmis est la somme de deux sinusodes dont les frquences sont normalises
(voir figure 6.2 gauche). Il rsulte du choix de la touche appuye sur votre tlphone. Ce
principe est souvent qualifi de frquences vocales. A la rception, pour reconnatre le numro
compos, une srie de bancs de filtres est utilise (voir figure 6.2 droite). Une premire
discrimination de deux zones frquentielles est ralise par un filtre passe haut et un filtre
passe-bas. Puis, dans chaque zone, une srie de filtres passe-bande suivis dun dtecteur
permet de dterminer la prsence dune frquence particulire.

59

60

Filtrage numrique

697 Hz
770 Hz
852 Hz
941 Hz

1
4
7
*

2
5
8
0

3
6

BP Filter

Detector

697 Hz

BP Filter

Detector

770 Hz

BP Filter

Detector

852 Hz

LP Filter

Limiter

BP Filter

Detector

941 Hz

HP Filter

Limiter

BP Filter

Detector

1209 Hz

BP Filter

Detector

1336 Hz

BP Filter

Detector

1477 Hz

9
#

1209 Hz 1336 Hz 1477 Hz


Schma de dtection de tonalit

Frquences de tonalit du clavier numrique

Fig. 6.2: Exemple du code DTMF en tlphonie

6.2

Reprsentation dun filtre numrique

Un filtrage numrique peut tre reprsent en utilisant plusieurs types de spcifications.


1. Fonction de transfert en z. Ce mode de reprsentation est le plus usuel. Il permet de
lier lentre et la sortie dans le plan z par Y (z) = H(z).X(z). On posera dans la suite :
PN
i
N (z)
i=0 bi .z
=
H(z) =
P
i
D(z)
1+ N
i=1 ai .z

(6.1)

o N (z) est le polynme du numrateur de la fonction de transfert, tandis que D(z) est
son dnominateur. N est ici lordre du filtre. Dans le cas o H(z) possde des ples,
on parlera de filtres RII (pour Rponse Impulsionnelle Infinie). Si N (z) = 1, on parlera
de filtre tous-ples. Dans le cas o D(z) = 1, le filtre ne possde que des zros. Cette
famille de filtre correspond au cas des filtres RIF (pour Rponse Impulsionnelle Finie).
Celle ci na pas dquivalent en filtrage analogique, et nous verrons que ses proprits en
font une fonction trs utilise en traitement numrique du signal.
Lquation 6.1 peut galement tre reprsente en mettant en avant les ples et les zros.
QN

i=1
H(z) = b0 QN

(z zi )

i=1 (z

pi )

(6.2)

o pi sont les ples et zi sont les zros de H(z). On rappelle ici que la stabilit du filtre
sera dtermin par lappartenance des ples au cercle unit (i.e. |pi | < 1), et que des
zros appartenant au cercle unit caractriseront un filtre minimum de phase.
La figure 6.3 montre plusieurs versions de reprsentations de H(z). La forme directe
(figure6.3.a) peut tre dcompose en produit ou en somme de fonctions de transfert
dordre infrieur, gnralement dordre 2. Lquation 6.3 et la figure 6.3.b reprsentent la
forme parallle, tandis que lquation 6.4 et la figure 6.3.c reprsentent la forme cascade.
H(z) =

M
X
i=1

Hi (z) =

M
X
b0 + b1 .z 1 + b2 .z 2
i=1

1 + a1 .z 1 + a2 .z 2

(6.3)

6.2 Reprsentation dun filtre numrique

H(z) =

M
Y

61

Hi (z) =

i=1

M
Y
b0 + b1 .z 1 + b2 .z 2
i=1

(6.4)

1 + a1 .z 1 + a2 .z 2

2. Rponse impulsionnelle. La rponse impulsionnelle est la fonction en z inverse de


H(z).

X
H(z) =
h(n).z n
(6.5)
n=0

Comme en filtrage analogique, la sortie dun filtre y(nT ) est le rsultat de la convolution
du signal dentre reprsent de manire temporelle x(nT ) avec la rponse impulsionnelle
du filtre h(nT ). On a alors y(nT ) = x(nT )h(nT ), ou, si on fait abstraction de la priode
dchantillonnage T :
y(n) = x(n) h(n) =

x(k).h(n k) =

k=0

x(n k).h(k)

(6.6)

k=0

Dans le cas o x(n) est une impulsion (n), on retrouve bien y(n) = h(n).
Selon les cas o h(n) est support infini ou fini, on retrouvera respectivement les deux
types de filtres RII et RIF.
3. quation aux diffrences. Une transformation en z inverse de lquation 6.1 permet
daboutir la forme suivante :
y(n) =

N
X

bi .x(n i)

i=0

N
X

ai .y(n i)

(6.7)

i=0

On identifie ici deux parties distinctes : une partie fonction de la valeur courante et des
valeurs prcdentes de lentre x(n), et une partie fonction des valeurs prcdentes de la
sortie y(n). Selon si les ai sont non nuls ou nuls, on parlera donc de filtres rcursifs ou
de filtres non rcursifs.
H1(z)
X(z)

H(z)

Y(z)

X(z)

H2(z)

Y(z)

...
a) Forme directe

HM(z)
b) Forme parallle

X(z)

H1(z)

H2(z)

...

HM(z)

Y(z)

c) Forme cascade

Fig. 6.3: Reprsentations sous forme de fonctions de transfert en z

62

Filtrage numrique

6.3

Spcification dun filtre numrique

Avant quun filtre numrique soit conu et implant, nous avons besoin de dfinir ses spcifications. Un filtre doit laisser passer certaines frquences, alors quil doit en attnuer (voire
liminer) dautres. Nous devons donc pouvoir reprsenter ces contraintes. Il y a quatre filtre
de bases :
1. les filtres passe-bas laissent passer les frquences infrieures une frquence de coupure
fc et bloquent celles qui lui sont suprieures (figure 6.4.a),
2. les filtres passe-haut bloquent les frquences infrieures une frquence de coupure fc
et laissent passer celles qui lui sont suprieures (figure 6.4.b),
3. les filtres passe-bande laissent passer les frquences autour dune frquence centrale f0
(ou comprises entre f1 et f2 ) et bloquent les autres (figure 6.4.c),
4. les filtres rjecteur-de-bande bloquent les frquences autour dune frquence centrale f0
(ou comprises entre f1 et f2 ) et laissent passer les autres (figure 6.4.d).
H(ej)

H(ej)
1

a) Filtre passe-bas

b) Filtre passe-haut

H(ej)

H(ej)

1 0 2

c) Filtre passe-bande

1 0 2
d) Filtre rjecteur-de-bande

Fig. 6.4: Rponses frquentielles idales des 4 filtres de base

Les filtres reprsents en figure 6.4 sont idaux. Dans un cas rel il ne peut y avoir de discontinuits. Le passage entre zones passantes et zones attnues se fait par des zones dites
de transition dont la largeur va exprimer la slectivit du filtre. Les bandes passantes et
attnues ne sont galement pas idales, elles contiennent des ondulations dont lamplitude
est exprime par les paramtres dondulation en bande passante et dattnuation.
Pour toutes ces raisons, la spcification dun filtre est habituellement ralise partir dun
gabarit frquentiel, dfini entre 0 et .

6.3 Spcification dun filtre numrique

6.3.1

63

Spcifications des filtres passe-bas et passe-haut

Un filtre passe-bas possde trois zones : la bande passante (0 p ), la bande de transition


(p a ) et la bande attnue (a ). La figure 6.5.a montre une reprsentation graphique du gabarit frquentiel linaire dun filtre passe-bas, tandis que la figure 6.5.b
reprsente un gabarit frquentiel en dB. Un filtre passe-haut verrait ses bandes attnues et
passantes inverses, on aurait dans ce cas p > a . 1 est londulation en bande passante, 2
est lattnuation.
La slectivit du filtre est dfinie dans le tableau 6.1.
|H(ej)|

|H(ej)| (dB)
p

1+1
1
1-1

20log(1+1)

0 dB
20log(1-1)

20log2

a) Gabarit frquentiel linaire

b) Gabarit frquentiel en dB

Fig. 6.5: Gabarit frquentiel dun filtre passe-bas

6.3.2

Spcifications des filtres passe-bande et rjecteur-de-bande

Un filtre passe-bande possde plusieurs zones : la bande passante (p p+ ), deux


bandes de transition et deux bandes attnues (0 a et a+ ). La figure 6.6
montre une reprsentation graphique du gabarit frquentiel linaire dun filtre passe-bande.
Un filtre rjecteur-de-bande verrait ses bandes attnues et passantes inverses.
Le tableau 6.1 rsume les paramtres des diffrents gabarits tudis.

Slectivit s
Ondulation
Attnuation
Frquence centrale 0
Largeur de bande B

Passe-bas

Passe-haut

Passe-bande

Rjecteur-de-bande

p
a

a
p

p+ p
a+ a

a+ a
p+ p

1
2
-

1
2
-

1
p 2
p+ .p

1
p 2
p+ .p

p+ p
0

p+ p
0

Tab. 6.1: Paramtres de spcification dun filtre numrique

64

Filtrage numrique

|H(ej)|
1+1
1
1-1

2
a- p-

p+ a+

Fig. 6.6: Gabarit frquentiel linaire dun filtre passe-bande

6.4

Classification des filtres numriques

Les filtres numriques peuvent tre classs selon plusieurs critres :


1. la longueur de la rponse impulsionnelle implique deux types de filtres RII et RIF,
2. le type de reprsentation, ou de structure, implique deux types de filtres rcursifs et non
rcursifs.
Nous verrons qu lexception dun cas particulier, les filtres rcursifs et non rcursifs sont
respectivement quivalents aux filtres RII et RIF.

6.4.1

Filtres rcursifs RII

Les filtres analogiques ont ncessairement une rponse impulsionnelle infinie. Les filtres numriques RII se comportent de manire similaire, mis part les effets dus la discrtisation.
Cette catgorie de filtre est galement caractrise par une fonction de transfert en z contenant
des ples, et une quation aux diffrences rcursives, cest dire lorsque la sortie y(n) dpend
la fois des entres et des sorties prcdentes.
Les quations 6.8 et 6.9 montrent la fonction de transfert en z et lquation aux diffrences
correspondante de la forme gnrale dun filtre RII. N est appel ici lordre du filtre.
PN
i
N (z)
i=0 bi .z
H(z) =
=
P
i
D(z)
1+ N
i=1 ai .z

y(n) =

N
X

bi .x(n i)

i=0

N
X

ai .y(n i)

(6.8)

(6.9)

i=0

A partir de lquation 6.8, deux cas se prsentent :


1. si N (z) nest pas divisible par D(z), on a un nombre infini de termes dans la division

6.4 Classification des filtres numriques

65

polynomiale de N (z) par D(z) :


H(z) =

N
X

cn .z n

n=0

h(n) = cn pour n = 0 . . .

H(z) est un filtre RII,


2. si N (z) est divisible par D(z), on a un nombre fini de termes dans la division polynomiale
de N (z) par D(z) :
H(z) =

N
1
X

cn .z n

n=0

h(n) = cn pour n = 0 . . . N 1

H(z) est un filtre RIF.


Exemple 6.4.1 : Dmontrer que le filtre moyenneur
1 1z M
1 PM 1 i
H(z) = M
=M
i=0 z
1z 1
peut tre exprim de manire rcursive : y(n) = s(n 1) +
1 PM 1
ou de manire non rcursive : y(n) = M
i=0 e(n i)

1
M [e(n)

e(n M )]

Les principales caractristiques des filtres RII sont :


1. une bande de transition qui peut tre troite ;
2. des mthodes de synthse par transposition des mthodes pour les filtres analogiques
(voir chapitre 8) ;
3. une instabilit potentielle due des ples situs en dehors du cercle unit (i.e. |pi | 1
quel que soit i) ;
4. une instabilit numrique (i.e. aprs quantification des coefficients et du signal) potentielle due au rebouclage.

6.4.2

Filtres non rcursifs RIF

Les filtres RIF ne peuvent pas tre drivs des filtres analogiques. Il sont cependant trs
largement utiliss car ils possdent des proprits uniques (phase linaire, stabilit, flexibilit).
Les quations 6.10 et 6.11 montrent la fonction de transfert en z et lquation aux diffrences
correspondante de la forme gnrale dun filtre RII. N est appel ici la longueur de la rponse
impulsionnelle du filtre.
N
1
X
bi .z i
(6.10)
H(z) =
i=0

y(n) =

N
1
X
i=0

bi .x(n i) =

N
1
X
i=0

h(i).x(n i)

(6.11)

66

Filtrage numrique

On remarque en exploitant lquation 6.11 que les coefficients bi du filtre sont galement les
valeurs de la rponse impulsionnelle h(n), qui se trouve donc tre limite dans le temps.

H(z) =

N
1
X

bi .z i h(n) =

i=0

h(n) =

N
1
X

bi .(n i)

(6.12)

i=0

bn
0

pour 0 n N 1
ailleurs

(6.13)

Les principales caractristiques des filtres RIF sont :


1. une bande de transition qui sera toujours plus large quun filtre RII ayant le mme
nombre de coefficients ;
2. des mthodes de synthse permettant de driver nimporte quelle rponse frquentielle
(voir chapitre 9 ;
P 1
3. une stabilit inhrente ( N
n=0 |h(n)| < ) ;
4. une plus grande stabilit numrique que les RII ;
5. une phase qui peut tre exactement linaire, par consquent un temps de propagation
de groupe constant et une absence de distorsion harmonique dans le signal ;
6. une plus grande facilit dimplantation dans un systme numrique de traitement.

6.5

Analyse frquentielle des filtres numriques

Lanalyse frquentielle est la reprsentation de la fonction de transfert du filtre dans le domaine


des frquences, cest dire celui de Fourier. La fonction de transfert en est la transforme
de Fourier du signal h(n).
H(ej ) =

h(n).ejn = H(z)/z=ej

(6.14)

n=0

Cette fonction correspond un signal discret, elle est donc priodique de priode 2. Cest
pour cette raison que lon a lhabitude dutiliser la notation H(ej ) plutt que H(). La figure
6.7 reprsente un exemple de filtre passe-bas. En traitement du signal, on tudie gnralement
le module et la phase (ou argument) de la fonction complexe H(ej ).
H(ej ) = Hr (ej ) + jHi (ej ) = |H(ej )|ej()

6.6
6.6.1

(6.15)

Structures des filtres RII et RIF


Structure des filtres RIF

La structure dun filtre est un graphe flots de donnes (GFD) dans lequel les nuds sont
des oprations (les additions sont habituellement reprsentes par des cercles contenant un
+ et les multiplications par des triangles associs aux coefficients multiplicande) et les arcs
les dpendances, cest dire le flot des donnes issues du signal. Certains arcs sont valus

6.6 Structures des filtres RII et RIF

67

|H(ej)|

Fig. 6.7: Exemple de filtre passe-bas

dun coefficients z 1 reprsentant un dlai dune priode dchantillonnage. Ce coefficient se


reprsente galement sous la forme dun registre.
Lquation :
y(n) =

N
X

bi .x(n i) = b0 .x(n) + b1 .x(n 1) + . . . + bN 1 .x(n N + 1) + bN .x(n N )

i=0

reprsente le comportement temporel dun filtre RIF. On peut en dduire immdiatement la


structure directe dun filtre RIF qui est reprsente la figure 6.8.a. La structure transpose
de la figure 6.8.b est obtenue aprs manipulation de cette quation.
x(n)
b0

x(n)

Z-1
x(n-1)

b1
b1

x(n-N)

y(n)

Z-1

y(n)

+
Z-1

bN-1
+
Z-1

b0

bN-1
+

bN
bN

Z-1
+

a) Structure directe

b) Structure transpose

Fig. 6.8: Structures des filtres RIF

6.6.1.1

Complexit dimplantation dun filtre RIF

Un filtre RIF necessite N + 1 oprations de multiplication, N oprations daddition pour


chaque nouvel chantillons filtrer. On peut galement exprimer la complexit en nombre

68

Filtrage numrique

de multiplication-accumulation (MAC), qui, dans le cas du filtre RIF, vaut N + 1. Le cot


mmoire dun filtrage RIF est de 2(N + 1) (N + 1 coefficients bi et N + 1 points mmoire pour
le vecteur des entres x(i)).
Si la frquence dchantillonnage du signal vaut Fe , cela signifie que le calcul dun filtre devra
tre ralis en un temps Tcalcul infrieur Te = F1e .
Sur un processeur de type DSP capable dexcuter une multiplication-accumulation (MAC)
chaque cycle, de puissance de calcul Pcalcul exprime en MIPS (Million dInstruction Par
Seconde), Le temps de calcul sera : Tcalcul = (N + 1).Tcycle = (N + 1)/Pcalcul . Aussi, la
puissance de calcul dun DSP pour limplantation dun filtrage RIF vaut :
Pcalcul (M IP S) > (N + 1).Fe /106

6.6.2

(6.16)

Structure des filtres RII

Lquation suivante (6.17) montre que lon peut reprsenter un filtre RII H(z) sous la forme
du produit de 2 structures, dont une est une filtre RIF N (z), et lautre un filtre RII tout-ple
1/D(z).
#
# "

"X
N
N (z)
1
1
(6.17)
H(z) =
= [N (z)]
=
bi .z i
P
i
D(z)
D(z)
1+ N
i=1 ai .z
i=0

La structure directe dun filtre RII est donc obtenue en mettant en cascade un filtre RIF sous
forme directe, et la reprsentation immdiate du filtre tout-ple 1/D(z). Celle ci est donne
la figure 6.9.a. En runissant les additions du centre de la figure, on obtient la forme directe
classique utilise dans la littrature reprsente la figure 6.9.b.
b0

x(n)
Z-1

Z-1

b1

bN-1
+

y(n)
-a1

Z-1
x(n-1)

-aN-1

bN

-aN

RIF

RII

a) Cascade

Z-1

b0

x(n)

Z-1

Z-1
x(n-N)

b1

+
+

y(n)
-a1

Z-1
y(n-1)

bN-1
+

-aN-1

bN

-aN

Z-1
y(n-N)

b) Structure directe

Fig. 6.9: Structures directes des filtres RII


Il est bien entendu possible de reprsenter diffremment un filtre RII en utilisant la proprit
de commutativit de la multiplication. On a alors :
"
# "N
#

X
1
1
H(z) =
[N (z)] =

bi .z i
(6.18)
P
i
D(z)
1+ N
a
.z
i=1 i
i=0

6.6 Structures des filtres RII et RIF

69

On peut donc changer sur la figure 6.9.a les 2 blocs RIF et RII. Les deux lignes retard
permettant de mmoriser les signaux x(n) se retrouvant communes, il est possible de les
runir en obtenant un vecteur unique de registres w(n), comme reprsent la figure 6.10.a.
x(n)

b0

w(n)

y(n)

x(n)

b0

Z-1
+

y(n)

Z-1
b1

-a1

b1

-a1

w(n-1)
Z-1
+

Z-1
bN-1

bN-1

-aN-1

Z-1
bN
-aN
w(n-N)
a) Structure canonique directe

bN

-aN-1

Z-1
+

-aN

b) Structure canonique transpose

Fig. 6.10: Structures canoniques des filtres RII


On peut galement reprsenter la structure canonique sous la forme dun systme dquation
(6.19) faisant apparatre le signal w(n).
(

P
1
W (z) = D(z)
.X(z)
w(n) = x(n) N
i=1 ai .w(n i)
P
(6.19)
Y (z) = N (z).W (z)
b
.w(n
i)
y(n) = N
i=0 i
6.6.2.1

Complexit dimplantation dun filtre RII

Un filtre RII necessite 2N + 1 oprations de multiplication, 2N oprations daddition pour


chaque nouvel chantillons filtrer ou 2N + 1 MAC. Le cot mmoire dun filtrage RII en
structure directe est de 4N + 3 (2N + 1 coefficients bi et 2(N + 1) points mmoire pour les
vecteurs des entres x(n) et des sorties y(n)). La structure canonique permet de diminuer le
cot mmoire qui ne necessite plus que N + 1 points mmoire pour le vecteur w(n).
Si la frquence dchantillonnage du signal vaut Fe , cela signifie que le calcul du filtre devra
tre ralis en un temps Tcalcul infrieur Te = F1e .
Sur un processeur de type DSP capable dexcuter une multiplication-accumulation (MAC)
chaque cycle, de puissance de calcul Pcalcul exprime en MIPS (Million dInstruction Par
Seconde), Le temps de calcul sera : Tcalcul = (2N + 1).Tcycle = (2N + 1)/Pcalcul . Aussi, la
puissance de calcul dun DSP pour limplantation dun filtrage RIF vaut :
Pcalcul (M IP S) > (2N + 1).Fe /106

(6.20)

70

Filtrage numrique

Exemple 6.6.1 : Cellule lmentaire du premier ordre


Soit le systme qui, la suite de donnes x(n), fait correspondre la suite y(n) telle que :
y(n) = x(n) + b.y(n 1)
o b est une constante.
1. Donner les rponses impulsionnelles et indicielles de ce systme. par deux mthodes
(suite numrique, transforme en Z). Que peut on dire de la stabilit du filtre.
2. tudier lanalogie avec le systme continu de constante de temps t, chantillonn avec
la priode T .
3. tudier la rponse frquentielle du filtre.
4. Donner la structure de ralisation du filtre.
Exemple 6.6.2 : Cellule du second ordre purement rcursive
Soit le systme qui, la suite de donnes x(n), fait correspondre la suite y(n) telle que :
y(n) = x(n) b1 .y(n 1) b2 .y(n 2)
1. Donner la fonction de transfert en Z du systme.
2. En dduire la rponse impulsionnelle du filtre numrique.
3. tudier la rponse frquentielle du filtre. On regardera plus particulirement linfluence
des coefficients b1 et b2 sur les ples de la fonction de transfert H(z).
4. Tracer le diagramme des ples et zros.
5. Donner les structures de ralisation.

Chapitre 7

Effets de la quantification en
traitement numrique du signal
Alfred S. se rend auprs de la socit chaotique de banque afin deffectuer un placement long terme. Le banquier lui propose le placement suivant : Vous faites
un placement initial de e 1 francs (e = 2.718281459045 . . .). La premire anne
on multiplie votre capital par 1 et on prlve 1F de frais. La deuxime anne on
multiplie votre capital par 2 et on prlve 1F de frais. La n-ime anne on multiplie votre capital par n et on prlve 1F de frais. Vous pouvez retirer largent aprs
25 ans. Intressant, nest-ce pas ? La banque ralise une simulation sur son calculateur et obtient au bout de 25 ans +4645987753F . Alfred signe logiquement le
contrat propos. Rentr chez lui, il vrifie le calcul sur sa calculatrice de poche et
trouve 140.1012 F ! En ralit un calcul symbolique donne un rsultat denviron 4
centimes. Cette anecdote prouve quun calcul peut tre instable, mme pour un petit
nombre doprations (ici 25 et 25).

Les objectifs de ce chapitre sont de chercher estimer la puissance du bruit gnre par les diffrentes quantifications en traitement numrique du signal : conversion analogique numrique
(quantification de lamplitude du signal) et calculs en prcision finie. Cela permet ensuite :
soit de dterminer le nombre de bits ncessaires pour le CAN ou le processeur (DSP) pour
un rapport signal bruit (RSB) donn,
soit, pour une machine fixe, de calculer le RSB et lcart par rapport aux prvisions de
simulation du systme en prcision infinie.
Dans ce chapitre nous prsentons les caractristiques du codage des donnes en virgule fixe,
les consquences de lutilisation de donnes en prcision finie et la modlisation du processus
de codage. Tout dabord nous dtaillons les diffrents formats de codage des donnes et les
paramtres associs puis nous exposons les rgles de larithmtique virgule fixe. La seconde
partie de ce chapitre concerne la modlisation de lerreur induite par la quantification dun
signal analogique et celle issue des calculs en prcision finie. Nous exposons les rsultats de
ces analyses et les conditions de validit de ceux-ci.

71

72

7.1
7.1.1

Effets de la quantification en traitement numrique du signal

Les diffrents types de codage


Rappels sur le codage dun entier

Un entier positif non sign x est cod en binaire sur b bits par :
x=

b1
X

bi 2i

(7.1)

i=0

7.1.1.1

Reprsentation signe valeur absolue (SVA)

Pour cette reprsentation, la donne x est compose dun bit de signe S et de b 1 bits
reprsentant le module de x. La valeur de cette donne est la suivante :
x = (1)S

b2
X

bi 2i

(7.2)

i=0

7.1.1.2

Reprsentation en complment 2 (CA2)

La reprsentation en code complment 2 de la donne x est gale :


x = 2S S +

b2
X

bi 2i

(7.3)

i=0

On crira galement que si x > 0 alors x = x


+ 1, o x
est le complment de x. Le domaine
de dfinition de ce code nest pas symtrique par rapport lorigine, il est compos de 2b1 1
valeurs positives et de 2b1 valeurs ngatives :
D = [2b1 ; 2b1 1]

(7.4)

La reprsentation en code complment 2 est trs utilise car elle possde des proprits
arithmtiques trs intressantes pour laddition et la soustraction. Le rsultat dune srie
dadditions sera correct mme si les rsultats intermdiaires sont en dehors du domaine de
dfinition du codage, il suffit que le rsultat final appartienne au domaine de dfinition. De
plus limplantation dans les processeurs numriques des oprateurs traditionnels utilisant ce
code est plus simple car elle ncessite une oprateur unique daddition et de soustraction que
les donnes dentre soient positives ou ngatives.

Un nombre rel pourra tre reprsent par la multiplication dun nombre entier par un coefficient q < 1. On parlera alors de virgule fixe.

7.1.2

Codage virgule fixe

Les donnes en virgule fixe sont composes dune partie fractionnaire et dune partie entire
pour lesquelles le nombre de bits allous reste fig au cours du traitement. Lexposant associ
chaque donne est implicite et fixe. La figure 7.1 reprsente une donne en virgule fixe compose dun bit de signe et de b 1 bits rpartis en m bits pour la partie entire et n bits pour
la partie fractionnaire. Nous utilisons dans la suite du document la notation (b, m, n) pour

7.1 Les diffrents types de codage

73

2m-1 2m-2

21

20

2-1 2-2

2-n+2 2-n+1 2-n

S bm-1 bm-2

b1

b0

b-1 b-2

bn-2
bn-1
n
2-n b
1-n b-n

Signe

Partie entire
m bits

Partie fractionnaire
n bits
avec m + n = b - 1

Fig. 7.1: Reprsentation des donnes en virgule fixe


dfinir le format dune donne. Nous trouvons aussi dans la littrature la notation Qn .
Le format dune donne en virgule fixe est entirement dfini par la longueur de sa partie
entire et de sa partie fractionnaire et de la reprsentation choisie. Nous prsentons dans les
parties suivantes les proprits des reprsentations signe valeur absolue et complment deux
[Ka91].
7.1.2.1

Reprsentation signe valeur absolue (SVA)

Pour cette reprsentation, la donne x est compose dun bit de signe S et de b 1 bits
reprsentant le module de x. La valeur de cette donne est la suivante :
x = (1)S

m1
X

bi 2i

(7.5)

i=n

Ce type de reprsentation possde deux reprsentations de la valeur zro (10 . . . 0 et 00 . . . 0),


ainsi le nombre de valeurs reprsentables Nc est gal 2b 1.
Le domaine de dfinition D correspond lintervalle regroupant lensemble des valeurs reprsentables par le code. Les bornes minimales et maximales de cet intervalle sont respectivement
Xmin et Xmax . Dans le cas dune reprsentation signe valeur absolue nous obtenons un domaine de dfinition symtrique par rapport lorigine :
DR = [Xmin ; Xmax ] = [2m + 2n ; 2m 2n ]

(7.6)

La dynamique dun code reprsente la diffrence entre la valeur minimale et maximale. Pour
la reprsentation SVA, la dynamique est gale :
D = Xmax Xmin = 2.(2m 2n )

(7.7)

Le pas de quantification correspondant la distance q entre deux valeurs successives, est


fonction de la dynamique D et du nombre de valeurs reprsentables Nc :
D
= 2n
(7.8)
Nc 1
Le niveau de dynamique correspond au rapport entre les valeurs absolues maximales et minimales reprsentables par le code. Lexpression du niveau de dynamique exprim en dB, est la
suivante :
q=

ND

dB

= 20 log

max(|x|)
min(|x|)

' 20.b. log(2)

(7.9)

74

Effets de la quantification en traitement numrique du signal


Reprsentation
conditions
q
D

cadrage
gauche
m=0
n=b1
2(b1)
[1 + q; 1 q]

cadrage
droite
n=0
m=b1
1
[2b1 + q; 2b1 q]

Tab. 7.1: Cas particuliers de la reprsentation signe valeur absolue


Reprsentation
condition
q
D

cadrage
gauche
m=0
2(b1)
[1; 1 q]

cadrage
droite
n=0
1
[2b1 ; 2b1 q]

cadrage
n
n+m=b1
2(n)
[2m ; 2m q]

Tab. 7.2: Cas particuliers de la reprsentation complment 2

Deux reprsentations particulires lies la position de la virgule sont couramment utilises.


Lorsque la virgule est cadre droite la valeur code est entire et lorsque celle-ci est cadre
gauche la donne est fractionnaire. Les caractristiques de ces deux reprsentations sont
prsentes dans le tableau 7.1.2.1. Plusieurs exemples de codage SVA sont prsents dans le
tableau 7.3.

7.1.2.2

Reprsentation en complment 2 (CA2)

La reprsentation en code complment 2 de la donne x en virgule fixe est gale :


x = 2m S +

m1
X

bi 2i

(7.10)

i=n

Ce code a lavantage de ne possder quune seule reprsentation de la valeur zro. Le domaine


de dfinition de ce code nest pas symtrique par rapport lorigine, il est compos de 2b1 1
valeurs positives et de 2b1 valeurs ngatives :
D = [2m ; 2m 2n ]

(7.11)

Le pas de quantification est identique celui de la reprsentation prcdente : q = 2n .


Les caractristiques des reprsentations cadres gauche et cadres droite sont prsentes
dans le tableau 7.2. Plusieurs exemples de codage en CA2 sont prsents dans le tableau 7.3.

7.1.3

Codage virgule flottante

Les donnes en virgule flottante sont composes dun exposant et dune mantisse reprsents
la figure 7.2. Lexposant E permet dobtenir un facteur dchelle explicite et variable au cours
du traitement, celui-ci est une puissance de 2. La mantisse reprsente la valeur de la donne
divise par le facteur dchelle. Afin dviter toute ambigut, le premier bit de la mantisse
reprsente le coefficient 12 et est fix 1. La valeur de ce bit restant fixe au cours du traitement,
celui-ci nest pas reprsent dans le code.

7.1 Les diffrents types de codage


cadrage gauche
0.96875
0.9375
.
.
.
0.3125
0
0
-0.3125
.
.
.
-0.9375
-0.96875
-1

75
Valeur
cadrage droite
31
30
.
.
.
1
0
0
-1
.
.
.
-30
-31
-32

m=3 n=2
7.75
7.5
.
.
.
0.25
0
0
-0.25
.
.
.
-7.5
-7.75
-8

Reprsentation
C.A.2
S.V.A.
011111
011111
011110
011110
.
.
.
.
.
.
000001
000001
000000
000000
100000
111111
100001
.
.
.
.
.
.
100010
111110
100001
111111
100000
...

Tab. 7.3: Exemples de codage

SE

d1

d2

de-1

SM

C1

C2

C3

Cm-2 Cm-1 Cm

Mantisse M+1 bits

Exposant e bits

Fig. 7.2: Representation des donnes en virgule flottante


7.1.3.1

Reprsentation signe valeur absolue

La mantisse et lexposant sont cods avec une reprsentation en signe valeur absolue, la valeur
de la donne x est la suivante :
M
E1

1 X
X
+
Ci 2i1
avec u = (1)SE .
di 2i
x = 2u .(1)SM .
2
i=1

(7.12)

i=1

Daprs lquation 7.12 la valeur 0 nest pas reprsentable, ainsi le domaine de dfinition est
compos des deux sous intervalles suivants :
h
i[h
i
DR = 2K ; 2K1
2K1 ; 2K
avec K = 2E1 1

(7.13)

Le pas de quantification est fonction


de la valeur reprsente. Pour les valeurs de x comprises
S u u1
u
u1
dans lintervalle [2 , 2 ] [2 , 2 ], le pas de quantification est gal :
q = 2u .2(M +1)

(7.14)

Lexpression 7.15 dtermine les bornes minimales et maximales du pas de quantification relatif.
Nous pouvons considrer quil est pratiquement constant pour lensemble des valeurs de x.
2(M +1) <

q
< 2M
|x|

(7.15)

Le niveau de dynamique de cette reprsentation signe valeur absolue est gal :


ND = 20 log(22K+1 ) avec K = 2E1 1

(7.16)

La norme IEEE 744 utilise cette reprsentation en signe valeur absolue et est compose dun
exposant cod sur 8 bits et dune mantisse sur 24 bits.

76
7.1.3.2

Effets de la quantification en traitement numrique du signal


Reprsentation en complment 2

Pour cette reprsentation la mantisse et lexposant sont cods en complment 2, ainsi la


valeur de la donne x est la suivante :
M
E1

X
1 X
x = 2E . SM + +
Ci 2i1
avec E = SE +
di 2i
2
i=1

(7.17)

i=1

Comme pour la reprsentation prcdente le domaine de dfinition est compos de deux sousensembles :
h
i[h
i
DR = 2K ; 2K2
2K2 ; 2K
avec K = 2E1 1
(7.18)
Le pas de quantification relatif est identique celui calcul pour la reprsentation prcdente.

7.2

Dfinition des rgles de larithmtique virgule fixe

Nous considrons dans la suite de ce document que les donnes sont codes en virgule fixe
avec une reprsentation en CA2.

7.2.1

Addition

Laddition de deux oprandes a et b ncessite quelles possdent un format commun. Le type


de reprsentation, la longueur de la partie entire et la longueur de la partie fractionnaire
doivent tre identiques pour les deux oprandes. Si cette condition nest pas respecte il est
ncessaire de modifier le format des oprandes afin dobtenir un format identique (bc , mc , nc ).
Le format commun garantissant labsence de perte dinformation est le suivant :
mc = max(ma , mb )
nc = max(na , nb )
bc = mc + nc + 1

(7.19)

Pour les donnes ayant un format diffrent du format commun, il est ncessaire dtendre le
nombre de bits des parties entires et fractionnaires en suivant les rgles suivantes :
partie fractionnaire : les (nc na ) bits supplmentaires sont mis 0.
partie entire : extension du bit de signe. Dans le cas du complment 2 les (mc ma )
nouveaux bits prennent la valeur du bit de signe. Lextension de signe dans le cas dune
reprsentation signe valeur absolue est plus complexe, il faut dcaler le bit de signe la
position bmc 1 et mettre zro les bits bmc 2 bma 1 .
Le format du rsultat de laddition de deux oprandes au format (bc , mc , nc ) est prsent
lexpression 7.20. Nous obtenons un dbordement si le rsultat de laddition des deux
oprandes nappartient pas au domaine de dfinition Dc = [2mc ; 2mc [. Dans ce cas un bit
supplmentaire est ncessaire pour coder la partie entire du rsultat de laddition.

nAdd = nc

mc + 1
mAdd =
mc

(7.20)
si a + b 6 Dc
si a + b Dc

(7.21)

7.3 Processus de codage : lois de quantification et de dpassement

7.2.2

77

Multiplication

Pour une multiplication, les deux oprandes doivent possder la mme reprsentation mais le
nombre de bits rservs pour chaque partie peut tre diffrent. Nanmoins, il est ncessaire
avant deffectuer lopration, dtendre le bit de signe. La multiplication de deux nombres en
virgule fixe entrane le doublement du bit de signe, celui-ci peut tre limin automatiquement
laide dun dcalage gauche. Pour un code en complment 2 nous pouvons considrer
que ce bit de signe redondant appartient la partie entire. Le format du rsultat de la
multiplication de deux oprandes a et b est alors le suivant :
mM ult = ma + mb + 1
nM ult = na + nb
bM ult = ba + bb

(7.22)

Dans le cas de la virgule fixe cadre gauche, le rsultat de la multiplication de deux oprandes
a et b appartenant lintervalle [1; 1[ reste dans le mme intervalle. Il ny a donc pas de
dbordement mais juste une augmentation de la prcision du rsultat. Cette proprit est
trs intressante car elle limine le problme du dbordement. On verra plus tard que la
multiplication pourra tre modlise par une quantification.

7.3

Processus de codage : lois de quantification et de dpassement

Soit x une valeur arbitraire appartenant au domaine D et y une valeur du domaine de dfinition DR du codage choisi. Le domaine DR est born par les valeurs Xmin et Xmax . Nous
dfinissons le sous-ensemble DD de D regroupant lensemble des valeurs de D comprises dans
lintervalle [Xmin ; Xmax ]. Le processus de quantification correspond lopration de rduction
dune valeur arbitraire x une valeur reprsentable y. Ce processus est rgi par deux lois
prsentes ci-dessous :
Loi de dpassement : cette loi permet dassocier lensemble des valeurs x de D une valeur x
appartenant au domaine DD . Elle dfinit plus prcisment le comportement pour les valeurs
prsentes en dehors du domaine DD . Nous associons cette loi une fonction de dpassement
dfinie ci-dessous :

x
x DD
fD (x) =
(7.23)
D(x) x 6 DD

Loi de quantification : cette loi dfinit les valeurs reprsentables y associer lensemble des
valeurs x appartenant au domaine DD . La fonction de quantification associe est la suivante :
fQ (x) = Q(x) x DD

(7.24)

Le processus de quantification global peut sexprimer sous la forme suivante :

x fQ (fD (x)) =

Q(x) x DD
D(x) x 6 DD

(7.25)

78

7.3.1
7.3.1.1

Effets de la quantification en traitement numrique du signal

Lois de dpassement
Arithmtique de saturation

Cette loi appele loi de saturation, consiste choisir la valeur du domaine DD la plus proche
de la valeur reprsenter x :

D(x) =

Xmin x < Xmin


Xmax x > Xmax

(7.26)

La caractristique de cette fonction est reprsente la figure 7.3.a. La gestion de cette loi
ncessitera des oprateurs arithmtiques spcifiques. Par contre, son utilisation permet dviter
certains problmes et erreurs engendrs par lutilisation de la loi modulaire.
7.3.1.2

Arithmtique modulaire

Cette loi de dpassement modulaire substitue aux valeurs de x nappartenant pas au domaine
DD , x modulo (Xmax Xmin ). La caractristique de cette loi est prsente la figure 7.3.b.
fD(x)

Xmax

Xmax

fD(x)

Xmin

Xmin
Xmax

Xmax

Xmin

Xmin

(a)

(b)

Fig. 7.3: Caractristiques des lois de dpassement

7.3.2

Lois de quantification

Le domaine reprsentable DR est compos de N valeurs yi avec i = 1, 2, . . . , N et le sousdomaine DD est subdivis en N sous domaines juxtaposs i . La loi de quantification associe
tout x appartenant au domaine i la valeur yi :
x i
7.3.2.1

Q(x) = yi

(7.27)

Loi de quantification par arrondi

La loi de quantification par arrondi consiste choisir la valeur reprsentable la plus proche de
la valeur quantifier en prenant la mdiane de chaque intervalle i :
yi =

ui+1 ui
2

= ui +

q
2

x i = [ui ; ui+1 ]

La caractristique de cette loi est reprsente la figure 7.4.

(7.28)

7.4 Modlisation du processus de quantification

79

fQ(x)
q
2

ui xi ui+1

-q
2

e(x)
xi
ui ui+1

Fig. 7.4: Caractristiques de la loi de quantification par arrondi


7.3.2.2

Loi de quantification par troncature

Cette loi de quantification consiste tronquer un certain nombre de bits de poids faible. Les
proprits de cette loi de quantification sont fonctions du choix de la reprsentation (signevaleur absolue ou complment 2).
Reprsentation signe valeur absolue
Pour cette reprsentation la troncature dun certain nombre de bits de poids faible revient
choisir la valeur reprsentable la plus proche dont le module est infrieur la valeur quantifier
(voir figure 7.5) :

yi =

ui x > 0
ui+1 x <

(7.29)

fQ(x)
e(x)
q

ui ui+1

ui ui+1

x
-q

Fig. 7.5: Caractristiques de la loi de quantification par troncature pour le codage SVA
Reprsentation en complment 2
La quantification par troncature dans le cas dune reprsentation en complment 2 (voir
figure 7.6) revient prendre la valeur reprsentable immdiatement infrieure la valeur
quantifier yi = ui .

7.4

Modlisation du processus de quantification

Dans cette partie nous nous intressons la modlisation du processus de quantification dun
signal analogique. Tout dabord nous prsentons lanalyse ralise par Widrow qui permet de
modliser ce processus par un systme linaire o le signal quantifi est gal la somme du

80

Effets de la quantification en traitement numrique du signal


fQ(x)
e(x)
q

ui ui+1

ui ui+1

Fig. 7.6: Caractristiques de la loi de quantification par troncature pour le codage CA2
signal dorigine et dun bruit uniformment distribu. Ensuite nous exposons les travaux de
Sripad et Snyder qui dfinissent les proprits statistiques de lerreur de quantification et les
conditions de validit de cette approche. Dans les paragraphes 7.4.1 et 7.4.2, nous considrons
uniquement une quantification par arrondi. Nous gnraliserons ces rsultats la quantification
par troncature dans le paragraphe 7.4.3.

7.4.1
7.4.1.1

Mthode de Widrow
Modlisation du processus de quantification

La quantification dun signal x de densit de probabilit continue px (x) conduit un signal y


de densit de probabilit discrete py (y) compose de N valeurs pk . Lexpression de la densit
de probabilit py (y) est la suivante :
py (y) =

N
X

pk (y k.q)

(7.30)

k=1

Chaque valeur pk est gale la probabilit que lamplitude du signal x soit comprise dans
lintervalle k = [uk , uk+1 ]. Elle correspond laire de la densit de probabilit de x dans
lintervalle k :
Z
pk =
px (x)dx
(7.31)
k

Nous dfinissons la fonction fa (x) correspondant laire de px (x) dans lintervalle k . Cette
fonction est obtenue par convolution de la densit de probabilit px (x) avec une fonction fq (x)
dont la dfinition est la suivante :

1/q q/2 < x < q/2


fq (x) =
(7.32)
0
ailleurs
La densit de probabilit discrete py (y) correspond lchantillonnage de la fonction fa (x)
ralis laide dun peigne de dirac fd (x) de priode q. Ainsi lexpression de cette densit de
probabilit est la suivante :

py (y) = px (x) fq (x) .fd (x)


(7.33)
La fonction caractristique dune variable alatoire est gale la transforme de fourier inverse
de sa densit de probabilit. En utilisant les diffrentes proprits de la transforme de Fourier,
nous obtenons lexpression de la fonction caractristique du signal quantifi suivante :

7.4 Modlisation du processus de quantification

81


y (u) = F 1 py (y) = F 1 (px (x)).F 1 (fq (x)) F 1 (fd (x))
soit

1 X
x (u + l).q (u + l) avec = 2/q
y (u) =
q

(7.34)

(7.35)

l=

La fonction caractristique y (u) correspond la duplication du produit des fonctions caractristiques x (u) et q (u). A linstar du thorme de Shannon pour lchantillonnage des
signaux analogiques, Widrow a propos le thorme de quantification permettant de dfinir
les conditions ncessaires pour reconstruire px (x) partir de py (y) et vice-versa :
Thorme de quantification 1 Si la fonction caractristique de x est bande limite telle
que :

x (u) = 0 pour |u| >


(7.36)
2
Alors
la fonction caractristique de x peut tre obtenue partir de celle de y
la fonction caractristique de y peut tre obtenue partir de celle de x
Un exemple illustrant ce thorme est prsent la figure 7.7.
Si la condition 7.36 du thorme de quantification est respecte, alors, en prenant la composante en bande de base de la fonction caractristique y (u), il est possible de reconstruire
x (u) partir de y (u) :
y (u) = x (u).e (u)

(7.37)

sin( uq
2 )

(7.38)

avec e (u) =

uq
2

La transforme de Fourier de lexpression 7.37 permet de montrer que la densit de probabilit


py (y) est gale au produit de convolution des densits de probabilit px (x) et pe (e). Cette
dernire est obtenue par la transforme de Fourier de lexpression 7.38 :

1
e
pe (e) = rect
(7.39)
q
q
Ainsi la variable alatoire y est gale la somme de deux variables alatoires indpendantes
x et e de densits de probabilit respectives px (x) et pe (e). Ces rsultats montrent que nous
pouvons modliser le processus de quantification par un systme linaire (figure 7.8) pour
lequel la sortie est gale la somme du signal dentre x avec une variable alatoire e, appele
bruit de quantification ou erreur de quantification, dont la densit de probabilit est uniforme
dans lintervalle [q/2, q/2].
Les expressions des moments dordre 1 et 2 de lerreur de quantification sont les suivantes :
Z
e =

q/2

e p(e)de =

q/2

1
e.de = 0
q

(7.40)

82

Effets de la quantification en traitement numrique du signal

0.15

x(u)
px(x)

0.1
0.05
0

-5

-1

-0.5

0.5

-1

u.q

u.q

u.q

q(u)

fq(x)
0.5
0

-5

-2

--- y(u)

x(u). q(u)
0.15

py(y)

0.1

-- px(x)

0.05
0

-5

-1

-0.5

0.5

Fig. 7.7: Reprsentation des fonctions de distributions et de leur fonction caractristique


associe
Q( )

Fig. 7.8: Modlisation du bruit de quantification

Z
e2

7.4.2

Z
2

(e e ) p(e)de =

q/2

q/2

e2
q2
.de =
q
12

(7.41)

Mthode de Sripad et Snyder

Sripad et Snyder proposent une modlisation de lerreur de quantification identique celle de


Widrow mais les conditions de validit de leur approche sont moins restrictives. Le respect de
ces conditions permet dobtenir des proprits intressantes concernant le moment dordre 2 de
lerreur de quantification et la corrlation entre le signal dorigine x et lerreur de quantification
e.

7.4.2.1

Modlisation de lerreur de quantification

La densit de probabilit de lerreur de quantification e est dtermine partir de celle du


signal dentre x de la manire suivante :

7.4 Modlisation du processus de quantification

83

px (e k.q) q/2 < e < q/2


pe (e) =
k=

0
ailleurs

(7.42)

h
i
e
pe (e) = rect
px (e) fd (e)
q

(7.43)

soit

La fonction caractristique de lerreur de quantification obtenue partir de la transforme de


fourier inverse de lexpression 7.43, est gale :

sin(uq/2) h
1 X
e (u) = F pe (e) = q.
x (u).
(u ku0 )
uq/2
q
k=

avec u0 =

2
(7.44)
q

soit aprs dveloppement :


e (u) =

X
k=

x (ku0 )

sin[(u ku0 ) 2q ]
(u ku0 ) 2q

(7.45)

Une condition ncessaire et suffisante pour que la densit de probabilit de lerreur de quantification soit uniforme est que la fonction caractristique de x soit nulle pour tout k entier
diffrent de 0 :
x (k 2
q ) = 0 k 6= 0

(7.46)

Sachant que x (0) = px (x)dx = 1, la fonction caractristique de lerreur de quantification


est gale celle de lexpression 7.38.
Cette condition est moins restrictive que celle propose par Widrow. Ainsi elle permet daugmenter la classe de signaux pour laquelle lerreur de quantification est uniforme dans lintervalle
[q/2, q/2]
7.4.2.2

Statistique dordre 2 de lerreur de quantification

Ltude de la statistique dordre 2 de lerreur de quantification permet dtudier les proprits


spectrales de celle-ci. La densit de probabilit conjointe des variables alatoires e1 et e2
reprsentant lerreur de quantification aux instants t1 et t2 , est gale :

e1
e2
pe1 ,e2 (e1 , e2 ) = rect
rect
px1 ,x2 (x1 , x2 ) fd (e1 ).fd (e2 )
(7.47)
q
q
Si nous suivons la mme dmarche que dans le paragraphe prcdent, nous obtenons lexpression de la fonction caractristique associe pe1 ,e2 (e1 , e2 ) suivante :

e1 ,e2 (u1 , u2 ) =

k1 = k2 =

sin[(u1 k1 u0 ) 2q ] sin[(u2 k2 u0 ) 2q ]
x1 ,x2 (k1 u0 , k2 u0 )
(u1 k1 u0 ) 2q
(u2 k2 u0 ) 2q

Si la condition suivante, propose par Sripad et Snyder est vrifie

(7.48)

84

Effets de la quantification en traitement numrique du signal

x1 ,x2 (k1 u0 , k2 u0 ) = 0 k1 6= 0 et k2 6= 0

(7.49)

alors nous obtenons lexpression de la fonction caractristique associe la densit de probabilit conjointe pe1 ,e2 (e1 , e2 ) prsente ci-dessous :
e1 ,e2 (u1 , u2 ) =

sin[(u1 k1 u0 ) 2q ] sin[(u2 k2 u0 ) 2q ]
(u1 k1 u0 ) 2q
(u2 k2 u0 ) 2q

Ainsi lexpression de la densit de probabilit conjointe pe1 ,e2 (e1 , e2 ) est gale :


1
e1 1
e2
pe1 ,e2 (e1 , e2 ) = rect
. rect
= pe1 (e1 ).pe2 (e2 )
q
q q
q

(7.50)

(7.51)

Daprs lexpression 7.51, les erreurs de quantification sont statistiquement indpendantes,


ainsi le moment dordre 1 associ pe1 ,e2 (e1 , e2 ) est gal :
E(e1 , e2 ) = E(e1 ).E(e2 )

(7.52)

Les moments dordre 1 des variables alatoires e1 et e2 tant nuls, nous obtenons la fonction
dautocorrlation de lerreur de quantification suivante :
2
q /12 = 0
ee ( ) =
(7.53)
0
ailleurs
Cette fonction dautocorrlation tant gale q 2 /12.( ), lerreur de quantification est assimilable un bruit blanc centr.
7.4.2.3

tude de la corrlation entre le signal dentre et lerreur de quantification

La corrlation entre lerreur de quantification et le signal dentre x peut tre obtenue partir
de lanalyse du moment dordre 2 de la variable alatoire y reprsentant la somme de x et de
e. Lexpression du moment dordre 2 de cette somme est la suivante :
E(y 2 ) = E(x2 ) + E(e2 ) + 2E(x, e) = E(x2 ) + E(e2 ) + Rxe

(7.54)

Le moment dordre 2 de y est gal la valeur lorigine de la drive seconde de la fonction


caractristique de y :

2
2 d
(7.55)
E(y ) = (j)
y (u)
2
du
u=0
soit daprs lexpression 7.35
E(y 2 ) = (j)2

X
k=

00
x (ku0 )

sin(k) k cos(k)
sin(k)
00
+ q.0x (ku0 )
+

(ku
).
(ku
)
x
0
0
e
k
(k)2

(7.56)

Si la condition 7.46 est vrifie alors nous pouvons simplifier lexpression 7.56 de la manire
suivante : 1 2
1
2

sinc(k) = 0 k 6= 0
A laide dun dveloppement limit nous obtenons
lim

u0

sin(u) u. cos(u)
u
= lim + (u) = 0
u0 6
u2

7.4 Modlisation du processus de quantification

E(y 2 ) = 00x (0) +

q.0x (ku0 )

k=
k6=0

85

(1)k
+ x (0).00e (0)
k

(7.57)

Par identification de lexpression 7.57 avec 7.54 nous pouvons en dduire la corrlation entre
e et x :
E(xe) =

q.0x (ku0 )

k=
k6=0

(1)k
k

(7.58)

Si la condition 7.59 est vrifie alors E(xe) est nulle. Dans ce cas lerreur de quantification e
nest pas corrle avec le signal dentre x.
0x (k 2
q ) = 0 k 6= 0

(7.59)

Lexpression 7.58 correspond la dviation entre la corrlation relle et la corrlation issue de


la modlisation de lerreur de quantification e par un bruit uniformment distribu. Dans le
cas dun signal distribu selon une loi normale, la condition 7.46 nest pas respecte, mais la
dviation issue de la modlisation est trs faible ds que le pas de quantification est infrieur
lcart type du signal. Ceci a t confirm par les simulations prsentes dans le paragraphe
7.4.4.

7.4.3

Extension la quantification par troncature

Nous pouvons tendre lanalyse effectue par Sripad et Snyder au cas de la quantification par
troncature dans le cas dun codage en complment 2. Lexpression de la densit de probabilit
de lerreur de quantification est la suivante :

i
e q/2 h
pet (e) = rect
px (e) fd (e)
(7.60)
q
En suivant la mme dmarche que celle prsente dans le paragraphe 7.4.2 de la page 82 nous
obtenons lexpression de la fonction caractristique de lerreur de quantification suivante :
et (u) = e (u).ej

u.q
2

(7.61)

Ainsi si la condition 7.46 prsente la la page 83, est respecte alors la densit de probabilit
de lerreur de quantification est gale :

e q/2
1
(7.62)
pet (e) = rect
q
q
Les expressions des moments dordre 1 et 2 de lerreur de quantification sont gales :
Z
Z q
q
1
e de =
(7.63)
et =
e p(e) de =
2

0 q

86

Effets de la quantification en traitement numrique du signal


Z
e2t

(e e ) p(e)de =

1
q 2
q2
e
de =
q
2
12

(7.64)

Daprs les expressions 7.63, 7.64, 7.52 et 7.53 nous pouvons en dduire que la fonction dautocorrlation de lerreur de quantification est gale :
eet ( ) =

q2
q2
( ) +
12
4

(7.65)

Daprs lexpression 7.65, lerreur de quantification peut tre considre comme un bruit blanc
non centr.
De mme, nous dterminons la corrlation entre le signal x et lerreur de quantification e
partir de lanalyse du moment dordre 2 du signal quantifi. Lexpression de la corrlation
entre x et e est la suivante :

X
q
1
E(xet ) = j 0x (0) +
q.0x (ku0 )
2
k

(7.66)

k=
k6=0

Lerreur de quantification e ne sera pas corrle avec lentre x si la condition suivante est
respecte :
0x (k 2
q ) = 0 k

7.4.4

(7.67)

Simulation

Pour illustrer les diffrents rsultats prsents dans cette partie, le processus de quantification
peut tre simul afin danalyser les proprits de lerreur de quantification. Le synoptique du
systme utilis est reprsent la figure 7.9. Le signal dentre x est un bruit blanc gaussien
dcart type et non quantifi. En sortie de loprateur de quantification nous obtenons le
signal y. Les simulations ont t ralises pour les lois de quantification par arrondi et par
troncature (codage CA2) et le nombre de bits utiliss pour coder y, varie entre 1 et 24.

Q( )

Fig. 7.9: Synoptique du systme pour la simulation du processus de quantification


2
Si on compare la variance sim
de lerreur de quantification issue des simulations par rapport
2
lexpression thorique theo , on obtient lexpression suivante :

C =

2
sim
2
theo

(7.68)

7.4 Modlisation du processus de quantification

87

La figure 7.10 reprsente lvolution de C en fonction du rapport entre lcart type x du


signal dentre et le pas de quantification q. Ces rsultats sont quasiment identiques ceux
prsents dans et montrent la validit de lexpression de la variance pour x > q. Cette condition est toujours vrifie en pratique.
Quantification par arrondi .C = f( / q)

1.2
1

0.8
0.6
0.4
0.2
0

0.2

0.4

0.6

0.8
x / q

1.2

1.4

1.6

1.4

1.6

Quantification par troncature (code CA2) .C= f(x / q)


2.5

1.5

0.5

0.2

0.4

0.6

0.8
x / q

1.2

Fig. 7.10: Comparaison de la variance thorique et simule de lerreur de quantification


Nous avons mesur le coefficient de corrlation entre lentre x et lerreur de quantification e.
Pour les deux lois de quantification, ce coefficient est infrieur 0.02 si la condition x > q
est vrifie.

7.4.5

Rsum sur la modlisation du processus de quantification

La quantification est donc lapproximation des valeurs dun signal x(n) par un multiple entier
du pas de quantification q. On notera :
xQ (n) = Q[x(n)] = k.q

(7.69)

Lerreur de quantification est e(n) = xQ (n) x(n). On modlisera cette quantification par
laddition dune erreur e(n) (voir figure 7.11), avec comme hypothse que la suite e(n) est une
squence dun processus alatoire stationnaire.
x

Q( )

Fig. 7.11: Modlisation du bruit de quantification


On posera donc les hypothses suivantes :
e(n) est stationnaire,

88

Effets de la quantification en traitement numrique du signal

le bruit issu de la quantification dun signal x(n) nest pas corrl avec ce signal,
les bruits de quantification sont statistiquement indpendants,
e(n) est un bruit blanc uniformment rparti,
e(n) est born par le pas de quantification,
la distribution de probabilit de e(n) est uniforme sur lintervalle de quantification,
lergodicit implique que les moyennes temporelles et statistiques sont quivalentes. En
particulier on considrera que la variance du bruit e2 est quivalente la puissance
du bruit.
Selon la loi de quantification utilise on aura :
q2
arrondi : me = 0, e2 = 12
,
q2
q
2
troncature : me = 2 , e = 12
.

7.5

Modlisation du bruit dune conversion analogique

La conversion analogique numrique (CAN) consiste passer dun signal chantillonn x(n)
vers une suite de nombre xQ (n) dont les valeurs appartiennent un intervalle de valeur (dynamique) et sont quantifies, cest dire quelles sont un multiple entier du pas de quantification,
que lon notera q (voir figure 7.12). Dans ce cadre, on peut utiliser les modles et lois de quantifications que nous avons vus dans les sections prcdentes (en particulier voir rsum section
7.4.5).
On modlisera alors la conversion AN par lajout dune erreur e(n) de quantification. Dans le
cas dun algorithme de TNS, e(n) reprsentera donc le bruit en entre du systme.

Fig. 7.12: Bruit de conversion analogique numrique

7.6

Filtrage dun bruit de quantification

Si on considre un systme compos dun filtre numrique dans lequel on injecte un signal
quantifi (voir figure 7.13). Le signal en entre du filtre est donc compos du signal x(n) de
puissance x2 et dun bruit de quantification e(n) de puissance e2 . On dfinit alors le rapport

7.7 Modlisation du bruit de calcul au niveau des oprateurs

89

signal bruit en entre du filtre par (quantification sur b bits en CA2) :


x2
2
= 2 x = 12 22(b1) x2
2
e
q /12
= 10 log RSB = 6.02 b + 4.77 10 log x2

RSB =
RSBdB

(7.70)
(7.71)

Le rapport signal bruit augmente donc de 6dB par bit ajout lors de la quantification [Bel87].

Fig. 7.13: Filtrage dun signal et de son bruit de conversion


En sortie du filtre, si on considre que le filtre ne gnre pas de bruit, le signal y(n) sera
compos du signal x(n) et du bruit e(n) filtr par H(z). On aura alors :
y(n) = x(n) h(n) + e(n) h(n) = x(n) h(n) + f (n)

(7.72)

o f (n) est le bruit de quantification en sortie du filtre. On dfinit alors les moyennes mf et
puissance du bruit f2 du bruit f (n) :
mf
f2

= me
=

e2

+
X

h(n) = me H(ej0 )

n=
+
X

2
|h(n)| = e
2
n=
2

|H(ej )|2 d

(7.73)
(7.74)

Le rapport signal bruit de sortie dpendra donc de la bande passante du filtre, mais galement
du comportement du filtre vis vis du signal. La formule 7.74 permettra souvent dtudier la
puissance des bruits de calcul gnrs par les diffrents algorithmes de TNS.

7.7

Modlisation du bruit de calcul au niveau des oprateurs

La modlisation du bruit en sortie dun oprateur ncessite de prendre en compte les deux
sources de bruit suivantes :
le bruit propag par une opration en supposant que le format des donnes en sortie de
loprateur est suffisant pour assurer labsence de perte dinformation.
le bruit gnr lors de la rduction du nombre de bits dune donne, lie un changement
de format.
Un oprateur va tre caractris par la modlisation de ces deux bruits additifs comme le
reprsente la figure 7.14.

7.7.1

Modlisation du bruit gnr

Modlisation du bruit gnr par la troncature

90

Effets de la quantification en traitement numrique du signal


Erreur
propage

bp

bg Erreur
gnre

bx

bq

bs

bs

op

by

Fig. 7.14: Modlisation du bruit de calcul


Ce bruit correspond la modlisation de la perte dinformation rsultant de llimination des
k bits les moins significatifs lors dun changement de format. Nous considrons une donne
de dpart Xe et la donne Xs aprs changement de format. La reprsentation de ces donnes
codes en complment 2, est prsente la figure 7.15 et les expressions de celles-ci sont les
suivantes :
m

Xe = 2 .S +

m1
X

bi 2i

(7.75)

bi 2i

(7.76)

Xs = 2m .S +

m1
X
j

Nous dfinissons q le pas de quantification de la donne aprs changement de format. Celui-ci


est gal 2j .
2-j+1
bm-1

bm-2

b1

2-j

2-j-1

b-j+1
bb-jj
j-1

bj+1
-j-1

-n
2-n+2 2-n+1 2_n

bn-2
n-1
2-n b1-n

b-nn

Bits tronqus k bits

Bits restants b-k bits


avec

k = n- j

Fig. 7.15: Reprsentation des donnes lors dune troncature


Lexpression du bruit de quantification correspondant la diffrence entre les deux variables
Xe et Xs , est la suivante :
n
X
bi 2i
(7.77)
bg =
i=j1

Lexpression 7.77 montre que le bruit gnr sera toujours positif. En effet lors dune troncature en complment 2 la valeur tronque est toujours infrieure la valeur de dpart.
Le bruit issu de la troncature ne pouvant prendre quun nombre fini de valeurs, gal 2k , nous
pouvons modliser le bruit gnr par une variable alatoire discrte.
Nous supposons que les valeurs binaires des bits bj1 bn sont quiprobables, ainsi les valeurs reprsentant bg sont quiprobables. Nous pouvons considrer que la densit de probabilit
p(xq ) reprsente la figure 7.16, est uniforme. Son expression est la suivante :

7.7 Modlisation du bruit de calcul au niveau des oprateurs

p(xq ) =

k 1
2X

91

2k (xq i.2n )

(7.78)

i=0

p(xq)
2-k

2k -1

1 2 3

xq.2n

Fig. 7.16: Fonction de distribution du bruit gnr lors dune troncature


La moyenne de cette variable alatoire est la suivante :
bg =

+
X

yi p(yi ) =

i=

k 1
2X

i.2n .2k

(7.79)

i=0

soit

q
bg = 2j1 (1 2jn ) = (1 2k )
2
La variance de cette variable alatoire est gale :
b2g =

+
X

yi2 p(yi ) 2bg

(7.80)

(7.81)

i=

soit

q2
22j
(1 22(jn) ) = (1 22k )
(7.82)
12
12
Lorsque le nombre de bits tronqus est important les rsultats tendent vers ceux obtenus dans
le cas dune loi de quantification par troncature :
b2g =

bg = 2j1 =
b2g =

q
2

1 2j
q2
(2 ) =
12
12

(7.83)
(7.84)

Modlisation du bruit gnr par larrondi


Dans le cas dune quantification par arrondi conventionnel, la donne correspondant la valeur
mdiane de lintervalle [kq, (k + 1)q] est code la valeur (k + 1)q. La loi de quantification est
dfinie de la faon suivante :

si kq x < (k + 12 )q
k.q
(k + 1).q
si (k + 21 )q < x (k + 1)q
Q(x) =
(7.85)

(k + 1)q
si x = (k + 12 )q

92

Effets de la quantification en traitement numrique du signal

Lexpression de la densit de probabilit de lerreur de quantification bgac reprsente la


figure 7.17, est la suivante
p(xq ) =

2k1
X1

2kn (xq i.2n )

(7.86)

i=2k1

p(xq)
2-k

-2k-1

-1 0

2k-1 -1

xq.2n

Fig. 7.17: Fonction de distribution du bruit gnr lors dun arrondi conventionnel
La moyenne de cette variable alatoire est gale :
bgac =

2k1
X1
i=2

q
i.2n .2k = 2n1 = (2k )
2
k1

(7.87)

La valeur mdiane de chaque intervalle [k.q, (k+1).q] tant code systmatiquement la valeur
suprieure, la moyenne de lerreur de quantification nest pas nulle. Cette erreur est nanmoins
nettement plus faible que celle prsente lors dune quantification par troncature. La variance
de cette variable alatoire est gale :
b2gac

2k1
X1
i=2k1

(i.2n )2 .2k 2bg =

q2
22j
(1 22k ) = (1 22k )
12
12

(7.88)

Afin dliminer le biais, un arrondi convergent peut tre utilis, celui va affecter la valeur
mdiane de faon quiprobable la valeur suprieure et infrieure :

si k.q x < (k + 12 )q
k.q
(k + 1).q
si (k + 21 )q < x (k + 1)q
Q(x) =
(7.89)

k.q ou (k + 1).q
si x = (k + 21 )q

1
1
avec P Q(x) = kq \ x = (k + )q = P Q(x) = (k + 1)q \ x = (k + )q
2
2
Cette technique garantit lquiprobabilit du codage de la valeur mdiane en analysant la
parit de la donne. Les donnes impaires sont codes la valeur suprieure et les donnes
paires la valeur infrieure. La densit de probabilit associe lerreur de quantification
prsente la figure 7.18, est gale :

2k
(xq + 2kn1 ) + (xq 2kn1 ) +
p(xq ) =
2
La moyenne de cette variable alatoire est la suivante :

2k1
X1
i=2k1 +1

2k (xq i.2n )

(7.90)

7.7 Modlisation du bruit de calcul au niveau des oprateurs

93

p(xq)
2-k

-2k-1

-1 0

2k-1 xq.2n

Fig. 7.18: Fonction de distribution du bruit gnr lors dun arrondi convergent

bg = 2

2kn1 2kn1 +

2k1
X1

i.2n .2k = 0

(7.91)

i=2k1 +1

Ce type darrondi permet dobtenir une moyenne de lerreur de quantification nulle. Lexpression de la variance de lerreur de quantification est la suivante :
b2g

k 2(kn1)

=2

2k1
X1

(i.2n )2 .2k

(7.92)

i=2k1 +1

soit
b2g =

7.7.2

22j
q2
(1 22k+1 ) = (1 22k+1 )
12
12

(7.93)

Simulation du bruit gnr

Pour valider le modle propos, nous avons simul le phnomne de changement de format et
compar les caractristiques du bruit gnr, issues de la modlisation et celles obtenues par les
simulations. Le synoptique du systme utilis est reprsent la figure 7.19. Le signal dentre
x est un bruit blanc gaussien dcart type et quantifi avec b bits. En sortie de loprateur de
changement de format nous obtenons le signal y cod sur n bits aprs llimination de k bits.
Le bruit gnr eg est gal la diffrence entre x et y. La figure 7.20 reprsente la fonction de
distribution du bruit gnr, obtenue pour k=4.
x
Q( )

Q( )

Fig. 7.19: Synoptique du systme pour la simulation du processus de changement de format


Nous avons compar la moyenne et la variance du bruit gnr, obtenus par simulation avec
les expressions thoriques 7.80 7.82, 7.87, 7.88. Les figures 7.21 et 7.22 reprsentent lvolution
de ces paramtres pour diffrentes valeurs de k. Les moyennes ont t normalises par q et
q/2 et les variances par q 2 /12. Ces rsultats montrent ladquation du modle propos pour
le calcul des moments dordre 1 et 2 du bruit gnr.

94

Effets de la quantification en traitement numrique du signal


Densit de probabilit du bruit gnr par larrondi avec k=4
0.07
0.06

pe(e)

0.05
0.04
0.03
0.02
0.01
0
1

0.8

0.6

0.4

0.2

0
e

0.2

0.4

0.6

0.8

400

500

Fonction dautocorrlation normalise du bruit gnr avec k=4


1

ee()/ 2e

0.8
0.6
0.4
0.2
0
500

400

300

200

100

0
e

100

200

300

Fig. 7.20: Fonction de distribution et dautocorrlation obtenues pour k=4


Ltude de la fonction dautocorrlation ee ( ) du bruit gnr permet de dterminer les
caractristiques spectrales de ce bruit. Un exemple de ee ( ) est propos la figure 7.20. En
utilisant la moyenne et la variance de eg , nous pouvons identifier la fonction dautocorrlation
obtenue lexpression suivante :
ee ( ) = (2e + e2 )( )

(7.94)

Ainsi le bruit gnr peut tre considr comme un bruit blanc non centr.

7.7.3

Modlisation du bruit propag

Nous considrons un oprateur dont les deux oprandes dentre x et y sont affectes respectivement dun bruit bx et by . Nous posons les hypothses suivantes :
les oprandes dentre de loprateur x et y sont indpendantes ;
les bruits bx et by associs aux oprandes x et y sont indpendants ;
le bruit associ chaque oprande nest pas corrl avec loprande.
La sortie est compose de deux termes z et bz , le premier reprsente la sortie de loprateur en
labsence de bruit en entre et le second regroupe lensemble des termes lis la prsence des
bruits bx et by . Les notations utilises pour les paramtres statistiques (moyenne, variance,
puissance) dune variable alatoire bw sont prsentes ci-dessous :
bw = E(b
w)

b2w = E (bw bw )2
Pbw =
7.7.3.1

(7.95)

E(b2w )

Addition

Lexpression du bruit bz en sortie de ladditionneur est la suivante :


bz = bx + by

(7.96)

7.7 Modlisation du bruit de calcul au niveau des oprateurs

95

Analyse de la moyenne normalise du bruit gnr par larrondi


0.35
0.3

e/q

0.25
0.2

0.15
0.1
0.05
0

6
8
10
k (nombre de bits limins)

12

14

16

Analyse de la variance normalise du bruit gnr par larrondi


1.05
1
Rsultats de la simulation
Rsultats thorique

e. 12/q

0.95
0.9

0.85
0.8
0.75
0.7

6
8
10
k (nombre de bits limins)

12

14

16

Fig. 7.21: volution de la moyenne et de la variance du bruit gnr par larrondi


La moyenne et la variance du bruit bz en sortie de loprateur sont gales :
bz = bx + by
b2z = b2x + b2y

(7.97)

Le RSB en sortie de loprateur Add reprsente le rapport entre la puissance du signal utile
Pz et celle du bruit Pbz :
Add =
7.7.3.2

Px + Py
E(z 2 )
=
2
E(bz )
Pbx + Pby

(7.98)

Multiplication

Lexpression du bruit en sortie du multiplieur est la suivante :


bz = y.bx + x.by + bx .by

(7.99)

tant donn que la puissance des bruits bx et by est nettement infrieure celle de x et y, nous
pouvons ngliger dans lexpression 7.99 le terme bx .by . Ainsi les caractristiques statistiques
du bruit en sortie du multiplieur sont les suivantes :
bz = y bx + x by
b2z

y2 Pbx

x2 Pby

b2x 2y

b2y 2x

(7.100)

Lexpression du RSB en sortie du multiplieur est gale :


M ult =

x2 y2 + 2x y2 + 2y x2
y2 Pbx + x2 Pby + b2x 2y + b2y 2x

Multiplication dune variable et dune constante

(7.101)

96

Effets de la quantification en traitement numrique du signal


Analyse de la moyenne normalise du bruit gnr par la troncature pour un code CA2

0.8

. 2/q

0.6
0.4
0

6
8
10
k (nombre de bits limins)

12

14

16

Analyse de la variance normalise du bruit gnr par la troncature pour un code CA2

0.9

Rsultats de la simulation
Rsultats thorique

2
e

. 12/q

0.8
0.7
0.6

6
8
10
k (nombre de bits limins)

12

14

16

Fig. 7.22: volution de la moyenne et de la variance du bruit gnr par troncature


Dans les algorithmes de TNS, de nombreuses oprations correspondent la multiplication
dun signal x par une constante Y . Nous considrons que la constante Y est affecte dune
erreur de quantification Y fixe. Les expressions de la moyenne et de la variance du bruit bz
sont les suivantes :
bz = Y bx + x Y
b2z = Y 2 b2x + x2 2Y

(7.102)

Nous obtenons une expression du RSB en sortie du multiplieur M ult


des deux entres :
Y2
1
1
1
avec y =
2
M ult cste = x + y
Y

cste

fonction des RSB


(7.103)

De lquation 7.103 nous pouvons en dduire que le RSB en sortie du multiplieur sera toujours
infrieur celui de lentre x.

7.8

Comparaison des codages en virgule fixe et en virgule flottante

Dans cette partie nous comparons la dynamique et le rapport signal bruit de quantification
des donnes codes en virgule fixe et en virgule flottante.

7.8.1

Analyse de la dynamique

Le niveau de dynamique exprim en dB du codage en virgule fixe est linaire par rapport au
nombre de bits b utiliss par le codage :
DN

dB

' 20.b. log(2)

(7.104)

7.8 Comparaison des codages en virgule fixe et en virgule flottante

97

Le niveau de dynamique pour une reprsentation en virgule flottante est fonction du nombre
de bits E allous pour lexposant :
DN

dB

= 20 log(22K+1 ) avec K = 2E1 1

(7.105)

Nous avons reprsent la figure 7.23 les expressions 7.104 et 7.105 en fonction du nombre de
bits utiliss. Nous avons fix pour le codage en virgule flottante la taille de lexposant 1/4
de la longueur totale.
Lorsque le nombre de bits est infrieur 16, le niveau de dynamique obtenu avec une reprsentation en virgule fixe est suprieur celui dune reprsentation en virgule flottante. Cette
tendance sinverse pour un nombre de bits suprieur 16. Pour N=32, la reprsentation en
virgule flottante montre tout son intrt, la dynamique disponible permet dutiliser ce codage
dans la majorit des applications sans risque de dbordements.
Dynamique virgule fixe/flottante
1500

Codage virgule fixe


Codage virgule flottante

Dynamique en dB

1000

500

10

15

20
Nombre de bits

25

30

Fig. 7.23: Dynamique du codage en virgule fixe et en virgule flottante

7.8.2

Analyse du RSB

La puissance Pe du bruit de quantification correspond au moment dordre 2 de lerreur de


quantification e :
Pe = 2e + e2

(7.106)

Nous dfinissons Kx le rapport entre la racine carre de la puissance du signal x(k) et sa


dynamique D. La puissance Px du signal x(k) est gale :
N 1
1 X
Px = lim
x(k)2 = (Kx D)2
N N

(7.107)

k=0

Lexpression du RSB exprime en dB dans le cas dun codage en virgule fixe est la suivante :
dB = 10 log(

Ps
) = 20 log(D) + 20 log(Kx ) + 10 log(2e + e2 )
Pe

(7.108)

98

Effets de la quantification en traitement numrique du signal

Lexpression 7.108 montre que le RSB est linaire par rapport la dynamique du signal dentre.
Pour un codage en virgule flottante et une quantification par arrondi, lexpression du RSB est
la suivante :
dB = 20 log(Kx ) + 20 log(D) 10 log(2E ) 10 log

22M

12
E reprsente lexposant associ la valeur coder. Il est dfini tel que :

(7.109)

1
D
(7.110)
E <1
2
2
Pour illustrer cette analyse, la figure 7.24 reprsente deux exemples de lvolution du RSB en
fonction de la dynamique du signal dentre. Ces exemples montrent bien que le RSB est quasiment constant dans le cas de la virgule flottante. Lutilisation dun exposant explicite dans
le codage permet de sadapter la dynamique du signal et de maintenir un RSB constant et
indpendant de la dynamique du signal. Pour les signaux de dynamique faible, trs sensibles
lerreur de quantification, la reprsentation en virgule flottante permet dobtenir un meilleur
RSB.
Lorsque le nombre de bit est identique, le RSB du codage en virgule fixe est suprieur celui
en virgule flottante pour des signaux dont la dynamique dentre est leve. Ceci correspond
au cas ou le pas de quantification de la reprsentation en virgule flottante devient suprieur
celui en virgule fixe.
Pour le codage en virgule flottante, le choix du nombre de bits allous la mantisse et
lexposant est un compromis entre une dynamique leve et un RSB lev.
Rapport Signal Bruit virgule fixe/flottante. Nombre de bits:16
100

RSB en dB

80
60
40
20
0
20
50

Codage en virgule fixe N=16


Codage en virgule flottante E=4 M=12
40

30

20

10
0
10
20
Dynamique du signal d entre en dB

30

40

50

Rapport Signal Bruit virgule fixe/flottante. Nombre de bits:24


150

RSB en dB

100

50

0
Codage en virgule fixe N=24
Codage en virgule flottante E=6 M=18
50
200

150

100

50
0
50
Dynamique du signal d entre en dB

100

150

200

Fig. 7.24: RSB pour un codage en virgule fixe et en virgule flottante en fonction de la dynamique du signal dentre

7.9 Effets de la quantification sur des applications de traitement du signal

7.9
7.9.1

99

Effets de la quantification sur des applications de traitement


du signal
Filtrage RIF

P 1
Soit un filtre RIF H(z) = N
i=0 bi xni . La figure 7.25 montre le graphe flot de calcul de ce
filtre, ainsi que les diffrents bruits de quantification que lon peut trouver dans cet algorithme.
bgx reprsente le bruit en entre du filtre associ au signal x(n).
bgbi reprsente le bruit gnr par les multiplications. Dans le cas dune architecture double
prcision3 , ce bruit sera nul.
bgadd reprsente le bruit gnr par le changement de format en sortie du filtre. Dans le cas
dune architecture simple prcision, ce bruit sera nul.

Fig. 7.25: Bruits de quantification dans un filtre RIF

7.9.1.1

Bruit en sortie du filtre RIF pour une architecture simple prcision

Dans le cas dune architecture simple prcision et si on nglige le bruit en entre, on peut
crire le bruit en sortie du filtre et sa puissance comme valant :
f (n) =

N
1
X

bgbi (n)

(7.111)

i=0

f2 = N

q2
12

(7.112)

Si on considre le bruit en entre, la puissance devient :


f2

e2

N
1
X
n=0

|h(n)|2 + N

q2
12

(7.113)

car le bruit en sortie est compos de la somme du bruit dentre filtr par H(z) et du bruit
gnr par les multiplications.
3
Une architecture simple prcision est dfinie par un chemin de donnes o toutes les entres-sorties des
oprateurs sont sur b bits. Une architecture double prcision possde un multiplieur b b bits 2b bits et un
additioneur/accumulateur sur 2b bits. Voir cours sur les processeur de traitement du signal.

100
7.9.1.2

Effets de la quantification en traitement numrique du signal


Bruit en sortie du filtre RIF pour une architecture double prcision

Dans le cas dune architecture double prcision et si on nglige le bruit en entre, on peut
crire le bruit en sortie du filtre et sa puissance comme valant :
f (n) = bgbadd (n)
f2 =
7.9.1.3

q2

(7.114)
(7.115)

12

Problme de dbordement du filtre RIF

Il est ais de calculer dans le cas du filtre RIF la valeur maximum de la sortie y(n) :
|y(n)| xmax

N
1
X

|h(n)|

(7.116)

n=0

o xmax est lamplitude maximum du signal dentre x(n). Afin de garantir quil ny ait pas de
dbordement dans le filtre H, on effectue sur lentre une mise lchelle par un gain A < 1.
Pour un codage en virgule fixe cadre gauche par exemple, garantir que y(n) reste dans le
domaine de codage signifie y(n) < 1. On peut donc en dduire le gain A par :
A<
ou par :
A<

7.9.2

xmax

Filtrage RII du premier ordre

Filtrage RII du second ordre

Lexemple sera trait en cours.

7.9.4

Filtrage RII en cascade

Lexemple sera trait en TD.

n=0

|h(n)|

1
xmax M AX (H(ej ))

Lexemple sera trait en cours.

7.9.3

1
PN 1

Chapitre 8

Synthse des filtres RII


8.1
8.1.1

Introduction et rappels en filtrage analogique


Introduction

La synthse dun filtre numrique est la recherche dune fonction H(z) (ou h(n)) correspondant
la spcification sous forme de gabarit. La recherche de cette fonction peut tre ralise selon
diverses mthodes.
La mthode la plus courante est lutilisation des mthodes de synthse des filtres analogiques
aboutissant une fonction H(p) correspondant aux spcifications. Une fonction permettant
le passage du plan p dans le plan z (i.e. p = f (z)) est ensuite utilise pour obtenir H(z).
Cette fonction doit maintenir la stabilit du filtre analogique et maintenir, au mieux, les
caractristiques de la rponse frquentielle H(ej ) du filtre numrique. Nous tudions dans
la suite du chapitre trois types de transformation f .
Une synthse directe en z est galement possible selon les mmes principes que la synthse
analogique, mais elle ne sera pas prsente ici vu le nombre important doutils dvelopps
dans le contexte analogique.
Enfin, des mthodes doptimisation issues de lanalyse numrique peuvent tre utilises afin
de rechercher une fonction H(z) sapprochant le plus possible dune fonction prototype.
La minimisation dun critre derreur entre la courbe idale et la courbe relle est alors
applique.

La figure 8.1 rsume la mthodologie de synthse de filtres analogiques et numriques RII. Les
premires phases de synthse analogique (normalisation, approximation et dnormalisation)
sont explicits dans la section suivantes, tandis que les diffrentes transformations p z sont
prsentes aux sections 8.2 8.4.

8.1.2

Rappels en filtrage analogique

Les filtre analogiques sont spcifis de manire quivalente aux filtres numriques (voir section
6.3). Les frquences sont exprimes en fonction de f (en Hz) ou de , la pulsation (en rad/s).
La fonction de transfert H(p) est exprime en p = j. La synthse de cette fonction H(p) est
compose de trois tapes principales :
1. normalisation du gabarit,
101

102

Synthse des filtres RII


Spcification
Gabarit analogique
Normalisation
Gabarit normalis

Ordre du filtre

Approximation de H(p)
Types de filtre
(Butterworth, Chebyshev,...)

HNorm(p)
Dnormalisation
H(p)
Filtrage numrique

Filtrage analogique

Transformation

Choix dune structure

p=f(z)
invariance impulsionnelle,
bilinaire

Rauch, Sallien-Key,
Biquadratique

Fig. 8.1: Mthodologie de synthse de filtres analogique et numrique RII

2. approximation de la fonction de transfert normalise HN orm (p),


3. dnormalisation de HN orm (p) aboutissant la fonction de transfert H(p).
8.1.2.1

Normalisation

Cette premire phase permet daboutir au gabarit passe-bas prototype (ou gabarit normalis)
partir de nimporte que des 4 types principaux de filtres (passe-bas, passe-haut, passe-bande,
rjecteur-de-bande). Celui ci (voir figure 8.2) est un gabarit passe-bas possdant une pulsation
de coupure normalise 1 et une pulsation de bande attnue valant 1s , s tant la slectivit
dfinie au paragraphe 6.3 (voir tableau 6.1). Les valeurs dondulation et dattnuation sont
inchanges.
8.1.2.2

Approximation de la fonction de transfert

La phase suivante consiste en la recherche dune fonction HN orm (p) entrant dans le gabarit
prototype passe-bas dfini avant. Il existe plusieurs fonctions dapproximation, nous exposons
ci-aprs les 4 fonctions les plus utilises.
Pour la dtermination de lordre du filtre et des coefficients de la fonction de transfert H(p), on
pourra soit utiliser les formules et tableaux donnes ci-aprs, soit utiliser les abaques fournies
en annexe B.
1. Filtres de Butterworth
Un filtre passe-bas de Butterworth dordre N et de pulsation de coupure c est dfini

8.1 Introduction et rappels en filtrage analogique

103

Fig. 8.2: Gabarit prototype passe-bas

par le carr de sa rponse frquentielle :


B

H ()2 =
1+

1
2N

(8.1)

Les principales proprits des filtres de Butterworth sont :


lamplitude est une fonction monolithique dcroissante sur ,
la rponse frquentiel est plate dans les bandes passante et attnues,
est pour = 0 et vaut 1,
le gain maximum

|H B (c )| = 0.5, c est donc la pulsation de coupure 3dB,


lattnuation asymptotique dans les hautes frquences vaut 20.N dB/dcade.
Lordre du filtre est dtermin par la relation :

1
log
2 1
N
log 1s
N
2

3
4
5
6

a1
1.4142
2
2.6131
3.2361
3.8637

a2

a3

a4

a5

2
3.4142
5.2361
7.4641

2.6131
5.2361
9.1416

3.2361
7.4641

3.8637

(8.2)

Tab. 8.1: Coefficients du polynme du dnominateur dun filtre passe-bas normalis de Butterworth de degrs 2 6
2. Filtres de Chebyshev
Un filtre passe-bas de Chebyshev de type I dordre N et de pulsation de coupure c est
dfini par le carr de sa rponse frquentielle :
C

1
H ()2 =
,
(8.3)
1 + 2 TN2 c

104

Synthse des filtres RII


o TN (x) est un polynme de Chebyshev de degr N, un paramtre permettant de
rgler lamplitude de londulation en bande passante ou en bande attnue.
Les principales proprits des filtres de Chebyshev sont :
pour un filtre de type I, lamplitude dans la bande passante possde une ondulation
respectant :
C

1
H ()2 1
0 c =

1 + 2

pour un filtre de type II, ces ondulations sont situes dans la bande attnue ( c ),

1/(1 + 2 ), N impair
C
|H (0)| =
1,
N pair

lattnuation asymptotique dans les hautes frquences vaut 20.N dB/dcade, mais
lordre du filtre sera plus faible quun Butterworth spcifications quivalentes.
3. Filtres elliptiques
Les filtres elliptiques possdent des ondulations la fois en bande passante et en bande
attnue. Ils sont optimaux en terme de slectivit, cest dire quils donnent lordre
minimal spcification donne. Un filtre passe-bas elliptique dordre N et de pulsation
de coupure c est dfini par le carr de sa rponse frquentielle :
E

H ()2 =

1
2
1 + 2 RN

(8.4)

o RN (x) est une fonction rationnelle de Chebyshev de degr N, un paramtre permettant de rgler lamplitude de londulation en bande passante ou en bande attnue.
Londulation en bande passante, quivalente un chebyshev-I, est comprise entre 1 et
1/(1 + 2 ).
4. Filtres de Bessel
Les filtres de Bessel sont intressants pour leur phase proche de la linarit. En contrepartie, ils sont ceux ayant la slectivit la plus faible.
8.1.2.3

Dnormalisation

Cette dernire tape permet de passer de la fonction de transfert normalise HN orm (pN )
la fonction de transfert H(p). Nous appelons ici pN la variable de la fonction normalise. La
dnormalisation consiste donc en lapplication dune fonction f permettant de transformer
cette variable pN en la variable p = j : pN = f (p). La fonction f dpend du type de filtre
spcifi. Le tableau 8.2 rsume les fonctions de dnormalisation pour les 4 types de filtres.
passe-bas
pN =

p
c

passe-haut
pN =

c
p

passe-bande

pN = B1 p0 + p0

rjecteur-de-bande
h
i1
pN = B1 p0 + p0

Tab. 8.2: Fonctions de dnormalisation

8.2 Mthode de linvariance impulsionnelle

105

Exemple 8.1.1 : Synthse dun filtre passe-haut


fp
fa
1
2
3 kHz 1 kHz -3 dB -20 dB
1. Dessiner le gabarit du filtre. En dduire le gabarit du filtre prototype.

Soit le filtre dfini par le gabarit suivant :

2. Pour les 4 types de filtre prcdents, dterminer lordre du filtre et la fonction de transfert
normalise HN orm (p).
3. En dduire les fonctions de transfert H(p) des 4 types de filtre.

8.2

Mthode de linvariance impulsionnelle

La mthode de linvariance impulsionnelle consiste effectuer la synthse dun filtre numrique


dont la rponse impulsionnelle h(nT ) est lchantillonnage de la rponse impulsionnelle ha (t)
du filtre analogique quivalent (figure 8.3). On a alors :
h(nT ) , ha (t)|t=nT

(8.5)

Fig. 8.3: Conservation de la rponse impulsionnelle entre les filtres analogique et numrique
Dans le cas o la fonction de transfert du filtre analogique Ha (p) possde N ples simples pi ,
on peut crire :
N

Ha (p) =

N (p) X ki
=
D(p)
p + pi
i=1

ha (t) =

N
X

ki epi t

i=1

Si on chantillonne la rponse impulsionnelle du filtre analogique par h(nT ) = ha (t)|t=nT , on


obtient la fonction de transfert du filtre numrique H(z) :

106

Synthse des filtres RII

h(nT ) =
H(z) =

N
X
i=1
N
X
i=1

ki epi nT
N

ki

X
z
1
=
ki
p
T
p
ze i
1 e i T z 1
i=1

Si on tend cette formulation de H(z) tout type de fonction Ha (p), on peut, en utilisant la
formule des rsidus, obtenir une relation directe entre Ha (p) H(z) :

X
Ha (p)
, pi
(8.6)
H(z) =
Res
1 epT z 1
pi de Ha (p)

Cette mthode de synthse est simple. Elle conserve la rponse temporelle du filtre analogique quivalent et galement la stabilit du filtre. Par contre, la rponse frquentielle du filtre
nest pas conserve. En effet, cette transformation suit logiquement le thorme dchantillonnage et le phnomne de recouvrement de spectre. Son utilisation doit respecter les contraintes
dues lchantillonnage, en particulier une bande passante infrieure la moiti de la frquence
dchantillonnage. La rponse frquentielle est donne par la formulation :
H(ejT ) = H(z)|z=ejT =

2k
1X
Ha (j + j
)
T
T

(8.7)

Par consquent, la mthode de linvariance impulsionnelle nest applicable quaux filtres


bande limite satisfaisant lquation :
|Ha (j)| ' 0 pour || > B avec B < fe

(8.8)

La figure 8.4 montre le rsultat de la rponse frquentielle dun filtre numrique dans le cas
o le filtre analogique quivalent nest pas bande limite. Le phnomne de recouvrement
de spectre est ici important. On remarque galement que la rponse frquentielle de H(z)
possde un facteur multiplicatif 1/T (quation 8.7). Ce facteur, dont la valeur est trs leve
(e.g. 10000 pour une frquence dchantillonnage de 10kHz), doit tre attnu si on veut un
filtre ralisable. En pratique, on normalisera H(z) par (T ) ou par (/H(z = ej0 ). Dans ce
dernier cas, on obtiendra une valeur en = 0 quivalente au filtre analogique.

8.3

Transformation dEuler

Leffet de recouvrement de la mthode de linvariance impulsionnelle est due lutilisation


dune fonction non algbrique et non bijective entre le plan p et le plan z. Nous allons donc
chercher utiliser une transformation algbriques entre ces deux plans.
La transformation dEuler consiste utiliser lapproximation simple dune drive :
de(t)
e(nT )
e[nT ] e[(n 1)T ]
|t=nT = lim
'
t0
dt
t
T

(8.9)

Si on considre un systme linaire discret H(z) ralisant cette approximation, il aura la


forme :
e[nT ] e[(n 1)T ]
s(nT ) =
(8.10)
T

8.3 Transformation dEuler

107

Fig. 8.4: Rponses frquentielles des filtres analogique et numrique

Ce qui donne dans la plan z :


S(z) =
H(z) =

1 z 1
E(z)
T
1 z 1
T

(8.11)
(8.12)

Dans le plan p, la drivation est obtenue par la fonction de transfert Ha (p) = p. Par consquent,
la transformation dEuler ralisant lapproximation dune drive est dfinie par :
H(z) , H(p)|p= 1z1

(8.13)

La transformation inverse donne par :


z=

1
1 pT

(8.14)

permet de chercher une relation entre les frquences analogique (a ) et numrique (). On
obtient :
z =
z =

1
= ejT
1 ja T

i
1
1 + ja T
1h
1+
=
1 + ej2 arctan(a T )
2
1 ja T
2

(8.15)
(8.16)

La variable z parcourt donc un cercle de centre z = 1/2 et de rayon 1/2. Le cercle unit du
plan z est donc transform, impliquant une modification importante de la rponse frquentielle
du filtre donne par lquation 8.16. Cependant, il ny a pas de phnomne de recouvrement
de spectre. La stabilit est conserve.
La section suivante montre une transformation utilisant le mme principe, mais dont les performances en terme de rponse frquentielle sont meilleures.

108

8.4

Synthse des filtres RII

Transformation bilinaire

La transformation bilinaire est issue dun systme linaire discret H(z) ralisant lapproximation dune intgrale par la mthode des rectangles (voir figure 8.5. On peut lexprimer comme
un filtre rcursif donn par :
s(nT ) = s((n 1)T ) + T

e(nT ) + e((n 1)T )


2

(8.17)

Fig. 8.5: Approximation dune intgrale par la mthode des rectangles


Ce qui donne dans la plan z :
E(z) + z 1 E(z)
2
S(z)
T 1 + z 1
=
E(z)
2 1 z 1

S(z) = z 1 S(z) + T

(8.18)

H(z) =

(8.19)

Dans le plan p, lintgration est obtenue par la fonction de transfert Ha (p) = 1/p. Par consquent, la transformation bilinaire ralisant lapproximation dune intgrale est dfinie par :
H(z) , H(p)|p= 2 1z1

(8.20)

T 1+z 1

La transformation inverse donne par :


z=

2/T + p
2/T + ja
=
2/T p
2/T ja

(8.21)

permet de chercher une relation entre les frquences analogique (a ) et numrique (). On
obtient :
2 + ja T
= ejT
2 ja T
|z| = 1
a T
a T
a T
a T
arg(z) = arctan(
) + arctan(
) = 2 arctan(
) arctan(
)
2
2
2
2
z = ejT arg(z) = T
z =

(8.22)
(8.23)
(8.24)
(8.25)

Les quations 8.24 et 8.25 impliquent la relation entre les pulsations analogique et numrique :

a T
T
= tan
(8.26)
2
2

8.4 Transformation bilinaire

109

Cette relation est trs importante puisquelle permet de connatre de manire analytique le
transformation entre les rponses frquentielles des filtres analogique et numrique. Cette relation sappelle distorsion en frquence ou frequency warping.
La figure 8.6 montre que lensemble de laxe imaginaire du plan p est transform vers le
cercle unit du plan z (cf. quation 8.23 et 8.24) de manire bijective. De plus, le domaine
de stabilit (demi-plan gauche du plan p) est transform vers le disque unit (figure 8.6).
Cette transformation vite donc le phnomne de recouvrement de spectre et conserve la
stabilit. Cependant, une compression non linaire de laxe des frquences est ralise comme
le montrent lquation 8.26 et la figure 8.7.

Fig. 8.6: Transformation du plan p vers le plan z

Fig. 8.7: Transformation non linaire entre les frquences analogique et numrique : distorsion
en frquence
En consquence, la synthse de filtre numrique utilisant la transformation bilinaire est utilisable quand cette compression peut tre tolre ou compense. La figure 8.8 illustre ce phnomne. Elle montre comment une rponse frquentielle temps continu et son gabarit est
transforme en une rponse frquentielle temps discret. Si les frquences critiques (i.e. le gabarit) sont modifies en utilisant une pr-distorsion (quation 8.26), alors le filtre numrique
respectera les spcifications initiales.

110

Synthse des filtres RII

Fig. 8.8: Transformation frquentielle du filtre analogique Ha (a ) vers le filtre numrique


H()

8.4 Transformation bilinaire

111

La mthodologie de synthse par la transformation bilinaire doit donc suivre lalgorithme


suivant :
1. partir des spcifications frquentielles, effectuer une pr-distorsion des frquences critiques du gabarit :

p,a
2
a p,a = tan
,
(8.27)
T
2
2. effectuer la synthse du filtre analogique Ha (p) (voir section 8.1),
3. utiliser la transformation bilinaire H(z) , H(p)|p= 2 1z1 pour obtenir le filtre numT 1+z 1

rique H(z).

La pr-distorsion assure que le filtre numrique ainsi synthtis entre dans le gabarit initial.

Exemple 8.4.1 : Synthse dun filtre IIR du premier ordre


On sintresse ici la synthse dun filtre passe-bas RC du premier ordre par les mthodes de
linvariance impulsionnelle et bilinaire. Soit le filtre :
Ha (p) =

1
,
1 + pc

avec fc = 1kHz et fe = 10kHz.


1. Donner la rponse frquentielle du filtre analogique Ha (a ). Donner les valeurs de son
module en f = 0, 1kHz, 5kHz et 10kHz.
2. Exprimez les filtres numriques obtenus par invariance impulsionnelle (Hi (z)) et transformation bilinaire (Hb (z)). Pour Hb (z), il faudra sassurer de la mme frquence de
coupure c que le filtre analogique. Pour Hi (z), il faudra sassurer de la mme valeur en
= 0 que le filtre analogique.
3. Donner de manire analytique les rponses frquentielles des deux filtres numriques.
Donner les valeurs de leurs modules en f = 0, 1kHz, 5kHz et 10kHz.
4. Tracer ces deux rponses laide de Matlab ou Scilab.

112

Synthse des filtres RII

Chapitre 9

Synthse des filtres RIF


9.1

Introduction

Un filtre RIF est dfini par sa fonction de transfert en z :


H(z) =

N
1
X

h(n).z n

(9.1)

n=0

o la rponse impulsionnelle h(n) est de longueur N .


A la diffrence des filtres RII, les filtres RIF ne sont ralisables que dans le domaine discret.
Par consquent, leurs mthodes de synthse ne sont pas drives des filtres analogiques. On
distingue trois principales mthodes, dont deux seront dtailles dans les sections suivantes.
1. La mthode du fentrage (windowing ) consiste appliquer une fentre de taille N
au filtre idal quivalent (voir section 9.3).
2. La mthode de lchantillonnage frquentiel utilise la Transforme de Fourier Discrte inverse depuis une fonction discrte reprsentative du filtre et dfinie en frquence
(voir section 9.4).
3. Les mthodes doptimisation se concentrent sur la minimisation dun critre derreur
entre la courbe relle et le filtre idal. La plus utilise est la mthode de Parks and
McClellan [PM73], qui reformule le problme de synthse de filtre sous la forme dune
approximation polynmiale.

9.2

Filtres phase linaire

Les filtres RIF ont la particularit de pouvoir prsenter une phase linaire. Puisque pour
les systmes causaux une phase nulle dans la bande passante nest pas ralisable, une phase
exactement linaire vitera la modification de la forme du signal, cest dire le phnomne de
distorsion qui peut tre trs gnant, en particulier dans les systmes audio. En effet, une phase
linaire implique un temps de propagation de groupe constant, et, par consquent, leffet de
la phase sur le signal sera un simple dcalage temporel. On posera pour ce type de filtre :
H(ej ) = A(ej )ej+j ,
113

(9.2)

114

Synthse des filtres RIF

o et sont des constantes et A(ej ) une fonction relle, ventuellement bipolaire, de que
lon nommera plus tard pseudo-module1 (ou amplitude). Dans ce cas, le temps de propagation
de groupe g() = d()
d sera constant et aura pour valeur . () est ici la phase linaire
du filtre valant () = + . On distinguera par la suite quatre types de filtres selon les
valeurs de et et de la parit de N .
Le filtre H(z) et sa rponse frquentielle H(ej ) sont donns par :
H(z) =

N
1
X

h(n).z n

(9.3)

n=0

H(ej ) = H(z)|z=ej =

N
1
X

h(n).ejn

(9.4)

n=0

H(ej ) = <[H(ej )] + j=[H(ej )]


j

H(e ) = |H(e )|e


1er cas : () = ,

j arg()

= A(e )e

(9.5)
j()

Dans ce cas :

H(ej ) = A(ej )ej = A(ej )[cos j sin ]


H(ej ) =

N
1
X

(9.6)

h(n).ejn =

n=0

N
1
X

h(n)[cos n j sin n]

(9.7)
(9.8)

n=0

En identifiant les parties relles et imaginaires des deux quations prcdentes, il est possible
dobtenir le systme dquation suivant :
(
P 1
A(ej ) cos = N
n=0 h(n) cos n
P
(9.9)
1
A(ej ) sin = N
n=0 h(n) sin n

N
1
X

h(n) cos n sin

n=0

N
1
X

h(n) sin n cos = 0

(9.10)

n=0

N
1
X

h(n) sin[( n)] = 0

(9.11)

n=0

Lquation 9.11 rsume donc la condition sur la rponse impulsionnelle pour que le filtre soit
phase linaire.
Si 6= 0, on montre que lquation 9.11 est quivalente :

= N 21
h(n) = h(N 1 n) pour 0 n

(9.12)

La rponse impulsionnelle est donc symtrique. est laxe de symtrie de h(n). peut tre
entier ou non selon si N est impair ou pair.
1
Le pseudo-module est souvent utilis en remplacement du module car il vite les discontinuits dans le
module dues la valeur absolue et dans la phase dues la dtermination principale [, ] de largument. On
peut le voir comme une reprsentation du module intgrant ses variations de signe

9.2 Filtres phase linaire

115

2nd cas : () = , Dans ce cas on obtient selon la mme dmonstration


que pour le premier cas la relation suivante :
N
1
X

h(n) sin[( n) + ] = 0

(9.13)

n=0

On montre ensuite que lquation 9.13 est quivalente :

= /2
= N 21

h(n) = h(N 1 n) pour 0 n

(9.14)

La rponse impulsionnelle est donc antisymtrique par rapport .


On dduit de ces deux cas que selon la parit de N et le type de symtrie de h(n), quatre
types distincts de filtres sont tudier.

9.2.1

Filtre RIF phase linaire de type I

Un filtre RIF phase linaire de type I est dfini par une rponse impulsionnelle symtrique :
h(n) = h(N 1 n),
avec N impair. Le retard =

N 1
2

0n

(9.15)

est un entier. La rponse frquentielle du filtre est :

H(e ) = A(e )e

N
1
X

h(n).ejn

(9.16)

n=0

En utilisant la relation de symtrie de lquation 9.15 on obtient :


j N 21

H(ej ) = e

N 1
2

an . cos(n)

(9.17)

n=0

N 1
)
2
N 1
n),
= 2h(
2

a0 = h(
an

9.2.2

(9.18)
n = 1, . . .

N 1
2

(9.19)

Filtre RIF phase linaire de type II

Un filtre RIF phase linaire de type II est dfini par une rponse impulsionnelle symtrique
comme dans lquation 9.15, avec N pair. Le retard = N 21 nest pas un entier. La rponse
frquentielle du filtre est :
N

j N 21

H(e ) = e

2
X

n=1

bn = 2h(

N
n),
2

1
bn . cos[(n )]
2
n = 1, . . .

N
2

(9.20)

(9.21)

116

Synthse des filtres RIF

Remarque :
si = alors cos[(n 12 )] = 0 ce qui implique que H(ej ) = 0. Par
consequent, un filtrage ne respectant pas cette contrainte (e.g. un filtre passe-haut) est impossible raliser avec un filtre de type II.

9.2.3

Filtre RIF phase linaire de type III

Un filtre RIF phase linaire de type III est dfini par une rponse impulsionnelle antisymtrique :
h(n) = h(N 1 n),
0n
(9.22)
avec N impair. Le retard =
est :

N 1
2

est un entier, = /2. La rponse frquentielle du filtre

H(e ) = je

j N 21

N 1
2

cn . sin(n)

(9.23)

n=1

N 1
cn = 2h(
n),
2

n = 1, . . .

N 1
2

(9.24)

Remarque : H(ej0 ) = H(ej ) = 0. Par consequent, un filtrage ne respectant pas cette


contrainte est impossible raliser avec un filtre de type III. Les filtres pass-bande ou certains
drivateurs sont ralisables.

9.2.4

Filtre RIF phase linaire de type IV

Un filtre RIF phase linaire de type III est dfini par une rponse impulsionnelle antisymtrique comme dans lquation 9.22, avec N pair. Le retard = N 21 nest pas un entier,
= /2. La rponse frquentielle du filtre est :
N

H(ej ) = je

j N 21

2
X

n=1

dn = 2h(

N
n),
2

1
dn . sin[(n )]
2
n = 1, . . .

N
2

(9.25)
(9.26)

Remarque : H(ej0 ) = 0, H(ej ) 6= 0. Par consequent, un filtrage ne respectant pas cette


contrainte est impossible raliser avec un filtre de type IV. Les filtres pass-haut ou certains
drivateurs sont ralisables.
La figure 9.1 rsume les caractristiques des 4 types de filtre RIF phase linaire. Elle trace
des exemples de rponses impulsionnelle symtriques (types I et II) ou antisymtriques (types
III et IV) et des exemples de rponses frquentielles.

Exemple 9.2.1 : Analyse dun filtre numrique RIF


Soit un filtre RIF dfini par sa rponse impulsionnelle h(n) :
h(n) = 0.1(n) 0.3(n 2) + 0.5(n 3) 0.3(n 4) + 0.1(n 6)

9.2 Filtres phase linaire

117

2
b) Filtre de type II

a) Filtre de type I

c) Filtre de type III

d) Filtre de type IV

Fig. 9.1: Les quatre types de filtres RIF phase linaire

118

Synthse des filtres RIF

1. Donner les expressions de lquation aux diffrences finies ainsi que la fonction de transfert en Z.
2. Tracer la rponse impulsionnelle h(n) du filtre.
3. Calculer la rponse frquentielle H(ej ) du filtre. Dterminer son module et sa phase.
On note que :
(1 +2 )
2 1
ej1 + ej2 = 2 ej 2
cos(
)
2
4. Donner les valeurs du module en = 0, /2, , , 2.
5. Tracer approximativement son module. De quel type de filtre sagit-il ?

9.3

Mthode de synthse par fentrage

Soit un filtre numrique idal H(ej ), priodique de priode 2. Il est dcomposable en srie
de Fourier par sa rponse impulsionnelle :
H(ej ) =

h(n)ejn

(9.27)

n=

Sa rponse impulsionnelle peut tre exprime en fonction de H(ej ) par :


Z
1
H(ej )ejn d
h(n) =
2

(9.28)

Ce filtre est non causal et rponse impulsionnelle infinie. La manire la plus simple dobtenir
un filtre RIF approchant H(ej ) est de limiter h(n) par :

h(n), 0 n < N

h(n) =
0, n < 0 et n N

On obtient dans ce cas un filtre numrique RIF approch h(n)


dont la rponse frquentielle
est modifi par le phnomne de Gibbs [OS99], cest dire lapparition dondulation dans
les bandes passantes et attnues damplitude convergent vers une valeur non nulle lorsque

N . De manire plus gnrale, on peut reprsenter h(n)


comme le produit du filtre idal
h(n) avec une fentre dure finie w(n).

h(n)
= h(n).w(n)

(9.29)

Dans lexemple prcdent, w(n) est la fentre rectangulaire r(n) dfinie par :

1, 0 n < N
r(n) =
0, n < 0 et n N
j ) :
On peut alors tudier la rponse frquentielle du filtre RIF ainsi synthtis H(e
j ) = H(z)|

H(e
z=ej =
j ) =
H(e

1
2

N
1
X

h(n).w(n).ejn

(9.30)

n=0

H(ej )W (ej() )d

= H(e ) W (ej )

(9.31)
(9.32)

9.3 Mthode de synthse par fentrage

119

j ) sera donc le rsultat de la convolution entre le filtre


La rponse frquentielle du filtre H(e
idal et la transforme de Fourier de la fentre. Les caractristiques de cette dernire sont
donc trs importantes. On devra trouver un fentrage dont le W (ej ) se rapproche le plus des
caractristiques de ().
La figure 9.2 montre ce phnomne de convolution. Les effets sur le filtre idal sont : - lapparition dondulations en bandes passante et attnue, - une zone de transition moins rapide
dtermine par la largeur du lobe principal.

Fig. 9.2: Processus de convolution de la rponse frquentielle du filtre idal par la fentre

Exemple 9.3.1 : Calcul de la TF de la fentre rectangulaire

1, 0 n < N
Soit la fentre rectangulaire r(n) dfinie par : r(n) =
0, n < 0 et n N
1. Calculer la transforme de Fourier R(ej ) de r(n).
2. Tracer sa rponse frquentielle entre et . Donner en particulier la valeur en 0 (amplitude du lobe principal), la largeur du lobe principal et lamplitude du lobe secondaire.

Exemple 9.3.2 : Filtrage passe bas RIF phase linaire


Soit le filtre passe-bas idal dfini par :
j
e
pour
c c
j
H(e ) =
0 pour c < et < c
1. Tracer la rponse frquentielle de H(ej ) en module et phase entre 2 et 2.
2. Calculer et tracer h(n).
3. Expliquer comment obtenir un filtre RIF de longueur N partir de ce filtre. On utilisera

la fentre tudie dans lexemple prcdent. Donner et tracer les valeurs de h(n).
j ).
4. Donner une formule analytique de la rponse frquentielle du filtre H(e
5. Tracer son module et sa phase.

120

9.3.1

Synthse des filtres RIF

Caractristiques des principales fentres

Les principales fentres utilises sont dtailles la figure 9.3. Elles sont dfinies par les
quation ci dessous :
Rectangulaire

1, 0 n < N
w(n) =
(9.33)
0, n < 0 et n N
Triangulaire (Bartlett)

w(n) =
Hanning

2n
N 1 ,
2n
N 1 ,

0 n N 21
N 1
2 nN 1
0, n < 0 et n N

(
w(n) =

Hamming

0.5 0.5 cos

0.54 0.46 cos

w(n) =

, 0nN 1

(9.35)

2n
N 1

, 0nN 1

(9.36)

0, n < 0 et n N

(
0.42 0.5 cos

w(n) =

0, n < 0 et n N

Blackman

2n
N 1

(9.34)

2n
N 1

+ 0.08 cos

4n
N 1

, 0nN 1
0, n < 0 et n N

(9.37)

Rectangulaire
Bartlett
Hanning
Hamming
Blackman

0.8

w(n)

0.6

0.4

0.2

10

20

30

40

50

60

Fig. 9.3: Rponses temporelles des principales fentres


Ces fentres sont les principales fonctions utilises en analyse spectrale et en synthse de filtre
RIF. Leurs rponses frquentielles 20 log10 |W (ej )|sont donnes la la figure 9.4 avec N = 64.

9.3 Mthode de synthse par fentrage

121

On voit que selon la fentre, la largeur du lobe principal et lamplitude du plus grand lobe
secondaire diffrent. Par exemple, la fentre rectangulaire possde le lobe principal le plus
troit (4/N ), mais le lobe secondaire le moins attnu (13dB). Le tableau 9.1 rsume ces
caractristiques. On y voit en particulier quen utilisant une fentre sans discontinuit et plus
lisse (e.g. Hamming ou Blackman), on peut rduire de manire importante lamplitude des
lobes secondaires parasites. La colonne de droite est en relation avec la synthse RIF et sera
dtaille dans la section suivante.
Fentre de Bartlett
0

20

20

W dB

W dB

Fentre rectangulaire
0

40
60

60
0

0.1

0.2
0.3
0.4
Fentre de Hanning

80

0.5

20

20

W dB

W dB

80

40

40
60
80

0.1

0.1

0.2
0.3
0.4
Fentre de Hamming

0.5

40
60

0.1

0.1

0.2
0.3
0.4
Fentre de Blackman

0.5

80

0.2

0.3

0.4

0.5

W dB

20
40
60
80

0.2

0.3

0.4

0.5

Fig. 9.4: Rponses frquentielles des principales fentres

9.3.2

Choix de la fentre dans la mthode de synthse

On voit donc que le choix de la fentre aura une influence sur les performances du filtre.
En particulier, les caractristiques importantes et leur influence sur le filtre synthtis sont
dtailles ci dessous.
La largeur de la zone de transition = |p a | dfinie la section 6.3.2 sera directement
fonction de la largeur du lobe principal m donne dans le tableau 9.1. Lorsque la frquence
de coupure ou de transition du filtre nest pas trop proche de 0 ou de , on peut considrer
que
= 2 m . On voit donc que la transition sera dautant plus faible que N

122

Synthse des filtres RIF


Type de fentre

Rectangulaire
Bartlett
Hanning
Hamming
Blackman

Rapport damplitude
entre lobe principal
et lobe secondaire

13dB
25dB
31dB
41dB
57dB

Largeur du lobe
principal m

Attnuation minimale
en bande attnue A

4/N
8/N
8/N
8/N
12/N

-21dB
-25dB
-44dB
-53dB
-74dB

Tab. 9.1: Caractristiques des principales fentres


sera grand.
Les ondulations en bande passante et en bande attnue seront gales, on notera A = 1 =
2 et on parlera de filtre equiripple. Cette attnuation est donne par la quatrime colonne
du tableau 9.1. On voit que A ne dpend que du type de fentre et non de N .

1+
1

Fig. 9.5: Illustration de leffet du fentrage sur le filtre idal

La procdure de synthse dun filtre numrique RIF par fentrage partir de la rponse
impulsionnelle dun filtre idal h(n) consiste :
1. choisir en fonction de lattnuation A le type de fentre utiliser,
2. choisir en fonction de la largeur de la zone de transition et du type de la fentre
w(n) la longueur de la rponse impulsionnelle N .

Le filtre RIF rsultant h(n)


est ensuite dfini par h(n)
= h(n).w(n). Il sera de longueur N .

9.4 Mthode de synthse par chantillonnage en frquence

123

Remarque : un dcalage de de la rponse impulsionnelle du filtre idal h(n) peut tre

ncessaire afin de rendre le filtre h(n)


phase linaire. On aura alors : h(n)
= h(n ).w(n).
Le calcul de la largeur de la zone de transition est ici prsent de faon empirique. Dans
la plupart des cas, cette approximation reste suffisante, mais il est quelques fois ncessaire
ditrer plusieurs fois lalgorithme de synthse afin dassurer que le filtre entre dans le gabarit
spcifi. Aussi un dernier type de fentre dit de Kaiser peut tre utilise. Cette mthode,
permettant dobtenir une formulation exacte des paramtres et A, ne sera dveloppe
ici, mais on peut se rapporter [OS99] pour lutiliser.

Exemple 9.3.3 : Caractristique dun filtre


Soit un filtre dfinie par une zone de transition = 0.1 et une attnuation > 30dB,
dterminer la taille et le type de fentre utiliser.

9.4

Mthode de synthse par chantillonnage en frquence

La mthode de synthse par chantillonnage en frquence est applique depuis la rponse


frquentielle dun filtre continu idal H(ej ). A partir de celle ci et dune valeur de N fixe,
on ralise un chantillonnage en frquence de pas e = 2
N dfinie par :
jke ) , H(ej )| 2k
H(e
=

(9.38)

Fig. 9.6: chantillonnage frquentiel dun filtre drivateur


La figure 9.6 montre un exemple de drivateur dfinie partir dun filtre continu. On remarquera en particulier que prendre N points entre [0, 2[ un pas de 2
N limine lchantillon en

jke ) :
= 2. Le filtre RIF h(n)
est alors trouv par TFD inverse de H(e

h(n)
=

N 1
1 X jke 2j n.k
N , n = 0, 1 . . . N 1
H(e
)e
N

(9.39)

k=0

h(n)
= 0, ailleurs

(9.40)

Cette mthode de synthse est trs simple et permet de raliser toute forme de filtre. De plus,
elle peut tre combine avec la mthode du fentrage. La fonction de transfert en Z du filtre

124

Synthse des filtres RIF

sera :

H(z)
=

N
1
X

h(n)z

(9.41)

n=0

En retravaillant cette fonction de transfert, on obtient :


#
" N 1
N
1
N
1
X
X
X
n.k
1
jk
2j
n
e

N
H(e
)e
H(z)
=
h(n)z
=
z n
N
n=0
n=0
k=0
"N 1
#
N
1
X
X
n.k
1
jke )

H(e
H(z)
=
e2j N z n
N

H(z)
=

H(z)
=

1
N

k=0
N
1
X
k=0

(9.42)
(9.43)

n=0

N.k

2j N N
z
jke ) 1 e
H(e
k
2j N
z 1
1e

N 1
1 z N X jke
1
H(e
)
k
N
1 e2j N z 1

(9.44)
(9.45)

k=0

La fonction de transfert du filtre H(z)


peut donc tre galement exprime comme une mise en
parallle de N filtres RII du premier ordre complexe. Cette dcomposition permet dobtenir
directement les coefficients de cette structure du filtre partir de la rponse frquentielle
recherche.
Exemple 9.4.1 : Synthse dun filtre passe-bas
Soit un filtre passe bas idal dfini par :

1 pour || < c = 4
j
N
H(e ) =
0 pour 4
N || <
jke ).
1. Tracer le filtre idal entre [0, 2]. Tracer ensuite le filtre chantillonn H(e

2. Calculer h(n)
par TFD inverse.

3. Calculer deux versions de H(z).

Chapitre 10

Analyse spectrale de signaux


numriques
10.1

Introduction

Une des applications majeures utilisant la transforme de Fourier Discrte (TFD) en TNS
est lanalyse du contenu frquentiel (spectre) de signaux continus. Le principe de lanalyse de
Fourier numrique dun signal analogique dterministe est reprsent la figure 10.1. La numrisation du signal continu xc (t) est effectue de manire classique par un filtre anti-repliement
suivi dun convertisseur analogique-numrique. Le signal discret x(n) est ensuite multipli par
une fonction w(n) nomme fentre temporelle sur N points. Ce fentrage est une consquence
de la contrainte de dure finie impose par la TFD qui ne peut seffectuer sur un nombre infini
dchantillons. Le signal rsultant xN (n), dont on pourra ensuite analyser le spectre par TFD
(ou par TFR) puis par un calcul du module et ventuellement de la phase, est donc reprsentatif dune observation limite du signal dentre sur un horizon dobservation T0 = N.T . Leffet
de cette troncature temporelle, indispensable au calcul numrique de lanalyse spectrale, va
tre tudi dans les sections suivantes.

Fig. 10.1: Principe de lanalyse de Fourier numrique dun signal analogique dterministe

10.2

Troncature dun signal discrtis

10.2.1

Opration dans le domaine temporel

Soit N le nombre dchantillons manipulables par le calculateur numrique utilis, le signal


tronqu xN (n) est le rsultat de la multiplication du signal discret x(n) de dure infinie par
une fentre w(n) de dure T0 = N T , appele fentre dobservation.
125

126

Analyse spectrale de signaux numriques

La version tronque du signal discrtis scrit donc finalement :


xN (n) = x(n) w(n)

(10.1)

La fentre la plus intuitive est une fentre sans pondration, cest dire une fentre rectangulaire note wr (n) dfinie par :

1 si 0 n N 1
wr (n) =
(10.2)
0 ailleurs
La version tronque du signal discrtis scrit donc finalement dans le cas de la fentre rectangulaire :
N
1
X
xN (n) = x(n) wr (n) =
x(k) (n k)
(10.3)
k=0

10.2.2

Consquences dans le domaine frquentiel

La TF de (10.1) donne
XN (ej ) = X(ej ) W (ej )
Z
1
=
X(ej ).W (ej() ) d
2

(10.4)

o W (ej ) est la reprsentation de la fentre dans le domaine frquentiel.


Dans le cas de la fentre rectangulaire, on a :
W (ej ) = Wr (ej ) = ej

N 1
2

sin(N /2)
sin(/2)

(10.5)

Une reprsentation de la fentre wr (n) ainsi que du module de sa TF est donne la figure
10.2.
Exemple 10.2.1 : Calculer la TF Wr (ej ) de la fentre rectangulaire wr (n) et
dmontrez quelle scrit comme dans lquation 10.5.
Les consquences obtenues dans le domaine frquentiel sont issues de la convolution spectrale
illustre par lquation 10.4. On obtient donc :
un lissage de le reprsentation spectrale qui implique une perte de finesse de lanalyse en
frquence et un masquage des raies trop proches en frquence,
des ondulations dans la rponse frquentielle dues aux effets des lobes secondaires de W (ej ),
entranant du bruit et du masquage en amplitude.

10.3

Analyse spectrale par TFD

La troncature du signal sur N points nest pas le seul effet dapproximation obtenu lors de
lanalyse spectrale. En effet, lquation 10.4 de convolution spectrale est une fonction de la
variable continue . Ce calcul nest donc pas ralisable sur un processeur numrique et doit
donc tre approxim par la transforme de Fourier discrte (TFD, voir chapitre 4).

10.3 Analyse spectrale par TFD

127
fentre rectangulaire

1
0.8

wr[n]

0.6
0.4
0.2
0

10

15
n

20

25

30

|Wr(e(j.2.pi.f))|
1

Amplitude

0.8
0.6
0.4
0.2
0
0.5

0.4

0.3

0.2

0.1

0
f

0.1

0.2

0.3

0.4

0.5

Fig. 10.2: Fentre rectangulaire de N = 31 points et le module de sa transforme de Fourier.


La dernire tape de lanalyse spectrale est donc le calcul de le TFD du signal fentr xN (n).
On obtient alors :
XN (k) =

L1
X

xN (n)ej

2kn
N

k = 0, 1, . . . , L 1,

(10.6)

n=0

o la longueur de la fentre N est infrieure ou gale la longueur de la TFD L. On prendra


le plus souvent L = N , sauf dans le cas du zero-padding (voir section 10.4).
Comme illustre dans le chapitre 4, la relation entre la TF XN (ej ) de xN (n) (quation 10.4)
et XN (k) scrit :

(10.7)
XN (k) = XN (ej )=2k/L
Lespace entre deux points frquentiels de lanalyse est donc de 2/L et la relation entre les
points dindice k de la TFD et les frquences continues fk est donne par :
k =

2k
k
fk =
L
LT

Exemple 10.3.1 : Dterminez lexpression de la TFD, calcule avec une fentre


rectangulaire (N = 8) du signal x(n) = 2cos2fo n avec fo = 0, 2. Calculez la valeur
numrique des X(k) et dessinez la main ce rsultat.

(10.8)

128

Analyse spectrale de signaux numriques


(a) : Fonction cos(2pi fo n) chantillonne tronque sur N=32 points
1

x (n)

0.5
0

0.5
1

10

15
20
(b) : XN(ej2pif)=TF{xN(n(}

25

30

35

20
15
10
5
0
0.5

0.4

0.3

0.2

0.1
0
0.1
(c) : XN(k)=TFD{xN(n)}

0.2

0.3

0.4

0.5

0.4

0.3

0.2

0.1

0.2

0.3

0.4

0.5

15
10
5
0
0.5

0.1

Fig. 10.3: Analyse de Fourier et TFD dun signal sinusodal discret

La figure 10.3 illustre lanalyse spectrale par TFD sur un signal sinusodal discret. Le signal
x(t) = cos(2f0 t) est chantillonn puis tronqu sur N = 32 points par une fentre rectangulaire (voir figure 10.3(a)). La figure 10.3(b) reprsente la TF XN (ej ) de xN (n) et illustre
le problme de la troncature temporelle prsent dans la section prcdente. En effet, la TF
dun cosinus tant compose de deux impulsions de Dirac situe en f0 et f0 , alors la TF du
signal fentr est compose de la somme des TF de la fentre dcales en f0 et f0 (ce que
vous devez avoir trouv si vous avez rsolu lexemple page 127).
La figure 10.3(c) reprsente le rsultat du calcul de la TFD sur L = 32 points du signal
xN (n) et souligne donc lerreur due lchantillonnage en frquence effectu lors de la TFD.
La TFD XN (k) est une version chantillonne de XN (ej ), dans laquelle lespace entre deux
points successifs reprsente F e/L (ici F e/32). Une erreur visible ici est donc que plusieurs
raies spectrales peuvent tre distingues aprs TFD, pour uniquement deux raies effectives
dans le spectre thorique de x(t) = cos(2f0 t).

10.4

Zro-Padding

Faire du zro-padding consiste augmenter artificiellement le nombre dchantillons en ajoutant des zros :
{ x(0) , x(1) , . . . , x(N 1) , 0 , 0 , . . . , 0 }
(10.9)
jusqu obtenir un nouveau nombre dchantillons gal L. Ainsi, si lon calcule maintenant la
TFD sur ces donnes, cela entrane que les X(k) seront calculs en L frquences : fk = k/L ;
elles seront toujours situes dans [0 ; 1[, mais comme elles sont plus nombreuses, elles seront

10.5 Paramtres dune analyse spectrale

129

plus rapproches. Cela aura pour vertu de rvler plus de dtails invisibles sinon.
La figure 10.4 illustre par exemple quatre analyses de Fourier faites sur une fentre carre de
taille initiale : N = 8 points. Ces quatre analyses seront effectues successivement laide de
N points, 2N points (donc les N chantillons de la fentre auxquels on ajoute N zros), 4N
points (donc il y a 3N zros) et enfin 8N points.
wr[n] (N=8 points)
1
0.5
0

10
5
0
0.5
10

0.4

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5

0.4

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5

0.4

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5

0.4

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5

5
0
0.5
10
5
0
0.5
10
5
0
0.5

Fig. 10.4: Effet du zro-padding sur lanalyse de Fourier dune fentre rectangulaire de N = 8
points.

10.5

Paramtres dune analyse spectrale

Deux paramtres peuvent tre affins pour amliorer lanalyse :


N , la longueur de lanalyse (ou T0 ),
le type de fentre wN (n) appliquer sur le signal.
Cette section illustre ce rsultat sur des signaux de type sinusodal.
Soit le signal discret constitu de trois raies
x(n) = cos 2f1 n + cos 2f2 n + 0, 25 cos 2f3 n
avec f1 = 0, 175, f2 = 0, 2 et f3 = 0, 4. Sa TF scrit immdiatement

1
X ej2f
=
[(f + 0, 175) + (f 0, 175) + (f + 0, 2) + (f 0, 2)
2
+0, 25 (f + 0, 4) + 0, 25 (f 0, 4)]

(10.10)

(10.11)

130

Analyse spectrale de signaux numriques

Le spectre XN ej2f de xN (n) utilisant une fentre rectangulaire est donc donn par

XN ej2f
=

1h
Wr (ej2(f +0,175) + Wr (ej2(f 0,175) + Wr (ej2(f +0,2) + Wr (ej2(f 0,2)
2
i
+0, 25 Wr (ej2(f +0,4) + 0, 25 Wr (ej2(f 0,4)

(10.12)

Ce rsultat est illustr la Figure 10.5. Il est donc clair que dune part la taille de la fentre
influe sur laptitude de lanalyse de Fourier sparer deux raies et que dautre part les lobes
secondaires influent ncessairement sur laptitude de lanalyse de Fourier dtecter des raies
de faible amplitude plus ou moins loignes dune de forte amplitude.
Spectre thorique
1

0.5

0
0.5
1.5

0.4

0.3

0.2

0.1Spectre pour
0
N=210.1

0.2

0.3

0.4

0.5

0.4

0.3

0.2

0.1Spectre pour
0
N=410.1

0.2

0.3

0.4

0.5

0.4

0.3

0.2

0.1
0 N=121
0.1
Spectre pour

0.2

0.3

0.4

0.5

0.4

0.3

0.2

0.1

0.2

0.3

0.4

0.5

1
0.5
0
0.5
1.5
1
0.5
0
0.5
1.5
1
0.5
0
0.5

0.1

Fig. 10.5: Spectre (thorique puis utilisant des fentres rectangulaires de diffrentes taille N )
de trois sinusodes
La relation (10.4) montre clairement que la qualit du rsultat de la TF, cest--dire ladquation avec le rsultat thorique que lon aurait sans troncature, dpend du type de fentre
utilis. La section 9.3.1 du chapitre 9 page 120 a rsum les principales des fentres utilises en
TNS ainsi que leurs caractristiques. Le tableau 10.1 rsume ces caractristiques. La figure 10.6
reprsente un exemple de TF dune fonction w(n) de fentrage et en dfinit ses paramtres :
largeur du lobe principal : m ,
(s )|
rapport damplitude entre lobe principal et lobe secondaire : = 20 log |W
|W (0)| , o s est
la frquence correspondant au maximum damplitude des lobes secondaires.

Dans une analyse spectrale, on dfinit deux type de rsolution : la rsolution en frquence et
la rsolution en amplitude.

10.5 Paramtres dune analyse spectrale


Type de fentre

Rectangulaire
Bartlett
Hanning
Hamming
Blackman

131

Rapport damplitude
entre lobe principal
et lobe secondaire

13dB
25dB
31dB
41dB
57dB

Largeur du lobe
principal m

4/N
8/N
8/N
8/N
12/N

Tab. 10.1: Caractristiques des principales fentres

Fig. 10.6: Paramtres dune fentre w(n)


Spectre thorique
1

0.5

0
0.1
1

0.12

0.14

0.16
0.18 N=128,
0.2fenetre 0.22
0.24
Spectre pour
rectangulaire

0.26

0.28

0.3

0.12

0.14

0.16
0.18 N=128,
0.2fenetre 0.22
0.24
Spectre pour
de Hamming

0.26

0.28

0.3

0.12

0.14

0.16
0.18 N=256,
0.2fenetre 0.22
0.24
Spectre pour
de Hamming

0.26

0.28

0.3

0.12

0.14

0.16

0.26

0.28

0.3

0.5

0
0.1
0.6
0.4
0.2
0
0.1
0.6
0.4
0.2
0
0.1

0.18

0.2

0.22

0.24

Fig. 10.7: Spectre (thorique puis utilisant des fentres rectangulaires et de Hamming de
diffrentes taille N ) de trois sinusodes

132

Analyse spectrale de signaux numriques

Rsolution en frquence : la finesse en frquence est la capacit de lanalyseur distinguer deux raies spectrales proches lune de lautre. Clairement, ce phnomne, connu
aussi sous le nom de masquage frquentiel, dpend de la largeur du lobe principal de la
rponse frquentielle WN (ej ) de la fentre (m du tableau 10.1). En effet, deux raies
proches dun espace < m se verront confondues aprs lanalyse par TFD. La figure 10.5
illustre ce phnomne puisque lanalyse pour N = 21 ne permet pas de distinguer les raies
en f = 0.2 et f = 0.175, tandis que des valeurs de N = 41 ou N = 121 le permettent.
On dfinit donc la rsolution en frquence comme : m .
Cette rsolution peut tre amliore en augmentant le nombre de points N de lanalyse et
dpend du type de fentre utilise.
Rsolution en amplitude : la finesse en amplitude est la capacit de lanalyseur distinguer des raies spectrales de faible amplitude ou distinguer une raie spectrale de faible
amplitude proche dune autre plus importante. Dans cas, ce sont les lobes secondaires de
de la rponse frquentielle WN (ej ) de la fentre qui viennent masquer une raie de faible
amplitude en ajoutant un bruit lanalyse. La figure 10.7 illustre ce phnomne puisque
lanalyse pour N = 128 par fentre rectangulaire ne permet pas de distinguer la raie en
f = 0.2 damplitude 0.25 parmi le bruit d aux lobes secondaires, tandis quune fentre de
Hamming et des valeurs de N = 128 ou N = 256 le permettent.
On dfinit donc la rsolution en frquence comme le rapport damplitude entre lobe principal
et lobe secondaire : .
Cette rsolution nest pas fonction du nombre de points N de lanalyse mais dpend fortement du type de fentre utilise.

10.6

Conclusion (mthodologie)

Lanalyse spectrale de signaux dterministes requiert donc trois tudes pralables importantes :
1. le signal x(t) X(f ) doit tre correctement chantillonn pour obtenir les chantillons
x(n) qui seront pris en compte par bloc (segment) de N chantillons ;
2. ces bloc seront conditionns par multiplication par une fentre, de taille N ,w(n),
choisir en fonction des performances attendues :
(a) la rsolution en amplitude souhaite choix du type de fentre,
(b) la rsolution en frquence souhaite m choix de N ;
3. finalement les blocs fentrs, xN (n) sont transforms dans le domaine spectral par TFD
(calcule par lalgorithme FFT). Le rsultat (les XN (k)) est une rplique correcte du
vrai spectre X(f ) si les erreurs suivantes sont suffisamment faibles :
(a) erreur de recouvrement de spectres (Aliasing error en anglais) (bien choisir la frquence dchantillonnage et utiliser un filtre passe-bas antirepliement) ;
(b) erreur due la longueur de la fentre (plus elle est longue et moins cette erreur
est importante, de plus le choix de la fentre permet de diminuer lerreur due aux
lobes secondaires) ;

10.6 Conclusion (mthodologie)

133

(c) erreur de reconstruction du spectre (il faut utiliser le zro-padding pour diminuer
cette erreur).
On peut donc finalement reprsenter facilement lanalyse de Fourier numrique dun signal
analogique dterministe comme indique la Figure 10.1.
Exemple 10.6.1 : Simulation avec Matlab Dans un script Matlab, rdigez un
programme qui permet de :
1. gnrer et afficher lcran N = 10 points dune sinusode x1 (t) = a cos 2f1 t
de f1 = 100Hz chantillone Fe = 1000Hz et damplitude a = 2 ;
(a) effectuer une analyse de Fourier lmentaire (sans zro-padding) de ce
signal et afficher le rsultat sur lintervalle principal de frquences normalises [1/2 ; +1/2[ ;
(b) refaire une analyse de Fourier de ce signal avec divers choix de zropadding ;
(c) explorer linfluence de divers types de fentrages effectus sur le signal ;
2. regnrer et afficher lcran le mme signal que prcdemment mais cette fois
avec N = 15 points ;
(a) refaire la mme tude que prcdemment ;
(b) ajouter une seconde sinusode et rendre compte de la pertinence de lanalyse effectue en fonction de lcart en frquence des deux composantes
lmentaire du signal.
(c) considrer deux sinusodes proches la limite de rsolution constate au
point prcdent et ajouter une troisime sinusodes faible et loigne des
prcdentes ; analysez alors linfluence de diffrentes fentres dans cette
situation (rsolution des deux sinusodes proches et dtection de la sinusode faible loigne).

134

Analyse spectrale de signaux numriques

Chapitre 11

Systmes multi-cadences
Les systmes de TNS utiliss jusqualors ne considrent quune seule frquence dchantillonnage F e. Les systmes multi-cadences changent la frquence dchantillonnage au cours de la
chane de traitement afin quelle soit la plus adapte aux traitements raliser. Par exemple,
il est ais de comprendre quaprs un filtrage slectif passe-bas il est possible de rduire la
frquence dchantillonnage une valeur quivalente deux fois la bande passante du filtre
passe-bas ralis, sans pour autant transgresser le thorme dchantillonnage de Shannon.
Cette rduction permet de diminuer la complexit du filtrage raliser.
Les principaux oprateurs utiliss en traitement du signal multi-cadences sont la dcimation
(rduction dun facteur M de la frquence dchantillonnage) et linterpolation (augmentation
dun facteur M de la frquence dchantillonnage) ou une combinaison des deux.

11.1

Rduction de la frquence dchantillonnage

La rduction de la frquence dchantillonnage, ou dcimation, ou encore sous-chantillonnage,


par un facteur M entier est une opration simple puisquil suffit de ne garder que 1 chantillon
sur M de la squence dorigine. Soit un signal continu xc (t) chantillonn la priode T
reprsent par la squence x(n) = xc (nT ), on posera donc le rsultat de la dcimation de x(n)
dun facteur M par la relation suivante :
xd (n) = x(nM )

(11.1)

La notation graphique utilise est M (voir figure 11.1). Si la frquence dchantillonnage en


entre du dcimateur est F e, alors celle de sortie vaudra F 0 e = F e/M . La priode dchantillonnage en sortie vaudra quant elle T 0 = M T .
Afin que lopration de dcimation seffectue sans recouvrement de spectre, il est ncessaire
que le spectre du signal xc (t) respecte le thorme de Shannon au regard de la frquence
F 0 e. Cela implique que si Xc (j), la TF de xc (n), est bande limite, i.e. Xc (j) = 0 pour
|| 0 , alors xd (n) est une reprsentation exacte de xc (t) si /T 0 = /(M T ) 0 ou encore
2F 0 e = 2F e/M 0 .
Dans le cas o le sous chantillonnage ne pourra seffectuer sans recouvrement de spectre, il
faudra alors en limiter la bande par un filtre passe-bas de frquence de coupure F 0 e/2.
135

136

Systmes multi-cadences

Fig. 11.1: Dcimation dun signal

Il est utile de chercher une relation entre le spectre de x(n) et celui de xd (n). On peut poser :
X(ej ) =

1 X
2k
Xc j

T
T
T

(11.2)

k=

De manire similaire :

1 X
2l
2l
1 X
Xc j
Xc j
Xd (e ) = 0

0
=
T
T0
T
MT
MT
MT
j

l=

(11.3)

l=

Afin de trouver la relation entre les quations 11.2 et 11.3 les indices des sommes peuvent tre
exprims par l = i + kM o 0 i M 1 et lquation 11.3 peut tre rcrite de la manire
suivante :
"

#
M
1

X
X
1

2i
2k
1
Xc j

(11.4)
Xd (ej ) =
M
T
MT
T
i=0

k=

On obtient alors la relation


M 1
1 X
Xd (e ) =
X(ej(/M 2i/M ) )
M
j

(11.5)

i=0

Le dcimation est illustre la figure 11.2. Lquation 11.5 montre que le spectre Xd (ej )
est compos de M copies de X(ej ) mises lchelle par un facteur 1/M et dcales par des
entiers multiples de 2.
Par consquent, un dcimateur sera en pratique compos filtre passe-bas idal de frquence
de coupure Fc = 1/2T 0 = 1/2T M suivi dun oprateur de dcimation M comme reprsent
la figure 11.3.

11.2

Augmentation de la frquence dchantillonnage

Laugmentation de la frquence dchantillonnage, ou interpolation, ou encore sur-chantillonnage,


par un facteur L entier est une opration consistant augmenter le nombre dchantillons de
la squence dorigine dun facteur L. Soit un signal continu xc (t) chantillonn la priode T
reprsent par la squence
x(n) = xc (nT ),
(11.6)

11.2 Augmentation de la frquence dchantillonnage

137

Fig. 11.2: Reprsentation dun signal continu xc (t) et de son chantillonnage 2 frquences
diffrentes et de leurs spectres respectifs

Fig. 11.3: Dcimateur : filtrage passe-bas suivi dune dcimation

138

Systmes multi-cadences

on posera donc le rsultat de linterpolation de x(n) dun facteur L par la relation suivante :
xi (n) = xc (nT 0 ) = xc (nT /L),

(11.7)

avec T 0 = T /L la priode dchantillonnage en sortie de linterpolation ou F 0 e = F e.L la


frquence dchantillonnage en sortie de linterpolation.
partir des quations 11.6 et 11.7, on peut dduire que :
xi (n) = xc (nT /L) = x(n/L),

11.2.1

n = 0, L, 2L, . . .

(11.8)

lvateur de frquence dchantillonnage

On dfinit par lvateur de frquence, le systme dcrit la figure 11.4 consistant en lajout
de L 1 zros entre deux chantillons successifs de la squence dentr x(n) dfini par :

x(n/L),
n = 0, L, 2L, . . .
xe (n) =
(11.9)
0,
ailleurs
ou de manire quivalente :
xe (n) =

x(k) (n kL)

(11.10)

k=

La notation graphique utilise est L (voir figure 11.4). Si la frquence dchantillonnage en


entre de l lvateur de frquence est F e, alors celle de sortie vaudra F 0 e = F e.L. La priode
dchantillonnage en sortie vaudra quant elle T 0 = T /L.

Fig. 11.4: lvateur de frquence dun facteur L : ajout de L 1 zros entre deux chantillons
Lopration L peut tre tudie dans le domaine frquentiel afin de comprendre sont utilit
dans le cadre de linterpolation. La TF de xe (n) sexprime :
0

Xe (ejT ) =

xe (nT 0 )ejnT

n=

n=0,L,2L,...

nT
L

(11.11)

ejnT

(11.12)

En posant n = kL, on obtient :


0

Xe (ejT ) =
=

X
k=

x(kT )ejkLT
x(kT )ejkT

k=
jT

= X(e

(11.13)
(11.14)
(11.15)

11.2 Augmentation de la frquence dchantillonnage

139

Lajout de zros na donc aucun effet sur le spectre, si ce nest lcartement de lintervalle de
priodisation dun facteur L. Ceci est illustr la figure 11.5. On saperoit alors quun filtrage
passe-bas idal de gain L et de frquence de coupure F c = 1/2T permet de retrouver la forme
du spectre correspondant xc (t) chantillonn T 0 .

Fig. 11.5: Influence sur le spectre dun signal interpol par des zros

11.2.2

Interpolation

Un interpolateur (voir figure 11.6) sera donc dfini comme la succession dun lvateur de frquence L, suivi dun filtrage passe-bas idal de gain L et de frquence de coupure F c = 1/2T
(ou c = /L).

Fig. 11.6: Principe de linterpolation dun signal


Dautres systmes dinterpolation sont connus (interpolation linaire ou par TFD) mais ne
seront pas dtaills ici.

11.2.3

Multiplication de la frquence dchantillonnage par un facteur rationnel

La figure 11.7 reprsente un schma permettant de multiplier la frquence dchantillonnage


dun systme par un facteur rationnel R = L/M . On aura alors F 0 e = R.F e = L.F e/M ou
encore T 0 = T /R = T.M/L. Pour cela, il suffit deffectuer tout dabord une interpolation
par un facteur L, puis une dcimation par un facteur M . Les deux filtres prsents dans
la dcimation (voir figure 11.3) et dans linterpolation (voir figure 11.6) peuvent alors runis
dans un seul et mme filtre dont la frquence de coupure Fc dpendra des valeurs relatives de
L et M selon :
1
soit R > 1 M < L F 0 e > F e

Fc = 2T
,
1
0
soit R < 1 M > L F e < F e

Fc = 2T 0 .
On peut galement crire :

1
1
Fc = min
,
(11.16)
2T 2T 0

140

Systmes multi-cadences

ou encore


,
(11.17)
L M
car le filtre passe-bas travaille une frquence dchantillonnage L.F e (ou encore M.F 0 e).
c = min

Fig. 11.7: Multiplication de la frquence dchantillonnage par un facteur rationnel R = L/M

Chapitre 12

Travaux Dirigs en Traitement


Numrique du Signal
12.1
12.1.1

Echantillonnage
Chane de TNS

On sintresse une chane de TNS du type de la figure 12.1

x(t)

x*(t)

CAN

x(n)

Filtre

y(n)

CNAbloqueur

y*(t)

Te
Fig. 12.1: Chane de TNS
Le signal x(t) = A.eat .sin(0 .t).u(t) correspondant une rponse transitoire dun systme
oscillant amorti est chantillonn une priode Te qui permette de limiter le recouvrement
spectral.
1. Calculer la TF X(f) de ce signal.
2. Tracer le module du spectre |X(f )| de ce signal, et prcisez le lieu du maximum Fmax ,
ainsi que sa valeur (A.N. 0 = 24rad/s; a = 7; A = 20).
3. Ce spectre prsente un support de dure infinie ( dmontrer). Calculer et dessiner le
spectre de x (t) pour une priode Te quelconque.
4. Pour limiter leffet de recouvrement spectral, on choisit de considrer la partie utile de
x(t) sur un support born. Ainsi, toute composante spectrale dont lamplitude ne dpasse
pas 1% de lamplitude maximale Fmax du spectre sera considre comme ngligeable.
Calculer la frquence FM au del de laquelle lamplitude des raies devient ngligeable.
5. Calculer Fe telle que le recouvrement nentrane une erreur sur le spectre initial ne
dpassant pas 1% de lamplitude du spectre en FM .
6. Existe-t-il dautres solutions qui permettent de limiter le recouvrement spectral.
141

142

12.1.2

Travaux Dirigs en Traitement Numrique du Signal

chantillonnage dun signal

1. Soit le signal x(t) = eat .u(t), calculez et dessinez sa transforme de Fourier X(). On
donnera les valeurs du modules en = 0, a, 10a.
2. Calculez lnergie du signal x(t).
3. On chantillonne x(t) une priode T . Calculez la transforme de Fourier Xe () du
signal chantillonn xe (nT ).
4. Dessinez approximativement le module du spectre lorsque T = /10a. Expliquez quels
problmes peuvent survenir lors de lchantillonnage du signal x(t).
5. Donner lexpression de lnergie en fonction de la bande de frquence [B, . . . + B]
considre. On rappelle que la primitive de 1/(1 + x2 ) est arctg(x). Trouver B donnant
90% de lnergie totale du signal. Proposez, partir de ces rsultats, une solution pour
limiter leffet de lchantillonnage en considrant quune bande de frquence reprsentant
90% de lnergie du signal suffit caractriser le signal.

12.2 Analyse des filtres numriques

12.2
12.2.1

143

Analyse des filtres numriques


Cellule lmentaire du premier ordre RII

Soit le systme qui, la suite de donnes x(n), fait correspondre la suite y(n) telle que :
y(n) = x(n) + b.y(n 1)
o b est une constante.
1. Donner les rponses impulsionnelles et indicielles de ce systme. par deux mthodes
(suite numrique, transforme en Z). Que peut on dire de la stabilit du filtre.
2. tudier lanalogie avec le systme continu de constante de temps t, chantillonn avec
la priode T .
3. tudier la rponse frquentielle du filtre.
4. Donner la structure de ralisation du filtre.

12.2.2

Cellule du second ordre RII purement rcursive

Soit le systme qui, la suite de donnes x(n), fait correspondre la suite y(n) telle que :
y(n) = x(n) b1 .y(n 1) b2 .y(n 2)
1. Donner la fonction de transfert en Z du systme.
2. En dduire la rponse impulsionnelle du filtre numrique.
3. tudier la rponse frquentielle du filtre. On regardera plus particulirement linfluence
des coefficients b1 et b2 sur les ples de la fonction de transfert H(z).
4. Tracer le diagramme des ples et zros.
5. Donner les structures de ralisation.

12.2.3

Analyse dun filtre numrique RIF

Soit un filtre rponse impulsionnelle finie dont le schma de fonctionnement dans le domaine
temporel est donn figure 12.2.
On pose Te la priode dchantillonnage du systme numrique, Te = 1.
12.2.3.1

Etude de la rponse frquentielle

1. Donner les expressions de lquation aux diffrences finies ainsi que la fonction de transfert en Z.
2. Dterminer et tracer la rponse impulsionnelle h(n) du filtre, lorsque h1 = h5 = 0.1,
h2 = h4 = 0.3, h3 = 0.5.
3. Calculer la rponse frquentielle H(ej ) du filtre. Dterminer son module et sa phase.
On note que :
(1 +2 )
2 1
cos(
ej1 + ej2 = 2 ej 2
)
2
4. Donner les valeurs du module en = 0, /2, , , 2.
5. Tracer approximativement son module. De quel type de filtre sagit-il ?

144

Travaux Dirigs en Traitement Numrique du Signal


x

y
T

h1

h2

h3

h4

T
h5

Fig. 12.2: Filtre FIR

12.2.3.2

Complexit de limplantation du filtre sur un DSP

On suppose que lon dispose dun calculateur de type DSP (spcialis dans le traitement du
signal) o lopration de base est du type y = a x + b. Ce type de calculateur est capable
de mener en un cycle dhorloge une accumulation, ou une multiplication/addition.
1. Quelle est la complexit du filtre tel que ralis figure 12.2 en nombre de multiplications
et dadditions. Quel est le nombre de mots mmoires ncessaires lexcution du calcul.
(on considrera une complexit pour N points du signal dentre traits).
2. On dispose dun machine ralisant multiplication et addition en parallle en un cycle de
100ns. Quelle est dans ce cas la frquence dchantillonnage maximale du signal ?
3. Donner un schma de principe de ralisation du filtre dans le domaine frquentiel. Quelle
est la complexit algorithmique de cette nouvelle solution (oprations et mots mmoire) ?
Comparer les deux approches, la mthode frquentielle est-elle exacte ?
12.2.3.3

Implantation du filtre en virgule fixe cadre gauche

Les donnes dentre et de sortie sont codes sur b bits utiles en complment deux. La dynamique des nombres est [1, 1]. La machine de traitement possde uniquement des oprateurs
travaillant sur b bits. Les calculs se font par arrondi.
1. Rappeler brivement le modle de quantification dun signal numrique. Quelles sont
dans le cas du filtre les sources de bruits.
2. On nglige le bruit engendr par le signal en entre du filtre. Donner la puissance de
bruit s2 en sortie du filtre.
3. On tient compte maintenant du fait que le signal dentre est bruit par lopration de
quantification (on note la puissance de ce bruit e2 ). Quelle est maintenant la puissance
du bruit en sortie ? Que conclure ?
4. Le signal dentre est une signal sinusodal de 1V crte. Quel est la puissance de ce
signal ? Dterminer le rapport signal bruit en entre et en sortie du filtre.
5. Quel serait le nombre de bits pour obtenir un RSB en sortie suprieure 40dB ?

12.2 Analyse des filtres numriques

145

6. Proposer une solution pour viter les dbordements lors du filtrage ?


On rappelle que le rapport signal bruit est donn par la relation :
RSB =

P uissance du signal
2
= x2
P uissance du bruit
b

RSBdB = 10log

12.2.4

x2
b2

Filtrage numrique RIF (1)

Soit le filtre numrique suivant : H(z) = 0, 1.(z 1 + z 3 ) + 0, 2.z 2


On posera Te , priode dchantillonnage, gal 1s.
1. Donnez et tracez sa rponse impulsionnelle h(n). Quelles sont ses caractristiques.
2. Calculez la rponse frquentielle du systme. Tracez son module et sa phase. On montrera
que la phase du filtre est linaire. Donnez la frquence de coupure -3dB.
3. Quel type de filtre est ralis ?
4. Donnez lexpression de la sortie y(n) du filtre en fonction de lentre x(n). Calculez et
dessinez le signal de sortie du filtre y(n) pour n = 0 . . . 7 lorsque lentre est :

x(n) =

12.2.5

1
0

n=0, 1
ailleurs

Filtrage numrique RIF (2)

Soit le filtre de rponse impulsionnelle suivante :


h(n) = a0 (n) + a1 (n 1) + a2 (n 2) + a1 (n 3) + a0 (n 4)
1. Donner lexpression de lquation aux diffrences finies de ces filtres et de sa fonction de
transfert en Z
2. En dduire la rponse frquentielle H(ej ), puis lexpression de son module et de sa
phase.
3. Calculer les valeurs du module pour = 0, , 2, 2
4. Dterminer o se trouve le minimum et le maximum de ce module. En dduire quel type
de filtre peut tre ralis par h(n).
5. Trouver les valeurs des coefficients ai tels que |H(ej )| soit gal 1, 0.5, 0 en, respectivement, = 0, 2 , , avec ai 0 i
6. Chercher Fc la frquence de coupure 3dB du filtre si la frquence dchantillonnage
Fe = 40kHz

12.2.6

Filtrage numrique RIF cascade

Soit les filtres du second ordre suivant :


H i (z) = bi0 + bi1 z 1 + bi2 z 2 ,

i = 02

146

Travaux Dirigs en Traitement Numrique du Signal

12.2.6.1

tude des fonctions de transfert

1. Donner lexpression de lquation aux diffrences finies de ces filtres


2. Donner une structure de ralisation de ces filtres
3. Donner le synoptique dune mise sous forme parallle de ces filtres que lon notera M (z)
4. Donner le synoptique dune mise sous une forme cascade de ces filtres que lon notera
N (z)
5. En dduire les fonctions de transfert M (z), N (z) en fonction des bij
12.2.6.2

tude de la complexit dune implantation cascade

1. Quelle est la complexit du filtrage type N (z) en nombre de multiplications et dadditions ?


2. On considre une signal audio de qualit HiFi en entre du filtre (Fe = 44.1kHz), quel
doit tre le temps de cycle et la capacit mmoire dune machine ralisant multiplication
et addition en parallle ?
12.2.6.3

Etude des bruits de calcul

Les donnes de lentre et de la sortie sont codes sur des mots de b bits utiles en complment
2. La dynamique des nombres est [1, 1]. La machine de traitement possde uniquement des
oprateurs travaillant sur b bits.
1. Exprimer le bruit en sortie dun filtre H i (z) en fonction du bruit en entre dans les cas
o :
(a) linfluence des coefficients multiplicatifs est ngligeable
(b) les coefficients multiplicatifs influent sur le puissance du bruit
2. En dduire le bruit en sortie du filtre N (z) en considrant que le bruit en entre du filtre
provient de la conversion analogique numrique. Lordre de la mise en cascade a-t-elle
une influence ?
3. Quelle est la valeur maximale du signal dentre dun filtre H i (z) pour quil ny ait pas
de dbordement de calcul ? Exprimer ce rsultat en fonction des bij
4. En dduire la valeur maximale du signal dentre du filtre N (z) pour viter tout dbordement.
12.2.6.4

Application numrique

Les coefficients sont les suivants pour les trois filtres lmentaires :
bi0 = 0.5,

bi1 = 0.75,

bi2 = 0.5,

i = 02

1. Donner la rponse impulsionnelle puis frquentielle des filtres H i (z), puis du filtre N (z)
2. Donner le bruit en sortie du filtre N (z), puis sa dynamique maximale en entre. Expliquer
comment empcher les dbordements.

12.2 Analyse des filtres numriques

12.2.7

147

tude des bruits de calcul dans les filtres numriques RII

On sintresse lestimation du bruit de calcul dun filtre RII, pour un traitement en nombre
rel, en virgule fixe cadre gauche.
12.2.7.1

Cellule du second ordre

Les calculs dune cellule du second ordre dun filtre RII sont donns par lquation ci-dessous
o les ai et bi sont des constantes, que lon supposera non entaches de bruit, et de module
1. La fonction de transfert H(z) est donne ci-dessous. On prendra N = M = 2.
PM
M
N
i
X
X
N (z)
i=0 bi .z

y(n)
=
b
.x(n

i)

ai .y(n i)
H(z) =
=
P
i
i
D(z)
1+ N
a
.z
i
i=1
i=0
i=1
Le signal acquit est entach dun bruit e2 , chaque rsultat y(n) est entach dun bruit n2 .
1. Rappeler la modlisation dun bruit darrondi en virgule fixe cadre gauche cod sur b
bits.
2. Donner la structure directe de ralisation, puis reprsenter, pour le codage considr, les
bruits darrondis gnrs par les oprations. Le format de codage est constant tout au
long des calculs et est celui du 1.
3. Donner la puissance totale du bruit dans le filtre. Cela reprsente-t-il la puissance en
sortie du filtre ? Expliquer.
1
4. Reprsenter le filtre sous la forme directe en crivant H(z) = N (z). D(z)
(voir cours). En
dduire le bruit en sortie du filtre en utilisant la formule de filtrage dun bruit donn en
cours.
1
.N (z)
5. Reprsenter le filtre sous la forme canonique, cest dire en crivant H(z) = D(z)
(voir cours). En dduire le bruit en sortie du filtre.
6. Refaire les questions prcdentes pour la structure directe dun filtre RII du 4o ordre.
12.2.7.2

Cellule du quatrime ordre sous forme cascade

On sintresse maintenant au calcul dun filtre du 4o ordre. Celui-ci est mis en uvre par deux
cellules du second ordre, cascades.
1. Reprsentez le graphe flot de calculs de ce filtre. On fera apparatre les coefficients de la
premire cellule a1,i et b1,j , et les coefficients de la seconde cellule a2,i et b2,j .
2. Les bruits dans calcul de la premire cellule sont tudis comme la section prcdente.
tudiez les bruits de calcul dans la seconde cellule, et en dduire la puissance du bruit
dans la seconde cellule.
3. Dduire des questions prcdentes la formule gnrale des bruits dans les filtre RII sous
forme transverse et cascade. Que peut on conclure ?
12.2.7.3

Dynamique dun filtre du septime ordre

On sintresse au codage des donnes pour les calculs dune filtre rponse impulsionnelle
infinie.
7
7
X
X
y(n) =
bi .x(n i)
ai .y(n i)
i=0

i=1

148

Travaux Dirigs en Traitement Numrique du Signal

Les diffrentesP
variables sont bornes en module. On a |ai | < a et |bj | < b tout i et tout j, et
P
7
7
i=0 bi < B,
i=1 ai < A et |x(n i)| < X.
On cherchera dterminer la dynamique du rsultat du calcul dans le cas transverse.
1. Montrez que |yp | < B.X.(1 + )p lorsque p est infrieur ou gal 7. On donnera les
majorants de |y0 | |y4 |. On rappelle que x(i) = 0 pour i < 0.
2. On suppose que pour p >> 7, |yp | < Y , dterminez la dynamique maximale des x(n i),
X, en fonction de A, B et Y pour assurer la convergence de dynamique des |yp |.
3. On code les coefficients ai , bj et les chantillons du signal x(ni) sur 10 bits. Dterminez
le format du codage des ai , bj et x(n i), en virgule fixe, pour que le rsultat yn soit
cod en virgule fixe cadre gauche. On considrera que Y est la majorant de |y7 |. On
donne A = 5. et B = 6..
4. Formulation cascade du filtre. Le mme filtre que prcdemment peut se calculer sous
une forme cascade, cest dire partir des rsultats cumuls de quatre filtres du second
ordre (chaque filtre duPsecond ordre est nomm
:
P2 cellule)
2
c
c
c
c
c
pour c = 1 4 : yn = i=0 bi .x (n i) i=1 ai .y (n i)
et le rsultat dune cellule est lentre de la cellule suivante : xcn = ync1
les entres de la premire cellule sont les chantillons du signal avec |xn | < X
la sortie du filtre yn est le rsultat de la dernire cellule : yn = yn4
P
P
Pour chaque cellule, on a : |aci | < c , |bci | < c , 2i=1 |aci | < A, 2i=0 |bci | < B, avec
A = 2., B = 2.. Pour la premire cellule, les entres sont bornes en module, et la
borne X est connue. Montrez que |yp | < A.X.(1 + )p lorsque p est infrieur ou gal
2. On donnera les majorants de |y01 | |y21 |. On rappelle que x(i) = 0 pour i < 0.
5. Pour la premire cellule, on suppose que pour n >> 2, |yn1 | < Y 1 , dterminez la dynamique maximale des x(n i), X, en fonction de A, B et Y 1 pour assurer la convergence
de dynamique des |yn1 |.
6. On code les coefficients des cellules et les chantillons du signal x(n i) sur 10 bits.
Dterminez le format du codage des a1i , b1j et x(n i), en virgule fixe, pour que le
rsultat soit cod en virgule fixe cadre gauche. On considrera que Y 1 est la majorant
de |yn1 |.
7. Y 1 est maintenant le majorant des entres de la seconde cellule. Exprimez, suivant une
dmarche similaire la prcdente, le majorant des sorties de la second cellule Y 2 .
8. Exprimer le majorant Y des sorties du filtre (obtenu la sortie de la quatrime cellule).
9. Comparez aux rsultats du 2.

12.3 Synthse des filtres RII

12.3
12.3.1
12.3.1.1

149

Synthse des filtres RII


Filtre passe bas du deuxime ordre
tude par le gabarit

On dsire raliser un filtre numrique H(z), quivalent un filtre analogique passe-bas de


fp
fa
1
2
Chebyshev respectant le gabarit suivant :
1 kHz 3 kHz -3 dB -20 dB
Aprs avoir dessin le gabarit analogique quivalent, et dduit lordre du filtre, donnez la
fonction de transfert obtenue par la transformation bilinaire. On posera fe = 10kHz.
Dmontrer que
0.079(z + 1)2
H(z) = 2
z + 1.2z + 0.516

On rappelle que la transformation bilinaire est obtenue par


p = f (z) = 2.F e

12.3.1.2

1 z 1
1 + z 1

tude directe

On dsire raliser un filtre numrique H(z) quivalent un filtre analogique de Chebyshev


passe-bas H(j) du deuxime ordre qui prsente une frquence de coupure Fc de 1 kHz.
La frquence dchantillonnage F e sera de 10 kHz. Les fonctions de transfert du filtre de
Chebyshev normalis puis dnormalis sont les suivantes :

HN orm (j) =
H(j) =

1
1 + j0.995 0.907 2
1
1 + j0.995 0.907 2

(12.1)
(12.2)

f0 = 5.2 kHz.
Les rponses frquentielles des gain, phase et temps de propagation de groupe sont donnes
par les quations suivantes :
h
i
|H()|2 = H(z)H(z 1)

z=ej

() = Arg (H(z))
() =

d()
d

Faire la synthse par la mthode bilinaire du filtre H(j) afin dobtenir H(z). On tudiera
linfluence de la distorsion en frquence implique par la mthode.

150

Travaux Dirigs en Traitement Numrique du Signal

12.3.2

Filtre passe haut

On dsire raliser un filtre RII dont la rponse en frquence idale est dfinie par le gabarit
frquentiel ci-dessous. La priode dchantillonnage T est fixe 10. s.
Attnuation de 3dB pour c = 0.4 rad.
Attnuation suprieure 20dB pour 0 0.1 rad.
Attnuation infrieure 1dB pour 0.5 rad rad.
1. Tracer le gabarit numrique du filtre en pulsation .
2. On dsire raliser le filtre numrique par la mthode de la transformation bilinaire en
ayant une rponse frquentielle monotone dans la bande passante.
(a) Quel type de filtre analogique doit on prendre ?
(b) Dessiner le gabarit analogique du filtre quivalent.
(c) A partir du gabarit prototype quivalent, dterminer lordre et donner la fonction
de transfert normalise HN (p).
(d) Donnez lexpression littrale (sans application numrique) du filtre analogique quivalent H(p) en se rappelant que le filtre numrique devra passer -3dB en c .
(e) Dterminer la fonction de transfert H(z) du filtre numrique. Mettre H(z) sous la
forme littrale suivant. Exprimer les coefficients ai et bi en fonction de c .
H(z) =

b0 + b1 .z 1 + b2 .z 2
1 + a1 .z 1 + a2 .z 2

(f) Donner la fonction de transfert H(z) sous forme numrique.


3. Donner lexpression de H(ej), puis calculer son module pour = 0, /2, . Dessiner
la rponse frquentielle globale du filtre numrique.
4. Donner lquation aux diffrences du filtre numrique puis sa structure canonique de
ralisation.
5. On dsire raliser ce mme filtre numrique par la mthode de linvariance impulsionnelle.
(a) A partir de lexpression littrale du filtre analogique quivalent H(p), donner la
rponse impulsionnelle h(t). On rappelle que :
p+a
ea.t cos(0 t)
(p + a)2 + 02
(b) Donner lexpression de la fonction de transfert en z H(z) du filtre.
(c) Que peut-on dire de la rponse frquentielle numrique par rapport au gabarit.

12.4
12.4.1

Synthse des filtres RIF


Mthode du fentrage (2 heures)

On considre un filtre numrique idal dfini par la rponse frquentielle suivante :

1 pour 0 || c
j
H(e ) =
0 pour c < || <

12.4 Synthse des filtres RIF

151

1. Dessiner la rponse en frquence (module et phase) sur lintervalle [2 . . . 2], prciser


le type de filtre obtenu.
2. Donner lexpression des coefficients h(n) de la rponse impulsionnelle du filtre. Calculer
h(n) pour n = [5, . . . , +5] pour le cas o c = /4. Dessiner la forme gnrale de
cette rponse. Le filtre est il causal ?
3. On recherche les relations entre cette rponse impulsionnelle et celles de filtres passehaut, passe-bande, rjecteur-de-bande. Montrer que :
pour les filtres passe-haut de frquence de coupure 0c = c les coefficients de la
rponse impulsionnelle sont : hP H (n) = (1)n h(n),
pour les filtres passe-bande de frquence de coupure basse 1 = 0 c et de frquence
de coupure haute 2 = 0 + c (0 frquence centrale), les coefficients de la rponse
impulsionnelle sont : hP B (n) = 2h(n)cos(n0 ),
pour les filtres rejecteur-de-bande de frquence de coupure basse 1 = 0 c et de
frquence de coupure haute 2 = 0 + c (0 frquence centrale), les coefficients de
la rponse impulsionnelle sont : hRB (0) = 1 hP B (0), hRB (n) = hP B (n).
4. Calculer les coefficients hP H (n), hP B (n), hRB (n) pour n = [5, . . . , +5], lorsque
c = /4 et 0 = /2. Dessiner les rponses correspondantes.
5. On sintresse au premier filtre h(n) que lon veut transformer en filtre causal phase
linaire ayant une rponse impulsionnelle limite 11 points sans pondration de la
rponse en ces points. Comment peut-on obtenir ce rsultat ?
6. En dduire lexpression de la fonction de transfert Ha (z), ainsi que Ha (ej ) dont on
calculera les coefficients an (a0 . . . a5 ) lorsque c = /4.
7. Quelle est la largeur de la zone de transition de Ha (ej ) et lamplitude maximale de
londulation dans la zone attnue.

12.4.2

Mthode de lchantillonnage frquentiel

On dsire raliser un filtre drivateur Rponse Impulsionnelle Finie ayant une caractristique
en phase linaire par la mthode de lchantillonnage frquentiel sur N points.
La rponse frquentielle entre et du filtre idal est donc dfinie par :

j c pour
c c
j
H(e ) =
0 pour c < et < c
On fixe c =

4
N

1. Dessiner le pseudo-module A() et la phase () de la rponse frquentielle pour 2


2.
2. Donner le type de rponse impulsionnelle issu de la classification vue en cours pouvant
raliser au mieux ce filtre RIF phase linaire.
3. On chantillonne le filtre idal e = c /2 pour 0 ke < 2.
Reprsenter la rponse frquentielle du filtre chantillonn Ha (ke ).
Exprimer la rponse impulsionnelle ha (n) en fonction de N .
Calculez et dessinez ha (n) pour le cas particulier o N = 7.
4. Donner lexpression de lquation aux diffrences du filtre. En dduire la fonction de
transfert Ha (z) du filtre obtenu.

152

Travaux Dirigs en Traitement Numrique du Signal

5. Donner un deuxime version de Ha (z) directement dduite de Ha (ke ) sous forme de


cellules du second ordre en parallle relles.
6. Montrer que les deux versions du 4. et du 5. sont quivalentes.
7. A votre avis quels sont les problmes sur la rponse frquentielle de ce filtre. Donner
une nouvelle version du filtre hb (n) dduite du filtre ha (n) dont le comportement en
frquence serait optimis.

12.5 Transforme de Fourier Discrte et Rapide (TFD et TFR)

12.5
12.5.1

153

Transforme de Fourier Discrte et Rapide (TFD et TFR)


TFD bidimensionnele

Soit une transforme de Fourier discrte dun signal bidimensionnel ; par exemple une image
de taille N N :
N
1 N
1
X
X
X(m, n) =
x(k, l) WNmk WNnl
k=0 l=0

avec :
WN = e

2j
N

Montrer que cette transforme peut sexprimer comme tant la succession dune TF 1D sur
les lignes de limage et une TF 1D sur les colonnes de limage.

12.5.2

Transforme de Fourier Glissante

On considre une squence temporelle x(k) que lon chantillonne continment dans le temps
une cadence fixe. On dsire obtenir en permanence le spectre de cette squence sur les N
derniers points chantillonns. A linstant i + N , le spectre est obtenu par :
Xi (n) =

i+N
X1

n(ki)

x(k).WN

, pour0 n N 1

k=i

1. Donner lexpression du spectre Xi+1 (n).


2. Comment peut on calculer ce spectre de manire rcurrente.
3. Comparer le nombre de calculs effectuer entre la solution prcdente et la solution
consistant calculer une TFD ou une TFR sur chaque squence.

12.5.3

Transforme de Fourier en Base 4

Dmontrer comment on peut obtenir une TFR base 4 partir dune TFD. Sous quelle condition sur N peut y arriver. On utilisera lexemple sur 16 points pour supporter la dmonstration.
On prcisera les calculs dun papillon.

12.5.4

Optimisation du calcul de la TFR dune suite de nombres rels

Soit une squence temporelle dchantillons rels u(k), 0 k 2N 1 dont nous cherchons
calculer le spectre en minimisant le nombre de calculs effectuer. Pour cela on forme une
squence temporelle complexe x(n) = xr (n) + j.xi (n) telle que :

xr (n) = u(k), k = 2n, partie relle de la squence x(n),


xi (n) = u(k), k = 2n + 1, partie imaginaire de la squence x(n),
X(p) = Xr (p) + j.Xi (p) est la TFD de x(n), U (p) = Ur (p) + j.Ui (p) est la TFD de u(k).

154

Travaux Dirigs en Traitement Numrique du Signal


0

0
pair

x r(n)

TFR

U(p)
X(p)

2N-1

u (k)
r

0
impair

x (n)
i

N points

X(p)
i

U(p)
i

2N-1

2N-1

Fig. 12.3: TFR dune suite de 2N nombres rels

1. Trouver U (p) et X(p) en fonction de xr (n) et xi (n). Dmontrer que :

X(p) = A + j.B
U (p) = A + B.e

jp
N

o A et B sont des nombres complexes. Exprimer X(N p) en fonction de A et B


afin den dduire les valeurs de A et B. Donner finalement les relations permettant de
retrouver U (p) partir de X(p) et X(N p).
2. valuer le gain en nombre de calculs ( et ) que lon obtient entre lapplication de la
mthode prcdente et lapplication directe de la TFR de u(k).

12.5.5

Optimisation du calcul de la TFR de deux suites de nombres rels

Soit deux squences temporelles relles u(k) et v(l) sur N points dont nous cherchons calculer
les TFR en minimisant le nombre de calculs effectuer. Pour cela on forme une squence
temporelle complexe x(i) telle que :

xr (i) = u(k), k = i, partie relle de la squence x(i),


xi (i) = v(l), l = i, partie imaginaire de la squence x(i),
x(i) = xr (i) + j.xi (i).
1. Donner les relations permettant de retrouver les TFD U (p) et V (q) de u(k) et v(l)
partir du spectre X(n) de x(i).
2. valuer le gain en nombre de calculs ( et ) que lon obtient entre lapplication de la
mthode prcdente et lapplication directe de la TFR de u(k) et de v(l).

12.5.6

Comparaison entre TFTD et TFD

Soit le signal :
x(n) = ea.n u(n)
avec u(n) lchelon unit, la priode dchantillonnage tant Te =

1
Fe .

12.5 Transforme de Fourier Discrte et Rapide (TFD et TFR)

155

U(n)
r
X(n)
r

TFR

X(k)
r

N-1

U(k)
r
0

U(k)
i

N-1 0

N-1

X(n)
i
V(n)
r

N points

X(k)
i

V(k)
r

V(k)
i

N-1

Fig. 12.4: TFR de 2 suites de N nombres rels

Dterminer la TFTD, Transforme de Fourier Temps Discret de x(n) que lon notera
XT F T D (f )
Dterminer la TFD, Transforme de Fourier Discrte de x(n) que lon notera XT F D (k)
Comparer les rsultats de la TFTD et de la TFD, do peut provenir lcart entre ces rsultats et valuer son comportement ? (on cherchera exprimer une relation entre XT F D (k)
et XT F T D (f ))

12.5.7

TFD par convolution

1. En utilisant la relation n.k = (n2 + k 2 (n k)2 )/2, montrez que lon peut exprimer
une TFD partir dun convolution.
2. Donner le schma de principe de la TFD par convolution. Quel avantage peut comporter
cette solution ?

12.5.8

Bruits dans la TFD

On rappelle lexpression de la transforme de Fourier Discrte X(k) dun signal x(n) que lon
supposera rel :
X(k) =

N
1
X

x(n) WNnk ,

0 k N 1,

WNnk = ej

2nk
N

n=0

1. valuer le nombre de multiplications et le nombre dadditions de la TFD.


2. Rappeler le modle statistique de quantification par arrondi dun signal sur b bits, on
prendra comme application numrique b = 8 (prciser lintervalle de variation de lerreur,
la densit de probabilit, moyenne et variance de ce bruit)
3. On suppose que le signal dentre est entch dun bruit de puissance e2 , valuer la
puissance de bruit s2 en sortie de la TFD en fonction de e2 et de b.
4. Dans quel rapport (exprim en linaire ou log) diminue-t-on la puissance de s2 lorsquon
multiplie le nombre de bits de reprsentation par 2.
5. Montrer que chaque sortie dune TFD, X(k), peut tre obtenue partir des entres x(n)

156

Travaux Dirigs en Traitement Numrique du Signal


par une relation de rcurrence du type suivant :
y(m) = Ak y(m 1) + Bm
y(0) = 0
X(k) = y(N )

6. Cette quation comporte-t-elle des avantages ?

12.5.9

tude des bruits de calcul dans la transforme de Fourier Rapide

On sintresse lestimation du bruit de calcul dune transforme de Fourier rapide, base


2 et entrelacement temporel (DIT). Les calculs de cette transformation numrique reposent
sur lenchanement de papillons, suivant la structure donne dans les documents.
Le papillon de la TFR est la structure de calcul qui se rpte. On tudiera donc les bruits
de calcul qui sy produisent. Pour cela on considre un modle de graphe o les donnes sont
complexes (figure 12.5 gauche), ou relles (figure 12.5 droite).
e11

e2
+

Re(Y)
Im(Y)

e14
Re(W)

e15

X
e12

Wi
e1

e3

Im(W)

e21
e22

e13
-

Re(X)

Im(X)

Re(Y)

+
e16
Re(X)
Im(X)

Im(Y)

e31

e32

Fig. 12.5: Modles de bruits de calcul dans un papillon

12.5.9.1

Calcul en virgule fixe cadre gauche [-1. . . +1] sur b bits

1. Prcisez le bruit de calcul additionnel la sortie de chaque opration. Calculez le bruit


de calcul s2 sur les donnes sortant du papillon, en fonction du bruit de calcul et du
bruit se sur les donnes complexes en entre du papillon. On demande de spcifier tous
les bruits de calcul en fonction de q, lchelon de quantification. Exprimez q en fonction
de b, le nombre de bits du format de codage.
2. Pour une transforme de Fourier sur N points, le nombre dtapes de calcul est log2 (N ).
Si les chantillons sont entachs dun bruit de conversion o2 , quel est le bruit n2 sur les
sorties de la TFR sur N points (on considre que N est une puissance de 2).
3. Les calculs sont oprs sur un processeur de traitement du signal qui permet de sauvegarder les rsultats des multiplications en double prcision, sur 2b bits. Les additions
peuvent tre opres sur 2b bits (double prcision), mais la mmorisation des donnes
calcules la sortie de chaque papillon nest faite que sur b bits (on considre que les
calculs intermdiaires du papillon peuvent tre mmoriss en double prcision). Un arrondi est donc effectu uniquement lors de la mmorisation des rsultats dun papillon.
Indiquez partir du graphe flot de calcul du 2. la valeur des diffrents bruits de calcul.
Calculez comme au 1. s2 en fonction de e2 , puis comme au 2. n2 en fonction de o2 .

12.5 Transforme de Fourier Discrte et Rapide (TFD et TFR)

157

4. Pour rsoudre des problmes de dynamique de calcul, une division par 2 des donnes
calcules la sortie des papillons est opre systmatiquement, soit globalement une
2 la valeur du bruit darrondi de la division, on admettra
division par N . On appellera div
quune division complexe entrane un bruit de puissance q 2 /4. Prciser sur le graphe flot
de calcul du papillon les sources de bruit (on ne considre plus la mmorisation des
rsultats intermdiaires en double prcision).
5. Indiquez pour les conditions prcdentes la valeur de s2 en fonction de e2 , puis de n2
en fonction de o2 .

12.5.10

Calculs de TFD

1. Donner la reprsentation matricielle de la TFD dun vecteur de N chantillons. Donner


en particulier la matrice de transformation de Fourier discrte lorsque N = 4. Simplifier
au maximum les lments de la matrice.
2. Soient les signaux x(n) et h(n) suivants :

h(n) =

(n+1)
10

si n = 0 3
sinon

0 si n = 4k
1 si n = 4k + 1, 4k + 3
x(n) =

2 si n = 4k + 2

x(n) est un signal priodique. Calculer X(k) et H(k) les TFD sur 4 points des signaux
x(n) et h(n). Tracer le module.
3. Comparer qualitativement H(k) et X(k) avec les transformes de Fourier des signaux
x(n) et h(n).
4. Exprimer y(n), rsultat du filtrage de x(n) par un filtre de rponse impulsionnelle h(n).
5. Expliquer comment obtenir Y (k), la reprsentation spectrale du signal y(n).

12.5.11

Transforme en cosinus discret rapide

On sintresse lestimation du bruit de calcul dune transforme en cosinus rapide (TCR). La


TCR prend en entre un vecteur de signal rel et fournit un vecteur rel de mme dimension.
Les calculs de cette transformation reposent sur lenchanement de papillons dont la structure
est donne figure 12.6. Le calcul dun papillon lmentaire est reprsent figure 12.6. On a,
pour chaque papillon, xs = xe + ck .ye et ys = xe ck .ye . Lindice k des coefficients Ck varie
pour chaque papillon et ck = cos( 2k
N ).
12.5.11.1

Complexit de calcul

1. Quelle est la complexit en nombre de multiplications et dadditions ainsi quen nombre


de mots mmoires pour une TCR sur N points.
2. On veut effectuer cette transforme en continu sur le signal, par bloc de N chantillons,
sans recouvrement. Sur une machine ralisant une multiplication ou une addition en un
cycle de 50ns, quelle est la taille maximale du bloc que lon peut traiter si le signal est
chantillonn 1MHz.

158

Travaux Dirigs en Traitement Numrique du Signal


x0

X0

x1
x2

xe

xs

ye

ys

x3
x4
x5
x6
x7

X7

Fig. 12.6: Structure dune TCR

12.5.11.2

Implantation en virgule fixe cadre gauche

On travaille avec des nombres sur b bits utiles, en virgule fixe centre gauche de dynamique
[1, 1] et en complment deux.
1. Dessiner le graphe flot de calcul dun papillon et prciser le bruit de calcul additionnel
la sortie de chaque opration.
2. Calculer le bruit de calcul bs sur les donnes xs et ys sortant du papillon en fonction du
bruit de calcul et du bruit be sur les donnes xe et ye en entre du papillon et des Ck .
En dduire la puissance du bruit en sortie s2 en fonction de la puissance du bruit en
entre.
3. Pour une TCR sur N points, le nombre dtapes de calcul est log2 (N ). Si les chantillons
sont modifis par un bruit de quantification, quelle est la puissance du bruit f2i sur les
N sorties Xi de la TCR. On considrera que |Ck | < 1 et que le bruit en entre de la
TCR sur les xi est quivalent un bruit de conversion AN.
4. Les calculs sont raliss sur un DSP qui permet de sauvegarder les rsultats sur 2b
bits de prcision. Les additions peuvent tre menes sur 2b bits mais la mmorisation
des donnes xs et ys calcules la sortie de chaque papillon nest faite que sur b bits.
Un arrondi est effectu uniquement lors de la mmorisation des rsultats dun papillon.
Indiquer partir du graphe flot prcdent la prsence des diffrents bruits. Calculer
comme prcdemment, s2 et f2i .
5. valuer les problmes de dbordement dans un papillon lmentaire, puis dans la TCR
complte.
6. Pour rsoudre les problmes de dynamique de calcul, une division par 2 des donnes
calcules la sortie de chaque papillon est opre systmatiquement, soit globalement
2
une division par N . On admettra quune division par 2 entrane un bruit de puissance q4 .
Prciser sur le graphe flot de calcul dun papillon les sources de bruit (on ne considre plus
la mmorisation des rsultats intermdiaires en double prcision). Dterminer comme
prcdemment s2 et f2i .

12.6 Analyse spectrale

12.6

159

Analyse spectrale

12.6.1

Questions

1. Un signal analogique est chantillonn Fe = 10 kHz. On calcule son spectre partir


de 1024 points de la squence temporelle. Quel est lintervalle de frquence entre deux
points successifs du spectre ?
2. On rappellera le schma de principe dune analyse spectrale. La bande occupe par un
signal analyser stend de 0 10 kHz. La rsolution frquentielle recherche est de 1
Hz. La rsolution en amplitude doit tre suprieure 40 dB.
(a) Quelle doit tre la frquence dchantillonnage.
(b) Quelle longueur denregistrement doit on prlever pour faire une telle analyse.
(c) Dterminez les caractristiques dune machine 8 bits capable de raliser une telle
analyse spectrale (capacit de mmoire, temps daddition et de multiplication). On
dsire que le rsultat de lanalyse soit affich sur un cran une frquence de 25
images/s.

12.6.2

Analyse spectrale dun signal sinusodal

On effectue lanalyse spectrale par voie numrique dun signal sinusodal de frquence fs . On
sait que lobservation du signal temporel durant un temps limit [0, N.T ] amne une
pondration du signal temporel par une fentre dobservation. On se propose dtudier leffet
sur le spectre du signal observ.
1. Dans le cas dune fentre rectangulaire, tracer le spectre du signal continu x(t), puis
celui du signal discrtis, tronqu et pondr xT0 (n.T ). Calculer lerreur maximale en %
que lon fait sur lestimation de lamplitude du spectre lorsque f0 6= N/T0 .
2. Calculer le TF dune fentre triangulaire entre 0 et T0 , valant 1 en T0 /2. Reprendre dans
le cas dune fentre triangulaire (Bartlett) la question 1.
3. Mme question que le 1. lorsque la fentre dobservation est une fentre de Hanning.
4. On veut une rsolution frquentielle de 1 Hz entre deux raies du spectre, avec des amplitudes pouvant varier de 1 10. Calculer T0 dans les cas o on utilise une des trois
fentres prcdentes.

12.6.3

Analyse spectrale dun signal

k
avec 0 k 15. Quel type de
1. Calculer la TFD X(n) de la suite x(k) = sin 2 3.5
fentre est implicitement utilis pour lanalyse de x(k) ?
2. Tracer X(k) et la TF du signal sinusodal complet sur le mme graphique. Calculez,
pour cet exemple, les erreurs danalyse (en frquence et en amplitude) induites par le
fentrage. Ceci peut tre fait mme si la TFD nest pas calcule.

12.7
12.7.1

Convolution
Calcul dune convolution

1. Soit x(n) = an .u(n) et h(n) = bn .u(n), trouver par la mthode directe y(n) = x(n)h(n).
est la convolution de 2 signaux.

160

Travaux Dirigs en Traitement Numrique du Signal

2. Retrouver ce rsultat par lapplication de la transforme en Z de la convolution.


3. On tronque x(n) sur N = 8 points et h(n) sur M = 4 points. Donner lexpression de
y(n) dans ce cas. On donnera les valeurs et on dessinera y(n) pour n = 0 . . . 15.

12.7.2

Complexit de calcul dune convolution

1. Donner la complexit de calcul de la convolution par la mthode directe.


2. Donner la complexit de calcul de la convolution par la mthode rapide en utilisant la
Transforme de Fourier Rapide.

12.8
12.8.1

Interpolation et dcimation
Interpolation linaire

On considre linterpolation dordre 1 dune fonction x(t) : x(t + ) = x(t) + . dx(t)


dt , avec
petit. On peut appliquer cette formule une squence x(k) chantillonne :
x(k + ) = x(k).(1 ) + .x(k + 1)
On appelle X(n) la TFD de cette squence. On appelle Y (p), 0 p 2N 1, la TFD de
la squence y(l), o y(l) est gale la squence x(k) interpole avec = 1/2. Si l est pair,
y(l) = x(k) (k = l/2) est lchantillon contenu primitivement dans la squence temporelle, si
l est impair y(l) est un chantillon interpol.
1. Montrer que le spectre Y(p) peut scrire :
Y (p) = X(p).[1 + cos(p/N )], 0 p N 1
Y (p) = X(p).[1 cos(p/N )], N p 2N 1
On considrera les conditions initiales x(0) = x(N ) = 0.
2. Indiquer comment on peut effectuer une interpolation linaire en utilisant la TFR.

12.8.2

Surchantillonnage

On considre la squence temporelle xN (k) sur N points et XN (n) son spectre. On complte
x(k) par des zros pour obtenir une squence sur M points (M > N ). Cette nouvelle suite
xM (k) un spectre XM (n).
1. Quil y a t-il de chang au niveau spectral ?
2. Dterminez la relation entre M et N pour que toutes les composantes de XN (n) soient
contenues dans XM (n).

Chapitre 13

Corrections des Travaux Dirigs en


TNS
13.1
13.1.1

Corrigs des TD sur lchantillonnage


Chane de TNS

Soit le signal : x(t) = A eat sin(0 .t) u(t)


Z

X(f ) =

x(t) e

2jf t

X() =

dt = A
0

eat sin(0 .t) e2jf t dt

A0
(a + j)2 + 02

y(n) = a2 .y(n 2) + a.x(n 1) + x(n)

y(n) = a3 .y(n 3) + a2 .x(n 2) + a.x(n 1) + x(n)


y(n) = aN .y(n N ) + D(n, N )
D(n, N ) =

N
1
X

aj .x(n j)

j=0

1. X(f ) =

A.0
a2 +02 2 +2.a.j.

2. M AX = 24.14rad/s; |X(0)| = 0.73; |X(M AX )| = A/2a = 1, 43


3. |X(Fm )|2 = 104 |X(Fmax )|2 Fm = 30Hz
4. |X(Fr )| = 0.01|X(Fmax )| = 0.0001|X(Fm )| Fr = 298Hz

13.1.2

chantillonnage dun signal

1. X(f ) =

1
a+j2f

2. Ex = 1/(2a)
3. Xe () =

1
1eaT ej

161

162

Corrections des Travaux Dirigs en TNS

4. Problme de recouvrement de spectre.


RB
5. E[B..+B] = B |X(f )|2 df = arctan(2B/a)
, pour 90% : B = a.
a

13.2 Analyse des filtres numriques

13.2

Analyse des filtres numriques

13.2.1

Cellule lmentaire du premier ordre RII

13.2.2

Cellule du second ordre RII purement rcursive

13.2.3

Analyse dun filtre numrique RIF

13.2.3.1

163

tude de la rponse frquentielle

Un retard dune priode Te du signal analogique correspond un dcalage de 1 de lindice


temporel du signal numrique. On obtient comme quation aux diffrences finies la relation
suivante :
y(n) = 0.1x(n) 0.3x(n 2) + 0.5x(n 3) 0.3x(n 4) + 0.1x(n 6)
En appliquant la relation T Z(x(nk )) = z k T Z(x(n)), on prend la transforme de lquation
aux diffrences :
Y (z) = 0.1X(z) 0.3z 2 X(z) + 0.5z 3 X(z) 0.3z 4 X(z) + 0.1z 6 X(z)
On obtient alors la fonction de transfert :
H(z) =

Y (z)
= 0.1 0.3z 2 + 0.5z 3 0.3z 4 + 0.1z 6
X(z)

A partir dune transforme en Z dcrite comme la somme de monmes en z 1 , la rponse


impulsionnelle du systme correspond simplement aux coefficients de chacun des monmes.
h(n) = 0.1(n) 0.3(n 2) + 0.5(n 3) 0.3(n 4) + 0.1(n 6)
La rponse frquentielle du filtre se calcule en valuant H(z) sur le cercle unit, donc pour
z = ej . On obtient :
H(ej ) = 0.1ej0 0.3ej2 + 0.5ej3 0.3ej4 + 0.1ej6
= 0.1[ej0 + ej6 ] 0.3[ej2 + ej4 ] + 0.5ej3
= 2 (0.1ej3 cos(3) 0.3ej3 cos() + 0.5ej3 )
= 2 ej3 [0.5 0.3 cos() + 0.1 cos(3)]
Puisque seul le terme mis en facteur est complexe, le module et la phase du filtre viennent
facilement :
|H(ej )| = 1.0 0.6 cos() + 0.2 cos(3)
Arg(H(ej )) = 3

164

Corrections des Travaux Dirigs en TNS

1.2

0.8

0.6

0.4

0.2

0
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Fig. 13.1: Module de la rponse frquentielle du filtre tudi, en abscisse la frquence normalise et en ordonne le module sur une chelle linaire

La figure 13.1 reprsente le module de la rponse frquentielle du filtre avec en abscisse une
frquence normalise f [0, 21 ] et en ordonne le module sur une chelle linaire. La figure
13.2 reprsente en trait plein la phase modulo et en trait pointill la phase droule.
On constate quil sagit dun filtre de type passe-haut ; notons de plus que ce filtre est phase
linaire.
13.2.3.2

Complexit de limplantation du filtre sur un DSP

Le graphe de traitement montre que pour un chantillon dentre, il faut 5 multiplications et 4


additions pour calculer un chantillon de sortie. Pour N chantillons en entre, la complexit
est donc de 5N multiplications et de 4N additions.
Concernant le nombre de mots mmoires ncessaires au calcul du filtre, il faut tout dabord 6
registres pour stocker les retards de lentre et 1 autre pour stocker les calculs intermdiaires
pour les additions. Enfin, il faut compter 5 points mmoire pour stocker les 5 coefficients du
filtre.
On dispose dun processeur de type DSP traitant en parallle multiplications et additions, il
faut donc 5 temps de cycles (le nombre max entre les multiplications et les additions) pour
calculer un chantillon de sortie. Puisque les chantillons de sortie sont chantillonns la
mme frquence que lentre, on dispose dun temps min dchantillonnage Tmin = 5 100ns,
cest--dire une frquence dchantillonnage maximum de 2MHz.
Lopration ralise dans le domaine temporel par ce filtre est une convolution linaire entre
les signaux x(n) et h(n). La convolution de ces deux signaux correspond une multiplication de leurs transformes de Fourier respectives. Un autre schma de calcul consiste donc
prendre les transformes de Fourier de x(n) et de h(n), respectivement X(f ) et H(f ), de
multiplier ces deux transformes Y (f ) = H(f )X(f ) et finalement deffectuer une transforme
de Fourier inverse pour obtenir le signal filtr y(n). La transformation de Fourier est ici une
Transforme de Fourier Discrte (temps et frquence sont des variables discrtes) mise en
oeuvre sous la forme dune FFT. On notera quil suffit de ne calculer quune seule fois H(f ),
les caractristiques du filtre tant supposes constantes quel que soit le temps.

13.2 Analyse des filtres numriques

165

-2

-4

-6

-8

-10
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Fig. 13.2: Phase de la rponse frquentielle du filtre tudi. En abscisse, la frquence normalise et en ordonne la phase en radian. En trait plein, la phase modulo , en trait pointill
la phase droule

La complexit de calcul est de 2 fois celle dune FFT sur N points plus la multiplication des
deux transformes (nombre complexes...). Ce qui fait : 24 N2 log(N )+4N multiplications
relles et 2 3 N log(N ) + 2 N additions relles. Pour trouver ces relations, revoir dans le
cours le cot de calcul dun papillon lmentaire multipli par le nombre de papillons mis en
oeuvre dans la FFT dordre N .
Il ne faut pas oublier que la mthode frquentielle ne peut tre exacte puisque que lon traite
des blocs de N points dans le domaine frquentiel, cela revient dans notre cas fentrer
le signal par une fentre rectangulaire de longueur N . Ce qui conduit un spectre calcul
correspondant la convolution de X(f ) par Rect(f )...ce qui pour faire simple nest pas X(f ) !
13.2.3.3

Implantation du filtre en virgule fixe

Les hypothses sont les suivantes :


les nombres sont reprsents sur b bits utiles.
le codage est de type virgule fixe cadre gauche.
la dynamique est [1, 1].
les nombres ngatifs sont cods en complment deux.
Le mode de calcul est de type arrondi.
On adopte un modle statistique de reprsentation de linfluence des erreurs de calcul sur
un signal. On considre que pour chaque traitement faisant intervenir une erreur de calcul
on ajoute un bruit au signal trait. Cette source de bruit additive est relativement simpliste
mais facilite le calcul des puissances de bruit aux entres et sorties des systmes de traitement
numrique. Les hypothses sur les sources de bruit sont les suivantes :
pour un mode de calcul par arrondi, il sagit dun bruit de moyenne = 0 et de puissance
q2
avec q = 2b
2 = 12
bruit blanc non corrl avec les signaux traits et les autres sources de bruit (les puissances
sajoutent...)

166

Corrections des Travaux Dirigs en TNS

On placera sur le schma du filtre autant de sources de bruit quil y a de multiplications car
les additions en format virgule fixe tel que prcis ne gnre pas derreurs darrondi. Soit s2
la puissance de bruit en sortie du filtre, on a donc :
s2 = 5

q2
12

On considre maintenant que le signal dentre est affect par une opration de quantification,
on lui ajoute donc une source de bruit de puissance e2 [cette source est situe lentre du
filtre, elle se superpose x(n)]. On a en sortie le bruit de lentre mis en forme par le filtre
(il sagit du filtrage sun signal alatoire...) superpos au bruit d aux 5 multiplications. On
obtient donc ici :
q2
s2 = e2 [6k=0 |h(k)|2 ] + 5
12
Ce qui fait :
q2
s2 = (0.45 + 5)
12
On constate que numriquement linfluence du bruit dentre sur la sortie est ngligeable
devant le bruit des 5 multiplications.
On suppose maintenant un signal sinusodal en entre du filtre damplitude 1 et de pulsation
. La puissance de ce signal scrit :
Px =
=
=

Z
1 T
sin2 (t)dt
T 0
Z
1 T 1 cos(2t)
dt
T 0
2
1
2

Un rapport signal bruit est le rapport de la puissance du signal sur celle du bruit. En entre
du filtre, on a le rapport signal/bruit :
RSBe =
=
=

Px
e2
1/2
q 2 /12
6
q2

En sortie du filtre le RSB devient :


RSBs =
=

1 12
2 5.45q 2
1.1
q2

Si on exprime le RSB de sortie en log, on obtient :


RSBdB = 10 log(1.1) + 2b log(2) = 0.41 + 6.02b

13.2 Analyse des filtres numriques

167

On recherche un nombre de bits suffisant pour que le RSB soit suprieur 40dB, en prenant
la relation prcdente on trouve b > 6.57, donc b > 7. On notera que lon travaille avec b bits
utiles, il faut donc rajouter 1 bit de signe, ce qui fait des mots de 8 bits pour reprsenter les
calculs.
Travailler en virgule fixe peut conduire des dbordements lors de lenchanement des additions
(ce qui est particulirement sensible dans le cas dun filtre). Le signal dentre est suppos de
dynamique comprise dans [1, 1] donc |x(n)| < 1 n. Une condition suffisante pour viter
un dbordement en sortie est de contraindre chaque chantillon dans la mme dynamique, soit
|y(n)| < 1 n. on a alors :
|y(n)|

x(n)i |h(i)|

<

on pose x0 (n) = Ax(n) le facteur dchelle appliquer lentre pour viter le dbordement,
on obtient alors :
1
A<
i |h(i)|
On trouve A < 0.77, pour simplifier et tomber sur une opration binaire, on prendra une
division par 2 du signal dentre.

13.2.4

Filtrage numrique RIF (1)

1. h(n) = 0.1[(n 1) + (n 3)] + 0.2.(n 2) : RIF symtrique


2. H() = 0.2.e2j [1 + cos]
|H()| = 0.2(1 + cos)
Arg[H()] = 2 phase linaire
fc = 182Hz
3. Filtre passe bas
4. y(0) = y(5) = 0; y(1) = y(4) = 0.1; y(2) = y(3) = 0.3

13.2.5

Filtrage numrique RIF (2)

A partir de la rponse impulsionnelle dun filtre exprime comme une somme dimpulsions, on
trouve aisment en fonction dun signal dentre la sortie suivante :
y(n) = x(n) h(n)
= a0 x(n) + a1 x(n 1) + a2 x(n 2) + a1 x(n 3) + a0 x(n 4)
On trouve la fonction de transfert :
H(z) = a0 + a1 z 1 + a2 z 2 + a1 z 3 + a0 z 4
Pour trouver la rponse frquentielle du filtre on value la transforme en z sur le cercle unit :
H(ej ) = a0 + a1 ej + a2 e2j + a1 e3j + a0 e4j
= 2a0 e2j cos(2) + 2a1 e2j cos() + a2 e2j
= e2j [a2 + 2a1 cos() + 2a0 cos(2)]

168

Corrections des Travaux Dirigs en TNS

On trouve alors les modules et arguments suivants :


|H(ej )| = a2 + 2a1 cos() + 2a0 cos(2)
H(ej ) = 2
On trouve les modules et les phases pour les quelques valeurs de suivantes :
0
/2

2
|a2 + 2a1 + 2a0 | |a2 2a0 | |a2 + 2a0 2a1 | |a2 + 2a1 + 2a0 |
H(ej )
0

2
4
|H(ej )|

On peut tout dabord noter que le module en 0 est toujours suprieur au module en puisque
les coefficients sont positifs. Il nest donc pas possible de raliser un filtre passe-haut avec une
telle quation.

On recherche a0 , a1 , a2 tels que |H(ej0 )| = 1, |H(ej 2 )| = 12 et |H(ej )| = 0. Il faut tout dabord


noter que lon travaille avec une norme L2 , cest--dire des valeurs absolues pour des nombres
rels. On cherche tout dabord faire disparatre les valeurs absolues en distinguant ventuellement plusieurs solutions selon les coefficients ai . Pour cela on dispose dune contrainte
supplmentaire : les ai sont suprieurs ou gaux 0. On a donc ai |H(ej0 )| |H(ej )|,
cest--dire ai |H(ej0 )| 0. On trouve alors comme premire quation (a2 + 2a1 + 2a0 ) = 1,
comme secondes (a2 2a0 ) = 12 ou (a2 2a0 ) = 12 , et comme troisime (a2 + 2a0 2a1 ) = 0.
On distingue deux solutions donnant chacune un jeu de coefficients diffrents.
13.2.5.1

Premire solution

On a le systme suivant :
a2 + 2a1 + 2a0 = 1
1
a2 2a0 =
2
a2 + 2a0 2a1 = 0
On trouve a0 = 0, a1 = 14 , a2 = 12 .
13.2.5.2

Deuxime solution

a2 + 2a1 + 2a0 = 1
a2 2a0 =
a2 + 2a0 2a1 = 0

1
2

On trouve a0 = 14 , a1 = 41 et a2 = 0.
Une frquence de coupure 3dB correspond trouver la pulsation c telle que
|H(ejc |2
1
=
|H(ejmax )|2max
2
En prenant les coefficients de la premire solution, on obtient :
1 1
H(ej ) = ej2 [ + cos()]
2 2

13.2 Analyse des filtres numriques


On cherche c vrifiant :

On trouve donc cos() =

169

1
0.5 + 0.5cos(c ) =
2

2 1, soit = 65.5 =
Fc =

2
5.5 .

On les relations

Te

= 2f , donc :

Fe
= 7273Hz
5.5

Il nexiste pas de solution qui respecte le thorme de Shannon en utilisant lautre jeu de
coefficients.

13.2.6
13.2.6.1

Filtrage Numrique RIF cascade


Fonctions de transfert

Lquation au diffrences finies scrit :


y(n) = bi0 x(n) + bi1 x(n 1) + bi2 x(n 2)
La figure 13.3 prsente la structure de ralisation du filtre sous une forme canonique.
x

y
h1

h2

h3

Fig. 13.3: Structure dimplantation dun filtre non rcursif de longueur 2


La mise en parallle des trois filtres conduit la fonction de transfert suivante :
M (z) = H 0 (z) + H 1 (z) + H 2 (z)
En posant M (z) = m0 + m1 z 1 + m2 z 2 , on a :
mj =

2
X

bij

i=0

La mise en cascade des trois filtres conduit la fonction de transfert suivante :


N (z) = H 0 (z) H 1 (z) H 2 (z)
En posant N (z) = n0 + n1 z 1 + n2 z 2 , on a :
n0 =

2
Y

bi0

i=0

On sintressera dans la suite du problme ltude de N (z).

170
13.2.6.2

Corrections des Travaux Dirigs en TNS


Complexit

Il faut 3 multiplications, 2 additions et 2/3 mots mmoires pour un filtre lmentaire. Pour le
filtre N (z) il faut donc 9 multiplications et 6 additions.
On considre que les multiplications et les additions sont ralises en parallle, le temps de
traitement est donc 9 Tc avec Tc le temps de cycle dune opration lmentaire. Avec une
frquence dchantillonnage de Fe = 44.1kHz, on a Te = 22.67s. Il faut donc mener tous les
calculs en un temps maximum Te , on alors :
9 Tc Te
13.2.6.3

Tc 2.5s

tude du bruit de calcul

On dispose dun filtre lmentaire mettant en uvre 3 multiplications, nous aurons donc
trois sources de bruit interne. Un bruit de quantification se superpose au signal dentre. Si
linfluence des coefficients multiplicatifs est ngligeable, le modle de bruit du filtre comporte
q2
6 sources lmentaires de variances 12
, 3 sources en entre des branches en parallle (eie )et 3
i
autres pour les multiplications (em (n)), on a donc :
2
s2 = 3 e2 + 3 m
q2
q2
+3
s2 = 3
12
12
2
q
s2 =
2

Si maintenant les coefficients multiplicatifs sont significatifs, on a :


2
s2 = 3 e2 + 3 m
2
X
q2
q2
s2 =
( (bij )2 ) +
12
4
j=0

On enchane maintenant en cascade les trois filtres lmentaires pour constituer le filtre N (z).
On considre un bruit de quantification en entre du systme et on pose 12 la puissance du
2 celle en bout du filtre
bruit la sortie du premier filtre, 22 celle la sortie du second et N
cascade (dernier tage). On a :
2

12

q2 X 0 2
q2
+
(bj )
4
12
j=0
2

22

X
q2
(b1j )2
+ 12
4
j=0
2

2
N

X
q2
+ 22
(b2j )2
4
j=0

j=0

j=0

j=0

j=0

j=0

j=0

X
X
X
q2 X 2 2 X 1 2 X 0 2
q2
(b2j )2 +
(b2j )2
(b1j )2 ] +
(bj )
(bj )
(bj )
[1 +
4
12

Il faut donc mettre le filtre qui coupe le moins (coefficients les plus faible) en fin de chane.

13.2 Analyse des filtres numriques

171

Une sortie maximale ymax dun filtre lmentaire peut scrire de la manire suivante en
fonction dune entre maximale :
ymax = xmax

2
X

|bij |

j=0

pour viter tout dbordement, on impose ymax < 1, donc :


xmax P2

i
j=0 |bj |

Si on considre maintenant le filtre cascade N (z), on a :


1
xmax P2
P2
P
0
( j=0 |bj |)( j=0 |b1j |)( 2j=0 |b2j |)
13.2.6.4

Application Numrique

En prenant :
bi0 = 0.5,

bi1 = 0.75,

bi2 = 0.5, i

On trouve la rponse impulsionnelle suivante :


N (n) = 0.125(n) + 0.5625(n 1) + 1.21875(n 2) + 1.546875(n 3)
+ 1.21875(n 4) + 0.5625(n 5) + 0.125(n 6)
On a la rponse frquentielle suivante :
N (ej ) = e3j (0.75 + cos())3
On a

b2j = 1.0626, on trouve donc :


2
N
=

q2
q2
q2
q2
+ 1.0625 ( + 1.0625 ( + 1.0625 ))
4
4
4
12

2 0.9 q 2 .
ce qui fait N
On a :

xmax

1
3 (0.5 + 0.75 + 0.5)

ce qui donne xmax 0.187. En fait en prenant xmax = 61 on vite les dbordements. Il suffit
alors de diviser par 2 le signal en entre de chaque filtre lmentaire.

172

13.2.7

Corrections des Travaux Dirigs en TNS

tude des bruits de calcul dans les filtres numriques RII

13.2.7.1

Cellule du second ordre

13.2.7.2

Cellule du quatrime ordre sous forme cascade

13.2.7.3

Dynamique dun filtre du septime ordre

13.3
13.3.1

Synthse des filtres RII


Filtre passe bas du deuxime ordre

13.3.1.1

tude par le gabarit

13.3.1.2

tude directe

13.3.2

13.4
13.4.1

Filtre passe haut

Synthse des filtres RIF


Mthode du fentrage

13.4 Synthse des filtres RIF

13.4.2

173

Mthode de lchantillonnage frquentiel

On dsire raliser un filtre drivateur Rponse Impulsionnelle Finie ayant une caractristique
en phase linaire par la mthode de lchantillonnage frquentiel sur N points.
On fixe c = 4
N
1. A() = c entre c et c . La phase () est constante entre c et c et vaut /2
(voir figure 13.4).
H(ej)
1

(ej)
/2

Fig. 13.4: Pseudo module et phase du drivateur

2. Le type de rponse permettant de raliser au mieux ce filtre RIF phase linaire est le
type III (rponse impulsionnelle antisymtrique et N impair). Cela implique deux zros
en = 0 et = .
3. On chantillonne le filtre idal e = c /2 pour 0 ke < 2.
La rponse frquentielle du filtre chantillonn Ha (ke ) est donne figure 13.4.
H(ej)
1

(ej)
/2

Fig. 13.5: Pseudo module et phase du drivateur chantillonn

174

Corrections des Travaux Dirigs en TNS


Calcul de ha (n) pour n = 0 . . . N 1 :
ha (n) =

N 1
1 X
H(ke )ej2k.n/N
N
k=0

ha (n) =
ha (n) =
ha (n) =
ha (n) =

1
j [0.5ej2n/N + ej4n/N ej2(N 2)n/N 0.5ej2(N 1)n/N ]
N
1
j [0.5ej2n/N + ej4n/N ej24n/N 0.5ej2n/N ]
N
1
j [j.sin(2n/N ) + j.sin(4n/N )]
N
1
[sin(2n/N ) + sin(4n/N )]
N

Pour N = 7 : ha (n) = 17 [sin(2n/7) + sin(4n/7)] pour n = 0 . . . 6.


n
0
1
2
3
4
5
6
7
h(n) 0 -0.39 -0.0153 0.1614 -0.1614 0.0153 0.39 0
4. Equation aux diffrences du filtre et fonction de transfert en z :
y(n) = 0.39x(n 1) 0.0153x(n 2) + 0.1614x(n 3)
0.1614x(n 4) + 0.0153x(n 5) + 0.39x(n 6)
Ha (z) = 0.39(z 1 z 6 ) 0.0153(z 2 z 5 ) + 0.1614(z 3 z 4 )

5. On peut galement dduire Ha (z) directement de Ha (ke ) sous forme de cellules du


second ordre en parallle relles en utilisant la formule vue en cours.
N 1
H(ke )
1 z N X
j2k
N
1
k=0 1 z .e N

1 z N
0.5
1
1
0.5
Ha (z) =
j2 +
j4
j4
j2
N
1 z 1 .e N
1 z 1 .e N
1 z 1 .e N
1 z 1 .e N

1 z N
z 1 sin(2/N )
2z 1 sin(4/N )
Ha (z) =
+
N
1 2cos(2/N )z 1 + z 2 1 2cos(4/N )z 1 + z 2

0.28z 1
0.11z 1
7
+
Ha (z) = (1 z )
1 1.247z 1 + z 2 1 0.445z 1 + z 2

Ha (z) =

6. Montrer que les deux versions du 4. et du 5. sont quivalentes : il suffit de rduire au


mme dnominateur la formule prcdente, puis de faire une division polynomiale.
7. Les problmes sur le filtre (module de Ha () trs diffrent dun drivateur) viennent de
la contrainte sur la phase qui a t implicitement pose. En effet, la spcification impose
une phase nulle. Dautre part, on a ici N = 7 alors que le centre de symtrie est plac
en 3.5, diffrent du = N 21 . Il faut donc utiliser un filtre phase linaire hb (n). Pour
cela, nous devons dcaler ha (n) de = 3 : hb (n) = ha (n 3). Dans ce cas le filtre se
comporte beaucoup mieux en frquence. Ce rsultat est illustr dans le TP.

13.5 Transforme de Fourier Discrte et Rapide (TFD et TFR)

13.5

175

Transforme de Fourier Discrte et Rapide (TFD et TFR)

13.5.1

TFD bi-dimensionnelle

X(m, n) =
=

N
1
X
k=0
N
1
X

"N 1
X

#
x(k, l)e

2j nl
N

e2j

mk
N

l=0

2j mk
N
X(k)e

k=0

o X(k) est le vecteur form par la TFD de ligne k de limage compose des pixels x(k, l) avec
l = 0 . . . N 1. X(m, n), m, n = 0 . . . N 1 est donc calcul partir de deux TFD successives
sur les lignes puis sur es colonnes (ou inversement).
Complexit : O(N 2 log2 N )

13.5.2

Transforme de Fourier Glissante


n

2. Xi+1 (n) = [Xi (n) x(i) + x(i + N )]e2j N


3. TFR : 3N log2 N.T cycle < T e
TFD : 2N 2 .T cycle < T e
TFR glissante : 4N.T cycle < T e

13.5.3

Transforme de Fourier en Base 4

13.5.4

Optimisation du calcul de la TFR dune suite de nombres rels

1. A =

X(p)+X (N p)
,
2

B=

X(p)X (N p)
2

<U (p) = <A + <B cos + =B sin

(13.1)

=U (p) = =A + =B cos <B sin

(13.2)

= p/N

(13.3)

2. Mthode directe : 4N log2 (2N ) et 6N log2 (2N ).


Mthode optimise : 2N log2 (N ) + 4N , 6N log2 (N ) + 8N et 4N divisions par 2.

13.5.5

Optimisation du calcul de la TFR de deux suites de nombres rels

176

13.5.6

Corrections des Travaux Dirigs en TNS

Comparaison TFTD et TFD

On a le signal suivant, avec u(n) lchelon unit, chantillonn Te = 1 :


x(n) = ean u(n)
Soit XT F T D (f ) la transforme de Fourier temps discret de x(n), on a :

XT F T D (f ) =
=
=

x(n) u(n) ej2nf

n=

X
an

ej2nf

n=0

(ea ej2f )n

n=0

Si |a| < 1 la srie prcdente converge, on obtient alors :


XT F T D (f ) =

ea

1
ej2f

Soit XT F D (k) la transforme de Fourier discrte de x(n) pour n = 0 N 1, on a :


XT F D (k) =
=
=

N
1
X
n=0
N
1
X
n=0
N
1
X

nk

x(n) ej2 N

nk

ean ej2 N
k

(ea ej2 N )n

n=0
k

=
=
=

1 (ea ej2 N )N
k

1 ea ej2 N
1 eaN ej

2kN
N
k

1 ea ej2 N
1 ea
k

1 eaN ej2 N

Dans le calcul de la TFD, la variable frquence, f , de la transforme de Fourier est chantillonne pour des valeurs fk = k FNe , avec ici Fe = 1. On a alors la relation suivante entre
XT F D (k) et XT F T D (f ) :
XT F D (k) =

1
k
pi N

eaN
k

1 ea ej2
1 ea ej2 N
kFe
XT F D (k) = XT F T D (
) [1 eaN ]
N
kFe
XT F D (k) = XT F T D (
) [1 (N, a)]
N

13.5 Transforme de Fourier Discrte et Rapide (TFD et TFR)

177

La dernire quation du systme prcdent montre que la TFD de x(n) correspond lchantillonnage frquentiel de la TFTD de ce mme signal mutipli par un terme derreur. On
a:
lim [1 (N, a)] = 1
n

On sarrange pour quen pratique on puisse ngliger (N, a)

13.5.7

TFD par convolution

13.5.8

Bruits dans la TFD

La TFD, X(k), dun signal x(n) dure limit est donne par la relation suivante :
X(k) =

N
1
X

x(n) WNnk ,

0 k N 1,

WNnk = ej

2nk
N

n=0

Pour le calcul dun chantillon de la sortie, lquation prcdente nous indique quil faut
effectuer N multiplications complexes et N 1 additions complexes. Soit encore, 2N multiplications relles et 2(N 1) additions relles. Pour traiter N chantillons, la complexit est
de N 2 multiplications complexes et N (N 1) additions complexes.
Le modle statistique permettant de reprsenter lopration de quantification est indiqu figure
13.6.
x

y1

eg

y2

x
e

Fig. 13.6: modlisation statistique de lopration de quantification

la source de bruit additif e(n) est un signal alatoire, stationnaire, de valeurs comprises dans
lintervalle [0, q] sil sagit dune troncature ou [ 2q , + 2q ] sil sagit dun arrondi avec q = 2b
si les chantillons sont cods sur b bits utiles. On suppose une densit de probabilit uniforme
q2
. Sil sagit
(= 1q ). Sil sagit dun arrondi la moyenne de e(n) est nulle et sa variance = 12
2

q
dune troncature, la moyenne = 2q et la variance = 12
. On suppose ici une quantification par
arrondi.
le signal de sortie est un signal complexe, il faut donc distinguer le bruit sur les parties relles
et imaginaires de la transforme :
Soit s2 la puissance du bruit en sortie de la TFD sur la partie relle ou imaginaire de la
transforme, on a :
N
1
X
q2
2
s =
(e2 + )
12
n=0

178

Corrections des Travaux Dirigs en TNS

On a donc au total (en composant les variances des parties relles et imaginaires) :
t2 = 2 (N (

q2
q2
q2
+ )) = N
12 12
3

En exprimant le RSB sur une chelle logarithmique, on obtient avec Ps la puissance du signal
utile et Pb la puissance du bruit :
RSBdB = 10 log(

Ps
q2
) = 10 log(Ps ) 10 log N
Pb
3

En considrant la puissance du signal et le terme en N/3 comme une constante relativement


au nombre de bits, on a :
RSBdB = K + 20 b log(2) = K + b 6.02
Si on double le nombre de bits servant coder les chantillons, on augmente de RSB de b6dB .
En prenant b = 8 bits, si on passe 16 on a un gain de +48dB.
Reprenons la dfinition de la TFD, on a la relation de rcurrence suivante :
X(k) =
X(k) =

N
1
X
n=0
N
1
X

x(n) WNnk
x(n) (WNk )n

n=0

En dveloppant le signe somme, on a :

k
k
X(k) =
x(N 1) WN + x(N 2) WN + WNk + x(0)
On trouve bien une relation de rcurrence de la forme :
y(m) = y(m 1) WNk + x(N m),
en prenant y(0) = x(0) comme condition initiale, et m = 1 N , on a alors X(k) = y(N ).
Lintrt de cette mise en forme des calculs tient au fait que lon adresse toujours le mme
lment WNk , il sagit de lalgorithme de Goertzel.

13.5.9

tude des bruits de calcul dans la transforme de Fourier Rapide

1. 1 multiplication complexe = 4 multiplications relles.


e1 = q 2 /3;

e2 = e3 = 0;

Bs = 2Be + q 2 /3

2. Bn = 2Bn1 + q 2 /3 N.B0 + N q 2 /3
3. Bs = 2Be + q 2 /6;

Bn = N.B0 + N q 2 /6

4. La puissance du bruit est divise par 4 : Bs = 2q 2 /4 + (2Be + q 2 /3)/4


5. Bn q 2

13.5 Transforme de Fourier Discrte et Rapide (TFD et TFR)

13.5.10

179

Calculs de TFD

La Transforme de Fourier discrte dun signal compos de N chantillons scrit :


N
1
X

X(k) =

n=0
N
1
X

x(n)e2j

kn
N

x(n)WNkn

n=0

Avec x(n) le signal dentre et X(k) sa transforme, on a la relation matricielle suivante :

X(0)
..
.

X(N 1)

WN00

..
=
.

0(N 1)

WN

0(N 1)

WN

x(0)
..
.

..

WNkn
.
(N 1)(N 1)
x(N 1)

WN

Il faut noter les proprits de priodicit des racines W , on a :


k(N n)

WN

= (WNkn )
k(n+N )

WNkn = WN

On prend maintenant N = 4, on obtient alors, aprs simplification :

X(0)
1
1
1
1
x(0)
X(1) 1

W41
W42 (W41 )


x(1)
2
4
2
X(2) = 1

W4
W4
W4
x(2)
1

2
1
X(3)
1 (W4 ) W4
W4
x(3)
Ou encore :

X(0)
1 1
1
1
x(0)
X(1) 1 j 1 j x(1)

X(2) = 1 1 1
j x(2)
X(3)
1 j 1 j
x(3)

Soit le signal h(n) de dure finie, N = 4, pour trouver H(k) il suffit dune TFD sur 4 points,
en utilisant la relation matricielle prcdente, on a :
1

1 1
1
1
H(0)
1
10
H(1) 1 j 1 j 2 1 (1 j)
10

5 1

3 =
H(2) = 1 1 1

j 10
5
4
1
1 j 1 j
H(3)
5 (1 + j)
10
x(n) est un signal priodique de priode N = 4, pour trouver X(k), pour k = 0 3 il suffit
dune TFD sur 4 points :

1
0
1 1
1
1
X(0)
X(1) 1 j 1 j 1 1 (1 j)
= 5

X(2) = 1 1 1

j 2 51
1
1
1 j 1 j
X(3)
5 (1 + j)

180

Corrections des Travaux Dirigs en TNS

On a :
1
2
3
4
+ (j)k + (1)k + (j)k
10 10
10
10
j k
jk
j 3k
2
2
X(k) = e
+ 2e
+e
k
= ejk (2 + 2 cos( ))
2

H(k) =

2k

Comme h(n) est dure limite on a HT F D (k) = HT F T D (ej N ). Sa transforme de Fourier discrte correspond un chantillonnage de sa transforme de Fourier. Comme x(n) est
priodique sa TFD est exactement sa TF.
Si on crit y(n) rsultat du filtrage de x(n) par h(n), on a :
y(n) =

n
X

h(i)x(n i) =

i=0

n
X

x(i)h(n i)

i=0

On constate que le schma priodique temporel de y(n) est de longueur 7 et non 4 !. On a


donc Y (k) 6= X(k) H(k) ! Pour obtenir Y (k) il faut complter par des zros les signaux h(n)
et une priode de x(n) pour traiter le support n = 0, .., 6. Il est ensuite possible dappliquer
le produit des TFD.

13.5.11
13.5.11.1

Transforme en Cosinus Rapide


Complexit des calculs

Le calcul dun papillon lmentaire est reprsent par lquation suivante :


X 0 = X + ck Y
Y 0 = X ck Y
Le signal dentre est rel, les ck sont rels donc tous les calculs se font sur des nombres rels.
Un papillon nous donne 1 multiplication relle et 2 additions/soustractions. Comme pour la
FFT, il y a N2 log2 (N ) papillons si la dimension du vecteur de travail est N . Ce qui fait pour N
chantillons traits, N2 log2 (N ) multiplications et N log2 (N ) additions. En faisant des calculs
"in place", il suffit de N mots mmoires pour stocker les rsultats ; il faut cependant N2 mots
supplmentaires pour stocker la table des cosinus multiplicatifs.
On considre une machine effectuant en parallle une addition et une multiplication en un
temps de cycle de Tc = 50ns. Si Te = 106 s est la priode dchantillonnage, on a alors la
relations suivante :
N
(N + ) log2 (N ) Tc < N Te
2
On trouve alors N < 213 .
13.5.11.2

Implantation en virgule fixe

Le graphe flot du calcul dun papillon lmentaire est reprsent figure 13.7. On modlise les
imprcisions de calcul par trois sources de bruit : ex et ey modlisant le bruit superpos au
signal de lentre (quantification du signal dentre), em modlisant le bruit de calcul d la
multiplication de Y par Ck .

13.5 Transforme de Fourier Discrte et Rapide (TFD et TFR)

181

ex
xs

xe

em
f1

ck

ye

ys

ey
Fig. 13.7: Graphe flot des calculs dun papillon lmentaire de la TCR

On cherche dterminer la caractristique du bruit en sortie du papillon lmentaire. Pour cela


on suppose les entres X = ex et Y = ey (on ne travaille quavec les sources de bruit...). On
pose sx et sy les sorties respectives en X 0 et Y 0 correspondant aux entres ex et ey . En tenant
compte de la source de bruit em due la multiplication, on a alors les relations suivantes :
sx = ex + ck ey + em
sy = ex ck ey + em
En faisant lhypothse de bruits blancs non corrls entre eux, on additionne les variances :
2
2
2
2
sx
= sy
= ex
+ c2k ey
+

q2
12

On cherche dterminer la puissance du bruit en sortie du graphe complet, on a pour un


papillon :
q2
2
s2
+ 2ex
12
Au total la TCR comporte m = log2 (N ) tages de traitement, on obtient aprs m tages :
m1

s2 2m e2 +

q2 X k
[
2 ]
12
k=0

les sources de bruit en entre modlise un bruit de quantification, on a donc e2 =


de traitement on obtient donc :

q2
12 ,

en fin

f2i

q2 X k
q2
q2
=
2 = (2m+1 1) = (2N 1)
12
12
12
k=0

La question sur les arrondis conduit aux mmes rsultats que prcdemment puisque les puissances des sources de bruit sont les mmes. On remplace alors les puissances dues aux multiplications par celles dues la quantification.

182

Corrections des Travaux Dirigs en TNS

Les dbordement proviennent des additions. Si |X| < 1 lentre du premier papillon, la
sortie on obtient la relation suivante :
|X 0 | < 1 + |Ck | < 2
Si maintenant, on se place la sortie de ltage de traitement m, on obtient :
|X 0 | < 2m
Un chantillon de sortie de la TCR vrifie donc la relation suivante :
|X 0 | < N
Il suffit donc de diviser le signal dentre par N pour que chaque chantillon de sortie soit
infrieur 1 et vite tout dbordement de calcul. On a vu en cours que diminuer la dynamique
dun signal en entre dun processus de traitement contribue diminuer le rapport signal
bruit. Il existe une autre solution pour viter les dbordements consistant diviser par 2 le
signal lentre de chaque papillon. Il est clair que la sortie de chaque papillon est borne par
1. Cependant la division par 2 introduit un bruit de calcul supplmentaire que lon modlisera
2
comme une source de bruit de puissance q4 . On reprend le graphe flot de la figure 13.7 et on
lui ajoute une source de bruit avant la multiplication par ck . On obtient alors pour un papillon
lmentaire, la relation suivante :
2
2
2
sx
= ex
+ c2k (ey
+

q2
q2
)+
4
12

q2
q2
+
4
12
2
q
2e2 +
3

s2 2e2 +
s2

Au dernier tage de la TCR, m = log2 (N ), on a :


m1

f2i = 2m e2 +

q2 X k
2 ]
[
3
k=0

f2i = N
f2i

13.6
13.6.1

q2

+ (N 1)

12
5q 2
N
12

q2
3

Analyse spectrale
Questions

1. 10kHz/1024 = 9.765Hz. Attention, cette valeur est diffrente de la finesse en frquence.


2. Une bande de 0 10kHz implique fe 20kHz.
Attnuation > 40dB = Fentre de Hamming (ou Blackman).
Hamming : = 8/N = N 4fe /1Hz = 80.000 = N = 217
T calcul = (N + 3N log2 N + 2N ).T cycle < 1/25 = T cycle = 25ns

13.7 Convolution

183

13.6.2

Analyse spectrale dun signal sinusodal

13.6.3

Analyse spectrale dun signal

A vrifier sous Matlab ou Scilab.

13.7
13.7.1

Convolution
Calcul dune convolution

bn+1 1 (a/b)n+1
y(n) =
u(n)
ba

13.7.2

Complexit de calcul dune convolution

Voir le TP de TNS.

13.8
13.8.1

Interpolation et dcimation
Interpolation linaire
x(k + 1/2) = [x(k) + x(k + 1)]/2

1. Avec x(0) = x(N ) = 0 :


Y (p) = X(p)[1 + cos(p/N )], 0 p N 1

(13.4)

Y (p) = X(p)[1 cos(p/N )], N p 2N 1

(13.5)

2. On fait une TFR, puis on recombine la sortie pour obtenir Y (p).


Mthode directe : N , N
Mthode TFR : N log2 (N )/2 + N/2 C, N log2 (N ) + N C

13.8.2

Surchantillonnage

1. Il sagit du mme signal mais chantillonn une frquence fe0 diffrente. En fait, ajouter
des zros puis filtrer revient surchantillonner.
2. M multiple de N .

184

Corrections des Travaux Dirigs en TNS

Bibliographie
[Bel87]

M. Bellanger. Traitement Numrique du Signal. Collection CNET-ENST, MASSON,


1987.

[BL80]

R. Boite and H. Leich. Les Filtres Numriques Analyse et Synthse des filtres unidimensionnels. Collection CNET-ENST, Masson, 1980.

[BP85]

C.S. Burrus and T.W. Parks. DFT/FFT and Convolution Algorithms. Topics in
DSP : John Wiley & Sons, 1985.

[EW92]

Van Den Enden and Werdeckh. Traitement Numrique du Signal : Une Introduction.
Masson, 1992.

[HL97]

D. Hanselman and B. Littlefield. Matlab : the language of technical computing.


Prentice Hall, 1997.

[Ka91]

M. Kunt and al. Techniques modernes de Traitement Numrique du Signal. Collection CNET-ENST, Presses Romandes, Masson, 1991.

[Kun81] M. Kunt. Traitement Numrique des Signaux. Collection Trait dElectricit Presses
Romandes, 1981.
[ME93]

C. Marven and G. Ewers. a simple approach to Digital Signal Processing. Texas


Instruments Mentors, 1993.

[MSY98] J. McClellan, R. Schafer, and M. Yoder. DSP First : a Multimedia Approach. Prentice Hall, 1998.
[OS75]

A. V. Oppenheim and R. W. Schafer. Digital Signal Processing. Prentice-Hall, 1975.

[OS99]

A. V. Oppenheim and R. W. Schafer. Discrete-Time Signal Processing, second


edition. Prentice-Hall, 1999.

[PB87]

T.W. Parks and C.S. Burrus. Digital Filter Design. Topics in DSP, John Wiley &
Sons, 1987.

[PM73]

T.W. Parks and J.H. McClellan. A unified approach to the design of optimum linear
phase digital filters. IEEE Transactions on Circuit Theory, 20 :697701, Nov. 1973.

[PM96]

J. Proakis and D. Manolakis. Digital Signal Processing : Principles, Algorithms and


Applications. Prentice Hall, 1996.

[Poa97]

B. Poart. A Course in Digital Signal Processing. John Wiley & Sons, 1997.

[SS88]

R. David S. Stearns. Signal Processing Algorithms. Prentice Hall, 1988.

185

186

Bibliographie

Annexe A

Examens

187

188

A.1

Examens

DS novembre 2001

ENSSAT EII2

DS Traitement Numrique du Signal


Tous documents autoriss
Vendredi 30 novembre 2001

ENSSAT
ENSSAT

Problme 1 : Synthse dun filtre rjecteur-de-bande ( 7 points)


1. On souhaite raliser un filtre rjecteur de bande RIF phase linaire, de frquences de
coupure 1 = 0 c et 2 = 0 + c . On prendra 0 = /4 et c = /8. Reprsenter
lamplitude et la phase de H(ej ) sur lintervalle [, ].
2. Prvoir le type de la rponse impulsionnelle ainsi que la parit de sa longueur N .
3. Donner lexpression des coefficients h(n) de la rponse impulsionnelle du filtre idal.
4. On souhaite transformer h(n) en un filtre causal phase linaire, de longueur finie N la
plus petite possible, respectant le gabarit ci-dessous figure A.1. Comment sy prendre ? Quelle
valeur de N choisir ?

Fig. A.1: Gabarit du filtre rjecteur de bande


5. On cherche maintenant raliser un filtre RII respectant ce gabarit, tel que la phase reste
proche de la linarit. Quel type de filtre choisir ?
6. Ce filtre RII est synthtis par la mthode de la transformation bilinaire. La frquence
dchantillonnage est fixe 8kHz. On veut bien sur que ce le filtre numrique entre dans le
gabarit de la figure A.1.
Dessiner le gabarit analogique quivalent.
En dduire le gabarit du prototype passe-bas.

A.1 DS novembre 2001

189

Dterminer lordre et donner la fonction de transfert normalise HN (p).


Exprimer la fonction de transfert H(p) du filtre analogique quivalent en fonction de la
largeur de bande analogique B et de la pulsation centrale analogique centr .
7. Soit H(z) la fonction de transfert du filtre numrique obtenu par transformation bilinaire
partir de H(p). Sans faire de calcul, pouvez-vous dire si le filtre RII ainsi obtenu sera plus
intressant que la ralisation RIF prcdente, en terme de complexit ?

Problme 2 : Implantation dun RII en virgule fixe ( 8 points)


Nous souhaitons implanter un filtre passe-bas de type Butterworth dont la fonction de transfert H(z) est dfinie lquation A.1. Soit x(n) lentre de ce filtre et y(n) sa sortie. Nous
considrons que lentre x(n) est comprise dans lintervalle ] 1, 1[.
H(z) =

0.2 + 0.4z 1 + 0.2z 2


1 0.4z 1 + 0.2z 2

(A.1)

Le processeur utilis est un DSP de type TMS320C50. Les diffrentes caractristiques de ce


processeur sont les suivantes :
les calculs sont raliss en double prcision ;
les donnes en entre du multiplieur sont codes sur 16 bits et la sortie sur 32 bits ;
les donnes en entre et en sortie de ladditionneur sont codes sur 32 bits ;
les donnes sont stockes en mmoire sur 16 bits.
Pour simplifier le fonctionnement du processeur nous considrons que nous possdons une
instruction assembleur permettant de charger une donne stocke en mmoire sur 16 bits dans
la partie haute de laccumulateur et une instruction permettant de transfrer directement le
contenu de la partie haute de laccumulateur vers la mmoire.
Nous considrons que le bit de signe redondant en sortie de la multiplication est automatiquement limin.
1. Nous considrons une donne issue dun processus de quantification et possdant le format
(b, m, n)1
Dterminer lexpression du pas de quantification associ cette donne.
En dduire la puissance du bruit de quantification associ cette donne en considrant
que le mode de quantification utilis est larrondi.
Structure directe non canonique
2. Nous utilisons une structure directe non canonique pour implanter ce filtre. Donner la structure de ralisation de ce filtre (graphe flot de signal).
3. Pour tudier la dynamique de la sortie du filtre nous utilisons la norme de Chebychev.
Dmontrer que la dynamique de la sortie du filtre y(n) est infrieure 1 (y ] 1, 1[).
1

b reprsente le nombre total de bits utiliss pour coder la donne, m reprsente le nombre de bits pour la
partie entire et n reprsente le nombre de bit pour la partie fractionnaire

190

Examens

4. En dduire le codage des donnes et des coefficients. Pour ajuster les formats nous ralisons
un recadrage des coefficients.
5. Nous considrons que le signal dentre est issu de la quantification dun signal analogique.
Aprs avoir identifi les diffrentes sources de bruit vous dterminerez lexpression et la valeur
numrique de la puissance de chaque source de bruit. En dduire lexpression de la puissance
du bruit en sortie du filtre.
6. Dterminer lexpression de la puissance du bruit en sortie du filtre dans le cas dune architecture ne permettant que de raliser des calculs en simple prcision (tous les chemins de
donnes sont limits 16 bits).
Structure canonique transpose
7. Nous utilisons maintenant une structure canonique transpose pour implanter ce filtre. Donner la structure de ralisation de ce filtre (graphe flot de signal).
8. Nous allons dterminer la dynamique des donnes en sortie de chaque additionneur. Daprs
les rsultats obtenus la question 3, la dynamique de la sortie de ladditionneur gnrant y(n)
est infrieure 1. Pour les deux autres additionneurs nous allons dterminer le domaine de
dfinition de leur sortie en se plaant dans le pire cas. Dterminer la dynamique des sorties
des deux additionneurs partir de celle de x(n) et de y(n) en se plaant dans le pire cas.
9. En dduire le codage des donnes et des coefficients. Nous souhaitons sauvegarder en mmoire le rsultat des additions avec le maximum de prcision, ainsi, vous pouvez insrer des
oprations de dcalage si cela est ncessaire. (Remarque : chaque coefficient peut possder son
propre codage).
10. (Question subsidiaire) Analyser le comportement de cette structure en terme de bruit par
rapport la structure directe non canonique (sans faire de calcul). Quelles sont les principales
diffrences avec la structure prcdente ?

Problme 3 : Zoom sur TFD ( 5 points)


Dans ce problme nous allons tudier une mthode permettant de faire un zoom sur une zone
frquentielle particulire. A partir des N points dune TFD XN (k) dun signal x(n) chantillonn Fe = 1M Hz, on souhaite donc effectuer un zoom sur la rgion [c , c + ]
et obtenir L points avec interpolation de cette zone.
La mthode est rsume dans le schma figure A.2. A partir des N points de la TFD XN (k),
x(n) est calcul par TFD inverse, puis multipli par f (n) = ejc n et filtr passe-bas par
h(n) pour former x1 (n), dcim par un facteur M pour obtenir x2 (n). Le spectre zoom est
alors obtenu par une TFD sur P points (P L) partir du signal xZ (n) form de x2 (n)
ventuellement complt par des zros. Le filtre h(n) est un filtre passe bas idal de frquence
de coupure dfini par :

0 pour < et <


j
H(e ) =
1 pour

A.2 DS dcembre 2000

191

!
"

Fig. A.2: Schma de principe de la zoom transform

Fig. A.3: TF du signal x(n)

1. Soit X(ej ) la TF du signal x(n), exprimez la TF du signal x0 (n). Quelle opration a t-on
effectu sur le signal x(n) ? Reprsenter le spectre X0 (ej ) du signal x0 (n) et celui de x1 (n)
si on considre que X(ej ) la TF du signal x(n) est celle de la figure A.3.
2. Quelle valeur de M doit on prendre au mieux ? Expliquer votre choix et donner sa valeur
en fonction des diffrents paramtres de la chane de traitement. Quelle est la nouvelle valeur
de frquence dchantillonnage aprs traitement ? Combien de points composent la suite x2 (n)
(on posera O pour la suite) ?
3. Exprimer (sans chercher en calculer le rsultat) la TFD de x2 (n). Le bloc suivant ajoute
P O zros la fin du signal x2 (n). On a : xZ (n) = {x2 (n)}{0 . . . 0}. Exprimer la TFD XZ (k)
de xZ (n) et trouver une relation avec X2 (k). Expliquer le rsultat obtenu. Reprsenter XZ (k)
entre 0 et P 1.
4. Donner la complexit de chaque bloc puis de la chane complte. On considrera que N = 2n ,
P = 2p et que le filtre h(n) est un filtre RIF avec K coefficients.
Pour les rponses aux questions prcdentes vous prendrez les valeurs numriques suivantes :
N = 256, P = L = 256, K = 128, c = /3, = /4.

A.2

DS dcembre 2000

ENSSAT EII2

DS Traitement Numrique du Signal


Tous documents autoriss
Mercredi 20 dcembre 2000

ENSSAT
ENSSAT

192

Examens

Problme 1 : Synthse dun filtre RIF passe-bande ( 9 points)


On dsire raliser un filtre RIF passe-bande phase linaire dont la rponse en frquence idale
H(ej ) possde une bande passante tendue entre les pulsations de coupure normalises :
cl = /3 et ch = 2/3.
1. Dessiner le module du filtre idal H(ej ) entre et 2. Dans le cas o la frquence
dchantillonnage est fixe 20kHz, quelles sont les frquences de coupure du filtre passe
bande.
2. Calculer la rponse impulsionnelle h(n) du filtre idal H(ej ). Application numrique
pour 8 n +8. Comment modifier h(n) pour que le filtre prsente une phase linaire
() = , avec > 0.
3. On souhaite approcher ce filtre idal par un filtre rponse impulsionnelle finie, synthtis par la mthode du fentrage. Comment obtenir, partir de h(n), un filtre causal,
de longueur N impaire, phase linaire, tel que : - la largeur de sa bande de transition soit infrieure pi/4, - lattnuation hors bande soit suprieure 40 dB. Calculer
ses coefficients h1 (n). (Remarque : les valeurs des coefficients des fentres sont donnes
en fin de page.
4. On remplace le fentrage prcdent par un fentrage rectangulaire sur 9 points. Quelles
sont alors lattnuation hors bande et la largeur de la bande de transition du filtre ainsi
synthtis ?
On appelle h2 (n) ce filtre. Expliquer pourquoi le filtre quivalent la mise en cascade
de deux ralisations de h2 (n) respecte les spcifications de la question 3 (largeur de la
bande de transition et attnuation hors bande).
5. Le signal en entre est issu dun convertisseur analogique numrique et cod en virgule fixe cadre gauche, sur b bits utiles. On considrera donc que le signal dentre
est affect dun bruit de quantification. Toutes les oprations sont ralises en simple
prcision.
Reprsenter le filtre h2 (n) sous forme directe.
Calculer, en fonction de b, la puissance totale de bruit en sortie du filtre h2 (n), en
dduire la puissance totale de bruit en sortie du filtre constitu par la mise en cascade
de deux ralisations de h2 (n).
Calculer la puissance totale de bruit en sortie du filtre h1 (n).
Aprs calcul des applications numriques, comparer les puissances de bruit des deux
structures. Conclure.
(Remarque : si vous navez pas trouv les coefficients des filtres des premires questions,
le problme peut tre trait de manire analytique en utilisant les coefficients h1 (n) et
h2 (n).)

Problme 2 : Etude dun filtre RII ( 4 points)


Soit le filtre numrique RII du premier ordre suivant : y(n) = (1 b).x(n) + b.y(n 1), avec
0 < b < 1.
1. Dterminer la fonction de transfert en z H(z), puis la rponse frquentielle H(ej ) de
ce filtre.

A.2 DS dcembre 2000

193

2. Donner les valeurs de |H(ej )| en = 0 et = . Quel type de filtre est ralis ?


3. Dterminer la relation entre la pulsation de coupure normalise -3dB c et le coefficient
b.
4. Pour une frquence dchantillonnage de 8kHz, on veut que ce filtre ait une frquence
de coupure -3dB 1kHz. Quelle est la valeur de b ?
5. Que deviennent les coefficients du filtre lorsquon les code en virgule fixe cadre gauche
sur 4 bits, puis 8 bits. Que devient, dans les 2 cas, la valeur de la frquence de coupure ?
6. Daprs lquation y(n) = (1 b).x(n) + b.y(n 1), si x(n) est cod en virgule fixe cadre
gauche, sous quelle condition peut on garantir que le filtre ne dborde pas.

Problme 3 : Algorithme de Bluestein ( 3 points)

0 pour
n>N 1
2
ejn /N pour 0 n N 1
On lutilise dans la chane de traitement numrique du signal dfinie par la figure A.4, avec
2
f (n) = g(n) = ejn /N , et x(n) un signal de dure finie N .

Soit le filtre numrique dont la rponse impulsionnelle est : h(n) =

x(n)

e(n)

s(n)
h(n)

f(n)

y(n)

g(n)

Fig. A.4: Filtrage de Bluestein


1. Dmontrer que cette chane algorithmique de TNS est quivalente un autre algorithme
bien connu de tous. Pour cela, exprimer y(n) en fonction de x(n).
2. Calculer la complexit en nombre dopration de lalgorithme pour le calcul dun point
du signal de sortie.
3. Donnez les avantages de cette solution dans le cas dun flot continu du signal x(n) par
rapport la version classique.

Problme 4 : Conception dun filtre RII ( 4 points)

Soit le filtre analogique dfini par H(p) = 1p


1+p . On dsire raliser un filtre numrique quivalent
par la mthode de la transformation bilinaire.
1. Dessiner et calculer le module et largument de la rponse frquentielle du filtre analogique H(j).
Quel type de filtre ralise H(p) ?
Quelle est la valeur de pour laquelle la phase du filtra analogique vaut /2 ?
2. Dterminer la fonction de transfert Hb (z) du filtre numrique.
3. Calculer Hb (ej ) pour une priode dchantillonnage T = 0.5.
4. Calculer le module et la phase de Hb (ej ) pour = 0 et .
5. Expliquer comment trouver la valeur de pour laquelle la phase du filtre numrique
vaut /4 ?
n
0
1
2
Triangle
0
0.125
0.25
Hamming 0.08 0.1150154 0.2147309
Blackman
0
0.0146288 0.0664466
Valeurs de diffrentes fentres pour N = 17

3
0.375
0.3639656
0.1720897

4
0.5
0.54
0.34

5
0.625
0.7160344
0.5547732

6
0.75
0.8652691
0.7735534

7
0.875
0.9649846
0.9385083

8
1
1
1

194

A.3

Examens

DS janvier 2000

ENSSAT EII2

DS Traitement Numrique du Signal


Tous documents autoriss
Vendredi 7 janvier 2000

ENSSAT
ENSSAT

Problme 1 : Synthse de filtre RIF ( 7 points)


On dsire raliser un filtre RIF dont la rponse sapproche du filtre idal dfini ci dessous.

c
j pour

j
pour c < < c
j
H(e ) =
c
j pour
c
1. Reprsenter le pseudo-module et la phase de H(ej ).
2. Prvoir le type de la rponse impulsionnelle h(n), ainsi que la parit de N.
3. Donner lexpression des termes h(n) de la rponse impulsionnelle pour c = /2.
Dessinez h(n) pour n = 4... + 4.
4. On veut raliser un filtre RIF Ha (z) phase linaire dont la rponse impulsionnelle
ha (n) est h(n) limite N points sans pondration. Indiquez comment obtenir ce filtre
RIF. Dessinez ha (n) dans le cas ou N=7.
5. Donner les expressions du pseudo-module Aa (ej ) et de la phase a ().
6. Dessiner lallure de Aa (ej ) dans le cas prcdent ainsi que dans le cas o on pondrerait
h(n) par une fentre de Hamming. Expliquez vos rsultats.

Problme 2 : Etude dun filtre RIF ( 9 points)


Soit le filtre numrique RIF phase linaire suivant : y(n) = b0 .x(n) + b1 .x(n 1) + b2 .x(n 2)
1. Dterminer la fonction de transfert en z H(z), puis la rponse frquentielle H(ej ) de
ce filtre.
2. Dterminer les coefficients du filtre prcdent pour quil rejte compltement une composante frquentielle 0 = 2/3, et que sa rponse frquentielle soit normalise telle que
H(0) = 1.
3. Dterminer la rponse frquentielle H(ej ) du filtre trouv pour vrifier sil respecte bien
les spcifications prcdentes.
4. Que deviennent les coefficients bi lorsquon les code en virgule fixe cadre gauche sur
4 bits. Les conditions de la question 2 sont elles toujours remplies ?

Etude de limplmentation dun filtre RIF


5. Dessiner la structure directe du filtre prcdent H(z) dans le cas o b0 = 1.

A.3 DS janvier 2000

195

f0(n)

x(n)

f1(n)

g1(n)

1
g0(n)

f2(n)

g2(n)

Fig. A.5: Filtre en structure treillis


6. Donner la puissance du bruit en sortie en fonction du bruit en entre sur une machine
simple prcision.
7. Exprimer les signaux fi (n) et gi (n) en fonction de fi1 (n) et gi1 (n). On appelle ce
bloc (figure A.5) une structure lmentaire de treillis. En dduire lexpression de f2 (n)
et g2 (n) en fonction de x(n).
8. Exprimer les coefficients 1 et 2 en fonction de b1 et b2 pour que
ces conditions exprimez

G2 (z)
X(z)

F2 (z)
X(z)

= H(z). Dans

en fonction de H(z 1 ).

9. Donner la puissance du bruit en sortie sur les signaux fi (n) et gi (n) en fonction du bruit
sur les entres de la cellule treillis, toujours sur une machine simple prcision.
10. En dduire la puissance du bruit sur la sortie f2 (n) du filtre.
Dans le cas o les coefficients b1 et b2 valent tous deux 0.33, comparez les puissances de
bruit de calcul en sortie des deux structures directe et treillis. Que peut on en conclure ?
11. Donner la complexit en nombre doprations arithmtiques des deux structures dans le
cas o la rponse impulsionnelle de ce filtrage est tndue sur N points. Donner ensuite
le temps de cycle dun processeur de traitement du signal capable de raliser en temps
rel ce filtrage de taille 1024 sur un signal chantillonn 20 kHz.

Problme 3 : Analyse spectrale ( 4 points)


1. Donner la transforme de Fourier dune fentre rectangulaire (cest dire un signal
valant 1 pour n = 0 . . . N 1 et 0 ailleurs) de taille N et le module de celle ci |W (ej )|.
Tracer ce dernier entre [0 . . . 2].
2. Nous avons vu en cours que le lobe principal dune telle fonction a une largeur de
4/N , et que le second lobe possde une attnuation de -13dB. On notera galement
que lamplitude du lobe principal |W (0)| = N . Quelle est approximativement la valeur
de lattnuation du plus petit lobe, cest dire la valeur du rapport entre lamplitude
maximale de ce lobe et celle du lobe principal.

k0
k1
On considrera dans la suite le signal x(n) = sin 2 128
n + 0.001sin 2 128
n .
3. Dessiner le rsultat dune analyse spectrale par TFD sur N=128 points du signal x(n)
si k0 = 6 et k1 = 56 sont des entiers.
4. Tracer maintenant approximativement le cas ou k0 = 6.3 et k1 = 56. Expliquer pourquoi
une fentre rectangulaire ne permet pas de dtecter correctement la deuxime composante de x(n).
5. Des fentres de Hanning et de Hamming, laquelle est la meilleure pour cette analyse.
Dans ce dernier cas, quel doit tre lcart minimum entre k0 et k1 pour distinguer les
deux composantes.

196
Rb
a

Examens

u.v 0 = [u.v]ba

A.4

Rb
a

u0 .v

DS mars 1999

ENSSAT EII2

DS Traitement Numrique du Signal


Tous documents autoriss
2 mars 1999

ENSSAT
ENSSAT

Problme 1 : Filtrage numrique (17 pts)


Le but de ce problme est de comparer la synthse de filtres numriques rponse impulsionnelle infinie et finie par les mthodes bilinaires et de fentrage. Le filtre raliser est
un filtre passe-haut dont les caractristiques sont : ondulation en BP 1 = 3dB, attnuation 2 = 20dB, frquence de coupure 3dB fc = 2, 5kHz, frquence en bande attnue
fa = 1kHz, frquence dchantillonnage fe = 10kHz.
Les question suivantes sur les deux types de filtre peuvent tre traites sparment. Les questions sur le bruit de calcul peuvent tre traites sans ncessairement avoir russi le dbut du
problme.
1. Synthse de filtre RII par la mthode bilinaire (8 pts)
Aprs avoir trac le gabarit du filtre numrique, donnez les gabarits analogique et passe
bas normalis correspondants. En dduire lordre et la fonction du filtre de butterworth
normalis Hn (p).
2. Aprs dnormalisation du filtre passe-haut H(p), donnez la fonction de transfert Hbi (z)
du filtre numrique entrant dans le gabarit numrique de dpart.
3. Donnez lquation aux diffrences et dessinez la structure canonique du filtre.
4. Quelle est la complexit en oprations et mmoire de ce filtre ? Expliquez vos rsultats.
5. Etude des bruits de calcul du filtre RII On considrera que le signal en entre est
bruit (bruit de puissance q 2 /12), et que la puissance du signal nest pas modifie aprs
filtrage. Donnez la puissance du bruit en sortie du filtre lorsque :
tous les chemins de donnes sont limits b bits (simple prcision),
les oprations seffectuent en double prcision, mais toutes les sauvegardes en mmoire
sont effectues sur b bits. Pour ce deuxime cas, vous expliquerez clairement votre
raisonnement, et o se situent les quantifications.
6. Application numrique On approximera la rponse frquentielle du filtre par le filtre
idal de frquence de coupure fc . Donnez la valeur de la puissance du bruit en sortie
lorsque b = 8 bits.
7. Synthse de filtre RIF par fentrage (6 pts)

A.4 DS mars 1999

8.

9.
10.
11.

197

On considrera pour la synthse un filtre passe-haut idal de frquence de coupure fc .


Aprs avoir trac de manire prcise le filtre idal, calculez h(n), puis donnez ses valeurs
pour n = [4 . . . + 4]. Il vous faudra calculer h(0) de manire isole (h(0) > 0).
En fonction de lattnuation et de la slectivit, quel type de fentre faut il utiliser, et
quelle est la longueur N dun filtre RIF dont la phase serait linaire ? Tracez sa rponse
impulsionnelle ha (n) et donnez sa fonction de transfert en z Ha (z).
Donnez lquation aux diffrences et dessinez la structure directe du filtre.
Quelle est la complexit en oprations et mmoire de ce filtre. Expliquez vos rsultats.
Etude des bruits de calcul du filtre RIF On se placera dans les mmes conditions
quau 1.5. Donnez la puissance du bruit en sortie du filtre lorsque :
tous les chemins de donnes sont limits b bits (simple prcision),
les oprations seffectuent en double prcision, mais toutes les sauvegardes en mmoire
sont effectues sur b bits. Pour ce deuxime cas, vous expliquerez clairement votre
raisonnement, et o se situent les quantifications.

12. Comparaison des filtres RII et RIF (3 pts)


Calculez les rponses frquentielles Hbi (ej ) et Ha (ej ).Tracez lallure de chacune des
rponses frquentielles. Expliquez les principales diffrences entre les rsultats.
13. Comparez de manire qualitative les complexits et bruits de calcul des deux types de
filtre.
14. Comparez rapidement les problmes de dbordement des deux solutions RII et RIF.
Remarques : si les coefficients des filtres ne sont pas obtenus aux questions 1.3 et 1.9, un filtre
RII du deuxime ordre gnrique et un filtre RIF de longueur N gnrique peuvent tre utiliss
dans les dernires questions.

Problme 2 : Transforme en cosinus discret (3 points)


Une version de la TCD dun bloc de N chantillons peut tre donne par la formule suivante :
XC (k) =

N
1
X
n=0

x(n).cos

2(4n + 1)k
4N

,k = 0...N 1

1. Quelle est la complexit de la TCD. Justifiez votre rponse.


2k
2. Dmontrer que XC (k) = cos( 2k
4N )Re[X(k)] + sin( 4N )Im[X(k)] o X(k) est la TFD de
x(n).
3. Peut on en dduire une version "rapide" de la TCD. Quelle est sa complexit (oprations
et mmoire) ? Pour quelle valeur de N cette solution est elle plus efficace ?
|1 ej | = |2sin(/2)|

cos(a + b) = cosa.cosb sina.sinb

198

Examens

A.5

Correction du DS de novembre 2001

Problme 1 : Synthse dun filtre rjecteur-de-bande ( 9 points)


1. RIF phase linaire rjecteur de bande.
2. Type I : RI symtrique, N impair.
3. h(n) = (n)

2c
sinc(nc )cos(n0 ).

4. La phase linaire implique un dcalage de =


N = 11.

N 1
2 .

La fentre rectangulaire convient.

5. RII de type Bessel.


6. Filtre RII :
Mme gabarit que prcdemment mais avec prdistorsion. Les nouvelles pulsation des
bandes passantes et attnues sont dans lordre : 628.6rad/s, 5903rad/s, 7376rad/s, 14790rad/s
Voir figure A.6 gauche. 1/s = 9.6 ordre2.
1
HN (p) Bessel : HN (p) = 0.618p2 +1.3613p+1
.
H(p) = HN ( p/centr B
+centr /p ) =

2
(p2 +centr
)2
2
3
2
2
2
3
0.618centr B p +1.3616B(centr p +centr
p)+(p2 +centr
)2

7. H(p) dordre 4 H(z) dordre 4 9 MAC. RIF de longueur 11 11 MAC. RII moins
complexe.
5

RIF

|HN(p)|dB
-5

+3
0
-3

-10

1/s

RII
-15

-20

-20
-25

-30
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Fig. A.6: Gabarit et rponses frquentielles des filtres RII et RIF

Problme 2 : Implantation dun RII en virgule fixe ( 8 points)


1. Pas de quantification q = 2n , puissance du bruit b2 =

q2
12

22n
12 .

3. Daprs les proprits des filtres de Butterworth : le gain maximal est obtenu pour = 0
et il est gal 1. Donc nous obtenons max (|H()|) = 1
4. Format des donnes :
x : (16,0,15), y : (16,0,15)
format de ladditionneur (32,0,31)
ai : (16,0,15), bi : (16,0,15)
5. Deux sources de bruit lorsque nous sommes en double prcision :
q2
avec q = 215
quantification du signal dentre : b2e = 12

A.5 Correction du DS de novembre 2001

199

renvoi de la sortie de ladditionneur en mmoire b2ADD =

b2y

q2
=
12

1
2

H(ej )2 d + 1
2

avec
HD (z) =

q2
12

avec q = 215

HD (ej )2 d

(A.2)

(A.3)
1
+ 0.2z 2
6. En simple prcision nous avons 1 source de bruit en sortie de chaque multiplication :
Z

1
5
q2
2
j 2
j 2

(A.4)
by =
H(e ) d +
HD (e ) d
12 2
2
0.4z 1

8. Dynamique de la sortie des additionneurs ADD2 et ADD1


s2 (n) = a2 y(n 2) + b2 x(n 2) dou s2 ] 0.4, 0.4[
s1 (n) = a1 y(n 1) + b1 x(n 1) + s2 (n 1) dou s1 ] 1.2, 1.2[
9. Format des donnes :
ADD2 : (32,-1,32), s2 :(16,-1,16), a2 : (16,-1,16), b2 : (16,-1,16)
ADD1 : (32,1,30), s1 :(16,1,14), a1 : (16,1,14), b1 : (16,1,14), la donne s2 est dcale
droite de deux bits lors de son chargement dans laccumulateur
ADD0 : (32,1,30), b0 : (16,1,14), la sortie de ADD0 est dcale gauche de 1 bit pour son
renvoi en mmoire dans y.
10. La puissance du bruit dans cette structure est plus leve pour deux raisons :
la sortie de chaque additionneur est renvoye en mmoire sur 16 bits
la puissance de la source de bruit en sortie de ADD1 est plus leve b2ADD1 =

228
12

Problme 3 : Zoom sur TFD ( 5 points)


1. X0 (ej ) = X(ej(+c ) )

Fig. A.7: TF des signaux x0 (n) et x1 (n)

2. Le signal x1 (n) est compos de N points. Aprs dcimation dun facteur M , le signal x2 (n)
est compos de O = N/M points. La valeur de M est limite par le thorme de Shannon. La bande maximale du signal x2 (n) est [, +]. Par consquent, la nouvelle valeur
de frquence dchantillonnage aprs traitement peut tre ramene : Fe0 = 2Fe /2 =
250kHz, M = / = 4, 0 = 64.

200

Examens

P
PO1
j2kn/O . X (k)
j2kn/P . X (k) est donc galement la
3. X2 (k) = O1
Z
Z
n=0 x2 (n)e
n=0 x2 (n)e
TFD de x2 (n), mais possdant plus de points. Globalement, on obtient donc bien un zoom
sur la partie souhaite.
4. Complexit dune FFT + N multiplications dun rel par un complexe + un filtrage RIF
K coefficients + complexit dune FFT.

A.6

Correction du DS de dcembre 2000

Problme 1 : Synthse de filtre RIF

1. Les frquences de coupure valent 3.33kHz et 6.66kHz. La frquence centrale vaut 5kHz.
2. h(n) = 2
sinc(nc ).cos(n0 ) avec 0 = /2 et c = /6.
n
h(n)

0
0.33333

1
0

2
-0.2756644

3
0

4
-0.1378322

5
0

6
0

7
0

8
-0.0689161

Pour obtenir une phase linaire il suffit de dcaler h(n) de .


3. Lattnuation de 40dB implique une fentre de hamming, hanning ou blackman. Hamming est optimale dans notre cas. On a donc = /4 = 4/N N 16. On prendra
donc N = 17. Soit w(n) la fentre de Hamming, h1 (n) = h(n ).w(n).
n
h1 (n)

0
0.333333

1
0

2
-0.2385239

3
0

4
0.0744294

5
0

6
0

7
0

8
-0.0055133

Dans le cas dun fentrage rectangulaire sur 9 points, lattnuation vaut -21dB, mais la
bande de transition vaut toujours /4. La mise en cascade permet alors de retrouver les
spcifications initiales de la question 3.
4. Le filtre h2 possde 5 multiplications, tandis que h1 en possde 7.
P
= 5.30q 2 /12
h22 = 5q 2 /12 + q 2 /12 n h22 (n)
P
2
2
2
h22 .h2 = 5q 2 /12 + 5.30q
P /122 n h2 (n) =2 6.59q /12
2
2
2
h1 = 7q /12 + q /12 n h1 (n) = 7.24q /12
La structure cascade est moins bruyante.

A.6 Correction du DS de dcembre 2000

201
Filter spectrum
magnitude

0.7

0.6

-10

0.5

-20

0.4

-30

0.3

-40

0.2

-50

0.1

-60

-70

-0.1

-80

-0.2

-90

-0.3

-100
1

11

13

15

17

frequency

0.1

0.2

0.3

0.4

h1 (n)

0.5

0.6

0.7

0.8

0.9

1.0

H1 ()

Filter spectrum

Filter spectrum

magnitude

magnitude

10

10
-10

-30
-10
-50
-20

-70

-30

-90
-110

-40

-130
-50
-150
-60
frequency
-70

-170

frequency

-190
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

H2 ()

Problme 2 : Etude dun filtre RII


1. H(z) =

1b
,
1b.z 1

H(ej ) =

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

H2 ().H2 ()

1b
1b.ej

1b
1+b . On a un filtre passe-bas.
2
2
(1b)
|H(ej )|2 = (1b cos )2 +b2 sin2 = 1+b(1b)
2 2b cos
On cherche c tel que |H(ejc )|2 = 12 .
2
cosc = 14b+b
2b

2. |H(0)| = 1, |H()| =
3.

4. c = 2fc /fe = /4 b = 0.4733977


5. Sur 4 bits : b = 0.5 : 0, 100 cosc = 0.75 c = 0.7227342 fc = 920.2
Sur 8 bits : b = 0.4765625 : 0, 0111101 cosc = 0.7125384 c = 0.7776869 fc =
990.2
6. Le filtre ne dbordera pas car la somme des coefficients (1 b et b) vaut 1.

Problme 3 : Algorithme de Bluestein

P 1
PN 1
2
2
2
1. e(n) = x(n).ejn /N , s(n) = N
e(k).h(n k) = k=0
x(k).ejk /N .ej(nk) /N
k=0
PN 1
2
s(n) = k=0 x(k).e2jn.k/N .ejn /N
P 1
2jn.k/N = T F D[x(n)]
y(n) = N
k=0 x(k).e

2. (2) + (4 +2N +2(N 1)) + (4 +2) : (4N + 6) et 4N

202

Examens

3. Dans le cas dun flot continu, cette TFD glissante vite le retard de N points du traitement par blocs de la TFD classique.

Problme 4 : Conception dun filtre RII


1. |H(j)| = 1, Arg[H(j)] = 2arctg(). Il sagit dun filtre dphaseur pur. La phase
vaut /2 en = 1.
2. Hb (z) =

3+5.z 1
53.z 1

3. Hb (ej ) =

T 2+(T +2).z 1
T +2+(T 2).z 1

3+5.ej
53.ej

4. |Hb (ej )| = 1, Hb (0) = 1, Arg[Hb (0)] = 0, Hb () = 1, Arg[Hb ()] =


5. Il faut utiliser la formule de distorsion bilinaire. La nouvelle valeur de pulsation 0 pour
laquelle la phase vaut /2 est donne par 0 .T /2 = arctg(.T /2), 0 = 4.arctg(0.5/2) =
0.9799147.

A.7

Correction du DS de janvier 2000

Problme 1 : Synthse de filtre RIF (8 points)


1. Attention, le pseudo-module et la phase sont sans discontinuit.
2. type 3 : RI antisymtrique, N impair.
n

sin(nc )
3. h(n) = (1)
n n2 c
h(0) = 0
h(n) pour n = 4... + 4 = [-0.0796 0.0836 -0.1592 0.521 0 -0.521 0.1592 -0.0836 0.0796].

4. Dcalage de h(n) de N 1/2.


5. Aa (ej ) = 2.[ha (0).sin3 + ha (1).sin2 + ha (2).sin]
a () = /2 3
6. moins doscillation en bande passante mais bande de transition plus troite.

Problme 2 : Etude dun filtre RIF (8 points)


1. H(z) = b0 + b1 z 1 + b2 z 2 ,H(ej ) = b0 + b1 ej + b2 e2j
2. b0 = b1 = b2 = 1/3
3. H() = 1/3ej (1 + 2cos()), H(2/3) = 0
4. Les coefficients bi valent 0.375, H(0) = 1.125
5. Voir cours
6. 2q 2 /12 + e2 (1 + b21 + b22 ) = 0, 268q 2
7. f0 (n) = x(n), g0 (n) = x(n)
f1 (n) = f0 (n) + 1 .g0 (n 1), g1 (n) = g0 (n 1) + 1 .f0 (n)
f2 (n) = x(n) + 1 (1 + 2 ).x(n 1) + 2 .x(n 2)
8. 2 = b2 , 1 = b1 /(1 + b2 ),

G2 (z)
X(z)

= z 2 .H(z 1 )

9. f2i = f2i1 + g2i1 .2i + q 2 /12


10. f21 =
f22 =

q2
q2 2
q2
q2
2
12 + 12 .1 + 12 = g1 = 2, 06 12
q2
q2
= g21 = 3, 29 12
f21 + f21 .22 + 12

A.8 Correction du DS de mars 1999

203

11. Structure directe : N multiplications, N-1 additions, N cycles, T cycle < 49ns
Structure treillis : 2N multiplications, 2N additions, 2N cycles, T cycle < 24ns

Problme 3 : Analyse spectrale (4 points)


1. W () = ej(N 1)/2 sin(N/2)
sin(/2)
2. 1/128
3. Une raie en k=6 damplitude 1/2 et une raie damplitude 0.001/2 en k=56, compltes
par leur symtrique par rapport N/2.
4. Si k0 nest plus entier, on trouve des rsidus des lobes de la fentre qui viennent masquer
la raie de faible amplitude.
5. Hamming videmment. Lcart minimum est la largeur dun lobe soit dans ce cas 8/N .

A.8

Correction du DS de mars 1999

Correction du Problme 1
1. Synthse de filtre RII par la mthode bilinaire Le gabarit du filtre passe haut
doit tre recalcul afin de tenir compte de la prdistorsion. fc et fa doivent tre modifies
)
par f 0 = tg(.f.T
, et donnent respectivement 1034 Hz et 3183 Hz. Le filtre prototype
.T
quivalent est un passe-bas de slectivit 3.08, ce qui donne un filtre du deuxime ordre.
2. Passe-haut normalis Hn (p), la dnormalisation seffectue par rapport wc0 = 20000rad/s,
wc0 .T = 2
Hn (p) =
H(p) =
H(z) =
H(z) =
H(z) =

p2

p2 + 2p + 1
p2

p2 + 2p.wc0 + wc0 2
4(1 z 1 )2

(4 + 2 2wc0 .T + 4) + (4 2 2wc0 .T + 4)z 2


1 2z 1 + z 2
3.414 + 0.586.z 2
0.29(1 2z 1 + z 2 )
1 + 0.171z 2

3. y(n) = 0.29x(n) 0.58x(n 1) + 0.29x(n 2) 0.17y(n 2)


4. 4 multiplications, 3 additions, 2 cases mmoire.
5. Etude des bruits de calcul du filtre RII
Les multiplications sont sources de bruit. Certaines sont injectes en entre, dautres
directement sur la sortie.
Z
q2
q2 1
Ps = 3 + 2
|H(ej )|2 d
12
12 2

204

Examens

Ici les bruits sont gnrs par les mmorisations. Le bruit est donc gnr avant les
registres (en sortie du premier additionneur) et peut tre ramener sur lentre. Un
bruit est galement gnr sur la sortie (du au filtrage RIF).
Z
q2
q2 1
0
Ps =
+ 2. .
|H(ej )|2 d
12
12 2
R
1
j 2
6. Application numrique Dans ce cas 2
|H(e )| d 1/2
Ps =

q2
q2
, Ps0 = 2.02
3
12

7. Synthse de filtre RIF par fentrage


Z
1
h(0) =
d = 1 c / = 1/2
2
Z
1
sinnc
1
|H(ej )|2 d =
= sinc(n/2)
h(n) =
2
n
2
n
h(n)

0
1/2

1
-0.32

2
0

3
0.106

4
0

8. Une fentre rectangulaire est suffisante (en thorie). Sa slectivit vaut f = fe /N =


1500Hz N = 7.
Ha (z) = 0.106 0.32z 2 + 0.5z 3 0.32z 4 + 0.106z 6
9. y(n) = 0.106x(n) 0.32x(n 2) + 0.5x(n 3) 0.32x(n 4) + 0.106x(n 6)
10. 5 multiplications, 4 additions, 6 cases mmoire.
11. Etude des bruits de calcul du filtre RIF
q2
Ps = 5 12
q2
Ps = 12
12.
Hbi (ej ) =
|Hbi (ej )|2 =

0.29(1 ej )2
1 + 0.17ej2

|0.29(2sin(/2)|2
(1 + 0.17cos(2))2 sin2 (2)

Ha (ej ) = e3j (0.5 0.64cos + 0.212cos3)


13. RII est moins complexe slectivit quivalente, et, dans ce cas, moins bruyant. Le RIF
possde une phase linaire et son implmentation en double prcision est trs efficace.
14. Les deux filtres doivent tre limits en entre par une division par 2.

Correction du Problme 2

A.8 Correction du DS de mars 1999

205

1. N 2 multiplications etN (N 1) additions


2.

N
1
N
1
X
X
n.k
2n.k
2n.k
X(k) =
x(n).e2j N =
x(n). cos
j.sin
N
N
n=0

n=0

Il suffit de dvelopper le cosinus de la formule de XC (k) pour obtenir :

2k
2k
XC (k) = cos
Re[X(k)] + sin
Im[X(k)]
4N
4N
3. La version rapide consiste effectuer une FFT, puis multiplier respectivement les parties
2k
relles et imaginaires dindice n par cos( 2k
4N ) et sin( 4N ), et enfin additionner lensemble.
La complexit est maintenant : 2N log2 (N ) + 2N multiplications et3N log2 (N ) + N additions

206

Examens

Annexe B

Abaques de filtrage analogique

207

Anda mungkin juga menyukai