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
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
22
23
23
23
24
24
25
25
26
26
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
36
36
36
37
40
42
42
43
44
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
113
. 113
. 113
. 115
. 115
. 116
. 116
. 118
. 120
. 121
. 123
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
153
153
153
153
153
154
154
155
155
156
157
157
159
159
159
159
159
159
160
160
160
160
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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 . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
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
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
1.2
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.2.2
Caractristiques temporelles
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
1.2.4
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
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
(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
1 si n 0
u(n) =
0 si n < 0
La fonction Matlab quivalente est : u = ones(L,1) ;
1.3.1.3
Caractristiques
|s(n)|2
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 .
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
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 )
1.4
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
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) +
..
.
. = ..
+
X
k=
e(k)(n k)
1.4.2
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)]
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
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
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
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
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
|s(n)| = |
h(k)e(n k)|
k=
+
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
+
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
1.4.6
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)
13
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 )]
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).
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
x(n)z n
n=
0
X(z) = z ,
X(z) = 1,
15
zC
zC
16
Transformation en Z
(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
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 .
17
Im
Domaine de convergence
Re
1
1az 1
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
(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
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
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
1
r1
2.2.5
19
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=
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=
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
2.3.1
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)
b0 z M
a0 z N
bM
b0
aN
a0
+ + zM
+ + zN
b0 N M N 0 (z)
z
a0
D0 (z)
X(z) =
avec ,
b0
a0 .
21
2.3.2
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
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
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
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
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
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.1
23
2.4.2
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
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)
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
N (z)P (z)
D(z)Q(z)
N
X
k=1
X
Dk
Qk
+
1
1 pk z
1 qk z 1
k=1
25
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
N
X
Dk pnk u(n)
k=1
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
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
2.7
ej
ej +
1
2
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
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 .
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)
27
Transformation en Z
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
1
1+0.5z 1
Chapitre 3
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
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=
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=
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
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 .
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)
3.2
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
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
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
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
33
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
34
Chapitre 4
4.1
2
,
N
k = 0, 1, , N 1
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
Pour un signal x(n) discret quelconque non priodique, sa transforme de Fourier scrit :
X(ej ) =
x(n)ejn
(4.3)
n=
4.3
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
dX(ej )
d
Produit de convolution
x1 (n) x2 (n) =
i=
X
n=
(4.5)
(4.6)
k=0
4.4
n.k
)
N
x1 (n) x2 (n)
1
2
(4.7)
37
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 )
4.5
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
x(n)
(n)
(n n0 )
1
X(ej )
1
ejn0
X
2( + 2k)
k=
u(n)
X
1
+
( + 2k)
1 ej
k=
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=
k=
k=
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
1
Xk
N
40
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
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
41
n = 0, , N 1
(4.9)
k=0
kn0
N
X(k)
N
1
X
i=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
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=
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)
N
1
X
x1 (k).x2 (n k)
(4.12)
k=0
43
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)
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)
44
4.7.3
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
+
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
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
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
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)
46
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)
5.2
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
(5.9)
n=0
N/21
X(k) =
(2n+1)k
x(2n + 1).WN
(5.11)
47
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)
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)
Xm (q)
Xm+1 (p)
W rN
-1
Xm+1 (q)
(5.14)
48
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)
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
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
(5.17)
n=0
X(2p) =
(5.18)
(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
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
Xm (q)
Xm+1 (p)
-1
W rN
Xm+1 (q)
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).
(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
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.
51
W =
log
2N
Y
Di .Ci
i=1
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)
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
-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
52
Transforme de Fourier Rapide
5
6
7
X(13)
X(14)
X(15)
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)
5.5.2
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)
-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)
5.5.3
54
Transforme de Fourier Rapide
FFT
X(7)
X(15)
X(14)
FFT inverse
-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)
5.5.4
56
5.5.5
K:= I / I1;
-- COS (2p k / I)
-- SIN(2p k / I)
57
58
Chapitre 6
Filtrage numrique
6.1
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
7z
h(n) <=> H(z)
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
#
6.2
(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)
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
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
62
Filtrage numrique
6.3
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
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.1
63
|H(ej)| (dB)
p
1+1
1
1-1
20log(1+1)
0 dB
20log(1-1)
20log2
b) Gabarit frquentiel en dB
6.3.2
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
64
Filtrage numrique
|H(ej)|
1+1
1
1-1
2
a- p-
p+ a+
6.4
6.4.1
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
65
N
X
cn .z n
n=0
h(n) = cn pour n = 0 . . .
N
1
X
cn .z n
n=0
h(n) = cn pour n = 0 . . . N 1
1
M [e(n)
e(n M )]
6.4.2
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)
6.5
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)
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
67
|H(ej)|
N
X
i=0
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
6.6.1.1
68
Filtrage numrique
6.6.2
(6.16)
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
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
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
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
(6.20)
70
Filtrage numrique
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
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
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
b2
X
bi 2i
(7.3)
i=0
(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
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
73
2m-1 2m-2
21
20
2-1 2-2
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
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
(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)
ND
dB
= 20 log
max(|x|)
min(|x|)
(7.9)
74
cadrage
gauche
m=0
n=b1
2(b1)
[1 + q; 1 q]
cadrage
droite
n=0
m=b1
1
[2b1 + q; 2b1 q]
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]
7.1.2.2
m1
X
bi 2i
(7.10)
i=n
(7.11)
7.1.3
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.
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
...
SE
d1
d2
de-1
SM
C1
C2
C3
Cm-2 Cm-1 Cm
Exposant e bits
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)
(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)
(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
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
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
(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.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
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)
x fQ (fD (x)) =
Q(x) x DD
D(x) x 6 DD
(7.25)
78
7.3.1
7.3.1.1
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) =
(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)
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)
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 ]
(7.28)
79
fQ(x)
q
2
ui xi ui+1
-q
2
e(x)
xi
ui ui+1
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
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
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
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 :
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 :
(7.37)
sin( uq
2 )
(7.38)
avec e (u) =
uq
2
q/2
e p(e)de =
q/2
1
e.de = 0
q
(7.40)
82
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
Z
e2
7.4.2
Z
2
(e e ) p(e)de =
q/2
q/2
e2
q2
.de =
q
12
(7.41)
7.4.2.1
83
0
ailleurs
(7.42)
h
i
e
pe (e) = rect
px (e) fd (e)
q
(7.43)
soit
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
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)
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
(7.48)
84
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)
(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
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)
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
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)
7.4.3
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
(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( )
C =
2
sim
2
theo
(7.68)
87
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
1.5
0.5
0.2
0.4
0.6
0.8
x / q
1.2
7.4.5
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( )
88
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
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.
7.6
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
89
RSB =
RSBdB
(7.70)
(7.71)
Le rapport signal bruit augmente donc de 6dB par bit ajout lors de la quantification [Bel87].
(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
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
90
bp
bg Erreur
gnre
bx
bq
bs
bs
op
by
Xe = 2 .S +
m1
X
bi 2i
(7.75)
bi 2i
(7.76)
Xs = 2m .S +
m1
X
j
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
k = n- j
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 :
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
+
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
(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)
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
2k1
X1
(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
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)
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)
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( )
94
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
ee()/ 2e
0.8
0.6
0.4
0.2
0
500
400
300
200
100
0
e
100
200
300
(7.94)
Ainsi le bruit gnr peut tre considr comme un bruit blanc non centr.
7.7.3
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
(7.96)
95
e/q
0.25
0.2
0.15
0.1
0.05
0
6
8
10
k (nombre de bits limins)
12
14
16
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
(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
(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)
x2 y2 + 2x y2 + 2y x2
y2 Pbx + x2 Pby + b2x 2y + b2y 2x
(7.101)
96
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
(7.102)
cste
De lquation 7.103 nous pouvons en dduire que le RSB en sortie du multiplieur sera toujours
infrieur celui de lentre x.
7.8
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
(7.104)
97
Le niveau de dynamique pour une reprsentation en virgule flottante est fonction du nombre
de bits E allous pour lexposant :
DN
dB
(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
Dynamique en dB
1000
500
10
15
20
Nombre de bits
25
30
7.8.2
Analyse du RSB
(7.106)
(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
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
30
20
10
0
10
20
Dynamique du signal d entre en dB
30
40
50
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
7.9.1
99
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.
7.9.1.1
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)
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
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
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
7.9.4
n=0
|h(n)|
1
xmax M AX (H(ej ))
7.9.3
1
PN 1
Chapitre 8
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
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
Ordre du filtre
Approximation de H(p)
Types de filtre
(Butterworth, Chebyshev,...)
HNorm(p)
Dnormalisation
H(p)
Filtrage numrique
Filtrage analogique
Transformation
p=f(z)
invariance impulsionnelle,
bilinaire
Rauch, Sallien-Key,
Biquadratique
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
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
103
H ()2 =
1+
1
2N
(8.1)
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
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
105
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
(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
106
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)
(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
(8.9)
107
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)
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
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
(8.17)
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
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
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.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
111
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.
1
,
1 + pc
112
Chapitre 9
Introduction
N
1
X
h(n).z n
(9.1)
n=0
9.2
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
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
j arg()
= A(e )e
(9.5)
j()
Dans ce cas :
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
n=0
N
1
X
(9.10)
n=0
N
1
X
(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
115
h(n) sin[( n) + ] = 0
(9.13)
n=0
= /2
= N 21
(9.14)
9.2.1
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)
H(e ) = A(e )e
N
1
X
h(n).ejn
(9.16)
n=0
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)
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
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
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
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)
9.2.4
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)
117
2
b) Filtre de type II
a) Filtre de type I
d) Filtre de type IV
118
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
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=
(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
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)
119
Fig. 9.2: Processus de convolution de la rponse frquentielle du filtre idal par la fentre
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.
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
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
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
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
9.3.2
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
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
1+
1
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 .
123
9.4
(9.38)
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
sera :
H(z)
=
N
1
X
h(n)z
(9.41)
n=0
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
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.
Chapitre 10
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
10.2.1
126
(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
La TF de (10.1) donne
XN (ej ) = X(ej ) W (ej )
Z
1
=
X(ej ).W (ej() ) d
2
(10.4)
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
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).
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
L1
X
xN (n)ej
2kn
N
k = 0, 1, . . . , L 1,
(10.6)
n=0
(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
(10.8)
128
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
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
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
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
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.
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
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
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) ;
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
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
(11.1)
136
Systmes multi-cadences
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=
(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
137
Fig. 11.2: Reprsentation dun signal continu xc (t) et de son chantillonnage 2 frquences
diffrentes et de leurs spectres respectifs
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)
11.2.1
n = 0, L, 2L, . . .
(11.8)
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=
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)
Xe (ejT ) =
=
X
k=
x(kT )ejkLT
x(kT )ejkT
k=
jT
= X(e
(11.13)
(11.14)
(11.15)
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).
11.2.3
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
Chapitre 12
Echantillonnage
Chane de TNS
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
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
12.2.1
143
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
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
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
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
y
T
h1
h2
h3
h4
T
h5
12.2.3.2
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
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 ?
145
P uissance du signal
2
= x2
P uissance du bruit
b
RSBdB = 10log
12.2.4
x2
b2
x(n) =
12.2.5
1
0
n=0, 1
ailleurs
12.2.6
i = 02
146
12.2.6.1
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.7
147
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
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
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
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
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
12.3.1
12.3.1.1
149
12.3.1.2
1 z 1
1 + z 1
tude directe
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
12.3.2
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
12.4
12.4.1
1 pour 0 || c
j
H(e ) =
0 pour c < || <
151
12.4.2
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
152
12.5
12.5.1
153
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
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
12.5.3
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
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 :
154
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
X(p) = A + j.B
U (p) = A + B.e
jp
N
12.5.5
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 :
12.5.6
Soit le signal :
x(n) = ea.n u(n)
avec u(n) lchelon unit, la priode dchantillonnage tant Te =
1
Fe .
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
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
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
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
156
12.5.9
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
12.5.9.1
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
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
Complexit de calcul
158
X0
x1
x2
xe
xs
ye
ys
x3
x4
x5
x6
x7
X7
12.5.11.2
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
159
Analyse spectrale
12.6.1
Questions
12.6.2
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
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
12.7.2
12.8
12.8.1
Interpolation et dcimation
Interpolation linaire
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
X(f ) =
x(t) e
2jf t
X() =
dt = A
0
A0
(a + j)2 + 02
N
1
X
aj .x(n j)
j=0
1. X(f ) =
A.0
a2 +02 2 +2.a.j.
13.1.2
1. X(f ) =
1
a+j2f
2. Ex = 1/(2a)
3. Xe () =
1
1eaT ej
161
162
13.2
13.2.1
13.2.2
13.2.3
13.2.3.1
163
Y (z)
= 0.1 0.3z 2 + 0.5z 3 0.3z 4 + 0.1z 6
X(z)
164
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
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
166
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
1 12
2 5.45q 2
1.1
q2
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
13.2.5
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
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.
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
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
y
h1
h2
h3
2
X
bij
i=0
2
Y
bi0
i=0
170
13.2.6.2
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
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
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.
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
i
j=0 |bj |
Application Numrique
En prenant :
bi0 = 0.5,
bi1 = 0.75,
bi2 = 0.5, i
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
13.2.7.1
13.2.7.2
13.2.7.3
13.3
13.3.1
13.3.1.1
13.3.1.2
tude directe
13.3.2
13.4
13.4.1
13.4.2
173
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
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
174
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
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) =
13.5
175
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
13.5.3
13.5.4
1. A =
X(p)+X (N p)
,
2
B=
X(p)X (N p)
2
(13.1)
(13.2)
= p/N
(13.3)
13.5.5
176
13.5.6
XT F T D (f ) =
=
=
n=
X
an
ej2nf
n=0
(ea ej2f )n
n=0
ea
1
ej2f
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
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
13.5.7
13.5.8
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
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
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
N
1
X
n=0
N
1
X
x(n) WNnk
x(n) (WNk )n
n=0
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
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
13.5.10
179
Calculs de TFD
X(k) =
n=0
N
1
X
x(n)e2j
kn
N
x(n)WNkn
n=0
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
WN
= (WNkn )
k(n+N )
WNkn = WN
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
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
13.5.11
13.5.11.1
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 .
181
ex
xs
xe
em
f1
ck
ye
ys
ey
Fig. 13.7: Graphe flot des calculs dun papillon lmentaire de la TCR
q2
12
s2 2m e2 +
q2 X k
[
2 ]
12
k=0
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
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
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
13.7 Convolution
183
13.6.2
13.6.3
13.7
13.7.1
Convolution
Calcul dune convolution
bn+1 1 (a/b)n+1
y(n) =
u(n)
ba
13.7.2
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
(13.4)
(13.5)
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
Bibliographie
[Bel87]
[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]
[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]
[MSY98] J. McClellan, R. Schafer, and M. Yoder. DSP First : a Multimedia Approach. Prentice Hall, 1998.
[OS75]
[OS99]
[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]
[Poa97]
B. Poart. A Course in Digital Signal Processing. John Wiley & Sons, 1997.
[SS88]
185
186
Bibliographie
Annexe A
Examens
187
188
A.1
Examens
DS novembre 2001
ENSSAT EII2
ENSSAT
ENSSAT
189
(A.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 ?
191
!
"
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
ENSSAT
ENSSAT
192
Examens
193
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 .
x(n)
e(n)
s(n)
h(n)
f(n)
y(n)
g(n)
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
ENSSAT
ENSSAT
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.
195
f0(n)
x(n)
f1(n)
g1(n)
1
g0(n)
f2(n)
g2(n)
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.
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
ENSSAT
ENSSAT
8.
9.
10.
11.
197
N
1
X
n=0
x(n).cos
2(4n + 1)k
4N
,k = 0...N 1
198
Examens
A.5
2c
sinc(nc )cos(n0 ).
N 1
2 .
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
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
199
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
228
12
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
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
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.
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 ()
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.
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
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.
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
A.7
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].
G2 (z)
X(z)
= z 2 .H(z 1 )
q2
q2 2
q2
q2
2
12 + 12 .1 + 12 = g1 = 2, 06 12
q2
q2
= g21 = 3, 29 12
f21 + f21 .22 + 12
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
A.8
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
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
0
1/2
1
-0.32
2
0
3
0.106
4
0
0.29(1 ej )2
1 + 0.17ej2
|0.29(2sin(/2)|2
(1 + 0.17cos(2))2 sin2 (2)
Correction du Problme 2
205
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
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
207