Académique Documents
Professionnel Documents
Culture Documents
du Canton de Vaud
Dpartement TIN
Techniques Industrielles
Unit TSA
Traitement
des Signaux
Quelques
applications
i nstitut d'
A utomatisation
i ndustrielle
(C) freddy.mudry@hieg-vd.ch
1.1.
1.2.
1.3.
1.4.
1.5.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1.
Filtre idal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2.
Formes canoniques
. . . . . . . . . . . . . . . . . . . . . . . .
1.1.3.
Formes normalises . . . . . . . . . . . . . . . . . . . . . . . .
1.1.4.
Filtres d'ordre 2 . . . . . . . . . . . . . . . . . . . . . . . . . .
Filtres optimums
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1.
Gabarit
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2.
Approximations . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3.
Temps de propagation
1.2.4.
. . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.3.1.
14
1.3.2.
14
1.3.3.
17
Filtres de Butterworth
Filtres de Tchebyche
. . . . . . . . . . . . . . . . . . . . . . . . . .
20
1.4.1.
20
1.4.2.
20
1.4.3.
. . . . . . . . . . . . .
21
1.4.4.
. . . . . . . . . . . . . . .
21
Filtres de Bessel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
1.5.1.
26
1.5.2.
26
1.5.3.
Fonctions de transfert
27
1.5.4.
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
28
1.6.
29
1.7.
. . . . . . . . . . . . . . . . . . .
32
1.7.1.
Filtres normaliss . . . . . . . . . . . . . . . . . . . . . . . . .
32
1.7.2.
32
1.7.3.
32
1.7.4.
. . . . . . . . . . . .
37
1.7.5.
. . . . . . . . . . . . . . .
38
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
1.8.
45
2.1.
45
2.2.
Le problme de l'approximation . . . . . . . . . . . . . . . . . . . . .
46
2.3.
La transformation associe . . . . . . . . . . . . . . . . . . . . . . . .
47
2.3.1.
49
2.3.2.
. . . . . . . . . . .
52
. . . . . . . . . . . . . . . . . . . . . . .
52
2.4.
La transformation bilinaire
2.4.1.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
2.4.2.
. . . . .
53
2.4.3.
54
2.5.
55
2.6.
. . . . . . . . . . . . . . . . .
56
2.7.
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
63
3.1.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
3.2.
Spcications
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
3.3.
64
3.3.1.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
68
3.4.1.
Principe du fentrage . . . . . . . . . . . . . . . . . . . . . . .
68
3.4.2.
Eet de la troncation . . . . . . . . . . . . . . . . . . . . . . .
69
. . . . . . . . . . .
71
3.5.1.
Filtre passe-bas . . . . . . . . . . . . . . . . . . . . . . . . . .
71
3.5.2.
Filtre passe-haut
74
3.5.3.
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
74
. . . . . . . . . . . . . . . . . .
76
. . . . . . . . . . . . . . . . . . . . . . .
76
Fentres analytiques
3.6.2.
Fentre de Kaiser-Bessel
. . . . . . . . . . . . . . . . . . . . .
79
82
3.7.1.
82
3.7.2.
84
84
3.8.1.
84
Prliminaires
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.2.
Fentrage de Hamming . . . . . . . . . . . . . . . . . . . . . .
85
3.8.3.
Fentrage de Kaiser . . . . . . . . . . . . . . . . . . . . . . . .
87
. . . . . . . . . . . . . . . . . . .
88
3.10. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
97
ii
64
. . . . . . . . . . . . . . . . . . . . . . . . . .
Transformation de Fourier
99
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
99
4.1.1.
99
4.1.2.
4.2.1.
4.2.2.
4.2.3.
. . . . . . . . . . . . . . . . . . . . 104
4.2.4.
4.3.
4.4.
4.5.
4.7.
4.8.
4.9.
. . . . . . . . . . . . . . . 107
. . . . . . . . . . . . . . . . . . . . 108
4.4.1.
4.4.2.
4.4.3.
4.6.
. . . . . . . . . . . 100
4.5.2.
4.5.3.
4.5.4.
4.5.5.
Exemples de corrlation
. . . . . . . . . . . . . . . 121
. . . . . . . . . . . . . . . . . . . . . . . . . 122
4.6.1.
4.6.2.
. . . . . . . . . . . . 122
. . . . . . . . . . . . . . . . . . . 124
4.7.1.
Le radar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.7.2.
. . . . . . . . . . . . . . . . . . . 127
4.8.1.
. 130
4.8.2.
4.8.3.
. . . . 130
. . . . . . . . . . . . . . . . . . . . . . . . 132
. . . . . . . . . . . . . . . . . . . . . . . 133
. . . . . . . . . . . . . . . . . . . . . 134
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.1.1.
5.2.
5.1.2.
5.1.3.
5.1.4.
Discrtisation de la frquence
Relations temps-frquence
5.2.1.
5.3.
153
. . . . . . . . . . . . . . . . . . 157
. . . . . . . . . . . . . . . . . . . . . . . . 158
Pulsation normalise
. . . . . . . . . . . . . . . . . . . . . . . 160
. . . . . . . . . . . . . . . . . 156
Dnition de la TFD
. . . . . . . . . . . . . . . . . . . 160
. . . . . . . . . . . . . . . . . . . . . . 160
iii
5.4.
5.5.
5.3.2.
. . . . . . . . . . . . . . . . . . . 162
5.3.3.
5.3.4.
TFD et FFT
. . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.4.2.
Fentres d'observation
. . . . . . . . . . . . . . . . . . . . . . . . . . 164
5.5.1.
. . . . . . . . . . . . . . . . . . . . . 164
5.5.2.
5.5.3.
. . . . . . . . . . . . . . . . . . . . . . . . 165
5.6.
5.7.
. . . . . . . . . . . . . . . . . 171
5.8.
. . . . . . . . . . . . . . . . . 173
5.9.
5.8.1.
Donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.8.2.
5.8.3.
5.8.4.
5.8.5.
5.8.6.
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
189
6. Analyse de la parole
191
6.1.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.2.
Analyse de la parole
6.3.
6.4.
6.5.
6.6.
iv
. . . . 164
. . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.2.1.
. . . . . . . . . . . . . . . . . . . 191
6.2.2.
. . . . . . . . . . . . . . . . . . 192
6.3.1.
6.3.2.
. . . . . . . . . . . . . . . . 192
. . . . . . . . . . . . . . . 193
6.4.1.
. . . . . . . . . . . . . . . . . . 193
6.4.2.
Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.4.3.
6.4.4.
6.4.5.
Spectre
. . . . . . . . . . . . . . . . . . . . 195
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Recherche du pitch
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
6.5.1.
6.5.2.
Autocorrlation . . . . . . . . . . . . . . . . . . . . . . . . . . 197
6.6.2.
203
7.1.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.2.
7.3.
7.4.
7.5.
7.6.
7.7.
7.8.
7.9.
7.2.1.
7.2.2.
. . . . . . . . . . . . . . . . 203
7.2.3.
. . . . . . . . . . 204
. . . . . . . . . . . . . 206
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
7.4.1.
Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
7.4.2.
Spectre
Analyse LPC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
7.5.1.
7.5.2.
Fonction de transfert
7.5.3.
Recherche du pitch
. . . . . . . . . . . . . . . . . . . . . . 209
H(z)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
7.6.1.
7.6.2.
7.6.3.
Autocorrlation de
7.6.4.
e[n]
e[n]
. . . . . . . . . . . . . . 212
. . . . . . . . . . . . . . . . . . . . . . 212
7.7.2.
. . . . . . . . . . . . . . . . . . . 216
7.8.2.
7.8.3.
. . . . . . . . . . . . . . . . 218
. . . . . . . . . . . . . 219
. . . . . . . . . . . . . . . . . . 220
8.2.
8.1.2.
Remarques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
8.1.3.
8.1.4.
Modles statistiques
Rgression linaire
8.2.1.
8.3.
8.4.
225
. . . . . . . . 225
. . . . . . . 226
. . . . . . . . . . . . . . . . . . . . . . . 227
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
. . . . . . . . . . . . . . . . . . . . . 229
8.2.2.
8.2.3.
Filtrage de Wiener
. . . . . . . . . . . . . . . 231
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
8.3.1.
8.3.2.
8.3.3.
Description matricielle
8.3.4.
. . . . . . . . . . . . . . . . . . . . . . 234
. . . . . . . . . . . . . . . 235
. . . . . . . . . . . . . . . . . . . . . 236
8.4.1.
8.4.2.
Remarque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
8.6.
vi
8.5.2.
. . . . . . . . . . . . . 242
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Premire partie .
Synthse des ltres
tp
s.
H(s)
Ces polynmes
Q0
= 1/2Q0 .
1.
H()
H()
Passe-Bas
Passe-Haut
-c
-c
+c
+c
H()
H()
PasseBande
CoupeBande
2 1
2 1
L'ensemble des possibilits de description des ltres se rduit donc aux facteurs
simples suivants reprsents sous la forme de Bode :
s
1
1+
1+
s
1
1 s
Q 0 0
1 + 2 s0 +
2
s
0
(1.1)
2
s
0
On y trouve :
les pulsations caractristiques
le facteur de qualit
et
0 ;
Q0 ;
le coecient d'amortissement
= 1/(2Q0 ).
H(s) =
1 + s/1
1 + 2 (s/0 ) + (s/0 )2
H(s) =
02
(s + 1 )
1 s2 + 20 s + 02
1.1. Introduction
d'ordre 1 s'crivent alors sous la forme :
P1 (s) = s + 1
(1.2)
P1 (s) =
s + 1
1+
(1.3)
s
1
P2 (s) = s2 + 2 s + 1
(1.4)
P2 (s) =
2
2
s + 20 s + 0
1 + 2
s
0
(1.5)
s2
02
Les ltres fondamentaux sont du type passe-bas, passe-haut, passe-bande et coupebande. A ceux-ci, on peut en ajouter beaucoup d'autres tels que, par exemple, les
ltres correcteurs d'amplitude et les ltres dphaseurs.
u(t)
PasseBande
PasseHaut
CoupeBande
PasseBas
La gure 1.2 montre comment le circuit RLC permet de raliser les 4 ltres de base.
Suivant l'endroit o l'on recueille la tension de sortie, on trouve en eet :
le ltre passe-bas aux bornes de la capacit
HP B (s) =
1
1 + 2 (s/0 ) + (s/0 )2
(1.6)
1.
HP (s) =
2 (s/0 )
1 + 2 (s/0 ) + (s/0 )2
(1.7)
(s/0 )2
HP H (s) =
1 + 2 (s/0 ) + (s/0 )2
(1.8)
1 + (s/0)2
HR (s) =
1 + 2 (s/0 ) + (s/0 )2
(1.9)
Dans le cas du ltre passe-bande d'ordre 2, on n'oubliera pas les relations importantes suivantes :
s i =
o
i , s ,
0
,
Q0
02 = s i
(1.10)
1.2.2. Approximations
Suivant le cahier des charges donn, la ralisation d'un ltre passe-bas conduit des
fonctions de transfert dont les dnominateurs sont des polynmes qui optimisent au
mieux les contraintes demandes. Ces polynmes, appels polynmes d'approximation, ralisent des ltres caractriss par l'une ou l'autre des proprits suivantes :
une bande passante plate au maximum pour les
ltres de Butterworth ;
1
Hp
Bandes:
de transition
passante
d'arrt
Ha
fp
fa
1.
un temps de propagation uniforme (ou une phase linaire) dans la bande passante
pour les
ltres de Bessel ;
Les ltres ci-dessus sont des ltres dits tout ples pour lesquels le numrateur est
d'ordre 0. Leurs fonctions de transfert s'crivent alors sous la forme :
H(s) =
1
A(s)
(1.11)
ltres elliptiques pour lesquels on accepte des ondulations dans les bandes
passantes et d'arrt.
Les fonctions de transfert de ces ltres sont alors dcrites par un rapport de deux
polynmes ;
H(s) =
B(s)
A(s)
(1.12)
Suivant la nature du ltre les performances sont sensiblement direntes ; elles sont
prsentes dans le tableau 1.1.
Butterworth
Bessel
Tchebyche I
Tchebyche II
excellente
satisfaisante
ondulations
bonne
Raideur de la transition
faible
mdiocre
bonne
moyenne
faible
excellente
mdiocre
faible
satisfaisante
excellente
mauvaise
bonne
moyens
faibles
levs
moyens
faible
trs faible
forte
faible
Facteurs de qualit
Disparit des composants
td
=
2
T
De manire quivalente, cela s'crit
() =
2
td = td
T
td =
()
()
=T
tp () =
()
(1.13)
()
tp =
0
(1.14)
Dans le cas o le temps de propagation est constant, toutes les composantes spectrales d'un signal sont retardes du mme temps
tp
peu dform.
c = 1 [rad/sec].
La gure 1.9 permet de comparer les rponses de l'ensemble des ltres. La gure 1.10
utilise des axes linaires an de mettre en vidence le comportement de la phase et
celui du temps de propagation des 4 ltres.
1.
Rponse indicielle
Diagrammes de Bode
0
Module [dB]
10
1
20
30
40
0.8
60
1
10
10
10
Amplitude
50
0.6
0
0.4
Phase [deg]
100
200
0.2
300
400
500
1
10
10
pulsation [rad/sec]
10
10
15
temps [sec]
20
25
20
25
Rponse indicielle
Diagrammes de Bode
0
Module [dB]
10
1
20
30
40
0.8
60
1
10
10
10
Amplitude
50
0.6
0
0.4
Phase [deg]
100
200
0.2
300
400
500
1
10
10
pulsation [rad/sec]
10
10
15
temps [sec]
10
Rponse indicielle
Diagrammes de Bode
0
Module [dB]
10
1
20
30
40
0.8
60
1
10
10
10
Amplitude
50
0.6
0
0.4
Phase [deg]
100
200
0.2
300
400
500
1
10
10
pulsation [rad/sec]
10
10
15
temps [sec]
20
25
20
25
Rponse indicielle
Diagrammes de Bode
0
Module [dB]
10
1
20
30
40
0.8
60
1
10
10
10
Amplitude
50
0.6
0
0.4
Phase [deg]
100
200
0.2
300
400
500
1
10
10
pulsation [rad/sec]
10
10
15
temps [sec]
11
1.
Rponses indicielles
Diagrammes de Bode
Module [dB]
0
5
o
x
+
v
10
Btw
Bsl
Tchb
5xRC
0.8
20
1
10
10
10
Amplitude
15
0.6
0
0.4
Phase [deg]
100
200
0.2
300
400
500
1
10
10
pulsation [rad/sec]
10
10
15
temps [sec]
20
25
Phase
Amplitude
0
1
2
0.6
o
x
+
v
0.4
0.2
0
Phase [rad]
Amplitude[/]
0.8
Btw
Bsl
Tchb
5xRC
0.5
1
1.5
pulsation [rad/sec]
0.5
1
1.5
pulsation [rad/sec]
Temps de propagation
8
tp [sec]
0.5
1
1.5
pulsation [rad/sec]
12
|H(j)|2 = H(j)H(j) =
1
1 + (/c)2n
(1.15)
On notera que cette rponse est normalise par rapport la pulsation de coupure
2 = 3 dB .
c = 1,
H(s)H(s) =
1
1 + (s2 )n
(1.16)
D(s) = 1 + s2
n
=0
2n
(1.17)
dont les racines sont uniformment rparties sur un cercle de rayon unit. L'angle
entre chaque racine vaut
/n
H(s),
H(s)
/c
n = 4
n = 5
/4
/c
/5
/c
13
1.
Comme on l'a dit plus haut, les ltres passe-bas tudis ici sont des ltres tout ples
dcrits de manire gnrale par :
H(s) =
1
1
=
A(s)
1 + a1 s + a2 s2 + + an sn
A(s),
(1.18)
p1,2 = a jb,
avec
il vient :
a2 + b2 = 1 car
(s + a + jb) (s + a jb)
s2 + 2a s + a2 + b2
A(s) =
s2 + 2a s + 1
(1.19)
de rayon unit.
Dans le cas d'un polynme d'ordre 5, ce dernier sera dcompos en 3 polynmes de
base provenant du ple rel et des 2 paires de ples complexes :
Ples
p2,3
p4,5
Polynmes
p1 = 1
= 0.809 j0.588
= 0.309 j0.951
P1 (s) = 1 + s
P2 (s) = 1 + 1.618 s + s2
P3 (s) = 1 + 0.618 s + s2
Q0k
est donn par l'inverse du deuxime coecient. Ainsi, pour le polynme d'ordre 5,
on aura
Q02 = 1/1.618
et
Q03 = 1/0.618.
d'en calculer les trinmes constitutifs. Ceux-ci sont donns dans le tableau 1.2.
A(j)
A(j)
14
1
H(j)
H(j)
(1.20)
P (s)
1
2
3
4
5
6
7
8
9
10
(1 + s)
1 + 1.414s + s2
(1 + s) 1 + 1.000s + s2
1 + 1.848s + s2
1 + 0.765s + s2
1 + 1.414s + s2
1 + 1.663s + s2
1 + 1.782s + s2
(1 + s) 1 + 1.618s + s2
1 + 1.932s + s2
(1 + s) 1 + 1.802s + s2
1 + 1.962s + s2
(1 + s) 1 + 1.879s + s2
1 + 1.975s + s2
1 + 0.618s + s2
1 + 1.247s + s2
1 + 1.532s + s2
1 + 0.518s + s2
1 + 1.111s + s2
1 + 1.414s + s2
1 + 0.445s + s2
1 + 1.000s + s2
1 + 0.390s + s2
1 + 0.908s + s2
1 + 0347s + s2
1 + 0.313s + s2
15
1.
|A(j)| = 1 +
2n
et
(1.21)
1
Hp
1
Hp
Ha
Ha
fp
fa
fp
fa
A2p
A2a
|A(jp )|
|A(ja )|
=1+
p
c
2n
(1.22)
=1+
a
c
2n
(1.23)
1 log
n
2
A2p 1 / (A2a 1)
log (p /a )
(1.24)
Une fois l'ordre connu, on peut calculer la pulsation de coupure partir d'une des
deux quations d'attnuation. Ce qui donne
c =
m
(A2 (
m)
avec
1)1/2n
(1.25)
m = p ou a
Comme la valeur trouve pour l'ordre
on l'arrondit une valeur entire suprieure. On peut ainsi calculer deux valeurs
direntes pour
16
a .
la moyenne gomtrique
Hp = 1 dB
fp = 1 kHz
Ha = 40 dB
fa = 3 kHz
et la frquence de coupure
fc
du ltre ;
Solution
1. On a :
Ap = 1/Hp = +1 dB = 1.122
A2p 1 = 0.2589
1 log s
n
2
A2p 1 / (A2a 1)
1 log (0.2589/104)
=
= 4.80 ' 5
log (p /a )
2
log (1/3)
fc,p =
fp
A2p 1
fc,a =
1/2n =
fa
1/2n
(A2a 1)
1 kHz
= 1.145 kHz
0.25891/10
3 kHz
= 1.194 kHz
104/10
fc =
p
fc,p fc,a = 1.17 kHz
17
1.
1 + 0.618s + s2
Q02 =
1
= 0.618 = 5.7 dB
1.618
1
= 1.618 = +5.7 dB
0.618
4
En remplaant la variable s par s/(2 fc ) = 1.3610
s, on obtient le polynme
Q03 =
de ralisation :
P5 (s) =
3. Partant du polynme
1 + 1.36 104 s
1 + 2.20 104 s + 1.85 108 s2
1 + 0.84 104 s + 1.85 108 s2
P5 (s),
on en dduit
et on peut calcu-
ler puis tracer les rponses frquentielles de chaque cellule (gure 1.13). La
somme (en dB) de ces 3 rponses donne la rponse frquentielle du ltre de
Butterworth d'ordre 5 (gure 1.14). Les rponses impulsionnelle et indicielle
sont galement prsentes dans la gure 1.15.
amplitude [dB]
Cellule No.1
Cellule No.2
Cellule No.3
10
10
10
15
15
15
20
20
20
25
25
25
30
30
30
35
35
35
40
2
10
10
10
40
2
10
10
frquence [Hz]
10
40
2
10
10
18
10
0.9
10
0.8
0.7
amplitude [/]
amplitude [dB]
20
30
0.6
0.5
0.4
40
0.3
0.2
50
0.1
60
2
10
10
frquence [Hz]
10
1000
2000
frquence [Hz]
3000
Rponse impulsionnelle
3000
amplitude [/]
2000
1000
1000
0.5
1.5
2.5
3
3
x 10
Rponse indicielle
1.4
amplitude [/]
1.2
1
0.8
0.6
0.4
0.2
0
0.5
1.5
temps [sec]
2.5
3
3
x 10
19
1.
|H(j)|2 = H(j)H(j) =
avec
1
1 + 2 Cn2 (/r )2n
(1.26)
gnralement
exprime en dB. On voit donc que pour les ltres de Tchebyche, la pulsation de
normalisation n'est plus la pulsation de coupure mais la pulsation d'ondulation
La fonction
r .
Cn (/r ) =
L'amplitude
de la fonction
(1.27)
Cn
1 + 2 = r 2
2 = 10 rdB /10 1
(1.28)
r = 1 dB .
la bande d'ondulation est gal l'ordre du ltre et que les ondulations se situent
au-dessus ou au-dessous de 1 suivant que le ltre est d'ordre pair ou impair.
On se souviendra que la pulsation de la bande d'ondulation
normalisation et qu'elle est relie la pulsation de coupure
c = r cosh
1
acosh(1/)
n
r sert de pulsation
c par la relation :
de
(1.29)
r ,
log
n
20
p
de
du ltre [1] :
p
A2a 1 + A2a 1 2 log()
q
2
log (a /r ) + (a /r ) 1
(1.30)
Amplitude
1.2
r = 1.12 = + 1 dB
n=6
1
n=5
1/r = 0.89 = - 1 dB
0.8
0.707 = - 3 dB
0.6
bande d'ondulation
0.4
bande passante
c
0.2
r
0
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
Pulsation normalise /r
Fig. 1.16.: Rponse frquentielle des ltres Tchebyche
Aa
log (2 Aa /)
q
2
log (a /r ) + (a /r ) 1
(1.31)
r.
Tchebyche dont quelques uns sont donnes dans le tableau 1.3 pour
r = 0.5
et
1.0 dB .
Hr = 1 dB
fr = 1 kHz
21
1.
1
2
3
4
5
6
7
8
(1 + 0.349s)
1 + 0.940s + 0.659s2
1 + 0.330s + 0.940s2
1 + 0.719s + 1.695s2
1 + 1.037s + 2.788s2
n
1
2
3
4
5
6
7
8
1 + 0.216s + 0.965s2
1 + 0.472s + 1.477s2
1 + 0.152s + 0.977s2
1 + 0.335s + 1.349s2
1 + 0.112s0.984 + s2
1 + 0.086s + 0.988s2
(1 + 0.509s)
1 + 0.996s + 0.907s2
1 + 0.283s + 1.014s2
1 + 0.609s + 1.793s2
1 + 0.876s + 2.934s2
1 + 0.181s + 1.012s2
1 + 0.392s + 1.530s2
1 + 0.126s + 1.009s2
1 + 0.276s + 1.382s2
1 + 0.092s + 1.007s2
1 + 0.070s + 1.006s2
22
fa = 3 kHz
fc ;
Solution
1. On a :
Ap = 1/Hr = r = 1 dB = 1.122
=
et
r 2 1 = 0.5089
ua = fa /fr = 3
fc
log (2 Aa /)
q
2
log (a /r ) + (a /r ) 1
log (200/0.5089)
= 3.39
log 3 + 32 1
'4
1
acosh(1/)
= fr cosh
n
1
= 1 kHz cosh
acosh(1/0.5089) = 1053 Hz
4
1 + 0.283s + 1.014s2
Q01
3.579
= 0.785 = 2 dB
=
2.411
Q02 =
1.014
= 3.56 = +11 dB
0.283
f01 =
fr
= 528 Hz
3.579
f02 =
fr
= 993 Hz
1.014
s
= 1.59 104 s
2 fr
23
1.
1 + 0.283s + 1.014s2
H4 (s) =
1
(1 + 3.84
104 s
+ 9.066
108 s2 ) (1
9.066108
01 =
f01 =
1 =
01
2
3.84104 01
2
Q01 =
1
21
= 3321 rad/sec
02 =
= 528 Hz
= 0.637
= 0.785 = 2 dB
1
2.568108
f02 =
2 =
02
2
0.45104 02
2
Q02 =
1
22
= 6240 rad/sec
= 993 Hz
= 0.1405
= 3.56 = 11 dB
Les rponses frquentielles des deux cellules sont traces la gure 1.17. La somme
(en dB) de ces 2 rponses donne la rponse frquentielle du ltre de Tchebyche
d'ordre 4 (gure 1.18). Les rponses impulsionnelle et indicielle sont prsentes dans
la gure 1.19.
24
amplitude [dB]
Cellule No.1
Cellule No.2
15
15
10
10
10
10
15
15
20
20
25
25
30
30
35
35
40
2
10
10
40
2
10
10
10
frquence [Hz]
10
10
20
amplitude [/]
amplitude [dB]
0.8
30
0.6
0.4
40
0.2
50
60
2
10
10
frquence [Hz]
10
1000
2000
frquence [Hz]
3000
25
1.
Rponse impulsionnelle
2500
amplitude [/]
2000
1500
1000
500
0
500
1000
0.5
1.5
2.5
3
3
x 10
Rponse indicielle
1.4
amplitude [/]
1.2
1
0.8
0.6
0.4
0.2
0
0.5
1.5
temps [sec]
2.5
3
3
x 10
tp () =
()
(1.32)
()
tp =
0
(1.33)
() = tp
(1.34)
1
1 + j/1
(1.35)
1
1 + 1/Q0 j/0 + (j/0 )2
(1.36)
H1 (j) =
H2 (j) =
26
1 () = atan (/1)
/ (Q0 0 )
2 () = atan
1 (/0 )2
(1.37)
(1.38)
tp,1 ()
tp,2 ()
1 ()
=
2 ()
=
atan (/1 )
atan
/(Q0 0 )
1(/0 )2
0) ;
tp,1 =
1
,
1
tp,2 =
1
Q0 0
(1.39)
Comme un ltre d'ordre quelconque est constitu de cellules d'ordre 1 et 2, les temps
de propagation s'ajoutent pour donner
tp =
X
k
avec
Q0,k = 1
1
Q0,k 0,k
(1.40)
P (s) =
1
= 1 + b1 s + b2 s2 + bn sn
H(s)
(1.41)
bk =
2 (n k + 1)
bk1
k (2n k + 1)
avec
b1 = 1
(1.42)
27
1.
P (s)
1
2
3
4
5
6
7
8
(1 + s)
1 + 1.3614s + 0.6178s2
1 + 0.7738s + 0.3885s2
1 + 0.9691s + 0.3509s2
1 + 0.6219s + 0.3249s2
1 + 0.8305s + 0.3012s2
1 + 0.976s + 0.2984s2
1 + 0.5133s + 0.2759s2
1 + 0.4333s + 0.2382s2
1 + 0.721s + 0.2625s2
1 + 0.373s + 0.209s2
H(s).
coupure
H(s) =
(1 + 1.2224s +
0.3891s2) (1
1
+ 0.9691s + 0.3509s2) (1 + 0.5133s + 0.2759s2)
De cette fonction de transfert, nous dduisons que le ltre est ralis l'aide de trois
cellules d'ordre 2 caractrises par :
28
01
1
rad
=
= 1.60
sec
0.3891
Q01 =
1
= 0.51
1.2224 01
02
rad
1
= 1.69
=
sec
0.3509
Q02 =
1
= 0.61
0.9691 02
1
rad
=
= 1.90
sec
0.2759
Q03 =
1
= 1.02
0.5133 03
Comme le temps de propagation total est gal la somme des temps de propagation
de chaque cellule, on a
tp =
3
X
k=1
1
= 1.22 + 0.97 + 0.51 = 2.70 [sec]
Q0k 0k
Rponse frquentielle
10
10
30
dB
H ()
20
40
50
60
70
80
1
10
10
/
10
c
29
1.
Rponse indicielle
0.8
y(t)
0.6
0.4
0.2
5
t
10
H(j)
0.2
0.4
0.6
0.8
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
1.2
1.4
1.6
1.8
2.74
2.72
tp ()
2.7
2.68
2.66
2.64
2.62
1
/
30
H(s) =
Q0
1/Q0 (s/0 )
1 + 1/Q0 (s/0 ) + (s/0 )2
(1.43)
Sachant que le facteur de qualit et la largeur de bande sont relis entre eux par
0
Q0
(1.44)
H(s) =
s2
s
+ s + 02
(1.45)
p1,2
s
2
02
=
2
2
q
2
1 1 4 Q0
=
2
Si le ltre passe-bande est slectif, le facteur de qualit est lev et l'expression des
ples se simplient pour donner :
p1,2 '
j0
2
(1.46)
p1 t
yh (t) = A1 e
p2 t
+ A2 e
t cos (0 t + )
= A exp
2
1/f .
(1.47)
vaut
2/ =
t ' 3 =
3
1
'
f
f
(1.48)
Cette relation montre que l'on ne peut pas avoir simultanment une grande slectivit (f petit) et un rgime transitoire court (t petit). Une conclusion similaire
est vrie pour les ltres autres que passe-bande pour lesquels on ne peut pas avoir
simultanment une bande de transition troite et un temps d'tablissement rapide.
31
1.
P (s)
dcomposs en facteurs
simples d'ordre 1 ou 2 :
P1 (s) = 1 + s/1
P2 (s) = 1 +
(1.49)
1 s
+
Q0 0
s
0
2
(1.50)
Aussi, pour caractriser un ltre d'ordre quelconque, sut-il de donner les pulsations
caractristiques et les facteurs de qualit de chaque cellule. C'est ce qui est fait pour
les ltres passe-bas dans le tableau 1.5.
On notera que pour les ltres de Butterworth et Bessel, la pulsation de normalisation
est la pulsation de coupure
gnralement en dB et les valeurs les plus souvent proposes sont 0.5 dB (5.9%
d'ondulation) et 1.0 dB (12.2% d'ondulation).
2 n.
n,
le ltre quivalent
n.
Ces circuits utilisent un amplicateur suiveur ( gain unit) et une raction positive.
Ils permettent ainsi de raliser des ltres gain xe de type passe-bas, passe-haut
et passe-bande. Leurs schmas sont prsents dans la gure 1.23.
32
Ordre
Cellules
Btw
(1)
Qk
1
0.7071
(1)
1.2723
k
0.5dB
Qk
2.8628
0.5774
1.3225
1.2313
Tchb. 1 dB
k
1dB
Qk
1.9652
0.8637
1.0500
0.6265
0.9565
0.4942
1.0000
1.4474
0.6910
1.0689
1.7062
0.9971
2.0177
0.5412
1.4310
0.5219
0.5970
0.7051
0.5286
0.7845
1.3066
1.6043
0.8055
1.0313
2.9406
0.9932
3.5590
1.5015
0.3623
0.2895
0.6180
1.5555
0.5635
0.6905
1.1778
0.6552
1.3988
1.6180
1.7545
0.9165
1.0177
4.5450
0.9941
5.5564
0.5176
1.6030
0.5103
0.3962
0.6836
0.3531
0.7609
0.7071
1.6882
0.6112
0.7681
1.8104
0.7468
2.1980
1.9319
1.9037
1.0233
1.0114
6.5128
0.9954
8.0037
1.6840
0.2562
0.2054
0.5550
1.7160
0.5324
0.5039
1.0916
0.4801
1.2969
0.8019
1.8221
0.6608
0.8227
2.5755
0.8084
3.1559
2.2470
2.0491
1.1263
1.0080
8.8418
0.9963
10.8987
0.5098
1.7772
0.5060
0.2967
0.6766
0.2651
0.7530
0.6013
1.8308
0.5596
0.5989
1.6107
0.5828
1.9565
0.8999
1.9518
0.7109
0.8610
3.4657
0.8506
4.2661
2.5629
2.1872
1.2257
1.0059
11.5308
0.9971
14.2405
10
Qk
Tchb. 0.5 dB
k
c
1.000
Bessel
1.8570
0.1984
0.1593
0.5321
1.8788
0.5197
0.3954
1.0664
0.3773
1.2600
0.6527
1.9483
0.5895
0.6727
2.2131
0.6622
2.7129
1.000
2.0808
0.7606
0.8885
4.4780
0.8806
5.5266
2.8794
2.3228
1.3219
1.0046
14.5793
0.9976
18.0286
0.5062
1.9412
0.5039
0.2372
0.6734
0.2121
0.7495
0.5612
1.9790
0.5376
0.4878
1.5347
0.4761
1.8645
0.7071
2.0606
0.6205
0.7293
2.8913
0.7215
3.5605
1.1013
2.2021
0.8098
0.9087
5.6114
0.9025
6.9367
3.1962
2.4487
1.4153
1.0037
17.9871
0.9980
22.2630
k /c = 1
33
1.
C1
R1
R2
U1
C2
U2
Filtre passe-bas
C1
R1
C2
U1
R2
U2
R3
U2
Filtre passe-haut
R2
C2
R1
U1
C1
Filtre passe-bande
Fig. 1.23.: Circuits de Sallen et Key gain xe
34
Caractristiques
Variable
passe-bas
s/k
passe-haut
k /s
passe-bande
0 =
i s
B0 =
s i
0
s/0 +0 /s
B0
coupe-bande
0 =
i s
B0 =
s i
0
B0
s/0 +0 /s
HP B (s) =
1
1 + C2 (R1 + R2 ) s + C1 C2 R1 R2 s2
(1.51)
HP H (s) =
C1 C2 R1 R2 s2
1 + R1 (C1 + C2 ) s + C1 C2 R1 R2 s2
(1.52)
Par identication des termes de la forme canonique avec ceux des fonctions de transfert, on montre aisment les rsultats suivants :
02 =
1
C1 C2 R1 R2
(1.53)
Q0,P B =
C1 R1 R2
C2 (R1 + R2 )2
(1.54)
Q0,P H =
R2 C1 C2
R1 (C1 + C2 )2
(1.55)
Comme le nombre d'lments indtermins (4) est plus grand que le nombre d'quations (2), on doit en choisir 2 au pralable. An que le facteur de qualit puisse tre
suprieur 0.5, on prendra :
1. pour le ltre passe-bas :
R1 = R2 = R
(1.56)
35
1.
d'o
r
1 C1
1
Q0 =
0 =
CR
2 C2
1
C2 =
C1 = 4 Q20 C2
2Q0 0 R
(1.57)
(1.58)
C1 = C2 = C
d'o
(1.59)
r
1 R2
1
Q0 =
0 =
CR
2 R1
1
R1 =
R2 = 4Q20 R1
2Q0 0 C
(1.60)
(1.61)
Filtre passe-bande
La fonction de transfert du ltre passe-bande de la gure 1.23 est dcrite par :
HP (s) =
R2
R1 + R2 1 +
R2
R1 +R2
C2 R3 s
(R1 (C1 + C2 ) + R3 C2 ) s +
R2
CCRR
R1 +R2 1 2 1 3
s2
(1.62)
En choisissant
C1 = C2 = C
HP (s) =
et
R1 = R3 = R,
on obtient
CR s
R2
R2
R2
R + R2 1 + 3 R+R2 CR s + R+R
C 2 R 2 s2
2
HP (s)
(1.63)
HP (s) = A0
1+
1
Q 0 0
1
s
Q 0 0
s
+
1
02
s2
1
A0 HP (j0 ) =
3
R
1
02 = 1 +
2
R2 C R2
r
1
R
Q0 =
1+
3
R2
Aprs avoir librement choisi la valeur de
(1.64)
(1.65)
(1.66)
R = R2 9 Q20 1
r
3 Q0
R 1
=
C = 1+
R2 0 R
0 R
(1.67)
(1.68)
36
Remarque
Les circuits gain xe orent un moyen simple de raliser des ltres d'ordre 2.
Cependant, si l'on observe les quations donnant la pulsation caractristique
le facteur de qualit
et
Q0 , on voit que l'on ne peut pas varier l'un sans changer l'autre.
R ou C n'est pas
K=
R4
R3 + R4
=1+
R3
R3
On montre aisment que les fonctions de transfert de ces ltres sont dcrites par :
HP B (s) = K
1
1 + (3 K) sRC + (sRC)2
(1.69)
HP H (s) = K
(sRC)2
1 + (3 K) sRC + (sRC)2
(1.70)
HP (s) =
(3 K) sRC
K
3 K 1 + (3 K) sRC + (sRC)2
(1.71)
1 s
D(s) = 1 +
+
Q0 0
s
0
2
(1.72)
0 =
1
RC
(1.73)
1
R4
=3K =2
Q0
R3
(1.74)
Comme le nombre d'lments indtermins (4) est plus grand que le nombre d'quations (2), on doit en choisir 2 au pralable. Si, par exemple, on se donne
on a alors
1
R=
0 C
1
R4 = R3 2
Q0
et
R3 ,
(1.75)
(1.76)
37
1.
Remarque
vaut
AU, P B = AU, P H = K = 3
1
'3
Q0
(1.77)
AU, P =
K
= 3 Q0 1 ' 3 Q0
3K
(1.78)
est proportionnel au facteur de qualit ; il peut ainsi atteindre des valeurs trs importantes. On prfre alors, pour ce type de ltre, utiliser la cellule gain xe.
r = 1 dB
Solution
Ce ltre sera ralis par 3 cellules d'ordre 2 provenant chacune de la transformation
d'une cellule passe-bas d'ordre 1 en une cellule passe-bande. Cette transformation
se fait par le changement de variable suivant (tableau 1.6) :
s
avec
0k =
s/0k + 0k /s
Bk
i s
Bk =
(1.79)
1
s i
=
0
Q0k
(1.80)
1658160052.054 s^3
----------------------------------------------------------------------(s^2 + 151.6s + 2.57e005)(s^2 + 741.3s + 1e006)(s^2 + 589.7s +3.891e006)
Dans la forme de Bode, la fonction de transfert du ltre passe-bande gain unit
s'crit alors :
H(s) =
1+
38
1
s
Q01 01
s
1
Q01 01
2
+ s01
1+
1
s
Q02 02
s
1
Q02 02
2
+ s02
1+
1
s
Q03 03
s
1
Q03 03
s
03
2
U1
U2
C
R4
R3
Filtre passe-bas
R
U1
R4
U2
R3
Filtre passe-haut
R
U1
U2
2R
R4
R3
Filtre passe-bande
Fig. 1.24.: Cellules gain variable
39
1.
damp
qui
01 = 507 [rad/sec]
02 = 1000 [rad/sec]
03 = 1972 [rad/sec]
Q01 = 3.35
Q02 = 1.35
Q03 = 3.35
partir de ces paramtres et du choix du schma de ralisation, on calcule aisment les valeurs des composants. Adoptant le schma de Sallen et Key gain
xe (gure
= 1 [k],
99.7 [k]
2
15.4 [k]
R = R2 9 Q0 1 =
99.7 [k]
198 [nF ]
3 Q0
263 [nF ]
C=
=
0 R
51 [nF ]
10
H [dB]
20
30
40
50
60
2
10
10
pulsation [rad/sec]
10
40
Fichier Matlab
% calcul d'un filtre passe-bande
% fmy / novembre 2003
close all; clear all; format compact; format short g;
% initialisation
wdeb = 100; wfin = 10e3;
w = logspace(log10(wdeb),log10(wfin),500); % 500 points repartis logar.
wdf = [wdeb wfin];
% calcul du filtre passe-bande Tchb
w1 = 500; w2 = 2000; r = 1; n = 6;
[num den] = cheby1 (n/2, r, [w1 w2], 's');
% fonction de transfert du filtre
Gw = tf (num, den);
% calcul des facteurs de qualit et pulsation caractristiques
zpk(Gw)
% affichage de G(jw)
[wk zk] = damp(Gw);
% pulsation caract. et coeff. d'amortissement
Qk = 1./(2*zk);
% calcul des facteurs de qualite
Qk_wk = [Qk, wk]
Q0 = Qk(1:2:n);
w0 = wk(1:2:n);
Q0_w0 = [Q0, w0]
% Q0 et w0 de chaque cellule
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
1658160052.054 s^3
--------------------------------------------------------------------------(s^2 + 151.6s + 2.57e005) (s^2 + 741.3s + 1e006) (s^2 + 589.7s + 3.891e006)
Qk_wk =
3.3449
3.3449
1.3491
1.3491
3.3449
3.3449
506.98
506.98
1000
1000
1972.4
1972.4
3.3449
1.3491
3.3449
506.98
1000
1972.4
Q0_w0 =
% fonctions de transfert
G1 = tf([1/Q0(1)/w0(1)
G2 = tf([1/Q0(2)/w0(2)
G3 = tf([1/Q0(3)/w0(3)
Gw = G1 * G2 * G3;
% calcul
[ampl1
[ampl2
[ampl3
[ampl
gain unit
0], [1/w0(1)^2 1/Q0(1)/w0(1) 1]);
0], [1/w0(2)^2 1/Q0(2)/w0(2) 1]);
0], [1/w0(3)^2 1/Q0(3)/w0(3) 1]);
41
1.
42
1.9853e-007
2.6315e-007
5.103e-008
Bibliographie
Digital Signal Processing,
Maxwell MacMillan,
1992
1.8. Exercices
FA 1
0 dB Hp (3 kHz) 0.2 dB
Ha (10 kHz) 40 dB
Pour ce faire :
1. calculez l'ordre du ltre et la frquence de coupure du ltre ;
2. que valent le facteur de qualit et la frquence de coupure de chaque cellule ;
3. calculez la fonction de transfert
4. pour chaque cellule, esquissez
H(s)
HdB (f )
du ltre ;
puis, justiez l'allure de
Htot ;
FA 2
FA 3
Vriez que pour les ltres de Butterworth le produit des facteurs de qualit
rsultat ?
43
Bibliographie
FA 4
FA 5
fc = 1 [kHz].
Rponse :
tp = 386 s
suivant :
Hr (1 kHz) = 0.5 dB
Ha (2 kHz) 50 dB
1. calculez l'ordre du ltre et sa frquence de coupure ;
2. calculez le facteur de qualit et la frquence caractristique de chaque cellule ;
3. l'ondulation de la rponse frquentielle du ltre sera-t-elle au-dessus ou audessous du niveau 0 dB ?
4. pour chaque cellule, esquissez
FA 6
HdB (f ) ;
justiez l'allure de
Htot .
Sallen et Key gain unit dans lequel toutes les rsistances valent 10 k alors que
les capacits des 3 cellules valent respectivement
C11 = 0.41 F
C12 = 0.38 F
C21 = 0.56 F
C22 = 0.28 F
C31 = 1.54 F
C32 = 0.10 F
FA 7
1. Considrant un ltre passe-bas d'ordre 2
1
Hb (s) =
1 + 2 (s/0 ) + (s/0 )2
avec
0.1
0 = 103 [rad/sec]
FA 8
c = 103 [rad/sec] ;
Q0 = 1 et 0 = 103 [rad/sec] ;
que vaudra la
0 = 103 [rad/sec] ;
que
0 ?
44
Q0 = 10
et
H(z) =
b0 z n + b1 z n1 + + bn
z n + a1 z n1 + + an
(2.1)
H(z) =
b0 + b1 z 1 + + bn z n
1 + a1 z 1 + + an z n
(2.2)
La premire forme sert essentiellement l'analyse des performances du ltre (recherche des ples et zros), alors que de la deuxime on tire immdiatement l'quation aux dirences qui servira raliser le ltre :
z 1
o
exp(jTe ) exp(j)
(2.3)
On obtient alors
H(j) =
b0 + b1 exp(j) + + bn exp(jn)
1 + a1 exp(j) + + an exp(jn)
(2.4)
fN = fe /2)
H(j0) =
b0 + b1 + b2 + b3 + + bn
1 + a1 + a2 + a3 + + an
H(j) =
b0 b1 + b2 b3 + + bn
1 a1 + a2 a3 + + an
45
2.
Exemple
H(z) =
z 1
z
= 2
1
2
1 1.7 z + 0.81 z
z 1.7 z + 0.81
= 1)
H(j0) =
1
= +9.091
1 1.7 + +0.81
H(j) =
1
= 0.285
1 + 1.7 + +0.81
z 1
H(j) =
H(j) =
fe /2 (z = 1)
H(j)
exp(j),
qui s'crit
exp(j)
1 1.7 exp(j) + 0.81 exp(j2)
cos() j sin()
1 1.7 cos() + j 1.7 sin() + 0.81 cos(2) j 0.81 sin(2)
|H(j)| = q
H(j)
1
(1 1.7 cos() + 0.81 cos(2))2 + (1.7 sin() 0.81 sin(2))2
H(j) = arctan
La gure 2.1 prsente les rponses temporelles (impulsionnelle et indicielle) et frquentielles (module et argument) de ce ltre.
H(z)
ak
et
bk
de
satisfasse au cahier des charges x au pralable. Cette synthse peut tre base sur
les connaissances que l'on a de la rponse des ltres analogiques ou sur des mthodes
spciques aux ltres numriques. Dans ce qui suit, on se contentera, partant des
ltres analogiques, de rechercher des ltres numriques au comportement similaire.
Sachant que le comportement frquentiel des ltres analogiques est compltement
dtermin par la donne de la fonction de transfert
H(s) =
46
H(s),
d 0 + d 1 s + d 2 s2 + + d n sn
c0 + c1 s + c2 s2 + + cn sn
(2.5)
20
2
15
1.5
|H(jf)|
h(n)
1
0.5
0
10
0.5
0
10
20
30
40
50
14
12
10
2
H(jf)
g(n)
8
6
6
10
20
30
40
50
0.4
0.2
0.4
0.6
0.8
0.6
0.8
4
5
0.2
f [Hz]
on cherche obtenir le mme type de rponse frquentielle avec des ltres numriques
dcrits par
H(z) =
b0 + b1 z 1 + b2 z 2 + + bn z n
a0 + a1 z 1 + a2 z 2 + + an z n
et
(2.6)
approximations des rponses temporelle et frquentielle analogiques, on peut imaginer un grand nombre de transformations possibles. Parmi celles-ci, il en est deux
que l'on rencontre frquemment et qui seules sont prsentes ici : la
associe
et la
transformation bilinaire.
transformation
H(z)
ceux de
H(s).
Autrement
dit, connaissant la position des ples et zros du ltre analogique situs dans le
demi-plan complexe, on construit un ltre numrique ayant les ples et zros correspondants situs dans un cercle de rayon unit (gure 2.2).
Sachant que la variable
tillonnage
Te ,
on a
z = exp(s Te )
(2.7)
47
2.
Im(z)
Im(s)
+j
Te
e-Te
Re(s)
Re(z)
-
-j
s=
qui, une racine analogique
ra ,
1
ln(z)
Te
(2.8)
rn
telle que
rn = exp(ra Te )
(2.9)
Pa (s)
Pn (z).
Considrant que tout ltre est reprsent fondamentalement par des polynmes
d'ordre 1 et 2, on peut se contenter d'analyser les deux situations suivantes.
1. un polynme analogique d'ordre 1 et sa racine
ra
ra = c
(2.10)
Pn1 (z) = 1 + a1 z 1
avec
a1 = exp(c Te )
2. un polynme analogique d'ordre 2 et ses racines
Pc2 (s) = 1 + a1 s + a2 s2
(2.11)
(2.12)
ra1,2
ra1,2 = j0
(2.13)
0 = 0 Te
avec
(2.14)
(2.15)
H(z)
an que, pour une frquence donne, on ait la mme amplitude de la rponse
48
fc = 1 kHz
fe = 1/Te
de 10 kHz.
0.3
10
0.25
h(t)
0.2
0.15
0.1
10
0.05
0.05
0.5
1.5
2.5
1.4
|H(jf)| [dB]
0
20
30
1.2
g(t)
40
0.8
0.6
50
0.4
0.2
0
0.5
1.5
t [ms]
2.5
60
2
10
10
f [Hz]
10
Solution
H(s) =
1
(1 + s/c ) 1 + s/c + (s/c )2
(2.16)
pa1 = c = 2000
pa2,3 = c 1 j 3 /2 = 1000 1 j 3 j0
P1 (z) = 1 + a1 z 1
avec
49
2.
a1 = exp(c Te ) = 0.5335
d'o
P1 (z) = 1 0.5335 z 1
(2.17)
P2 (z) = 1 2R cos(0 )z 1 + R2 z 2
R = exp( Te ) = exp(/10) = 0.730
avec
0 = 0 Te = 3/10 = 0.544
d'o
(2.18)
G1
et
G2
H(z) =
sont inconnus :
G1
G2
(1 0.5335 z 1 ) (1 1.25 z 1 + 0.5335 z 2 )
Il reste donc adapter les gains de chaque cellule du ltre de manire ce que
l'amplitude du ltre numrique soit la mme que celle du ltre analogique pour une
frquence donne. Comme il s'agit ici d'un ltre passe-bas, c'est le comportement
DC des ltres qui doit tre identique. Sachant que les valeurs DC des rponses
analogique et numrique sont obtenues pour
s = 0
et, respectivement,
z = 1,
il
vient :
H(s 0) = 1
G2
G1
G2
G1
=
= H(s 0) = 1
H(z 1) =
(1 0.5335) (1 1.25 + 0.5335)
0.4665 0.2835
En choisissant
G1 = 0.4665
et
G2 = 0.2835,
H(z) =
0.2835
0.4665
1
(1 0.5335 z ) (1 1.25 z 1 + 0.5335 z 2 )
H(z) =
Remarque
0.2835 z 2
0.4665 z
(z 0.5335) (z 2 1.25 z + 0.5335)
conduit le ltre rpondre instantanment l'excitation. Cette situation peu raliste, en particulier pour un ltre passe-bas, nous incite ajouter un retard unitaire
z 1 H(z). Les fonctions de transfert s'crivent alors dans l'une ou l'autre des deux
formes suivantes :
H(z) =
0.4665
0.2835
z 1
1
1
2
(1 0.5335 z ) (1 1.25 z + 0.5335 z )
H(z) =
0.2835 z
0.4665 z
2
(z 0.5335) (z 1.25 z + 0.5335)
(2.19)
(2.20)
50
10
0.25
h(n)
0.2
0.15
0.1
10
0.05
0.05
10
15
20
25
|H(jf)| [dB]
1.4
20
30
1.2
g(n)
40
0.8
0.6
50
0.4
0.2
0
10
15
20
60
2
10
25
10
f [Hz]
10
Fig. 2.4.: Rponses d'un ltre numrique obtenu par transformation associe
0.3
10
0.25
h(n)
0.2
0.15
0.1
10
0.05
10
15
20
25
1.4
|H(jf)| [dB]
0
0.05
20
30
1.2
g(n)
40
0.8
0.6
50
0.4
0.2
0
10
15
n
20
25
60
2
10
10
f [Hz]
10
Fig. 2.5.: Rponses d'un ltre numrique obtenu par modication de la transforma-
tion associe
51
2.
z = 1.
z=0
Comme le gain introduit par chaque nouveau zro est gal deux, il ne
faut pas oublier de rduire d'autant le gain global. La nouvelle fonction de transfert
s'crit alors
H(z) =
H(z) =
1 0.4665 (z + 1)
0.2835 (z + 1)
2
4 (z 0.5335) (z 1.25 z + 0.5335)
(2.21)
1 0.4665 (1 + z 1 )
0.2835 (1 + z 1 )
z 1
1
1
2
4 (1 0.5335 z ) (1 1.25 z + 0.5335 z )
(2.22)
analogique
mthodes numriques d'intgration, il en est une qui ore un bon compromis entre
la qualit des rsultats et la facilit de mise en oeuvre ; il s'agit de l'intgration
trapzodale. Celle-ci revient remplacer l'intgrale
y(t) =
x(t)dt =
tTe
x(t)dt +
x(t)dt
tTe
y[n] = y[n 1] +
z
s=
Remarque
2 1 z 1
2 z1
=
1
Te 1 + z
Te z + 1
z = e+sTe
52
s=
1
ln(z)
Te
ln(z) = 2
z1
z+1
z1
z+1
2
par la fonction
Polynme d'ordre 1
1 z 1
1 + z 1
avec
2
Te
(2.24)
Pa1 (s) = a0 + a1 s
(2.25)
1 z 1
1 + z 1
(a0 + a1 ) + (a0 a1 ) z 1
=
1 + z 1
F1 (z) = a0 + a1
d'o
(2.26)
q0
q1
(2.27)
avec
Polynme d'ordre 2
q0 + q1 z 1
1 + z 1
= a0 + a1
= a0 a1
F1 (z) =
(2.28)
Pa2 (s) = a0 + a1 s + a2 s2
(2.29)
2
1 z 1
1 z 1
+ a2
F2 (z) = a0 + a1
1 + z 1
1 + z 1
(a0 + a1 + a2 2 ) + 2 (a0 a2 2 ) z 1 + (a0 a1 + a2 2 ) z 2
=
1 + 2z 1 + z 2
d'o
q0 + q1 z 1 + q2 z 2
1 + 2z 1 + z 2
= a0 + a1 + a2 2
= 2 a0 a2 2
= a0 a1 + a2 2
F2 (z) =
(2.30)
q0
q1
q2
(2.31)
avec
(2.32)
(2.33)
53
2.
H(s) =
avec
1
(1 + s/c ) 1 + s/c + (s/c )2
c = 2 fc = 2000 rad/sec
Solution
et
fe = 10 kHz .
q0 =
=
q1 =
=
d'o
1 + z 1
1 + z 1
1
=
=
H1 (z) =
F1 (z)
q0 + q1 z 1
4.1831 2.1831 z 1
=
2. Polynme d'ordre 2 :
q0 =
=
q1 =
=
q2 =
=
0.239 (1 + z 1 )
1 0.5219 z 1
Pa2 (s) = 1 + 1.5915 104 s + 2.533 108 s2
d'o
H2 (z) =
54
1 + 2z 1 + z 2
1
=
Fn2 (z)
q0 + q1 z 1 + q2 z 2
1 + 2z 1 + z 2
14.315 18.264 z 1 + 7.949 z 2
0.06986 (1 + 2z 1 + z 2 )
1 1.2759 z 1 + 0.5553 z 2
H(z) =
0.239 (1 + z 1 ) 0.06986 (1 + 2z 1 + z 2 )
1 0.5219 z 1 1 1.2759 z 1 + 0.5553 z 2
H(z) =
(2.34)
0.239 (z + 1) 0.06986 (z 2 + 2z + 1)
z 0.5219 z 2 1.2759 z + 0.5553
(2.35)
10
0.25
h(n)
0.2
0.15
0.1
10
0.05
0.05
10
15
20
25
1.4
|H(jf)| [dB]
0
20
30
1.2
g(n)
40
0.8
0.6
50
0.4
0.2
0
10
15
20
25
60
2
10
10
f [Hz]
10
Fig. 2.6.: Rponses d'un ltre numrique obtenu par transformation bilinaire
et
s=
2 1 z 1
Te 1 + z 1
(2.36)
j =
2 1 exp(jTe )
Te 1 + exp(jTe )
(2.37)
55
2.
Sachant que
Te
on a
2 1 exp(j)
Te 1 + exp(j)
j =
j =
exp(+j/2),
il vient
2 exp(+j/2) exp(j/2)
2 2j sin(/2)
=
Te exp(+j/2) + exp(j/2)
Te 2 cos(/2)
et numrique
= 2fe tan
2
2
2
=
tan
Te
(2.38)
/2.
1)
est
(gure 2.7). On
que
tan(/2)
peut
marqu lorsque la frquence d'chantillonnage n'est pas beaucoup plus leve que la
frquence caractristique du ltre.
Cette distorsion des frquences peut tre corrige en remplaant la pulsation caractristique
r = 1 dB ,
fe = 10 kHz .
d'ordre 2, d'ondulation
d'chantillonnage
de bande passante
fr = 3 kHz
et de frquence
fe /2 = 5 kHz
fr = 3 kHz
fN =
et que
cela conduira une forte distorsion frquentielle si l'on n'eectue pas sa compensation.
La synthse d'un ltre numrique rcursif se fait en quatre tapes :
1.
r
2
3 kHz
fr
= 2
= 0.6
fe
10 kHz
56
H()
= 2 fe tan (/2)
H()
57
2.
2.
Dans cet exemple, le ltre est un passe-bas de Tchebiche d'ordre 2 et d'ondulation 1 dB. Les tables nous fournissent le polynme normalis qui vaut
Pn,2 (s) =
3.
1
= 1 + 0.996 s + 0.907 s2
Hn (s)
s
= 3.63 105 s
d
4.
P2,d (s)
q0 = a0 + a1 + a2 2 = +2.202
q1 = 2 a0 a2 2 = +1.043
q2 = a0 a1 + a2 2 = +0.755
H(z) =
1 + 2 z 1 + z 2
2.202 + 1.043 z 1 + 0.755 z 2
= 0.454
(1 + 2 z 1 + z 2 )
1 + 0.473 z 1 + 0.343 z 2
Les rponses frquentielles des ltres analogique et numrique sont prsentes dans
la gure 2.8a. Dans un but de comparaison, on a galement calcul la fonction de
transfert sans prdistorsion en eectuant directement la transformation bilinaire de
H(s).
Ce qui a donn
(1 + 2 z 1 + z 2 )
1 0.0137 z 1 + 0.313 z 2
Remarque
fr = 3 kHz .
fonction de transfert
H(z)
commandes suivantes :
n = 2 ; r = 1 ; fr = 3e3 ;
fe = 10e3 ; fn = fe/2 ;
[num,den] = cheby1(n,r,fr/fn) ;
num = num/sum(num)*sum(den) ; % gain DC = 1
58
Rponses frquentielles
1.4
1.2
|H(jf)|
1
0.8
0.6
0.4
0.2
0
fr
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
4000
5000
f [Hz]
6000
7000
8000
9000
10000
1.4
1.2
|Hd(jf)|
1
0.8
0.6
0.4
0.2
0
fr
0
1000
2000
3000
Fig. 2.8.: Rponses frquentielles des ltres analogiques et numriques avec et sans
prdistorsion
59
2.
2.7. Exercices
RII 1
H(z).
Pour ce faire :
1. crivez l'quation direntielle du circuit RC ;
2. discrtisez cette quation ;
3. crivez l'quation aux dirences du ltre et dessinez son schma fonctionnel ;
4. calculez sa fonction de transfert
RII 2
H(z) ;
Kc ?
RC
du ltre analogique.
H(z) ;
toire ?
3. si
x[n] = [n],
calculez
Y (z) ;
que valent
H(j)
y[0]
et
y[] ?
esquissez
y[n] ;
du ltre numrique ;
esquissez le module de
RII 3
Ha (z)
RII 4
H(z) d'un ltre analogique passehaut de type Butterworth devant travailler jusqu' 10 kHz dont la fonction de transOn souhaite raliser l'quivalent numrique
H(s) =
(s/c )2
1 + 1.414 (s/c ) + (s/c )2
avec
fc = 1 kHz
Pour ce faire :
1. esquissez le Bode d'amplitude du ltre analogique ;
2. choisissez la frquence d'chantillonnage ;
3. calculez son quivalent
4. calculez son quivalent
5. crivez les quations aux dirences correspondantes permettant ces deux ralisations ;
6. dessinez leur schma fonctionnel ;
7. que valent
60
H( = 0)
et
H( = )
2.7. Exercices
RII 5
H(s) =
1. dessinez les ples et zros de
5 103 s
1 + 5 103 s + s2
H(s)
situent-ils par
RII 6
H(s) =
a2 s2 + a1 s + a0
b2 s2 + b1 s + b0
H(s) en
H(z) l'aide de la transformation bilinaire ; prcisez quels sont ses paramtres
y[n]
x[n] ;
H(s) =
1
2
s + 1 s2 + 22 s + 22
avec
1 = 1000 rad/sec
2 = 1000 rad/sec
=
0.5
et
AnalogIn
4. votre programme peut tre test de manire simple partir des instants caractristiques et des valeurs initiale et nale de la rponse indicielle du ltre ;
calculez ces valeurs.
N.B. :
l'horloge interne ; les sorties (AnalogOut) sont restitues immdiatement aprs les
calculs.
61
2.
62
comporte
N +1
L=N +1
N
X
k=0
h[k] [n k]
(3.1)
y[n] =
N
X
k=0
h[k] x[n k]
(3.2)
N
N
Y (z) X
H(z) =
h[n] z n
=
X(z) n=0
4. sa rponse frquentielle que l'on value en remplaant
(3.3)
z 1
par
ej
Y (j) X
=
h[n] ejn
H(j) =
X(j) n=0
(3.4)
3.2. Spcications
Les spcications d'un ltre se donnent sous la forme d'un gabarit en valeurs relles
ou relatives (dB). Un exemple de gabarit pour un ltre passe-bas est illustr dans
la gure 3.1. On y trouve :
63
3.
1. la bande passante
[0, p ] ;
(p , a )
et d'arrt[a , ] ;
ou
Rp [dB] ;
ou
Aa [dB].
|H(j)|
1+1
1
0
Rp
1-1
Aa
AdB
0
0,
(3.5)
Aa = 20 log(2 ) > 0
(3.6)
1 = 10+Rp /20 1
(3.7)
ou inversment :
2 = 10Aa /20
(3.8)
64
Symtrie paire
N = 6 reprsent par une squence h[n] symtrie
Ns = 3 (gure 3.2a). Cette squence provient d'une rponse
hp [n] non causale dont la rponse frquentielle est relle.
Le dcalage temporel (ici, un retard) ncessaire pour rendre le ltre causal entrane
le dphasage linaire souhait. On a donc
H(j)
|H| =
|Hp |
(3.9)
H = {0, } Ns
Hp (j)
et la phase varie
Hp (j).
5
a)
^
N =3
s
10
1
5
^ N = 3.5
s
10
3
c)
d)
^
N = 3.5
N =3
s
2
3
5
b)
1
5
cette phase
2
0
10
3
5
10
Symtrie impaire
Considrons un ltre RIF d'ordre
impaire par rapport
impulsionnelle impaire
imaginaire.
Le dcalage temporel ncessaire pour rendre le ltre causal entrane le dphasage
linaire souhait. On a donc
65
3.
H(j)
|H| =
|Hi |
H = /2 Ns
(3.10)
/2
Hi (j)
et sa phase va-
Remarque
On peut bien sr considrer des ltres d'ordre
L = N +1
n.
Exemple
Considrons comme exemple un ltre causal dont la rponse impulsionnelle nie
(gure 3.3a) est dcrite par une squence non-nulle de longueur
L=9
symtrie
paire
h[n] = {+1, +2, +3, +4, +5, +4, +3, +2, +1, 0, 0, }
Par transformation en
avec
n = 0, 1, 2,
H(z) =
N
X
h[n] z n
n=0
= 1 + 2z 1 + 3z 2 + 4z 3 + 5z 4 + 4z 5 + 3z 6 + 2z 7 + 1z 8
= z 8 1 + 2z + 3z 2 + 4z 3 + 5z 4 + 4z 5 + 3z 6 + 2z 7 + 1z 8
z = 0
N = 8,
possde
z 1
ej ,
on
H(j) =
N
X
h[k] ej
k=0
ej4 ,
H(j) = ej4 1e+j4 + 2ej3 + 3ej2 + 4ej + 5 + 4ej + 3ej2 + 2ej3 + 1ej4
66
25
a)
c)
5
20
|H(j)|
h[n]
4
3
2
15
10
1
5
0
1
0
1
10
0.5
b)
d)
10
2
0.5
5
H(j)
Im(z)
0.5
15
0
/
0
0.5
10
2
1
1
0.5
0
Re(z)
0.5
15
1
0.5
0
/
0.5
Fig. 3.3.: Rponse impulsionnelle, ples et zros, amplitude et phase d'un ltre RIF
symtrie paire
on obtient nalement
H(j) = 4
titre de comparaison, il est intressant de tracer les mmes graphes (gure 3.4)
pour un ltre ralis avec une rponse impulsionnelle similaire la prcdente mais
avec une symtrie impaire cette fois-ci :
avec
n = 0, 1, 2,
H(j) = ej4 1e+j4 + 2ej3 + 3ej2 + 4ej + 0 4ej 3ej2 2ej3 1ej4
= 2j ej4 (4 sin() + 3 sin(2) + 2 sin(3) + sin(4))
= 2 | (4 sin() + 3 sin(2) + 2 sin(3) + sin(4)) | + /2 4
On peut relever que la symtrie paire conduit un ltre passe-bas alors que la
symtrie impaire fournit un ltre passe-haut ou passe-bande.
67
3.
25
a)
c)
|H(j)|
h[n]
20
15
10
5
0
1
10
0.5
0
/
0.5
15
1.5
d)
b)
5
3
H(j)
0.5
Im(z)
10
0.5
0
5
10
1.5
2
0
Re(z)
15
1
0.5
0
/
0.5
Fig. 3.4.: Rponse impulsionnelle, ples et zros, amplitude et phase d'un ltre RIF
symtrie impaire
Hd (j) d'un ltre analogique passe-bas idal (gure 3.5a). Sa rponse impulhd (t) se calcule par transformation de Fourier inverse. On obtient ainsi une
sionnelle
h(t)
t < 0.
Un dcalage de cette rponse symtrie paire sut rendre le ltre causal (gure
3.5f ), donc phase linaire (gure 3.5e). Bien entendu, le module de sa rponse
frquentielle ne sera plus qu'une approximation de l'idal (gure 3.5c).
D'un point de vue mathmatique, le fait de tronquer la rponse impulsionnelle
revient multiplier celle-ci par une fentre rectangulaire
68
wr (t)
hd (t)
et la rponse impul-
(3.11)
(3.12)
(3.13)
H(j)
provient du spectre
W (j)
An d'obtenir le meilleur compromis possible entre une faible ondulation et une
bande de transition troite, on sera donc amen par la suite choisir une fentre
w[n]
69
3.
1
a)
amplitude
module
10
b)
0.5
0
0
0.1
0.05
0.05
0.1
50
50
1
c)
amplitude
module
10
d)
0.5
0
0
0.1
0.05
0.05
0.1
50
10
e)
amplitude
phase
50
5
0
5
10
0.1
f)
0.5
0
0.05
0
frquence
0.05
0.1
20
40
60
temps
80
100
1.5
H (j)
W(jj)
0.5
0.5
0.5
1.5
2.5
1
/
1.5
2.5
1.5
H(j)=H (j) W(j)
d
0.5
H (j)
d
0.5
0.5
70
Hb (j) =
1 si || c
(3.14)
0 si || > c
1
hb [n] =
2
Hb (j)exp(+jn) d
(3.15)
1
hb [n] =
2
=
+c
exp(+jn) d
c
exp(+jnc ) exp(jnc )
j2n
hb [n] =
c sin (nc )
nc
< n < +
(3.16)
Cette rponse temporelle est inniment longue et non causale. An de la rendre
causale, il faut tout d'abord la tronquer pour avoir une rponse impulsionnelle de
d'ordre
Ns = N/2,
pair centre
il vient :
hb [n] =
c sin((nNs )c )
(nNs )c
si
0 n 6= Ns N
si
n = Ns
sinon
(3.17)
71
3.
Passe-Bas
Passe-Haut
1
Passe-Bande
1
Coupe-Bande 1
72
0.8
h[n]
0.6
0.4
0.2
0
0.2
0
10
20
30
40
50
60
|H(j)|
0.8
0.6
0.4
0.2
0
3
Filtre passehaut
0.8
h[n]
0.6
0.4
0.2
0
0.2
0
10
20
30
40
50
60
|H(j)|
0.8
0.6
0.4
0.2
0
3
73
3.
s'crit :
Hh (j) =
0 si
|| c
(3.18)
1 si c < || <
On peut remarquer que les rponses frquentielles d'un passe-bas et d'un passe-haut
sont relies entre elles par :
Hh (j) = 1 Hb (j)
(3.19)
(3.20)
sin((nNs )c )
c (nNs )c
si
0 n 6= Ns N
hh [n] =
1 c
si
n = Ns
0
sinon
(3.21)
et
rsultats suivants :
1. Rponse impulsionnelle d'un ltre passe-bande
h [n] =
2 sin((nNs )2 )
(nNs )2
1 sin((nNs )1 )
(nNs )1
si
0 n 6= Ns N
2 1
si
n = Ns
sinon
(3.22)
hr [n] =
1 sin((nNs )1 )
(nNs )1
2 sin((nNs )2 )
(nNs )2
2 1
si
0 n 6= Ns N
si
n = Ns
sinon
74
(3.23)
0.8
h[n]
0.6
0.4
0.2
0
0.2
0
10
20
30
40
50
60
|H(j)|
0.8
0.6
0.4
0.2
0
3
0.8
h[n]
0.6
0.4
0.2
0
0.2
0
10
20
30
40
50
60
|H(j)|
0.8
0.6
0.4
0.2
0
3
75
3.
Exemple
Ralisation d'un ltre non rcursif lmentaire bas sur la rponse fr-
quentielle idale d'un ltre passe-bas ayant une bande passante de 1 kHz alors que
la frquence d'chantillonnage est de 10 kHz.
w[n]
et une gure
comportant 4 graphes :
1. son graphe temporel
w[n]
W (j) = T F {w[n]}
1
Wcum (j) =
2
W (j)d
(3.24)
Cette reprsentation peu commune est importante car grce elle, on peut
mesurer le niveau d'attnuation possible ainsi que la largeur de la bande de
transition pour un ltre RIF. Sa dnition dcoule de la convolution entre une
rponse frquentielle constante et le spectre de la fentre
w[n].
Fentre rectangulaire
wr [n] =
76
si
0 sinon
0nN
(3.25)
si
0 n N/2
si
N/2 < n N
sinon
(3.26)
Rectangle
20
W (j)
0.6
dB
w[n]
0.8
0.4
0.2
40
60
0
0
10
20
30
40
80
1
50
0.5
0
/
0.5
0.5
0
/
0.5
60
20
W(j)d
W(j)
40
20
20
1
40
60
0.5
0
/
0.5
80
1
Fentre de Hamming
wh [n] =
0.5 1 cos 2 Nn
0
0.54 0.46 cos 2 Nn
0
si
0nN
(3.27)
sinon
si
0nN
(3.28)
sinon
Fentre de Blackman
wb [n] =
0.42 0.5 cos 2 Nn + 0.08 cos 4 Nn
si
0nN
(3.29)
sinon
77
3.
Triangle
0
20
W (j)
0.6
dB
w[n]
0.8
0.4
0.2
40
60
0
0
10
20
30
40
80
1
50
0.5
0
/
0.5
0.5
0
/
0.5
0.5
0
/
0.5
0.5
0
/
0.5
35
30
20
20
W(j)d
W(j)
25
15
10
5
40
60
0
5
1
0.5
0
/
0.5
80
1
Cosinus
0
20
W (j)
0.6
dB
w[n]
0.8
0.4
0.2
40
60
0
0
10
20
30
40
80
1
50
35
30
20
20
W(j)d
W(j)
25
15
10
5
40
60
0
5
1
0.5
0
/
0.5
80
1
78
w[n]
0.8
20
0.6
40
0.4
0.2
60
0
0
10
20
30
40
80
1
50
0.5
0.5
0.5
0
/
0.5
35
30
20
20
W(j)d
W(j)
25
15
10
5
40
60
0
5
1
0.5
0
/
0.5
80
1
wk [n] =
avec :
I0
1(1n/Ns )2
I0 ()
si
sinon
0nN
(3.30)
79
3.
Blackman
0
20
W (j)
0.6
dB
w[n]
0.8
0.4
0.2
40
60
0
0
10
20
30
40
80
1
50
0.5
0
/
0.5
0.5
0
/
0.5
35
30
20
20
W(j)d
W(j)
25
15
10
5
40
60
0
5
1
0.5
0
/
0.5
80
1
srie :
2
X
1 x n
I0 (x) = 1 +
n! 2
n=1
(3.31)
Cette srie converge rapidement et la procdure de calcul propose par Kaiser est
trs simple mettre en oeuvre :
ds := 1.0 ;
s := 1 ;
repeat
d := d + 2.0 ;
ds := ds * (x / d) * (x / d) ;
s := s + ds ;
until abs (ds/(s+eps)) < eps ;
Bessel0 := s ;
end ;
80
Kaiser = 9
0
1
0.8
W (j)
20
dB
w[n]
0.6
0.4
0.2
40
60
0
0
10
20
30
40
80
1
50
0.5
0
/
0.5
0.5
0
/
0.5
35
30
20
20
W(j)d
W(j)
25
15
10
5
40
60
0
5
1
0.5
0
/
0.5
80
1
=9
Aprs une simulation numrique extensive, Kaiser a obtenu une paire de formules
qui permettent de trouver
cations sont l'attnuation
et N
AdB et
exprime
en radians.
Le facteur de forme
AdB > 50
si
si
AdB
AdB
(3.32)
AdB < 21
et la bande de transition
souhaite
AdB 8
2.285
(3.33)
81
3.
0
beta = 0
N = 10
. . . . . beta = 3
10
. . . . . N = 20
10
beta = 5
N = 40
20
20
30
30
40
40
50
50
60
60
70
70
80
80
N = 20
90
100
0.1
beta = 5
90
0.2
0.3
0.4
0.5
100
0.1
0.2
0.3
0.4
0.5
Fentres
Rectangle
Triangle (Bartlett)
Cosinus (Hann)
Hamming
Blackman
Kaiser
Kaiser
= 4.54
= 5.66
Largeur du
Attnuation du
Dcroissance des
1er lobe
lobes suivants
4/N
8/N
8/N
8/N
12/N
7.2/N
8.4/N
-13
20 dB/dc
-27
40 dB/dc
-32
60 dB/dc
-43
20 dB/dc
-58
60 dB/dc
-30
20 dB/dc
-42
20 dB/dc
82
Ondulation
Rp
Fentres
Rectangle
Attnuation max.
Amax
[dB]
0.74
21
25
Cosinus (Hann)
0.055
44
Hamming
0.014
53
Blackman
0.0017
74
0.025
50
0.009
60
Triangle (Bartlett)
Kaiser
Kaiser
= 4.54
= 5.66
Bande de transition
[dB]
1.8 /N
6.1 /N
6.2 /N
6.6 /N
11 /N
5.8 /N
7.2 /N
Fentres
Triangle
(Bartlett)
Cosinus
(Hann)
Hamming
Blackman
Kaiser
+/
+
+
=
+
+
=
+
+
+
+
+
=
++
+
=
++
++
Remarques
simple calculer ; pas de sinus ou cosinus
bande spectrale troite
faible rjection (25 dB)
dcroissance spectrale moyenne (-40 dB/dc)
simple calculer
bande spectrale troite
rjection raisonnable (44 dB)
forte dcroissance spectrale (-60 dB/dc)
simple calculer
bande spectrale troite
bonne rjection (53 dB)
faible dcroissance spectrale (-20 dB/dc)
simple calculer
bande spectrale moyenne
trs bonne rjection (74 dB)
forte dcroissance spectrale (-60 dB/dc)
moins simple calculer
bande spectrale moyenne
excellente rjection (100 dB)
faible dcroissance spectrale (-20 dB/dc)
meilleur compromis attnuation / bande de transition
ltres RIF
83
3.
transition ;
3. rechercher la rponse impulsionnelle
hd [n]
fp = 1 kHz,
Ap = 0 dB;
fa = 1.4 kHz,
Aa = 50 dB
3.8.1. Prliminaires
La rponse du ltre sera construite partir de celle d'un ltre passe-bas idal tel
que :
1. la frquence de coupure se situe au centre de la bande de transition
fc =
donc :
c = 2
fp + fa
= 1.2 kHz
2
1.2 kHz
fc
= 2
= 0.24
fe
10 kHz
f = fa fp = 0.4 kHz
on a donc :
= 2
84
f
0.4 kHz
= 2
= 0.08
fe
10 kHz
hd [n] = hb [n] =
c sin((nNs )c )
(nNs )c
si
0 n 6= Ns N
si
n = Ns
sinon
4. le tableau 3.2 montre que pour cet exemple, on peut utiliser la fentre de
Hamming ou la fentre universelle de Kaiser. Considrons ces deux cas.
=
On en dduit immdiatement la longueur
N=
6.6
N
N du
ltre :
6.6
6.6
=
= 82.5 ' 84
0.08
Ns = 42.
hd [n] =
c sin ((n Ns )c )
(n Ns )c
sin(0.24 (n42))
(n42)
n
84
si
0 n 84
si
n = 42
sinon
85
3.
Rponse impulsionnelle
0.25
0.2
0.15
h[n]
0.1
0.05
0
0.05
0.1
10
20
30
40
50
60
70
80
90
Rponse frquentielle
0
H(f) [dB]
20
40
60
80
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
Rponses temporelles
2
x [n]
1
0
1
2
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
0.02
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
0.02
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
0.02
RIF
[n]
RIF
1
2
0.002
RII
[n]
RII
1
2
0.002
86
AdB
Comme
Adb = 50,
50 8
AdB 8
=
= 73.1 ' 74
2.285
2.285 0.08
Ns = 37.
hd [n] =
(n Ns )c
(n 37)
Rponse impulsionnelle
0.3
0.25
0.2
h[n]
0.15
0.1
0.05
0
0.05
10
20
30
40
50
60
70
80
Rponse frquentielle
0
H(f) [dB]
20
40
60
80
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
sin(0.24 (n37))
(n37)
I0 4.55
1(1n/37)2
I0 (4.55)
wk [n],
on obtient la rponse
si
0nN
sinon
87
3.
frqu. d'chant.
1ere
bande d'arrt
bande passante
eme
2
bande d'arrt
10 kHz
Attnuation
30 dB
1.9...2.1 kHz
0 dB
2.4... 5 kHz
40 dB
Dans le cas, o deux attnuations direntes sont proposes pour les bandes d'arrt,
les calculs doivent se faire avec la plus forte attnuation (ici 40 dB). De mme,
lorsque les largeurs des bandes de transition dirent, on prendra la plus faible des
deux.
Dans le tableau 3.2, nous voyons que la fentre en cosinus ore l'attnuation souhaite. Comme la plus petite bande de transition a une largeur de 0.1 kHz, on en
dduit que les frquences dnissant les bandes de transition sont les suivantes :
fa1
fp1
fp2
fa2
1.8 kHz
1.9 kHz
2.1 kHz
2.2 kHz
= 2
f
0.1 kHz
= 2
= 0.02
fe
10 kHz
6.2
6.2
=
= 310
0.02
Comme cette valeur est entire et paire, il n'est pas ncessaire de l'augmenter ; le
point de symtrie se situe donc en
Ns = 155.
La rponse du ltre est construite partir de celle d'un ltre passe-bande idal dont
les frquences caractristiques se situent au centre des 2 transitions
donc :
fc1 =
fa1 + fp1
= 1.85 kHz
2
fc2 =
fp2 + fa2
= 2.15 kHz
2
1.85 kHz
fc1
= 2
= 0.37
fe
10 kHz
2.15 kHz
fc2
= 2
= 0.43
c2 = 2
fe
10 kHz
c1 = 2
88
hd [n] =
c2 sin((nNs )c2 )
(nNs )c2
c1 sin((nNs )c1 )
(nNs )c1
si
0 n 6= Ns N
c2 c1
si
n = Ns
sinon
hd [n] =
=
(n Ns )
(n Ns )
sin (0.43 (n 155)) sin (0.37 (n 155))
(n 155)
(n 155)
wc [n],
on obtient la rponse
h[n] =
(n 155)
(n 155)
1 cos(2 n/310)
2
Rponse impulsionnelle
0.06
0.04
h[n]
0.02
0
0.02
0.04
0.06
50
100
150
200
250
300
350
Rponse frquentielle
0
20
dB
H (f)
10
30
40
50
60
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
89
3.
3.10. Exercices
RIF 1 :
suivant
fp = 1.0 kHz
Ap = 0 dB;
fa = 1.2 kHz
Aa 50 dB
du ltre ;
A=1
Kp = 100 ;
b) sinus de frquence
f1 = 1.0 kHz ;
c) sinus de frquence
f2 = 1.2 kHz ;
RIF 2 :
suivant
fa = 0.8 kHz
Aa 40 dB;
fp = 1.0 kHz
Ap = 0 dB
du ltre ;
A=1
Kp = 100 ;
b) sinus de frquence
f1 = 0.8 kHz ;
c) sinus de frquence
f2 = 1.0 kHz ;
RIF 3 :
suivant
Aa1 50 dB
Ap = 0 dB
Aa 40 dB
du ltre ;
90
3.10. Exercices
4. gnrez les signaux suivants d'amplitude
a) carr de priode
A=1
Kp = 200 ;
b) sinus de frquence
f1 = 1.5 kHz ;
c) sinus de frquence
f2 = 0.6 kHz ;
RIF 4 :
1 kHz
alors que
fe = 20 kHz .
1. Analyse temporelle
a) calculez
hb [n] ;
b) tronquez
hb
c) que vaut
hb [n]
N = 128
et rendez-la causale ;
ses extrmits ?
H(jf ) (fft) ;
H(jf ) ;
(zoom) ?
RIF 5 :
x[n] de 64 chantillons
A = 10, 0 = /16, = /3.
1. Gnrez un signal
x[n]
suivantes :
w[n] = (x[n] )2
y[n] = w[n] w[n 1]
3. Dessinez le schma fonctionnel de ce systme et dcrivez ce que ralise chaque
fonction ; en quoi ces 2 oprateurs sont-ils rponse impulsionnelle nie ?
91
3.
x[n] ;
lesquelles ?
w[n] ;
7. Transformez de Fourier les 3 signaux ; tracez sur une nouvelle gure les 3
spectres d'amplitudes.
8. Observez ces spectres et justiez votre analyse prcdente.
Rf. : McClellan, Schaer, Yoder :
RIF 6 :
1. Gnrez un signal
x[n]
avec
x[n] ?
h[n] ?
x[n], h[n]
et
y[n].
y[n] en calculant et traant le module de la rponse frquenH(j) = TF(h[n]) avec NF F T = 128 ainsi que les spectres d'amplitude
x[n] et y[n].
7. Justiez l'allure de
tielle
de
RIF 7 :
H(z) =
puis
a) calculez ses ples et zros ;
b) tracez-les dans le plan complexe ;
92
Y (z)
X(z)
3.10. Exercices
c) justiez l'eet rjecteur de ce ltre.
2. Pour quelle frquence normalise a-t-on
H(jf /fe ) = 0 ?
3. Tenant compte de ce qui vient d'tre vu, quelle est l'quation d'un ltre rjecteur capable de supprimer
a) le 50 Hz d'un signal chantillonn 1kHz ;
b) le 50 Hz et 150 Hz d'un signal chantillonn 1kHz.
4. Gnrez ces signaux et vriez vos algorithmes.
93
3.
94
Bibliographie
[1] V.K. Ingle, J.G. Proakis :
PWS Publi-
[2] B. Porat :
[3] J.F.
IEEE, vol
Wiley, 1966
95
Bibliographie
96
Deuxime partie .
Analyse des signaux
97
x(t)
X(jf )
Z +
X(jf ) exp(+j2f t) df
(4.1)
x(t) exp(j2f t) dt
(4.2)
x(t).
Dans le cas o
x(t).
T F I{ }.
TF{}
Si la fonction
d'amplitude
(4.3)
|X(jf )| X(f ) =
Xr2 (f ) + Xi2 (f )
(4.4)
Xi (f )
Xr (f )
(4.5)
X(jf ) (f ) = arctan
99
4.
P =
1
T
+T /2
x2 (t) dt
T /2
+
X
X(jk)
|X(jk)|2
(4.6)
(4.7)
k.
Dans le cas des signaux non permanents, on prendra garde parler de leur nergie et
non pas de leur puissance, car celle-ci est nulle si l'on considre une dure inniment
longue. De mme que pour les signaux priodiques, on peut calculer l'nergie d'un
signal apriodique dans les domaines temporel et frquentiel :
W =
W =
Z
Z
x2 (t) dt
2
V sec
|X(jf )|2 df
x(t)
(4.8)
/Hz
(4.9)
/Hz2 ]
/Hz2
(4.10)
100
a) linarit
ax(t) + by(t)
aX(jf ) + bY (jf )
b) dcalage
x(t + td )
X(jf ) exp(+j2f td )
X(j2f + a)
x(t) exp(+j2f0 t)
X (j(f f0 ))
dx(t)
dt
j2f X(jf )
c) amortissement
d) modulation
e) drivation
f ) intgration
1
1
X(jf ) + X(0)(f )
j2f
2
x(t)dt
avec
g) convolution
h) nergie
x(t)dt
h(t) x(t)
H(jf ) X(jf )
h(t) x(t)
H(jf ) X(jf )
W =
+
2
x (t)dt
j) valeurs l'origine
X(0) =
x(t = 0) =
W =
X(jf )df
X(f = 0) =
|X(jf )|2 df
x(t)dt
k) rotation Oy
y(t) = x(t)
l) fonction paire
x(t) = x(t)
X(jf ) <
x(t) = x(t)
X(jf ) =
m) fonction impaire
101
4.
x(t)
de largeur
et d'amplitude
centre en
t = 0
X(jf ) =
x(t) =
0 si |t| >
il vient :
X(jf ) =
A si |t|
t
2
(4.11)
t
2
+t/2
A exp(j2 f t)dt
t/2
+t/2
A
=
exp(j2 f t)
j2f
t/2
A
t
t
=
exp(j2 f
) exp(+j2 f
)
j2f
2
2
A exp(+j f t) exp(j f t)
f
2j
sin u =
exp(+ju) exp(ju)
2j
on obtient nalement :
X(jf ) = A t
sin(f t)
= A t sinc(f t) <
f t
(4.12)
rectangulaire centre en
l'impulsion
une fonction relle. Enn, on remarquera (gure 4.1) que le spectre passe par zro
chaque fois que le sinus cardinal s'annule, c'est--dire, chaque fois que la frquence
est un multiple de
1/t.
On constate ainsi que le spectre d'une impulsion est d'autant plus large et de faible
amplitude que l'impulsion est troite (gure 4.2b). Cette remarque est vraie pour
l'ensemble des signaux de dure limite et elle peut s'noncer ainsi
Un signal de
un spectre
102
1
0.8
x(t)
0.6
0.4
0.2
0
0.2
10
0
temps
10
0.8
0.6
0.4
0.2
0
frquence
0.2
0.4
0.6
0.8
X(jf)
3
2
1
0
1
1
10
1
8
6
0.6
X1(jf)
x1(t)
0.8
0.4
4
2
0.2
0
0
2
0.2
10
10
0
frquence
10
1
8
6
0.6
X2(jf)
x2(t)
0.8
0.4
4
2
0.2
0
0
2
0.2
10
0
temps
10
103
4.
y(t) =
(4.13)
tion s'crit :
Y (jf ) =
A exp(at)
exp(+j2fp t) exp(j2fp t)
exp(j2f t)dt
2j
Cette intgrale ne contient que des exponentielles ; elle est trs simple calculer.
Aprs rduction des deux primitives un mme dnominateur, on obtient :
Y (jf ) = A
2fp
C
(a + j2f )2 + (2fp )2
(4.14)
1
A = 1.0
f = 4.0
0.5
y(t)
a = 0.25
0
0.5
5
temps
10
|Y(jf))|
1.5
1
0.5
0
10
0
frquence
10
104
y(t)
f =0:
f = fp :
Y (0) = A
2fp
A
'
2
+ (2fp )
2fp
a2
Y (jfp ) =
a 2 fp
si
A
2fp
A
'
a a + +j4fp
j2a
si
a 2 fp
(4.15)
L'inverse de cette proposition est galement vraie et elle est trs pratique pour
calculer le spectre de signaux moduls en amplitude. Elle s'exprime comme suit.
un produit simple dans le domaine temporel correspond un produit de convolution
dans le domaine complexe :
y(t) =
cos(2f0 t)
0
si
|t| <
t
2
si
|t|
t
2
(4.16)
t,
on a :
x(t)
avec
et
m(t)
m(t) =
si
|t| <
t
2
si
|t|
t
2
valent respectivement
1
( (f + f0 ) + (f f0 ))
2
M(jf ) = A t sinc(f t)
X(jf ) =
A t
(sinc((f + f0 ) t) + sinc((f f0 ) t))
2
On constate ainsi que le spectre d'une impulsion sinusodale de dure t est constitu
de deux sinus cardinaux situs en +f0 et f0 (gure 4.4).
Y (jf ) = M(jf ) X(jf ) =
105
4.
2
1
X(f)
x(t)
1.5
0
1
0.5
1
2
0
10
10
10
0
frquence
10
2
1
M(f)
m(t)
1.5
0
1
0.5
1
2
0
10
2
1
Y(f)
x(t)
1.5
0
1
0.5
1
2
0
temps
0
10
places symtri-
z(t)
t0 /2,
(4.17)
on a :
t0
t0
sin(f t)
exp(+j2f ) + exp(j2f )
Z(jf ) = A t
f t
2
2
donc
Z(jf ) = 2 A t
sin(f t)
cos(f t0 )
f t
(4.18)
sin(f t)
Sz (f ) |Z(jf )| = 2 A t
cos(f t0 )
f t
2
2
(4.19)
106
z(t)
0.5
(a)
0
10
10
Z(jf)
1
0
1
(b)
2
2
1.5
0.5
0.5
1.5
1.5
0.5
0.5
1.5
S (f)
3
2
1
(c)
0
2
trales d'amplitude
Z(jf )
et d'nergie
z(t)
Sz (f ).
x(t) X(jf )
avec
(4.20)
par unit de temps. Cette frquence est mesure en [Hz] ou, de manire plus fondamentale, en [1/sec].
Dans le cas particulier d'une image (espace deux dimensions), on a aaire une
intensit lumineuse
et
i = i(x, y)
(4.21)
I(jfx , jfy )
exp (j2 fy
y) dx dy
(4.22)
107
4.
Fig. 4.6.: Figure de diraction [3] cause par deux ouvertures troites correspondant
fx
et
fy
longueur mesures en [1/m]. Une illustration des spectres spatiaux (ou des gures de
diraction) d'ouvertures circulaire et carre est donne la gure 4.7 ; on y reconnat
la fonction sinus cardinal distribue dans l'espace des frquences spatiales
fx
et
fy .
108
1
g(x,y)
g(x,y)
1
0.5
0
50
0.5
0
50
50
0
0
50
50
0.5
0.5
G(fx,fy)
G(fx,fy)
50
0
0.5
5
0
50
50
0.5
5
5
0
f
Original
5
0
fx
Passehaut
0
5
fx
Passebas
109
4.
Signaux
Dterministes
Priodiques
Alatoires
Non priodiques
Stationnaires
Non stationnaires
Parmi les
signaux dterministes
signaux alatoires
Wx
d'un signal
x(t)
Wx
110
x2 (t) dt
(4.23)
(b)
0.5
0.5
0.5
0.5
(c)
(d)
0.5
0.5
0.5
0.5
0
temps
0
temps
nergie nie
si
Wx < .
Px
d'un signal
1
Px lim
T T
x(t)
+T /2
T /2
2
x2 (t) dt Xef
f
(4.24)
On notera que cette dnition concide avec celle du carr de la valeur ecace du
signal
x(t).
puissance nie
si
Px < .
Cette catgorie
englobe les signaux priodiques, quasi-priodiques et les signaux permanents alatoires ou non. Dans le cas o le signal est priodique, la dure d'intgration
est
n'est ni priodique
ni permanent ; dans la mme catgorie, on peut placer les signaux temporaires tels
111
4.
(a)
1
0
1
5
(b)
1
0
1
5
0
(c)
1
0
1
5
0
temps
Fig. 4.10.: Trois exemples de signaux alatoires : (a) bruit blanc, (b) bruit large
que les signaux priodiques de dure nie par exemple. Le deuxime, un signal carr,
est priodique et permanent. Le troisime est un signal permanent quasi-priodique.
Le quatrime
x4 (t)
description temporelle.
x1 (t)
moyenne nulle mais nergie nie. Ils possdent un spectre continu dni par leur
densit spectrale d'amplitude. Celle-ci n'est autre que la transforme de Fourier du
signal :
X(jf ) =
x(t) exp(j2f t) dt
[V
sec]
= [V/Hz]
(4.25)
Wx =
2
V sec
x21 (t) dt
Sx (f ) df
Wx =
112
/Hz
(4.26)
x (t)
1
0.5
0
5
10
15
20
25
10
15
20
25
10
15
20
25
10
temps
15
20
25
x2(t)
1
0
1
5
x3(t)
1
0
1
5
x4(t)
1
0
1
5
Sx (f )
exprime en [V
/Hz2 ]
(4.27)
x2 (t),
la puissance est nie et l'nergie innie. Sa description spectrale peut se faire grce
la transforme de Fourier du signal
X(jf ) =
x(t) exp(j2f t) dt
[V
sec]
(4.28)
Pour tous signaux priodiques, on obtient alors une densit spectrale d'amplitude
constitue d'impulsions de Dirac. Ces impulsions correspondent aux raies spectrales
du signal priodique qui, comme on le sait, possde un spectre discret.
Plutt que de travailler avec les impulsions de Dirac, il est alors plus simple et plus
pratique d'en rester la description bien connue des sries de Fourier
1
X(jk) =
T
+T /2
x(t) exp(j2kf0 t) dt
[V]
(4.29)
T /2
113
4.
1
Px =
T
+T /2
x2 (t) dt
[V2 ]
(4.30)
(4.31)
T /2
+
X
Px =
k=
|X(jk)|2
sinusdes dont les frquences ne sont pas dans un rapport rationnel. Sa description
spectrale peut se faire grce la transforme de Fourier du signal
1
X(jf ) = lim
T T
+T /2
x(t) exp(j2f t) dt
[V]
(4.32)
T /2
1
Px = lim
T T
+T /2
T /2
x21 (t) dt
|X(jf )|2
(4.33)
Signaux alatoires
Les signaux alatoires sont des signaux permanents qui ne peuvent pas tre dcrits
analytiquement. Les dnitions ci-dessus sont donc inutilisables. Cependant, dans le
T = N t,
x[n] = x(t =
n t)
X(jf ) '
N 1
1 X
x[n] exp(j2f nt)
N n=0
N 1
1 X 2
x [n]
Px '
N n=0
[V]
(4.34)
(4.35)
Comme les signaux alatoires ne sont par dnition pas descriptibles, on doit tenter
de trouver des modles les reprsentant aussi bien que possible. Cela nous conduit
les classer dans une des trois catgories types qui sont :
les bruits large bande dans lesquels toutes les frquences sont prsentes amplitudes gales ( la limite du bruit blanc) ;
les bruits bande limite dans lesquels les composantes hautes frquences sont
nulles ;
les bruits colors dans lesquels toutes les frquences sont prsentes mais avec des
amplitudes variables.
Une illustration temporelle de ces trois bruits est donne dans la gure 4.23. La
description et analyse de ces signaux sera faite dans la section 4.8.
114
(a)
0.5
0
0.5
1
5
1
0
t
(b)
0.5
0
0.5
1
5
1
(c)
0.5
0
0.5
1
5
x(t) et le signal
115
4.
Exemple de corrlation
y(t)
1
0.5
0
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
0.2
0.4
0.6
0.8
1
temps
1.2
1.4
1.6
1.8
x(t), y(t+)
1
0
1
1
x(t) y(t+)
1
0
1
1
rxy(+)
0.1
0
0.1
0
Exemple de corrlation
y(t)
1
0
1
0
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
temps
2.5
x(t), y(t+)
x(t) y(t+)
1
0
1
rxy(+)
0.4
0.2
0
0.2
116
rxy ( ) =
x(t) y(t + ) dt
rxy ( ) =
on montre que
rxy ( )
(4.36)
= t + ,
de l'ordonne
x( ) y() d = ryx ( )
(4.37)
ryx ( )
autour
Oy .
et de convolution
sont formellement trs proches. On montre qu'elles sont relies entre elles par :
rxy ( ) = x( ) y( )
(4.38)
Cette relation valable dans l'espace temps a bien entendu son quivalent dans l'espace des frquences :
(4.39)
x(t)
y(t) = x(t),
autocorrlation
(fac)
rxx ( ) =
x(t) x(t + ) dt
(4.40)
rxx (0) =
x(t)
x(t)2 dt Wx
(4.41)
117
4.
1
rxy ( ) = lim
T T
+T /2
1
rxx ( ) = lim
T T
+T /2
x(t) y(t + ) dt
(4.42)
x(t) x(t + ) dt
(4.43)
T /2
T /2
1
rxx (0) = lim
T T
x(t)
+T /2
T /2
2
x(t)2 dt Xef
f = Px
(4.44)
Il est d'autre part vident que si les signaux sont priodiques, l'intgration se fera
sur une priode seulement.
La gure 4.15 illustre des fonctions d'autocorrlation reprsentatives de quelques
signaux alatoires. On y trouve successivement trois signaux dont les puissances
2
Vef f :
Son contenu spectral moins tendu fait qu'il est raisonnablement possible de prvoir une valeur future pas trop loigne. Une mesure de cet horizon de prvision
est donne par la largeur mi-hauteur du pic de la fac.
d'un ltre passe-bande. Son contenu frquentiel troit se manifeste par un comportement oscillant de manire assez rgulire. Cette pseudo-priodicit est encore
plus facile dterminer l'aide de sa fac : elle se mesure par la distance sparant
le pic central du premier pic latral.
= 0),
rxx (0) =
118
x(t)2 dt Wx
(4.45)
x(t)
0.2
1
0.1
(a)
0
0.1
1
2
0.2
2
0
dcalage
0.2
1
0.1
(b)
0
0.1
1
2
0.2
2
0.2
1
0.1
(c)
0
0.1
1
2
0
temps
0.2
2
1
rxx (0) = lim
T T
+T /2
T /2
x(t)2 dt Px
2. Comme la correspondance entre les 2 signaux ne peut pas tre aussi forte
que lorsque les signaux se superposent exactement cela entrane que la fac est
maximum pour un dcalage nul. On a donc :
(4.46)
rxx ( ) = rxx ( )
(4.47)
4. La fac d'un bruit blanc (ainsi appel par analogie la lumire blanche constitue de toutes les frquences lumineuses) est une impulsion de Dirac. En eet,
le bruit blanc tant form d'une multitude de frquences possdant la mme
puissance, il en rsulte un signal variant si rapidement que sa valeur prsente
est indpendante des valeurs passes et que sa valeur est non nulle pour
=0
seulement. On a donc :
rxx ( ) = 2 (t)
o
(4.48)
119
4.
5. La fac d'un signal priodique quelconque est une fonction priodique paire.
Considrons comme exemple le signal
1
rxx ( ) =
T
A2
=
T
x(t) = A sin(t + ).
On a alors :
+T /2
x(t) x(t + ) dt
T /2
+T /2
sin(t + ) sin((t + ) + ) dt
T /2
d'o :
rxx ( ) =
A2
cos( )
2
(4.49)
A2 /2 du signal
phase du signal.
x(t)
x(t)
en eet :
1
ryy ( ) = lim
T T
+T /2
1
= lim
T T
+T /2
T /2
T /2
n(t)
et le bruit
entendu
(4.50)
rnn ( )
(4.51)
rxx ( )
du
x(t).
Une illustration de cette dernire proprit (gure 4.16) montre comment l'autocorrlation permet d'extraire un signal noy dans un bruit blanc. Dans cette gure,
le signal est une sinusode d'amplitude 1 volt et le bruit blanc possde une valeur
ecace de 5 volt.
Le signal extrait est reconnaissable mais encore perturb par du bruit. Comme ce
bruit rsiduel diminue avec la racine carre du nombre d'chantillon, on voit qu'on
peut diminuer le bruit en augmentant le nombre d'chantillons enregistrs.
120
x(t)
10
0
10
20
10
0
dcalage
30
xx
r ()
20
10
0
rxx()
0.5
0
0.5
1
5
x(t)
y(t)
par rapport
par rapport
y(t),
x(t)
d'une valeur
quivaut
on aura :
rxy ( ) = ryx ( )
(4.52)
121
4.
N 1
1 X
x[n] y[n + k],
rxy [k] =
N n=0
kmin k kmax
(4.53)
Comme on l'a vu plus haut (qu. (4.39)), le calcul de l'intercorrlation peut galement se faire dans le domaine frquentiel qui, pour les signaux numriques, se fait en
utilisant la transformation de Fourier discrte (chapitre suivant). On obtient alors
Rxy [jk] =
1
X [jk] Y [jk]
N
Dans le cas o l'on souhaite utiliser toutes les valeurs disposition, le nombre
de points intervenant dans la somme diminue au fur et mesure que le dcalage
augmente. Pour viter de biaiser le rsultat de la corrlation, on la calcule alors
comme suit :
N |k|
X
1
x[n] y[n + k],
rxy [k] =
N |k| n=0
0k N 1
(4.54)
x(t) = A sin((t) + )
avec
(t) =
(t) dt
(t) = min +
max min
t
tmax
0 t tmax
122
Signal chirp
1
x(t)
0.5
0.5
0.1
0.2
0.3
0.4
0.5
temps
0.6
0.7
0.8
0.9
0.2
0.3
0.4
0.5
rxx()
0.3
0.2
0.1
0
0.1
0.2
0.5
0.4
0.3
0.2
0.1
0
dcalage
0.1
s[n]
0.5
0
0.5
1
0
50
100
150
200
250
temps n
Autocorrlation dune SBPA
1.2
1
0.8
ss
[m]
0.6
0.4
0.2
0
0.2
100
50
0
dcalage m
50
100
123
4.
1)
100
200
300
400
500
600
700
800
900
1000
700
800
900
1000
100
200
300
400
500
Instants n
600
x(t)
y(t)
(gure 4.19). S'il n'y a pas d'avion dans la zone couverte par le radar, le signal reu
y(t)
y(t)
n(t)
x(t).
124
Pratiquement, le signal reu est tellement perturb par le bruit qu'une analyse visuelle est incapable de dceler la prsence ou l'absence d'un signal rchi par l'avion
(gure 4.19).
100
200
300
400
500
600
700
800
900
1000
300
400
500
x 10
4
3
2
1
0
1
2
500
400
300
200
100
0
dcalage m
100
200
Les gures 4.20 et 4.21 illustrent le principe de l'utilisation d'un signal chirp pour
dtecter un avion et mesurer sa distance. Considrons les deux situations suivantes :
1.
Absence d'un avion : Le signal reu y(t) est fortement attnu et perturb.
Seule une intercorrlation entre
x(t)
et
y(t)
prsent ou non. Dans ce dernier cas, aucun pic bien distinct n'apparat dans
le graphe (gure 4.20).
2.
Prsence d'un avion : Ici, l'intercorrlation fait apparatre un pic trs troit
se dgageant nettement au-dessus du bruit de fond (gure 4.21). On notera que
ce pic est lgrement dcal vers la droite par rapport la position centrale ;
ce dcalage correspond au temps d'aller et retour du signal mis. Une fois ce
temps dtermin, on peut calculer la distance de l'avion par rapport au radar.
125
4.
100
200
300
400
500
600
700
800
900
1000
300
400
500
x 10
4
3
2
1
0
1
2
500
400
300
200
100
0
Instants n
100
200
Une camra fournit rgulirement des images d'un ux de granuls (gure 4.22). En
eectuant la comparaison par intercorrlation de deux images successives, on obtient
un point lumineux se situant aux coordonnes du dplacement
la section
y(t).
Connaissant
Q(t) = A
y(t)
t
La seule dicult de cette mesure rside dans le temps ncessaire pour calculer
l'intercorrlation en temps rel. En eet, si l'on imagine que l'on dispose d'images
de 100x400 pixels, on doit traiter 40'000 pixels par intercorrlation ; ce qui entraine
un nombre d'oprations valant environ
2
Nop ' Npxl
= 16 108
Mme avec un DSP trs performant (Tclock
' 10 ns),
une information en moins d'une seconde. Par contre, en utilisant la FFT on peut
esprer fournir des rsultats dans le temps imparti car celle-ci demande beaucoup
moins d'oprations
1)
2)
3)
4)
5)
6)
126
acquisition de image1
acquisition de image2
FFT bidimensionnelle de image1 et image2 => IMG1 et IMG2
calcul de Rxy = conj(IMG1) * IMG2
FFT inverse pour obtenir rxy
recherche des coordonnes du maximum d'intensit
127
4.
les bruits large bande dans lesquels toutes les frquences sont prsentes amplitudes gales (gure 4.23a) ;
les bruits bande limite dans lesquels les composantes hautes frquences sont
nulles (gure 4.23b) ;
les bruits colors dans lesquels toutes les frquences sont prsentes mais avec des
amplitudes variables (gure 4.23c).
(a)
0.5
0
0.5
1
5
1
0
t
(b)
0.5
0
0.5
1
5
1
(c)
0.5
0
0.5
1
5
Comme aucune description analytique n'est possible pour les signaux alatoires, on
tente d'en extraire des proprits statistiques temporelles en utilisant leurs fonctions
d'autocorrlation (fac) illustres la gure 4.24. On en dduit que la fac du premier
signal est extrment troite ; on la modlise par une impulsion de Dirac. La deuxime
fac rappelle une fonction en sinus cardinal. Enn, la troisime peut tre modlise
par une exponentielle dcroissante symtrique.
On peut montrer que la transforme de Fourier de la fonction d'autocorrlation
fournit la densit spectrale de puissance
Rxx (jf ) =
rxx ( ) exp(j2f ) d
2
V sec
/Hz
128
(a)
0.5
0
0.5
5
1
(b)
0.5
0
0.5
5
1
(c)
0.5
0
0.5
5
(a)
0.5
0
5
1
0
f
(b)
0.5
0
5
1
(c)
0.5
0
5
129
4.
(a)
0.5
0
5
1
0
f
(b)
0.5
0
5
1
(c)
0.5
0
5
Rxx (f ) = A2
< f < +
rxx ( ) = A2 ( )
2
V /Hz
(4.55)
(4.56)
Le thorme de Parseval nous dit alors que sa puissance est innie. Est-ce possible ?
Comme la rponse est ngative, on prfre travailler avec un modle moins simple,
mais plus raliste ; c'est le bruit densit spectrale constante et bande limite
Rxx (f ) =
130
x2
2 fmax
si
sinon
fmax
/Hz
(4.57)
rxx ( ) = x2
sin(2 fmax )
2 fmax
< < +
(4.58)
frquence, sa puissance
Rxx (f ) =
x2
fc
1
2
f
fc
1+
rxx ( ) = x2 ea | |
< < +
avec
a = 2 fc
< f < +
/Hz
(4.59)
(4.60)
[1/sec]
(4.61)
h(t)
ou sa rponse frquentielle
H(jf ),
les signaux
x(t) et de sortie y(t) sont alors relis entre eux par les relations bien connues :
Z +
y(t) =
(4.62)
h() x(t ) d
X(jf )
et
Y (jf ) sont
(4.63)
x(t)
et
y(t).
(4.64)
(4.65)
on montre aisment que les densits spectrales de puissance sont relies entre elles
par la relation suivante :
et
y(t)
(4.66)
h(t),
le
rxy ( ) =
h() rxx ( ) d
(4.67)
(4.68)
Le tableau 4.2 runit les relations existant entre les signaux, les fonctions de corrlation et les densits spectrales.
131
4.
Domaine temporel
Domaine frquentiel
x(t)
h(t)
y(t)
y(t) = h(t) x(t)
X(jf )
H(jf )
Y (jf )
Y (jf ) = H(jf ) X(jf )
rxx ( )
h( )
rxy ( )
rxy ( ) = h( ) rxx ( )
Rxx (f )
H(jf )
Rxy (jf )
Rxy (jf ) = H(jf ) Rxx (f )
Signaux
entre
systme
sortie
relation
Corrlation
entre
systme
sortie
relation
Densits spectrales
1
P = lim
T T
W = lim
+T /2
x2 (t)dt
W =
x2 (t)dt
T /2
(4.69)
2
V sec
(4.70)
+
2
R(f ) df
(4.71)
T /2
P =
+T /2
S(f ) df
/Hz
(4.72)
R(f ) [V2 /Hz] est la densit spectrale de puissance et S(f ) [V2 /Hz2 ] est la densit
spectrale d'nergie.
132
Signal temporaire
Soit
1
P1 = lim
T T
W1 = lim
+T /2
T /2
+T /2
x21 (t) dt =
T /2
x21 (t) dt = 0
A2
A2
=
< V2 /Hz
2a
2
(4.73)
inni :
(4.74)
+T /2
T /2
x22 (t) dt
1
P3 = lim
T T
+T /2
T /2
W3 = lim
2
x23 (t) dt = X3,ef
f <
+T /2
T /2
(4.75)
x23 (t) dt
Signal temporaire
Son nergie se calcule aprs dnition de sa densit spectrale d'nergie
2
2
A2
A
2
=
S1 (f ) = |X1 (jf )| =
V /Hz
a + j2f
a2 + (2f )2
2
W1 =
S1 (f ) df =
A2 2
A2
V /Hz
df
=
a2 + (2f )2
2a
S1 (f )
(4.76)
(4.77)
133
4.
R2 (f ).
Comme le signal est priodique, celle-ci est discrte et s'obtient partir des raies
spectrales
X(jk)
+
X
2
+
X
2
t sin(f t)
A
(f
kf
)
R2 (f ) =
|X(jk)| =
V /Hz
0
T
f t
=k6=0
P2 =
+
X
t sin(kf0 t) 2
= A2 V2
A
R2 (f ) df =
ef
f
T
kf0 t
=k6=0
(4.78)
(4.79)
Grce aux modles que l'on s'est donn pour dcrire les signaux alatoires (section
x3 (t)
P3 =
2
R3 (f ) df = X3,ef
f
2
Vef f
(4.80)
Des graphes illustrants ces trois bruits ainsi que les fonctions d'autocorrlation et
les densits spectrales de puissance correspondantes sont prsents dans les gures
4.23 4.26.
Remarque
quivalente de bruit
R(f )
tension
puissance :
en (f )
R(f )
Hz
(4.81)
nV
en = 30
Hz
x(t).
traitement des signaux de les relier entre eux et d'en tirer ecacement le maximum
d'information.
134
135
4.
bande idal.
1. Dessinez la rponse frquentielle du ltre.
2. Esquissez les densits spectrales d'amplitude
3. Que valent les densits spectrales d'nergie
4. Calculez les nergies
5. A.N. :
Solution :
136
U0 = 10 [V],
W1
et
W2
|U1 (jf )|
S1 (f )
et
et
S2 (f ) ?
f1 = 4 [kHz],
f2 = 6 [kHz]
Exemple 2 :
Un oprateur vous informe qu'il a mesur la sortie d'un amplicateur un bruit
large bande dont la valeur ecace vaut
1. Quelle est la puissance
P1
de ce bruit ?
R1 (f )
de ce bruit.
4. La sortie de cet amplicateur est branche sur un ltre passe-bas idal dont
la frquence de coupure est xe 1 kHz. Esquissez la densit spectrale de
puissance
R2 (f )
U2,ef f
Solution :
137
4.
Exemple 3 :
la sortie d'un amplicateur dont la bande passante est de
un bruit de
100 [kHz],
on mesure
R1 (f )
cateur.
2. Calculez la frquence de coupure du ltre passe-bas.
3. Esquissez sur un mme diagramme les densits spectrales de puissance
et
R2 (f )
138
R1 (f )
Exemple 4 :
On applique une impulsion de tension d'amplitude
et de largeur
Q0 .
f0
un ltre
et son facteur de
u1 (t)
et
U1 (jf )
u2 (t)
et
ainsi que
U2 (jf ).
|U1 (jf )|
et
3. Calculez l'nergie
W1
du signal d'entre.
4. Calculez l'nergie
W2
5. A.N. :
E = 10 [V],
t = 10 [sec],
f0 = 1 [kHz],
Q0 = 10.
139
4.
140
141
4.
142
4.14. Exercices
4.14. Exercices
TF 10
Soit un message
sinusodale
m(t)
TF 11
|M(jf )|triangulaire
Soit le signal :
u(t) =
1. esquissez
3. esquissez
u(t) ;
2. calculez sa TF
U0 cos(2f0 t)
si |t| t0
si |t| > t0
U(jf ) ;
|U(jf )|
pour
U0 = 1 [V],
T = 1/f0 = 1 [msec],
t0 = 10 [msec].
2t0 .
sinusode pendant une dure nie revient remplacer les raies spectrales situes en
f = f0
TF 12
Soit la fonction :
u(t) =
1. esquissez
3. esquissez
1
2
[1 cos(2f0 t)]
0
u(t) ;
2. calculez sa TF
si |t|
T
2
si |t| >
T
2
U(jf ) ;
U(jf )
TF 13
forme
E(jf )
s(t).
Connaissant la transforme
S(jf )
de la fonction signe
(t),
calculez la trans-
143
4.
TF 14
x()h(t )d
Pour dmontrer ce rsultat important et bien connu, vous pouvez d'abord exprimer
la TFI de
Y (jf )
y(t) =
puis y introduire la TF de
x(t)
X(jf ) =
x()exp(j2f )d
TF 15
H(jf ) =
1. esquissez
H(jf ) ;
h(t)
si |f | 100 [Hz]
sinon
h(t) ;
H(jf ); ce
TF 16
U(jf ) =
1. esquissez
U(jf ) ;
u(t) ;
TF 17
un circuit RC srie sachant que le signal appliqu est un saut de tension d'amplitude E.
144
4.14. Exercices
TF 18
u1 (t)
bas.
TF 19
u1 (t)
et
u2 (t).
u1 (t)
u2 (t) ;
La marche suivre est la mme que celle utilise avec la transformation de Laplace : dcomposition en somme de fractions simples puis recherche des coecients
par identication avec des transformes connues.
TF 20
1. exprimez
U1 (jf )
2. en admettant
et
U2 (jf ) ;
U0 = 10 [V ]
fc .
un
et
a = 1000 [1/sec],
et
E2
= 1 [msec]
un
E1
TF 21
signal
u1(t)
U1 (jf ) =
1 [V/Hz]
sinon
H(jf )
fc ?
U1 (jf ), H(jf )
E2
et
E1
U2 (jf )
et
E2
pour
si la constante de temps
5. comment calculeriez-vous
u2 (t) ?
diminue ?
145
4.
TF 22
= RC = 10 [msec]
a = 1000 [1/sec].
u1 (t)
et
u1 (t) = 10 exp(at)(t)
avec
u2 (t) ;
1
TF 23
(t)
D0 jf
f0
H(jf ) =
+
1 + D0 jf
f0
2
jf
f0
D0
1
Q0
1
1
= 0.1
= 1 [kHz] D0
Q0
2 LC
q
f
=
1 + 1 + 4Q20
f = f0 D0
2
f0 =
fi,s
TF 24
TF 25
A partir du signal
Corr 1
Considrant le signal
on demande :
1 Si
x(t) = exp(at)(t),
trouvez le spectre de
y(t) = sgn(t).
A si t < t < 0
t=0
0 si
x(t) =
+A si 0 < t < t
0 si
|t| t
le calcul de l'intgrale dnie ncessaire pour obtenir l'nergie vous parat trop dicile, essayez
la dmarche suivante :
a) esquissez la fonction intgrer ;
b) estimez des limites raisonnables pour la valeur de l'nergie ;
c) l'aide d'un petit programme (une douzaine de lignes), intgrez numriquement la densit
spectrale d'nergie. Si le nombre de pas est susant, le rsultat obtenu sera tout fait
satisfaisant.
146
4.14. Exercices
4
20
x 10
15
1/2
1/2
X(jf)
10
5
4
1
0
1
frquence [kHz]
1. esquissez
x(t) ;
= 0,
t,
3. esquissez la
Corr 2
2t ;
fonction rxx ( ),
< < +.
on demande :
1. esquissez ces 3 signaux ;
2. calculez des valeurs particulires de leur fonction d'autocorrlation ;
3. calculez leur fonction d'autocorrlation pour
compris entre + et
Remarque
dtail des calculs, imaginez comment vous devriez vous y prendre pour le faire.
Corr 3
x(t) et h(t) de
l'exercice
Corr 3. Avant de vous lancer dans les calculs, imaginez o se situera le maximum de
la fonction. Esquissez le rsultat de l'intercorrlation.
Corr 4
h1 (t)
h2 (t)
et
de l'exercice Corr 4 :
r21 ( ) =
h2 (t) h1 (t + ) dt
Pour cela :
147
4.
x(t)
h(t)
1
t
t
0
2T
{2t, t, 0, +t},
3. pourquoi, comme il est prcis dans la remarque ci-dessous, le calcul est-il plus
simple lorsque
t ?
4. que pensez-vous des rsultats graphiques obtenus avec Matlab (gure 4.30) ?
Ex.CR4
0.5
h (t)
0
5
0
temps [t]
0.5
h (t)
0
5
0.2
21
r ()
0.4
0
5
Remarque
compris entre 0 et
t.
Comme l'on a :
r21 ( ) =
148
h2 (t) h1 (t + ) dt
h1 (t + )
4.14. Exercices
il faut commencer par dcrire les 2 fonctions suivantes :
t+
h1 (t + ) = A 1
t
A
t
h2 (t) =
t
valables pour
0 < t < t,
respectivement,
< t < t .
r21 ( ) =
h2 (t) h1 (t + ) dt
Z t
A
t+
dt
tA 1
t
t
0
Z
A2 t
t
t2
dt
t
t 0
t t
t
t3
t2
A2 t2
t 2
3t 2t 0
(t )3
A2 (t )2
1
t
2
t
3t
2
(t + )
(t )
A2
6 t2
0
=
=
=
=
=
t
6
r21 ( = 0) = A2
r21 ( = t) = 0
Corr 5
Considrant deux signaux numriques
n
x(n)
y(n)
x(n)
et
y(n)
10
11
12
13
14
0
0
rxy (m) =
+
X
x(n) y(n + m)
n=
149
4.
x(n)
4
2
0
0
10
12
14
16
18
20
10
12
14
16
18
20
0
10
0
n, m
10
y(n)
4
2
0
20
xy
r (m)
30
10
150
Bibliographie
[1] B.P. Lathy,
CA, 1992
[2] F. de Coulon,
Editions pdago-
151
Bibliographie
152
x(t) est acquis un rythme rgulier dict par la priode d'chantillonnage Te et qu'il
est stock en mmoire d'ordinateur. Ces signaux x[n] sont des signaux numriques
obtenus l'aide d'un convertisseur analogique-numrique (gure 5.1) et tels que
x[n] = x (t)|t=n Te
x(t)
(5.1)
x[n] = x(t=nTe)
Te
x(t) A
Signal analogique
x[n]
Signal chantillonn
N
t
x[n]
x(t)
la
fait intervenir
trois oprations :
l'chantillonnage du signal analogique ;
la limitation de la dure de l'enregistrement de ce signal ;
la discrtisation de la frquence pour l'analyse spectrale numrique.
Ces trois oprations, apparemment anodines, ont des consquences dont il est important d'valuer l'tendue. Pour mmoire, on rappelle trois proprits de la transformation de Fourier dont on aura besoin par la suite :
au produit simple dans un espace correspond un produit de convolution dans
l'autre
(5.2)
(5.3)
153
5.
1
f (f )
Te e
d'amplitude A
Te (t)
la TF d'une impulsion rectangulaire
(5.4)
et de largeur
est un sinus
cardinal
A rect(t/t) A t
sin(f t)
= A t sinc(f t)
f t
(5.5)
An de concrtiser au mieux les relations existant entre les espaces temps et frquence, on considrera par la suite que les signaux tudis sont fournis sous la forme
d'une tension lectrique que l'on chantillonne rgulirement pendant une dure nie
avant de calculer numriquement son contenu spectral. Ainsi, pour chaque quation,
on pourra prciser les units des rsultats obtenus.
x(t)
et sa densit spectrale
relations
X(jf ) =
x(t) =
X(jf )
Z +
[V
X(jf ) exp(+j2f t) df
sec]
[V]
(5.6)
(5.7)
(5.8)
x (t = nTe )
x[n] = x(t = nTe ).
On obtient ainsi une suite d'impulsions de Dirac pondres par les valeurs
(gure 5.2.c) ; celles-ci reprsentent alors le signal discret
Dans l'espace frquentiel, le peigne de Dirac temporel
Dirac priodique
fe
(f ) T F {Te (t)} =
154
Te (t)
devient un peigne de
(gure 5.2.b)
1
f (f )
Te e
(5.9)
/ Te
155
5.
(f )
+
X
Xe (jf ) = Te
[V sec]
(5.10)
n=
Partant de ce spectre
x[n] =
+fe /2
[V],
fe /2
< n < +
(5.11)
x[n]
ne peut pas tre inniment grand. On est donc contraint ne prendre en compte
qu'une partie du signal original. Mathmatiquement, cette opration de troncation
revient multiplier le signal
x(t)
w(t)
de largeur
(gure 5.2.d).
cette multiplication dans l'espace temps correspond un produit de convolution
dans l'espace des frquences entre le spectre du signal
cardinal de la fentre
w(t).
X(jf )
et le spectre en sinus
Xe,N (jf ) = Te
N
1
X
[V sec]
n=0
Xe,N (jf )
xN [n] =
+fe /2
fe /2
156
[V],
0 nN 1
Remarque
part, et
Xe,N (jf )
et
savoir si la longueur
Xe (jf ) = Te
N
1
X
[V sec]
(5.12)
n=0
x[n] =
+fe /2
[V]
(5.13)
fe /2
f = fe /N
intervalles, l'in-
N,
sont :
f = k f = k fe /N
(5.14)
signal temporel
x[n].
X[jk]
avec
0 k N 1.
l'on crit
j2 f nTe = j2 kf nTe = j2 k
Le spectre
X[jk]
et le signal temporel
N
1
X
x[n]
j2kn
X[jk] = Te
x[n] exp
N
n=0
kn
fe
nTe = j2
N
N
(5.15)
[V sec]
N 1
1 X
j2kn
x[n] =
X[jk] exp +
NTe k=0
N
[V]
0k N 1
0nN 1
(5.16)
(5.17)
157
5.
N,
l'incrment temporel
tel que
t Te =
2. l'
et par
T
N
(5.18)
frquence maximum
fmax
Te )
et la
f =
fmax
fe
=
N
N
fe
(5.19)
Te
et son inverse
la frquence d'chantillonnage, on a
t Te
1
fe
T
1
=
N
N f
(5.20)
On en dduit donc trois relations importantes liant les domaines temporel et frquentiel
1
T
1
1
fmax fe =
t
Te
1
t f =
N
f =
fN =
fN
fe
2
(5.21)
(5.22)
(5.23)
(5.24)
Les relations que nous venons de voir peuvent se traduire par les proprits suivantes.
1.
2.
3.
4.
Une illustration des relations existant entre les domaines temporel et frquentiel est
donne dans la gure 5.3.
158
x(t), x[n]
t=Te=1/fe
t = nt
0
N-1
T = Nt
Nt
0
t = T e
tmax = T
fmax = fe
Nf
fe = 1/ T e = N f
|Xe(jf)|, |X[jk]|
f
fe /2
0
fe
f = kf
k
N-1
1/2
f / fe
159
5.
j2 n f Te
exp (j2 n f Te )
rique ou normalise
2 f Te = 2
Comme le spectre de base est compris entre
lise prendra ses valeurs entre
[rad]
fe /2,
(5.25)
+
X
Xe (j) = Te
f
fe
x[n] exp(jn)
[V sec]
(5.26)
n=
1
x[n] =
2
Xe (j) exp(+jn)d
[V]
(5.27)
X[jk]
ou du signal
x[n]
N
1
X
j2kn
XD [jk]
x[n] exp
N
n=0
N
1
X
j2kn
XD [jk] exp +
xD [n]
N
k=0
[V]
[V]
0k N 1
0 nN 1
(5.28)
(5.29)
Comme ces deux dnitions ne dirent que par le signe de l'exponentielle qui pondre les signaux
x[n]
et
XD [jk],
pour les transformations de Fourier directe et inverse. Alors les rsultats de la TFD
ainsi dnie sont relis aux spectres et signaux rels par les relations suivantes :
X[jk] = Te XD [jk]
x[n] =
xD [n]
N
(5.30)
(5.31)
160
X(j f) =
x(t ) =
|X(jf)|
x(t)
Domaine analogique
f =
k-1
n-1
N-1
N-1
fe
fe
1
1
=
=
T
NTe
N
f = k f
x[n]
1
T
=
fe
N
t = nTe
t = Te =
x(t)
Te
Interface et discrtisation
k=0
N-1
N-1
TFD
RAM
TFD
XD[jk]
avec XSF( j k) =
XD[ jk]
N
kn
x[n] exp (- j 2
N )
n= 0
N-1
1
N
XD[ jk] =
x[ n] =
N-1
x[n]
Domaine numrique
Fig. 5.4.: Illustration des relations entre les domaines analogiques et numriques
161
5.
x(t)
spectrales du signal
xT (t)
la TFD. Pour remplir cette condition, il sut d'enregistrer trs exactement une ou
plusieurs priodes du signal temporel.
En comparant les dnitions de la dcomposition en srie de Fourier :
1
XSF [jk] =
T
+T /2
T /2
j2kt
xT (t) exp
T
dt
+
X
j2kt
xT (t) =
XSF [jk] exp +
T
k=
[V]
[V]
(5.32)
(5.33)
avec celles de la TFD (quations 5.28 et 5.29 ), on voit alors apparatre les relations
suivantes :
XD [jk]
N
xD [n]
xT (t = nTe ) =
N
XSF [jk] =
(5.34)
(5.35)
x(t)
eux par la transformation de Fourier alors que du ct numrique, on n'a que des
valeurs numriques stockes en RAM sur lesquelles on travaille avec l'algorithme de
la TFD.
L'interface entre les domaines analogique et numrique est ralise par un chantillonneur qui acquiert les signaux un rythme x par la priode d'chantillonnage
Te 1/fe .
162
pour une suite de longueur 1000, conduit calculer 1'000'000 de sinus et cosinus
suivis d'une addition et d'une multiplication ; les temps de calcul deviennent trs
vite prohibitifs..
L'algorithme de la FFT utilise le fait que l'opration de la TFD globale peut tre
dcompose en la TFD de squences de plus en plus courtes. Il en dcoule alors que le
nombre total d'oprations est bien infrieur celui impos par la simple application
de l'algorithme de la TFD. En contrepartie, le nombre de points analyss
doit
(5.36)
Ainsi, pour transformer 1024 points, le nouvel algorithme demande environ cent fois
moins de temps que la TFD :
N2
N
1024
=
=
= 102.4
Nop
log2 (N)
10
Il ne faut pas se mprendre sur la signication de la FFT : l'algorithme FFT n'est
pas une nouvelle transformation. Ce n'est rien d'autre qu'un moyen rapide d'obtenir
les mmes rsultats que ceux fournis par la TFD. Dirents algorithmes de FFT
sont prsents dans le livre de Burrus et Parks [3].
exactement
10
163
5.
Le rsultat de l'analyse FFT pour cette situation conrme ce que l'on attend,
savoir que son spectre est constitu d'une raie spectrale bien dnie et situe en
1 kHz. Les deux raies supplmentaires que l'on peut observer en 3 et 5 kHz sont
dues aux distorsions du signal sinusodal fourni par le gnrateur.
talement
spectral.
Il est important de raliser que le phnomne d'talement spectral est d la nonconcidence des valeurs initiale et nale de la dure enregistre. Dans le cas de la
gure 5.5b, ces eets de bords sont tels qu'ils masquent compltement les composantes spectrales d'ordre 3 et 5 du signal.
Pour viter ces eets de bords, il faut s'attacher enregistrer exactement un nombre
entier de priodes du signal et, dans le cas o cela n'est pas possible, il faut ramener
les deux bords une valeur identique l'aide d'une fentre qui modie aussi peu
que possible le spectre rel.
Fentre rectangulaire
wr [n] = 1
pour
0n<N
(5.37)
Fentre de Hann
n
wc [n] = 0.5 1 cos 2
N
164
pour
0n<N
(5.38)
x(t)
N priodes
N + 1/4 priodes
0.5
0.5
0.5
0.5
1
0
5
temps [ms]
10
20
20
40
40
60
60
10
dB
(f)
5
temps [ms]
80
80
0
4
6
frquence [kHz]
10
4
6
frquence [kHz]
10
Fentre de Hamming
n
wh [n] = 0.54 0.46 cos 2
N
pour
0n<N
(5.39)
Fentre de Blackman
n
n
+ 0.08 cos 4
wb [n] = 0.42 0.5 cos 2
N
N
pour
0n<N
(5.40)
165
5.
Hann
0.8
0.8
0.6
0.6
wc(t)
wr(t)
Rectangle
0.4
0.4
0.2
0.2
0.5
0.5
1.5
0.5
0.8
0.8
0.6
0.6
0.4
0.2
1.5
1.5
0.4
0.2
0
0.5
Blackman
wb(t)
wh(t)
Hamming
0.5
0
0
0.5
temps
1.5
0.5
0.5
temps
2. Grce au maintien d'une lgre discontinuit temporelle, la fentre de Hamming ore les raies spectrales les plus troites.
3. La fentre de Blackman qui est la plus troite temporellement, fournit, comme
attendu, des raies spectrales plus larges.
166
x(t)
Hann
Hamming
Blackman
0.5
0.5
0.5
0.5
0.5
0.5
1
0
5
temps [ms]
10
5
temps [ms]
10
20
20
20
40
40
40
60
60
60
10
dB
(f)
5
temps [ms]
80
80
0
5
frquence [kHz]
10
80
0
5
frquence [kHz]
x(t)
Hann
10
Hamming
1
0.5
0.5
0.5
0.5
0.5
0.5
1
5
temps [ms]
10
Blackman
5
frquence [kHz]
10
5
temps [ms]
10
20
20
20
40
40
40
60
60
60
10
dB
(f)
5
temps [ms]
80
80
0
5
frquence [kHz]
10
80
0
5
frquence [kHz]
10
5
frquence [kHz]
10
Fig. 5.7.: Eet des fentres d'observation avec : (a) 10 priodes entires ; (b) 10.25
priodes
167
5.
1. La
fentre rectangulaire
proches.
3. La
meilleure dnition
4. La
et de faibles amplitudes.
'
0 dB)
qui semble contenir une oscillation priodique dont on souhaite connatre la teneur
(gure 5.8).
Analyse temporelle
De l'enregistrement, on tire
Xdc = 0.045
2. la priode d'chantillonnage
Te
et sa dure
Te = 20 s
3. le domaine d'analyse spectrale
fN =
168
Xac = 1.42
fN
T = 20 ms
et la dnition spectrale
1
1
fe =
= 25 kHz
2
2 Te
f =
1
= 50 Hz
T
x(t)
T = tmax=20 [ms],
5
t = Te = 20 [s]
10
t [ms]
0.8
fmax = 1/ t = 50 [kHz]
0.6
fe = fmax = 50 [kHz]
0.4
fN = fe/ 2 = 25 [kHz]
0.4
0.2
f = 1/ tmax = 50 [Hz]
0.2
14
16
18
20
10
15
f [kHz]
20
0.8
|Xu(jf)|
|Xu(jf)|
12
0.6
25
f [kHz]
a) l'enregistrement temporel ;
0 f fe /2 = 25 kHz ;
5 kHz
169
5.
Analyse spectrale
% lecture de l'enregistrement
enreg = load('enreg.txt') ;
tt = enreg( :,1) ;
xt = enreg( :,2) ;
Xdc = mean(xt)
Xac = std(xt)
% analyse temporelle
Npts = length(xt) ;
dt = tt(2) - tt(1)
duree = Npts * dt
% analyse spectrale
df = 1/duree, fmax = 1/dt
ff = 0 :df :fmax-df ;
Xjf = fft(xt)/Npts ;
% spectre unilatral
Ndemi = round(Npts/2) ;
fk = ff(1 :Ndemi) ;
Ak = 2*abs(Xjf(1 :Ndemi)) ;
Ak(1) = abs(Xjf(1)) ;
% composante DC
ak = angle(Xjf(1 :Ndemi)) ;
subplot(2,1,1) ; stem(f,Ak,'.') ;
% estimation du rapport signal/bruit (SNR)
Px = Xdc^2 + Xac^2 ;
% puissance du signal + bruit = 2.023
A1 = 1.02 ; A2 = 0.85 ;
% amplitudes mesures
Px0 = (A1^2 + A2^2)/2 ; % puissance du signal original = 0.88
Pn = Px - Px0 ;
% puissance du bruit = 1.14
SNR = 10*log10(Px0/Pn) % SNR = -1.12
Les spectres d'amplitudes, prsents dans la gure 5.8, montrent que deux raies
spectrales s'lvent clairement au-dessus du niveau de bruit situ aux environs de 0.3.
Ces deux raies spectrales ont une amplitude et une frquence valant respectivement
A1 ' 1.02
f1 = 1.25 kHz 25 Hz
A2 ' 0.85
f2 = 1.40 kHz 25 Hz
170
f .
A1 = 1 A2 = 0.8 A3 = 0.5
et de frquences harmoniques
f1 = 50 Hz f2 = 150 Hz f3 = 250 Hz
Ce signal original est perturb par un bruit important car le
+5 dB.
SNR
ne vaut que
Le but de cet exemple est de montrer que, malgr la prsence d'un fort
Analyse de Fourier
4
0.25
2
0.2
0
0.15
0.1
2
0.05
4
50
100
150
temps [ms]
200
100
Signal reconstruit
4
50
100
150
temps [ms]
400
500
Signal original
200
300
frquence [Hz]
200
50
100
150
temps [ms]
200
Analyse temporelle
tillonnage
Te = 0.2 ms
T = 210 ms
fN =
fe
= 2500 Hz
2
171
5.
la dnition spectrale
1
1
=
= 4.76 Hz
T
210 ms
f =
On notera que la dure d'analyse
f = 4.76 Hz
T = 210 ms
que l'on sera dans l'impossibilit de trouver la valeur exacte des frquences originales.
Idalement, on aurait d prendre une dure de
dnition spectrale de
Analyse spectrale
200 ms
5 Hz.
montre que les trois raies spectrales sont bien visibles. Mais, on doit cependant
constater que ces raies se sont ddoubles cause de la dnition spectrale nonentire et de l'utilisation de la fentre d'observation.
Le programme donn ci-dessous permet de rechercher ces raies spectrales. Les frquences mesures
2.4 Hz
prs sont
avec
Ak = 2 |X(jk)|
k = X(jk)
xr (t) =
Ak cos (2fk t + k )
Le programme
ayant permis d'obtenir ces rsultats se rsume aux quelques lignes prsentes cidessous.
172
x(t)
A ' 1.7 V
et sa priode
Cepen-
dant, une observation de plus longue dure (gure 5.10b) montre un phnomne de
173
5.
x(t)
1
0
1
2
0.005
0.01
0.015
0.02
0.025
0.03
x(t)
1
0
1
2
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
x[n]
1
0
1
2
0.005
0.01
0.015
temps [sec]
0.02
0.025
0.03
battement de priode
ou de frquence
fb =
1
' 2.2 Hz
Tb
On en dduit que ce signal est compos d'au moins deux sinusodes de frquences
trs proches
f1 '
1
' 272 Hz
T0
f2 = f1 fb ' 270
ou
274 Hz
x(t)
est faible.
t Te '
T0
= 0.35 msec ' 0.2 msec
10
fe =
1
= 5 kHz
t
174
f '
fb ' 2 Hz,
on choisira une
fb
= 0.5 Hz
4
tacq =
1
= 2 sec
f
Npts =
1
1
=
= 100 000
f t
0.5 Hz 0.2 ms
de points gal une puissance de 2. Lorsque cela n'est pas le cas, on complte la suite
de valeurs acquises par une succession de zros permettant d'atteindre un nombre
de valeurs gal la puissance de 2 la plus proche (gure 5.11a).
Du point de vue de l'analyse de Fourier, cela ne change rien aux rsultats fournis ;
seule la rsolution spectrale est amliore. Dans notre cas, on passera donc de
100 000 Nf f t = 160 384 et la rsolution frquentielle passera ainsi de
f =
f =
Fentre rectangulaire
quises
x[n]
Npts =
fe
5000
= 0
= 0.5 Hz
Npts
10 000
5000
fe
= 0
= 0.305 Hz
Nf f t
16 384
fournit les spectres prsents dans les gures 5.11b et 5.13a). Le spectre
ainsi obtenu fait apparatre une seule raie spectrale aux environs de 270 Hz et,
contrairement ce que l'on attendait, il n'y a pas de deuxime raie spectrale. Manifestement, celle-ci est masque par l'talement spectral d la fentre rectangulaire.
Fentre de Blackman
pliant par une fonction attnuant les eets de bord dus l'acquisition eectue. On
choisit ici d'utiliser la fentre de Blackman dnie comme suit :
n
n
wb [n] = 0.42 0.5 cos 2
+ 0.08 cos 4
Npts
Npts
pour
0 n < Npts
175
5.
x[n] wr[n]
2000
4000
6000
8000
10000
12000
14000
16000
Xr(f) [dB]
20
40
60
80
500
1000
1500
2000
2500
3000
frquence [Hz]
3500
4000
4500
5000
Zoom frquentiel
long enregistrement, les chelles globales ne permettent pas de voir le dtail des raies
attendues. Il faut donc zoomer sur la zone intressante. On voit alors trs nettement
que la fentre rectangulaire (gure 5.13a) est totalement incapable de fournir les
informations attendues alors qu'avec la fentre de Blackman (gure 5.13b), on retrouve bien la deuxime frquence recherche et on peut mme apercevoir la prsence
d'une troisime composante spectrale d'amplitude encore plus faible, qui n'tait absolument pas perceptible au niveau temporel.
176
x[n] wh[n]
2000
4000
6000
8000
10000
12000
14000
16000
Xh(f) [dB]
20
40
60
80
500
1000
1500
2000
2500
3000
frquence [Hz]
3500
4000
4500
5000
40
X (f) [dB]
20
60
80
250
260
270
280
290
300
310
320
330
340
350
0
Fentre de Blackman
40
X (f) [dB]
20
60
80
250
260
270
280
290
300
310
frquence [Hz]
320
330
340
350
177
5.
fk
Xk,dB
Xk,dB X1,dB
Xk /X1
272 Hz
-7.6
274 Hz
-32.2
-24.6
0.059
277 Hz
-52
-44.4
0.006
Il est important de noter que les amplitudes spectrales dpendent de la fentre choisie
et que seules leurs valeurs relatives peuvent en tre dduites
Xk
= 10(Xk,dB X1,dB )/20
X1
Pour obtenir la valeur relle des amplitudes, on peut passer par l'galit de Parseval :
Pac
1
=
T
X
A2
T
0
x2ac (t) dt
A2
= 1
2
2
k
k=1
1+
A2
A1
2
A3
A1
2
A4
A1
2
Pac =
A2
A21
1 + 0.0592 + 0.0062 = 1.00352 1
2
2
Pac
N 1
1 X
=
(x[n] x )2 = var(x[n]) = 1.45
N n=0
A1
A1 =
2 Pac
= 1.70
1.00352
A2 = 0.059 A1 = 0.1
A3 = 0.006 A1 = 0.01
Remarque
de priodes.
Ak Ak /(w).
x(t),
frentes conditions est donn ci-dessous. Bien qu'il puisse paratre volumineux au
premier abord (beaucoup de lignes sont consacres au traage uniquement), les parties essentielles de ce chier sont simplement :
178
2 V avec Nbits
1
LSB de non linarit
2
Ucan = 4 ; Nbits = 8 ;
xn = Ucan*round((xn0/Ucan)*(2^(Nbits-1))/(2^(Nbits-1) ;
wh = (blackman(length(xn)))' ;
xnwh = xn.*wh ;
Nfft = 2^ceil(log2(length(xn))) ;
xnwh = [xnwh, zeros(1,Nfft-length(xn))] ;
Xjfh = fft(xnwh)/length(xnwh) ;
2. le fentrage :
Initialisation
% analyse spectrale
clear all ; close all ; format compact ; clc ;
% parametres du signal
amp1 = 1.7 ; amp2 = 0.1 ; amp3 = 0.01 ;
f1 = 271.828 ; f2 = f1+2 ; f3 = f1+5 ;
% oscilloscope
tosc = 0.03 ; kosc = 2000 ;
dt = tosc/kosc ;
tt = 0 :dt :tosc-dt ;
xt0 = amp1*sin(2*pi*tt*f1)+amp2*cos(2*pi*tt*f2)+amp3*sin(2*pi*tt*f3) ;
Acquisition numrique
% acquisition
tacq = 2 ;
Te = 0.2e-3 ;
tn = 0 :Te :tacq-Te ;
xn0 = amp1*sin(2*pi*tn*f1)+amp2*cos(2*pi*tn*f2)+amp3*sin(2*pi*tn*f3) ;
% conversion +/- 2V avec Nbits et +/- 1/2LSB de non linearite
Ucan = 4 ; Nbits = 8 ;
xn = Ucan*round(xn0/Ucan*2^(Nbits-1))/2^(Nbits-1) ;
179
5.
wh = (blackman(length(xn)))' ;
xnwr = xn.*wr ;
xnwh = xn.*wh ;
% ajout de zeros
xnwr = [xnwr, zeros(1,Nfft-length(xnwr))] ;
xnwh = [xnwh, zeros(1,Nfft-length(xnwh))] ;
% fft
Xjfr = fft(xnwr)/length(xn) ;
Xjfh = fft(xnwh)/length(xn) ;
% domaine spectral
fmax = 1/Te ;
df = fmax/Nfft ;
ff = 0 :df :fmax-df ;
% infos
Nbits, tacq, Te, fmax, df
Pac = var(xn)
Npoints = round(tacq/Te), Nfft
Graphes
% graphes temporels
figure ;
subplot(3,1,1) ;
plot(tt,xt0) ; grid ;
axis([0,tosc,-2,2])
texte = ['Acquisition : ', num2str(round(tacq/Te)), ' points,'] ;
texte = [texte, ' f_e = ', num2str(1/Te,4), ' [Hz] ;'] ;
texte = [texte, ' CAN : \pm ', num2str(Ucan/2,2), ' [V], '] ;
texte = [texte, ' ', num2str(Nbits,2), ' bits \pm 1/2LSB,'] ;
title(texte) ;
ylabel('x(t)') ;
subplot(3,1,2)
plot(tn,xn) ; grid ;
axis([0,tacq,-2,2])
ylabel('x(t)') ;
subplot(3,1,3) ; % zoom
plot(tn,xn,'.') ; grid ;
axis([0,tosc,-2,2])
ylabel('x[n]') ;
xlabel('temps [sec]') ;
print -deps ansptemps.eps
ainsi que les spectres aprs fentrage
% spectres
figure ; % fenetre rectangulaire
subplot(2,1,1) ;
plot(xnwr) ; grid ;
axis([0,Nfft,-2,2])
180
Zoom
% zoom spectral
fz1 = 250 ; fz2 = 350 ; % domaine interessant
dbmax = 80 ;
figure ;
subplot(2,1,1) ;
plot(ff, 20*log10(abs(Xjfr))) ; hold on ;
axis([fz1,fz2,-dbmax,0]) ; grid ;
title(texte) ;
ylabel('X_r(f) [dB]') ;
legend('Fentre rectangulaire') ;
subplot(2,1,2) ;
plot(ff, 20*log10(abs(Xjfh))) ;
axis([fz1,fz2,-dbmax,0]) ; grid ;
ylabel('X_h(f) [dB]') ;
xlabel('frquence [Hz]') ;
legend('Fentre de Blackman') ;
print -deps anspzoom.eps
181
5.
5.9. Exercices
TFD 0
1. Montrez que le passage de l'analogique vers le numrique se fait bien avec les
deux relations discrtes
X[jk]
et
x[n]
de la gure 5.4.
X[jk].
x[n]
Dessinez la suite
respondant.
3. Calculez le signal priodique
xF (t)
correspondant la suite
x[n]
au sens de
Fourier.
TFD 1
L'analyse spectrale, par la FFT, d'un signal
fourni le spectre discret
XD [jk]
3. Que vaut
xN [n]
fe = 1 [kHz].
xN [n = 0] ?
constitu de N = 8 valeurs a
x[n]
xN [n] ?
xN [n].
XD [jk]
2+j
3+2j
10
|XD [jk]|
XD [jk]
f [kHz]
TFD 2
182
x(t)
et
x[n].
x[n]
lorsque n = 0 et
5.9. Exercices
2. Que vaut la dure d'acquisition tmax ?
3. Quel sera le domaine spectral analys ; que vaudra l'incrment de frquence
f ?
4. Calculez
XD [jk]
TFD 3
1. Esquissez
2. Calculez
x[n]
x(t)
et une fonction
XD [jk] ;
x[n]
XD [jk = 0].
ci-dessous :
N = 2m
de la suite ?
3. Qu'est ce qui change si on ajoute des zros pour doubler le nombre d'chantillons ?
m
m+1
3
2
1
+1
+2
+3
+m1
x[n]
0.5
0.5
TFD 4
Considrant un signal
chantillonn
x[n].
2. Justiez les rsultats du tableau ci-dessous fournis par la la FFT puis prcisez
la relation existant avec ceux fournis par la dcomposition en srie de Fourier.
3. On chantillonne le signal
TFD 5
x(t)
XD [jk]
Te = 1 [msec]
une
exponentielle dcroissante
A = 5 [V], = 5 [msec].
1. Que vaut la densit spectrale
2. Calculez la suite des valeurs
3. Calculez la TF
Xe (jf )
X(jf )
x[n] ;
du signal
x(t) ?
x[n].
x[n] = A r n .
183
5.
x[n]
et on
Xe,N (jf ).
XD [jk].
6. Que valent, pour chacun des spectres ci-dessus
AnSp 0
On considre le signal
Xdc
et
x(t).
Que
Xac ?
sec
AnSp 1
N, Te , tmax
et
fe , f
x[n],
les paramtres
pour xer tous les paramtres de l'analyse. Rappelez ces relations puis compltez le
tableau ci-dessous.
Te
tmax
40
2 kHz
1 msec
50
50 Hz
10 msec
100
10 Hz
20 Hz
2 msec
30
1 kHz
1 sec
1 msec
5 msec
AnSp 2
fe
5 kHz
une sinusode
184
5.9. Exercices
Pour chacun des signaux :
1. Esquissez leur allure temporelle.
2. Choisissez-vous une fentre rectangulaire ou en cosinus ?
3. Prcisez les raisons de votre choix.
AnSp 3
f0 = 100 Hz
reprsent la gure 5.14 dont on a enregistr deux priodes. Sachant qu'on souhaite
obtenir numriquement son spectre
X[jk],
Te =
1 msec.
1. Dessinez les points chantillonns
x[n].
l'analyse spectrale ?
2. Que valent
N, tmax , fe , f ?
3. Quelles raies spectrales seront prsentes ? Quel sera le nombre de valeurs spectrales analyses ?
4. Donnez les frquences, les amplitudes et les phases de chaque valeur spectrale
X[jk],
k = 0, , N 1.
185
5.
10
x(t)
10
temps [ms]
12
186
14
16
18
20
Bibliographie
Frequency Analysis, Brel & Kjaer, 1987
Harris : On the use of windows for harmonic analysis with DFT,
Wiley
CA, 1992
187
Bibliographie
188
Troisime partie .
Travaux pratiques avancs
189
6. Analyse de la parole
6.1. Introduction
L'information porte par le signal parole peut tre considr de bien des faons. On
distingue gnralement plusieurs niveaux de description non exclusifs : acoustique,
phontique et phonologique.
Au niveau
acoustique,
caractriser par son intensit, sa frquence, son timbre et ses proprits statistiques.
Au plan
un mot
phonmes
191
6.
Analyse de la parole
voyelles voises : l t,
ou ;
bij
voyelles nasales : br
Ces classes de phonmes font intervenir des degrs divers les lvres, la cavit
nasale, la langue, le palais, la glotte et les cordes vocales. Des dirences subtiles
entre phonmes dterminent le sens du mot et modient sensiblement la forme de
l'onde sonore et son spectre. Ces dirences ne sont pas faciles dtecter et mettre
en oeuvre.
Dans certaines applications, en tlphonie par exemple, on peut se contenter d'une
approche plus grossire et de rpartir les phonmes dans deux classes seulement, les
sons voiss et non voiss. Les premiers sont modliss par un signal priodique, alors
que les seconds sont reprsents par un bruit. Une tche dicile du codage de la
parole consiste dterminer si un son est vois ou non.
192
st.
phrase
avec la com-
mande
st = phrase(Ndebut :Nfin) ;
Si une analyse spectrale doit tre faite, on choisira de prfrence une tranche de
longueur gale une puissance de 2. Par exemple, 128 ou 256.
193
6.
Analyse de la parole
graphe de
" bonjour "
spectrogramme de
" bonjour "
Fig. 6.1.: Graphes correspondant au mot bonjour ; mise en vidence des sons j
et ou
194
6.4.2. Initialisation
La visualisation du signal temporel et de son spectre dbute par l'initialisation de
quelques variables et la suppression de la valeur moyenne qui n'a aucun intrt en
traitement des signaux :
fe = 8e3 ; Te = 1/fe ;
Npoints = length(st) ;
duree = Npoints*Te ;
temps = 0 :Te :duree-Te ;
df = 1/duree ;
Ndemi = fix(Npoints/2) ;
frequence = df*(0 :Ndemi-1) ; % 0 <= frequence < fe/2
st = st - mean(st) ;
% suppression de la valeur moyenne
Seff = std(st) ;
nxz =
Nxz
Nech
xz = xt - mean(xt) ;
6.4.5. Spectre
L'analyse spectrale est faite l'aide de la FFT. Idalement, le nombre de points
de la tranche analyse devrait tre une puissance de 2. An d'viter les eets de
bords de la tranche qui peuvent conduire un talement spectral, il est ncessaire
d'eectuer pralablement un fentrage de la tranche. Ces oprations sont ralises
l'aide des commandes suivantes :
195
6.
Analyse de la parole
stHm = st.*Hamming(Npoints) ;
spectre = fft(stHm) ;
spectre = spectre(1 :Ndemi) % limitation fe/2
module = abs(spectre) ; phase = angle(spectre) ;
plot(frequence,20*log10(abs(spectre)) ;
Une illustration de sons voiss et non voiss est donne dans les gures 7.6 et 7.7.
On notera les raies spectrales bien visibles dans le spectre du signal vois et, en
particulier, la correspondance entre la frquence de la fondamentale et la priode du
signal vois.
4
x 10
1
0
1
2
3
4
0.01
0.02
0.03
0.04
Spectre de s
0.05
0.06
0.07
0.08
3000
3500
4000
(t) = "ou"
hm
140
120
100
80
60
40
500
1000
1500
2000
2500
196
1.5
x 10
1
0.5
0
0.5
1
1.5
2
0.01
0.02
0.03
0.04
Spectre de s
0.05
0.06
0.07
0.08
3000
3500
4000
(t) = "jj"
hm
120
110
100
90
80
70
60
500
1000
1500
2000
2500
6.5.2. Autocorrlation
On a vu que la tranche considre est priodique si le son est vois et alatoire dans
le cas contraire. An de faciliter la recherche de la priode, on travaille de prfrence
avec la fonction d'autocorrlation car celle-ci est gnralement moins bruite que le
signal lui-mme (gure 6.4).
Le rsultat de l'autocorrlation est un vecteur de longueur
2N
avec un maximum
en son milieu. Si le signal est priodique, d'autres pics distants de la valeur du pitch
seront prsents. Pour trouver ce dernier, il sut donc de mesurer la distance entre
pics successifs.
Les commandes sont alors les suivantes :
197
6.
Analyse de la parole
kp = kpmin + k1 ;
Tp = kp * Te ;
x 10
1
0
1
2
3
0.01
0.02
0.04
0.05
0.06
0.07
0.08
0.02
0.03
0.04
0.03
x 10
1.5
1
0.5
0
0.5
1
1.5
0.04
0.03
0.02
0.01
0.01
colibri.txt
en mode
Analysis)
198
x 10
0.5
0.5
0.01
0.02
0.03
0.05
0.06
0.07
0.08
0.02
0.03
0.04
1.5
0.04
x 10
1
0.5
0
0.5
1
0.04
0.03
0.02
0.01
0.01
View),
Settings/ Spectral).
199
6.
Analyse de la parole
200
Bibliographie
[1] R. Boite et al.,
2000
201
Bibliographie
202
s[n k]
(gure 7.1).
s[n]
y[n] ??
n-p
Fig. 7.1.: Les chantillons
venir
La valeur estime
des coecients
ak
y[n] est
n-1
s[n p]
s[n 1]
p
X
k=1
ak s[n k]
(7.1)
203
7.
e2
de l'cart
e[n].
ak
et la valeur estime
y[n]
s[n]
p
X
k=1
ak
ak s[n k]
N
(7.2)
chantillons
e[n] disposition
et elle vaut :
!2
p
N
1
N
1
X
X
X
1
1
ak s[n k]
e2 [n] =
s[n] +
e2 (ak ) =
N n=0
N n=0
k=1
(7.3)
e (a1,a2)
a2
a1
Fig. 7.2.: Variance de l'erreur de prdiction
ak
e2 = e2 (a1 , a2 , . . . , ap ) = e2 (ak )
ak
(7.4)
ak
e2
sont nulles :
2
e,min
204
e2 (ak )
= 0, k = 1, . . . , p
ak
(7.5)
y[n]
a z
k -k
ak
1
N
e2
e2[n]
e2
Minimisation
de e2
Le calcul de ces
inconnus
ak
paramtres
.
=
.
a1 rss [p 1] + a2 rss [p 2] + + ap rss [0] = rss [p]
avec :
rss [m] =
N
1
X
n=0
s[n]s[n m], m = 1, . . . , p
rss [m]
du signal
(7.6)
de la fonction d'au-
Rss a = rss
o
et
d'autocorrlation,
rss
(7.7)
le vecteur
p1
d'autocorrlation
Rss
a = R1
ss rss
Rss
(7.8)
des paramtres
(N
200)
valeurs de
ak
rss [m]
y[n]
tk
susamment longue
dernires
x[n].
prvision n'est possible (cas du bruit blanc). Pour plus d'informations, on consultera
avantageusement la rfrence [1].
205
7.
e[n]
ak .
p
X
k=1
ak s[n k]
E(z) = S(z) 1 + a1 z 1 + a2 z 2 + + ap z p = S(z)A(z)
s[n]
(7.9)
(7.10)
S(z) = E(z)
1 + a1
z 1
1
1
= E(z)
2
p
+ a2 z + + ap z
A(z)
(7.11)
H(z) = 1/A(z).
Dans le cas du
est choisi priodique pour les sons voiss et alatoire pour les sons non voiss.
s[n] ;
H(z) = 1/A(z).
Comme les sons voluent constamment, le gnrateur et le ltre doivent tre modis
en permanence. L'extraction de ces paramtres du gnrateur et du ltre constituent
le codage de la parole. A l'mission, on dcompose le son en tranches pour en extraire
les paramtres qui seuls seront transmis. A la rception, chaque tranche du signal
sonore est reconstruite partir des paramtres du gnrateur et du ltre.
206
e[n]
y[n] s[n]
gain
A(z)
NV
Bruit
blanc
N-1
0
tranche t2 de longueur N
tranche t1 de longueur N
t0
t1
t2
tk
du signal
s[n]
Dans le cas o l'on doit eectuer une analyse spectrale l'aide de la FFT, il est
prfrable de travailler avec des tranches dont le nombre de points est une puissance
de 2, gnralement 128 ou 256. La dure des tranches est alors de 16 ou 32 msec et
le dcalage de 8 msec (64 chantillons).
Considrant que les sons voiss ont un contenu priodique bien marqu, le problme
rsoudre consiste trouver la priode de la composante fondamentale et dcider
si le son analys est vois ou non. Cette priode (communment appele le pitch),
est un paramtre important pour la synthse de la parole car l'oreille est sensible
ses variations.
On a observ que la frquence de la fondamentale se situe entre 40 Hz et 250 Hz
pour les voix masculines alors qu'elle est comprise entre 150 Hz et 700 Hz pour les
voix fminines. De manire gnrale, on admettra donc qu'un son est vois si sa
priode ou le pitch est compris entre 2 msec et 20 msec.
207
7.
st.
La tranche dsire
phrase
avec la commande
st = phrase(Ndebut :Nfin) ;
st = st - mean(st) ;
Si une analyse spectrale doit tre faite, on choisira de prfrence une tranche de
longueur gale une puissance de 2. Par exemple, 128 ou 256.
7.4.1. Initialisation
La visualisation du signal temporel et de son spectre dbute par l'initialisation de
quelques variables, la suppression de la valeur moyenne et le calcul de la valeur
ecace :
fe = 8e3 ; Te = 1/fe ;
Npoints = length(st) ;
temps = Te*(0 :Npoints-1) ;
duree = Npoints*Te ;
df = 1/duree ;
Ndemi = fix(Npoints/2) ;
frequence = df*(0 :Ndemi-1) ; % 0 <= frequence < fe/2
7.4.2. Spectre
L'analyse spectrale se fait l'aide de la FFT. Idalement, le nombre de points de la
tranche analyse devrait tre une puissance de 2. Si cela n'est pas possible, il faudra
tre critique par rapport aux rsultats obtenus.
An d'viter les eets de bords de la tranche qui peuvent conduire un talement
spectral, il est ncessaire d'eectuer pralablement un fentrage de la tranche. Ces
oprations sont ralises l'aide des commandes suivantes :
208
x 10
1
0
1
2
3
4
0.01
0.02
0.03
0.04
Spectre de s
0.05
0.06
0.07
(t) "ou"
hm
140
120
100
80
60
40
500
1000
1500
2000
2500
3000
3500
4000
NbCoeff = 12 ;
[coeff Perreur] = lpc(st, NbCoeff) ;
209
7.
x 10
0.5
0.5
0.01
0.02
0.03
0.04
Spectre de s
0.05
0.06
0.07
(t) "j"
hm
110
100
90
80
70
60
50
500
1000
1500
2000
2500
3000
3500
4000
gain = Seff ;
z 1
H(z) =
1 + a1
z 1
gain
+ a2 z 2 + + ap z p
(7.12)
Comme le conduit vocal est par essence stable, les ples doivent se trouver l'intrieur du cercle de rayon unit.
La donne de la fonction de transfert sous la forme d'un produit de fonctions biquadratiques et le trac des zros et des ples dans le plan complexe (gure 7.8)
s'obtiennent avec les commandes suivantes :
Hz = tf(gain, coeff) ;
zpk(Hz) ;
zplane(roots(gain), roots(coeff)) ;
210
plot(ff,20*log10(abs(Hf)),frequence,20*log10(abs(spectre))) ;
Position des ples
1
0.8
0.6
Partie imaginaire
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1
0.5
0
Partie relle
0.5
211
7.
[dB]
110
100
90
80
70
500
1000
1500
2000
2500
3000
3500
4000
3000
3500
4000
[dB]
100
80
60
40
500
1000
1500
2000
frquence [Hz]
2500
e[n]
H(z)
Puisque, dans notre cas, le signal
le rsidu
e[n]
s[n]
1
S(z)
=
E(z)
A(z)
s[n] est
en passant
(7.13)
E(z) = A(z)S(z)
ce qui revient convoluer les coecients
ak a[n]
(7.14)
avec le signal
s[n]
:
(7.15)
en = conv(coeff, stf) ;
e[n]
212
2N
avec un maximum
en son milieu. Si le signal est priodique, d'autres pics distants de la valeur du pitch
seront prsents. Pour trouver ce dernier, il sut donc de mesurer cette distance.
Les commandes sont les suivantes :
Kp = kpmin + k1 ;
0.02
0.04
0.06
0.08
0.1
0.12
0.02
0.04
0.06
Autocorrlation de e(t)
300
200
100
100
0.06
0.04
0.02
213
7.
nzx =
Nzx
Nech
xz = xt - mean(xt) ;
xz = (1+sign(xz))/2 ;
xz = diff(xz) ;
Nzx = sum(abs(xz)) ;
Fonction de corrlation
est souvent suprieure au tiers de celle du pic central. Il est moins marqu pour les
sons non voiss.
suivants
SeuilXeff = 0.05 ;
Priode du pitch
SeuilZcross = 0.3 ;
SeuilCorrel = 0.3 ;
comme suit
voise = (Seff > SeuilXeff) & (Nzx < SeuilZcross) & (reemax1 > SeuilCorrel*reemax) ;
if ~voise
214
H(z)
215
7.
allez-vous ? .
Comment
Signal original
x 10
1
0
1
2
3
4
0.02
0.04
0.06
0.08
0.1
0.12
0.08
0.1
0.12
Signal synthtique
x 10
1
0
1
2
3
4
0.02
0.04
0.06
Spectre original
140
120
100
80
60
40
500
1000
1500
2000
2500
3000
3500
4000
3000
3500
4000
500
1000
1500
2000
2500
216
L = 256 t = 32 [ms]
tr
Original
1000
2000
3000
4000
5000
6000
7000
1000
2000
3000
4000
5000
6000
7000
1000
2000
3000
4000
5000
6000
7000
Synth.
Excit.
1
0
1
Gain
0.5
10
15
20
25
comment.txt
x 10
L = 256 t = 32 [ms]
tr
eff
10
15
20
25
10
15
20
25
10
15
20
25
10
15
20
25
Zcross
0.5
0.5
xx1
/R
xx0
Pitch [Hz]
300
200
100
0
217
7.
Codage
%
%
%
%
Dcodage
% lecture de la matrice contenant tous les paramtres
% extraction du vecteur contenant les gains
% extraction du vecteur contenant les priodes Kp
% rpter jusqu' la dernire tranche
% si Kp > 0 : gnration des impulsions de priode Kp
% si Kp = 0 : gnration du bruit entre +1 et -1
% synthse du son y(t)
% ajustage de l'amplitude Veff
% concatnation des tranches
218
*.txt
de type ASCII.
On peut, par exemple, envoyer le signal original vers le canal gauche et le signal
synthtis vers la droite :
Modications du codage
1. Qu'est-ce qui change si l'excitation est purement alatoire (Kp
= 0 pour toutes
les tranches) ?
2. Plutt que de rechercher et transmettre le pitch de chaque tranche, on peut,
chaque instant d'chantillonnage, transmettre le signe du rsidu
e(n) et l'utili-
219
7.
e[n]
ak
prdiction
disposition avec
et qu'elle vaut :
0 n N -1
chan-
!2
p
N
1
N
1
X
X
X
1
1
ak s[n k]
e2 [n] =
s[n] +
e2 (ak ) =
N n=0
N n=0
k=1
(7.16)
e (a1,a2)
a2
a1
Fig. 7.14.: Variance de l'erreur de prdiction
ak
220
(7.17)
e2 (ak )
= 0, k = 1, . . . , p
ak
(7.18)
1
2
e2 (ak )
ak
1 1
2 ak N
1 1
2N
N
1
X
s[n] +
s[n] +
p
X
m=1
s[n] +
p
X
m=1
N 1
1 X
=
N n=0
p
X
m=1
s[n] +
N 1
1 X
=
N n=0
p
X
m=1
n=0
ak
n=0
N 1
1 X
=
N n=0
1
=
N
N
1
X
am s[n m]
am s[n m]
am s[n m]
am s[n m]
p
X
m=1
!2
s[n] s[n k] +
N
1
X
!2
ak
s[n] +
p
X
m=1
(0 + s[n k])
!!
am s[n m]
!!
am s[n m] s[n k]
N 1
2 X
am
s[n] s[n k] +
s[n m] s[n k]
N
m=1
n=0
n=0
= rss [k] +
p
X
m=1
am rss [k m]
p
X
m=1
qui reprsente
1kp
paramtres inconnus
am
..
=
a1 rss [p 1] + a2 rss [p 2] + + ap rss [0] = rss [p]
avec :
rss [k] =
N
1
X
n=0
s[n]s[n k], k = 1, . . . , p
(7.19)
221
7.
rss [k]
du signal
s[n]
ak
sont les
p premires valeurs
N chantillons.
de la
comportant
Rss a = rss
o
et
d'autocorrlation,
rss
(7.20)
le vecteur
p1
d'autocorrlation
Rss
est symtrique.
On voit donc que les coecients de prdiction linaire peuvent s'obtenir par inversion
de la matrice
222
Rss
a = R1
ss rss
(7.21)
Bibliographie
Traitement de la parole, PPUR, 2000
B. Porat, A Course in Digital Signal Processing, John Wiley, 1997
J.R. Deller, J.G. Proakis,J.L Hansen, Discrete-Time Processing of Speech Signals, Macmillan, 1993
V.K. Ingle, J.G. Proakis, Digital Signal Processing Using MatLab, PWS, 1997
C.S. Burrus et all, Computer-Based Exercises for Signal Processing Using MatLab, Prentice Hall, 1994
[4]
[5]
223
Bibliographie
224
8. Introduction au ltrage
adaptatif
Le ltrage adaptatif est bas sur la recherche de paramtres optimaux par minimisation d'un critre de performance. Frquemment, cette minimisation se fait en
recherchant les moindres carrs. tant donn le cadre dans lequel cette prsentation
est faite, il est ncessaire d'introduire quelques lments pralables.
On commencera donc par rappeler quelques dnitions d'estimateurs statistiques
puis on montrera ce que sont la rgression linaire et le ltrage de Wiener avant de
parler du ltrage adaptatif proprement dit.
z,
valeur moyenne :
N 1
1 X
z = lim
z(n)
N N
n=0
(8.1)
puissance moyenne :
Pz = z 2
3. Sa
variance
N 1
1 X 2
z (n)
= lim
N N
n=0
(8.2)
moyenne
z2 =
=
lim
lim
N 1
1 X
(z(n) z )2
N n=0
N 1
1 X 2
z (n) 2z z(n) + 2z
N n=0
= z 2 2z z + 2z = z 2 22z + 2z
225
8.
z2 = z 2 2z
4. Son
(8.3)
variance :
z =
z 2 2z
(8.4)
peut
z 2 = 2z + z2
(8.5)
8.1.2. Remarques
1. Il est intressant de relever que si l'on considre une notation vectorielle du
type :
zT =
z(0)
..
.
z(N 1)
Pz =
N 1
1
1 X 2
z (n) =
z zT
N n=0
N
(8.6)
r = xy =
N
1
X
x(n) y(n)
(8.7)
n=0
x yT
sera nul alors que si les signaux sont fortement dpendants (ou ressemblants),
T
la valeur du produit x y sera proche de son maximum.
valeur mesure
226
(8.8)
x.
et
x + x
vaut donc
(8.9)
P (x < x0 < x + x)
dP (x)
=
x0
x
dx
p(x) lim
(8.10)
P (x) =
p(x) dx
(8.11)
P ( < x0 < +) = P () = 1
(8.12)
C'est la densit de probabilit qui est gnralement utilise comme modle de pour
dcrire la rpartion des valeurs d'une variable alatoire. partir de celle-ci, on peut
calculer la valeur moyenne, la variance et la puissance d'une variable
x =
x2 =
x2 =
l'aide de
Z +
Z +
x p(x) dx
(8.13)
(x x )2 p(x) dx
(8.14)
x2 p(x) dx
(8.15)
1
1
=
xmax xmin
x
(8.16)
x2
(xmax xmin )2
=
=
12
12
gaussienne entre et +
x2
2. La
rpartition
(x x )2
1
exp
p(x) =
2 x2
2 x
(8.17)
(8.18)
et
3x
(8.19)
(8.20)
227
8.
Suivant les applications, on peut imaginer d'autres distributions comme par exemple
la
|x x |
1
p(x) =
exp 2
x
2 x
p(x)
(8.21)
P(x)
0.8
0.6
0.4
0.5
0.2
0
4
0.8
0
4
0
x
0.6
0.4
0.5
0.2
0
4
0.8
0
4
1
0.6
0.4
0.5
0.2
0
4
0
x
0
4
228
y(n)
ym = ax + b
e(n)
b
x(n)
a
Fig. 8.2.: Rgression linaire
ym = ax + b
L'cart de
y(n)
(8.22)
y(n)
(8.23)
ym (n),
on a videmment :
1. sa valeur moyenne
2. sa puissance
valeurs liant
e2 qui
y x.
(8.24)
e(n)
et
On notera que pour le calcul d'une rgression linaire, on fait l'hypothse qu'il n'y
a pas de bruit sur la valeur de la variable indpendante
x(n).
229
8.
et
b.
N 1
N 1
1 X
1 X 2
e (n) =
(y(n) (ax(n) + b))2
J(a, b) =
N n=0
N n=0
(8.25)
J(a, b)
=0
a
J(a, b)
=0
b
(8.26)
avec
N 1
1 X
J(a, b)
2 (y(n) (ax(n) + b)) (0 x(n) 0)
=
a
N n=0
N 1
2 X
=
x(n) y(n) + a x2 (n) + b x(n)
N n=0
2
=
N
N
1
X
x(n) y(n) + a
n=0
N
1
X
x2 (n) + b
n=0
N
1
X
x(n)
n=0
N 1
J(a, b)
1 X
2 (y(n) (ax(n) + b)) (0 0 1)
=
b
N n=0
N 1
2 X
=
(y(n) + ax(n) + b)
N n=0
2
=
N
N
1
X
y(n) + a
n=0
230
N
1
X
x(n) +
n=0
et
N
1
X
n=0
N 1
N 1
N 1
1 X
1 X
1 X 2
x (n) + b
x(n) =
x(n) y(n)
a
N n=0
N n=0
N n=0
(8.27)
N 1
N 1
N 1
1 X
1 X
1 X
x(n) +
b =
y(n)
a
N n=0
N n=0
N n=0
(8.28)
a x + b = y
(8.29)
a x2 + b x = xy
(8.30)
x 1
x2 x
a
b
a
b
x 1
x2 x
1
y
xy
et
y
xy
b
donnent alors
x y xy
2x x2
x xy y x2
b=
2x x2
a=
(8.32)
(8.33)
Dans le cas particulier o la droite passe par l'origine, les valeurs moyennes
(8.31)
et
sont nulles et on a :
xy
=
a=
x2
P
xT y
x(n) y(n)
P 2
= T ,
x (n)
x x
b=0
(8.34)
Dans de nombreuses applications, les signaux temporels sont entaches d'une interfrence ou d'un bruit non dsirs. Il faut alors trouver une solution permettant de
supprimer ou tout au moins rduire ces composantes perturbatrices. Dans le cas o
le spectre du signal dsir et celui du signal perturbateur se superposent, il n'est pas
possible de recourir au ltrage classique. Le ltre de Wiener apporte une solution
ce problme lorsque le processus est stationnaire.
x(n)
connu ou mesur ;
yp (n)
inatteignable ;
231
8.
e(n)
x(n)
Processus yp(n)
inconnu
y(n)
(n)
yw(n)
wk
Minimisation
de 2
Fig. 8.3.: Filtrage de Wiener
y(n)
e(n) ;
4. le signal modlis
5. le signal d'cart
yp (n) =
p1
X
k=0
wk x(n k)
wk
y(n).
x(n)
et de sortie
yp (n)
du modle MA partir de la
yw (n)
wk .
w0
W = w1
w2
232
(8.35)
yw (n)
du signal
yp (n)
vaut :
0nN 1
(8.36)
wk .
On pose donc :
N 1
1 X
(y(n) yw (n))2
N n=0
(8.37)
(8.38)
N 1
1 X
(y(n) w0 x(n) w1 x(n 1) w2 x(n 2))2
J (w0 , w1 , w2 ) =
N n=0
Le calcul des drives partielles de
inconnus
wk
(8.39)
donne
N 1
J
2 X
(y(n) w0 x(n) w1 x(n 1) w2 x(n 2)) (x(n))
=
w0
N n=0
N 1
2 X
(x(n)y(n) w0 x(n)x(n) w1 x(n)x(n 1) w2 x(n)x(n 2))
N n=0
N 1
2 X
J
=
(y(n) w0 x(n) w1 x(n 1) w2 x(n 2)) (x(n 1))
w1
N n=0
N 1
2 X
(x(n 1)y(n) w0 x(n 1)x(n) w1 x(n 1)x(n 1) w2 x(n 1)x(n 2))
N n=0
N 1
2 X
J
(y(n) w0 x(n) w1 x(n 1) w2 x(n 2)) (x(n 2))
=
w2
N n=0
N 1
2 X
(x(n 2)y(n) w0 x(n 2)x(n) w1 x(n 2)x(n 1) w2 x(n 2)x(n 2))
N n=0
233
8.
N 1
N 1
1 X
1 X
x(n) y(n + k) =
x(n k) y(n) = ryx (k)
rxy (k) =
N n=0
N n=0
(8.40)
on voit que ces trois drives s'crivent plus simplement sous la forme
J
= 2 (rxy (0) w0 rxx (0) w1 rxx (1) w2 rxx (2))
w0
J
= 2 (rxy (+1) w0 rxx (+1) w1 rxx (0) w2 rxx (1))
w1
J
= 2 (rxy (+2) w0 rxx (+2) w1 rxx (+1) w2 rxx (0))
w2
Comme l'erreur quadratique obtenue est minimum lorsque ces drives s'annullent,
on obtient nalement un ensemble de 3 quations 3 inconnues
(8.41)
Cette matrice d'autocorrlation est obligatoirement symtrique car la fonction d'autocorrlation est paire.
En reprsentant la matrice d'autocorrlation par le symbole
paramtres par
rxy ,
Rxx ,
le vecteur des
Rxx W = rxy
(8.42)
1
W = Rxx
rxy
(8.43)
on obtient :
234
w0
w1
W = ..
.
wp1
X(n) =
x(n)
x(n 1)
.
.
.
x(n p + 1)
(8.44)
yw (n)
yw (n) =
p1
X
i=0
(n)
l'erreur d'estimation
(8.45)
(8.46)
2 (n)
2 (n) =
y(n) X(n)T W
2
(8.47)
J(W )
(8.48)
2
J(W ) = E{2 (n)} = E{ y(n) X(n)T W }
d'o
le gradient de
J(W )
T
J(W ) = ryy (0) 2 rxy
W + W T Rxx W
par rapport au vecteur
des coecients
(8.49)
wk
dJ
= 2 rxy + 2 Rxx W
dW
(8.50)
1
W = Rxx
rxy
(8.51)
w(n)
235
8.
x(n)
y(n)
x(n)
2.
y(n)
3.
yp (n)
4.
yw (n)
5.
e(n)
= l'ECG foetal,
6.
(n)
e(n)
x(n)
Processus yp(n)
inconnu
y(n)
(n)
yw(n)
wk
Minimisation
de 2
Fig. 8.4.: Suppression de la perturbation
yp (n)
On notera que dans ce problme, les rles sont inverss par rapport la dnition
initiale du ltre de Wiener. En eet, le signal
e(n)
236
w0
w1
rxy (0)
rxy (1)
x(n)
calcul Rxx
et
et
aprs avoir
2. Si les signaux ne sont pas stationnaires (ce qui est le cas lorsque le processus
change au cours du temps), il faut, aprs chaque chantillonnage, calculer les
1
coecients W = Rxx rxy .
le signal
en pointill.
On peut relever quel point le rsultat obtenu est proche du signal original. Un
exemple de codage pour 2 paramtres est donn la gure 8.6.
8.4.2. Remarque
D'un point de vue pratique, le ltre de Wiener tel qu'il a t prsent ci-dessus
soure de quelques limitations :
il ncessite le calcul de la matrice d'autocorrlation
rlation
rxy ,
Rxx
et du vecteur d'intercor-
mmoire ;
si les signaux ne sont pas stationnaires (ce qui est frquent),
Rxx et rxy
voluent au
237
8.
x(t)
2
1
0
1
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
3.5
4.5
y(t)
2
1
0
1
3
(t), e(t)
2
1
0
1
J
= 2 rxy + 2 Rxx W
W
238
239
8.
1
W = Rxx
rxy
De manire heuristique, on imagine bien que cette solution peut tre atteinte rcursivement en corrigeant les valeurs des coecients
wk
en chaque instant
n dans le sens
W (n)
(gure 8.7) :
W (n) = W (n 1)
2
o
2 (n)
W
(8.52)
2(n)
(2(n))
(wk(n))
wk(n)
cient
2 (n)
en l'instant
wk (n)
2 (n) =
il vient :
y(n)
p1
X
i=0
vaut :
wi x(n i)
!2
= y(n) X(n)T W
2
2 (n)
(n)
= 2 (n)
= 2 (n) X(n)
W
W
coecients l'instant
n1
240
(8.53)
y(n)
(n) = y(n)
le gain d'adaptation
p1
X
i=0
wi x(n i)
(8.54)
la convergence vers la valeur optimum est trs lente ; si on la choisit trop forte, la
convergence se fait en oscillant onguement autour de la valeur optimum ; enn, si le
gain d'adaptation est trop lev, le processus d'optimisation diverge.
Les avantages de cet algorithme rsident dans la simplicit le dduire, le programmer, et au peu de calculs eectuer. Par contre, ses inconvnients sont la
lente convergence des paramtres et le risque d'oscillations ou de divergence si le
gain d'adaptation est trop grand. Ces inconvnients, associs au fait que les signaux
sont gnralement non stationnaires, ont ncessit la recherche d'une adaptation
automatique du gain.
2
1
0
1
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
temps [sec]
3.5
4.5
3
y(t)
2
1
0
1
(t), e(t)
3
2
1
0
1
0.5
w ,w
1.5
0
0.5
241
8.
0
p x2
(8.55)
a1
0
a + p x2
(8.56)
W (n) = W (n 1) +
0
(n) X(n)
a + p x2
(8.57)
x2
du signal
x(n),
Px (n) =
1 X 2
x (k)
n + 1 k=0
Cette valeur moyenne peut galement tre value l'aide d'un ltre passe-bas en
oubliant progressivement les anciennes valeurs.
Se souvenant qu'un ltre passe-bas d'ordre 1 et de gain unit, d'entre
sortie
s(n)
e(n)
et de
H(z) =
1
S(z)
=
,
E(z)
1 z 1
0<<1
(8.58)
242
(8.59)
Px (n)
Px (n) = (1 ) x2 (n) + Px (n 1)
avec
= 0.90 0.98
N ' 3 Kc =
On montre aisment qu'au-del de
(8.60)
dsir
3
|ln()|
N = 3/ |ln()|,
= 0.90
ou 150 lorsque
vaut 30
= 0.98.
Rsultats
Les rsultats ainsi obtenus sont prsents la gure 8.9. Ils illustrent l'vidence
la rapidit de la convergence et la qualit des rsultats qui est pratiquement aussi
bonne que celle obtenue avec le ltrage optimum de Wiener.
La gure 8.10 montre comment le gain change au cours du temps ; on y voit nettement son augmentation lorsque la puissance du signal de rfrence est faible. Une
partie du codage est prsent dans la gure 8.11.
Filtrage NLMS, 0 = 0.05, = 0.95
3
x(t)
2
1
0
1
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
temps [sec]
3.5
4.5
3
y(t)
2
1
0
1
(t), e(t)
3
2
1
0
1
0.5
w ,w
1.5
0
0.5
243
8.
2
1
0
1
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
3.5
4.5
0.5
1.5
2.5
3.5
4.5
3
y(t)
2
1
0
1
3
(t), e(t)
2
1
0
1
Gain(n)
3
2
1
0
0.5
1.5
2.5
temps [sec]
3.5
4.5
244
% constantes
p = 3 ; % modifier selon les besoins
gamma0 = 0.1 ;
lambda = 0.95 ;
% initialisation des calculs
Wn = zeros(p,1) ;
Pxx = 0 ;
a = 1e-3 ;
% boucle de calculs
for n = p-1 :kmax-1
% signaux a l'instant n
xn = xt(n+1) ;
yn = yt(n+1) ;
% puissance moyenne de x(n)
Pxx = (1-lambda)*xn^2 + lambda*Pxx ;
% calcul des paramtres W(n)
Xn = xt(n+1 :-1 :n-p+2) ;
en = yn - Xn'*Wn ;
Wn = Wn + gamma0/(a+p*Pxx) * en*Xn ;
% memorisation du signal recherche et des parametres
ew(n+1) = en ;
wt(n+1, :) = Wn' ;
end ;
Fig. 8.11.: Exemple de codage d'un ltre NLMS
245
8.
8.6. Exercices
RL 1
Considrant l'ensemble des notes
suivantes :
2.8
4.7
3.2
4.2
2.6
4.8
3.5
5.4
5.4
4.4
4.0
5.6
5.3
4.6
5.3
4.6
3.4
3.2
3.4
4.2
mean, var
et
std.
n < 3,
3 n < 4,
4 n < 5,
5n6
RL 2
La mesure de la caractristique statique d'un amplicateur a donn les rsultats
suivants :
Uin [mV]
Uout [V]
-50
-40
-30
-20
-10
10
20
30
40
50
-3.69
-3.38
-2.43
-1.68
-0.56
0.17
0.87
1.96
2.45
3.28
3.76
polyfit.
b) Tracez sur un mme graphe les points mesurs et la caractristique linaire de l'amplicateur avec une abscisse ne (Uin
= 1 mV ).
polyfit
= 1 mV ).
246
8.6. Exercices
Prb 1
On s'intresse ici aux notions de base des statistiques et probabilits. Pour cela :
1. Gnrez les trois signaux suivants avec
xu (n) = rand(size(n)),
N = 100 000
et
n = 0 : N 1,
n (subplot(3,1,k)) ;
observez-les avec le
rand
randn ?
et
4. Pouvez-vous donner une estimation des valeurs moyennes et variances des trois
signaux ?
5. Pour chacun des 3 signaux, calculez leurs valeur moyenne, variance et carttype ; vriez l'quation (8.3) ; commentez.
6. Tracez et comparez les 3 histogrammes (hist(xn,round(sqrt(N)))).
7. Commentez ces rsultats d'un point de vue statistique ; en particulier, que
pensez-vous de la probabilit d'apparition de certaines valeurs ?
Prb 2
Avec l'exercice prcdent vous avez compris que l'histogramme permet de compter
le nombre de fois
nk
o une valeur
x =
xmax xmin
,
Nk
Nk = nombre
avec
de largeur
de cases
La probabilit de se trouver dans une case est donc gale au contenu de la case divis
par le nombre total de points
N.
nk
N
(8.61)
X = K x.
P (K) p( < x K x) =
K
X
p(k)
(8.62)
se
P (K1 X < x K2 X) =
K2
X
k=K1 +1
(8.63)
Dans le cas d'une variable continue, la fonction de probabilit devient une densit
de probabilit dnie comme suit
p(x) =
lim
N , x0
n
k
N x
(8.64)
247
8.
P (x : x < x) =
p(x) dx
(8.65)
An de bien comprendre ce qui prcde, je vous propose d'appliquer les points ciaprs sur les 3 signaux suivants
un signal alatoire
un signal
un signal
o
N = 100 000
et
n = 0 : N 1.
subplot(3,1,1) ; plot(nn,xn).
2. Calculez sa valeur moyenne et sa variance ; comparez avec les valeurs thoriques.
3. Calculez son histogramme avec
[nk,xk] = hist(xn,sqrt(N)).
4. Calculez et reprsentez la fonction de probabilit
subplot(3,1,2) ; plot(xk,pk).
p(k)
avec
P (K)
PK = cumsum(pk) ; subplot(3,1,3) ; plot(xk,PK).
find
avec
comprise entre -1 et +1
facilite ce calcul).
Prb 3
Appliquez ce que vous venez de voir des signaux rels (sons et images). Plus
prcisment,
xt = load('colibri.txt') ;
xt = xt/max(abs(xt)) ;.
normalisez sa valeur
wavplay(xt,8000) ;.
248
8.6. Exercices
Corr 1
Dans le but de vous familiariser avec les rsultats de la corrlation, appliquez la
fonction Matlab de corrlation
rxy = xcorr(y,x,L,'unbiased')
chacun des 3
signaux suivants
n = 0 : 1000
N = 50.
et
xg [n] = randn(size(n))
Pour ce faire :
rxx [0] = Px ,
L?
que doit valoir le maximum de chaque auto-
corrlation ?
xc [n] et xq [n]
rcq = xcorr(xq,xc,L,'unbiased')).
WH 1
Considrant un ltre MA causal dcrit par ses coecients
1. dessinez le schma fonctionnel de ce ltre en prenant
et
y[n]
comme si-
la sortie
y[n]
x[n] ?
avec Matlab.
WH 2
Ayant appliqu le signal
par l'quation
un systme MA dcrit
rxx ([k]
et
rxy [k]
pour
compris
entre 5 et +5.
2. Quelles sont les valeurs de corrlation dont vous avez besoin pour rsoudre ce
problme ?
3. crivez les vecteurs et matrices
Wiener.
4. Rsolvez le systme
Rxx W = rxy .
(x, y)
pour trouver
w0
et
w1 ?
Justiez
(x, y) ?
249
8.
WH 3
Rsolvez le problme prcdent avec l'aide de Matlab. Pour ce faire, utilisez
rxy = xcorr(y,x,p-1) o p
l'ordre des vecteurs x et y ) ;
1. la fonction
garde
Rxx = toeplitz(rxx)
2. la fonction
Rxx .
WH 4
Dans ce qui suit on souhaite extraire un signal inconnu
s(n)
fortement perturb
fe
x(n)
et le signal bruit
y(n) en
signaux = load('xy50hz.txt') ;
xn = signaux( :,1) ;
yn = signaux( :,2) ;
N = length(xn) ;
nn = 0 :Te :(N-1)*Te ;
2. tracez
x(n)
et
xy50hz.txt :
y(n) ;
s[n] ;
s[n] ?
p;
2 paramtres ;
concluez ;
Sef f /Yef f .
LMS 1
Il est possible d'valuer en temps rel la puissance moyenne d'un signal en oubliant progressivement les valeurs anciennes. Ceci peut se faire de la manire suivante :
Px [n] = (1 ) x2 [n] + Px [n 1]
1. Montrez que cet algorithme est l'quivalent d'un ltre passe-bas d'ordre 1.
Pour cela :
a) dessinez son schma fonctionnel ;
b) calculez sa fonction de transfert ;
c) que valent l'instant caractristique et l'horizon de mmoire 5% ?
x(t) compos d'une sinusode d'amplitude A1 = 1 V , de frquence f0 = 1000 Hz et de dure tmax = 0.1 sec suivi
de la mme sinusode d'amplitude A2 = 2 V . Comment volue la puissance de
250
x[n] ;
8.6. Exercices
4. Calculez sa puissance moyenne avec l'algorithme ci-dessus en prenant
et
= 0.99 ;
= 0.95
valeurs ?
5. Tracez
Px [n] ;
concluez.
LMS 2
Dans ce problme, on souhaite diminuer le bruit environnant lors d'une conversation tlphonique en utilisant un deuxime microphone plac sur le ct extrieur du
tlphone. Le microphone de base capte le message entach du bruit environnant,
alors que le deuxime capte seulement le bruit. Grce l'algorithme LMS, il est
possible d'amliorer sensiblement la qualit du message.
Pour le vrier :
1. Dessinez le schma de Wiener correspondant ce problme et prcisez quels
sont les signaux en prsence.
bjrbruit.dat constitu de trois colonnes contient trois signaux enregistrs la frquence fe = 8 kHz , savoir, le bruit (microphone extrieur =
x[n]), le message perturb par le bruit (microphone-bouche = y[n]) et, dans un
2. Le chier
but de comparaison, le message non bruit. De ce chier, extrayez les deux premiers signaux ; tracez-les et coutez-les avec la fonction
soundsc(signal,fe).
3. Appliquez l'algorithme NLMS sur les deux premiers signaux pour diverses
longueurs
4. Pour
du vecteur
p = 5
et
composantes de
W.
W [n].
251
8.
252
Bibliographie
[1] B. Widrow, S.D. Stearns :
1985.
[2] S.D. Stearns, R.A. David :
1996.
[3] E.C. Ifeachor, Q.W. Jervis :
253