TRANSFORMÉE DE FOURIER
DISCRÈTE
G. BAUDOIN et J.-F. BERCHER
École Supérieure d’Ingénieurs en Électrotechnique et Électronique
Novembre 2001 – version 0.1
CHAPTER I
I Table des matières
Table des matières
I
Transformée de Fourier discrète: TFD et TFR
1
1.6
1.7
. . . . .
. . . . .
. . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Transformée de Fourier Discrète: TFD . .
. . . . . .
1.1
1.2
. . . . . .
1.3
1.4
1.5
.
. . . . .
. . . . . .
.
. . . . .
. . . . . .
Définition de la TFD .
.
. . . . .
Inversion de la TFD .
. . . . . .
.
Lien entre la transformée de Fourier et la TFD . . . .
. . . . .
.
Comparaison entre la transformée de Fourier et la TFD . . . . .
.
Fenêtres de pondération . . . . .
. . . . .
Fenêtres rectangulaires, triangulaires et paraboliques .
1.5.1
.
Fenêtres Fenêtres détruisant par addition algébrique, les lobes secondaires de
1.5.2
.
. . . . .
. . . . . .
la fenêtre rectangulaire
.
Autres fenêtres: Gauss, Kaiser, Dolph-Chebychev . .
1.5.3
.
. . . . .
Problèmes de visualisation de la TFD . . .
. . . . . .
.
. . . . .
Propriétés de la TFD et convolution circulaire . . . . .
.
. . . . .
Théorème de Parseval .
1.7.1
. . . . . .
.
. . . . .
Théorème de la convolution discrète . . . .
1.7.2
.
. . . . .
. . . . . .
Théorème du retard circulaire . .
1.7.3
.
Transformée de Fourier Rapide TFR, Fast Fourier transform FFT . . . .
.
. . . . .
2.1
FFT avec entrelacement temporel
.
. . . . .
2.2
FFT avec entrelacement fréquentiel
.
Bit reversal
2.3
. . . . .
. . . . . .
.
Formulation matricielle de l’algorithme de Cooley-Tukey . . . .
2.4
.
. . . . .
Autres algorithmes de FFT . . .
2.5
. . . . . .
.
. . . . .
Utilisation de la FFT pour la convolution rapide . . . .
2.6
.
. . . . .
. .
Calcul de convolution par section d’une des suites
2.7
.
. . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . .
. . . .
. . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . .
. . . . .
. . . . .
Exercices et problèmes .
2
3
5
5
5
6
6
8
9
10
11
12
14
14
14
15
16
17
17
20
22
22
25
25
26
28
CHAPTER I
TRANSFORMÉE DE FOURIER DISCRÈTE: TFD
ET TFR
LORSQU’ON désire calculer la transformée de Fourier d’une fonction x(t) à l’aide d’un ordinateur, ce dernier
n’ayant qu’un nombre fini de mots de taille finie, on est amené à:
• discrétiser la fonction temporelle,
• tronquer la fonction temporelle,
• discrétiser la fonction fréquentielle.
+∞(cid:1)
X( f ) =
x(t)e
− j2πf t dt
−∞
En approchant l’intégrale par une somme d’aires de rectangles de durée Te et en limitant la durée d’intégration
à l’intervalle [0, (N − 1)Te], on obtient:
Ce qui donne pour les valeurs de fréquences fk
X( f ) ≈ Te
x(nTe)e
− j2πf nTe
(N−1)
∑
n=0
= k fe/N:
X( fk
) ≈ Te
(N−1)
∑
n=0
x(nTe)e− j2π n k
N feTe ≈ Te
(N−1)
∑
n=0
x(nTe)e− j2πn k
N
Ce n’est pas une approximation sophistiquée de X( f ), mais elle est très utilisée en pratique sous le nom de
TFD car il existe un algorithme de calcul efficace appelé FFT (Fast Fourier Transform) ou TFR (Transformée
de Fourier rapide).
La TFD est par ailleurs utilisée, lorsque l’on travaille avec des suites numériques sans lien avec un signal
physique, pour définir une représentation de la suite sur une base de fonctions fréquentielles.
1 Transformée de Fourier Discrète: TFD
1.1 Définition de la TFD
On appelle transformée de Fourier discrète d’une suite de N termes x(0), x(1), . . . , x(N − 1), la suite de N termes
X(0), X(1), . . . , X(N − 1), définis par
X(k) =
x(n)e
− j2π n k
N
N−1
∑
n=0
En pratique, les N termes x(n) peuvent être N échantillons d’un signal analogique échantillonné:
xn = x(nTe), et les N termes X(k) correspondre à une approximation (à un facteur multiplicatif Te près) de la
= k fe/N, avec k entre 0 et N − 1, c’est à dire
transformée de Fourier de ce signal aux N points de fréquence fk
f entre 0 et fe.
Page 6
ChapterI. Transformée deFourierdiscrète: TFDetTFR
(cid:3)
x(i)e
− j2π i k
N
e j2π n k
N
(cid:2)
N−1
∑
i=0
1.2 Inversion de la TFD
En effet, calculons:
A = 1
N
A = 1
N
si
i
(cid:2)= n
si
i = n
x(n) = 1
N
N−1
∑
k=0
X(k)e j2π n k
N
Advertisement
N−1
∑
k=0
N−1
∑
i=0
N−1
∑
k=0
N−1
∑
k=0
X(k)e j2π n k
(cid:2)
N = 1
N
N−1
∑
k=0
(cid:3)
x(i)
N
e j2π (n−i) k
N−1
∑
k=0
N = 1 − ei2π(n−i)
e j2π (n−i) k
1 − ei2π n−i
N−1
∑
k=0
e j2π (n−i) k
e j2π (n−i) k
(cid:2)
1 = N
(cid:3)
N =
N
N
= 1
N
N−1
∑
k=0
A = x(n)
c.q.f.d.
= 0
x(n)N
A = 1
N
N−1
∑
i=0
x(i)
1.3 Lien entre la transformée de Fourier et la TFD
Soit x(t) un signal analogique continu.
1. On échantillonne x(t) à fe = 1/Te.
x(t) → xe(t) =
+∞
∑
n=−∞
x(nTe)δ(t − nTe) = x(t)P(t)
où P(t) est la « fonction peigne »:
P(t) =
+∞
∑
n=−∞
δ(t − nTe)
T F(cid:1)(cid:2) P( f ) = 1
Te
+∞
∑
n=−∞
δ
(cid:4)
(cid:5)
f − n
Te
L’échantillonnage rend le spectre périodique et peut entraîner un phénomène de « recouvrement de spectre »
ou aliasing.
x(t)
xe(t)
|X(f)|
1
t
f
|Xe(f)|
1/Te
t
-1/Te
1/Te
f
2. On tronque la suite xe(nTe) en ne conservant qu’un nombre fini N de termes pour obtenir le signal xtr
formé des échantillons: x(0) . . . x((N − 1)Te):
(t)
xtr
(t) = xe(t)F(t) =
N−1
∑
n=0
x(nTe)δ (t − nTe)
(t) = x(t)P(t)F(t)
xtr
1. Transformée deFourierDiscrète: TFD
Page7
où F(t) est une fonction fenêtre de durée NTe
(cid:6)
où T0
= NTe.
F(t) =
F(t)
1
(cid:7)
− Te
2
, T0
− Te
2
(cid:8)
1
0
t ∈
si
sinon
-Te/2
T0-Te/2
xtr(t)
|F(f)|
T0
f
|Xtr(f)|
f
t
t
La convolution avec un sinus cardinal introduit des ondulations sur le spectre. Elles sont appelés « ripples » en
anglais.
Xtr
( f ) =
x(nTe)e− j2π f nTe
N−1
∑
n=0
3. On échantillonne Xtr
( f ) à 1/T0
On obtient alors N valeurs différentes espacées de 1/T0 entre 0 et 1/Te, car T0
opération rend périodique la « fonction » dans le temps. Appelons xc(t) la fonction résultante.
(cid:4)
(cid:4)
(cid:5)
(cid:4)
(cid:5)
(cid:5)
= NTe. Cette dernière
Xc( f ) = Xtr
+∞
∑
( f )
n=−∞
(cid:2)
N−1
∑
k=0
+∞
∑
n=−∞
Xc( f ) =
x(kTe)e− j2π nk
N
δ
δ
f − n
T0
+∞
∑
n=−∞
(cid:4)
=
(cid:3)
Xtr
n
T0
(cid:5)
δ
f − n
T0
f − n
T0
(cid:10)
xc(t) = T0
+∞
∑
n=−∞
xtr
(cid:9)
t − nT0
xc(t) et Xc( f ) sont deux distributions échantillonnées reliées par la transformation de Fourier.
xc(t)
Te
|Xc(f)|
1/NTe
T0=NTe
t
fe=1/Te
f
On obtient donc une correspondance entre N points dans le domaine temporel xc(nTe) et N points dans le
domaine fréquentiel Xc(n/T0
), pour n entre 0 et N − 1. De plus:
xc(nTe) = T0 x(nTe) pour
(cid:4)
N−1
∑
n=0
x(nTe)e
k
T0
Xc
=
(cid:5)
− j2π nk
N
n ∈ [0, N − 1]
Page 8
ChapterI. Transformée deFourierdiscrète: TFDetTFR
c’est-à-dire que la suite Xc(k) = Xc(k/T0
) est précisément la TFD de la suite x(n) = x(nTe).
1.4 Comparaison entre la transformée de Fourier et la TFD
Soit un signal x(t) et sa transformée de Fourier X( f ) .
à la suite x(nTe) pour n ∈ [0, (N − 1)] correspond la suite TFD X(k) pour k ∈ [0, (N − 1)] avec:
X (k) =
N−1
∑
n=0
x(nTe)e− j2π nk
N
Quel est le lien entre X( f ) et X(k) pour k ∈ [0, (N − 1)] ?
On pose T0
= NTe.
Dans le cas où:
• x(t) est périodique de période τ,
• x(t) est à bande limitée [− fmax, fmax],
• la largeur de la fenêtre F(t) est égale à un multiple de τ, T0
• et la fréquence d’échantillonnage fe = 1/Te est supérieure à 2 fmax.
= kτ,
Il y a coïncidence à un facteur multiplicatif près entre X(k) et X( f = k/T0
):
(cid:4)
(cid:5)
(cid:4)
(cid:5)
X(k) = T0
Te
X
k
T0
= N X
k
T0
En effet, x(t) étant périodique de période τ a un spectre formé de raies distantes de 1/τ. De plus, ce spectre est
limité à fmax.
|X(f)|
1
1/τ
-fmax
fmax
f
Les trois opérations qui conduisent à la suite X(k) auront les conséquences suivantes:
1. L’échantillonnage de x(t) à fe rend périodique le spectre et le multiplie par 1/Te.
|Xe(f)|
1/Te
1/τ
-fmax
fmax
fe
f
1. Transformée deFourierDiscrète: TFD
Page9
2. La troncation de xe(t) par une fenêtre de largeur T0 a pour effet de convoluer le spectre avec un sinus
cardinal qui s’annule tous les 1/T0 avec T0
= kτ.
|Xtr(f)|
T0/Te
fe
f
3. L’échantillonnage du spectre à la fréquence 1/T0 a pour effet de ne conserver que des valeurs où Xtr et X
Advertisement
/Te = N près. C’est le seul cas où il y a identité entre la TFD et la TF au facteur
coïncident au facteur T0
N près, aux N points de calcul k/T0 avec k ∈ [0, (N − 1)].
Dans tous les autres cas, la TFD diffère de la TF aux points k/T0. L’erreur est introduite:
• par recouvrement de spectre si X( f ) n’est pas à support limité, erreur que l’on minimise en augmentant
fe.
• par les ondulations dues à la troncature par la fonction fenêtre si x(t) n’est pas périodique ou à durée lim-
itée: erreur que l’on peut chercher à atténuer en choisissant une fenêtre autre que la fenêtre rectangulaire
(fenêtre de Hanning par exemple) et en augmentant autant que possible la largeur de la fenêtre.
• pour les deux premières raisons à la fois si x(t) n’est ni à durée limitée ni à bande limitée
• même si x(t) est périodique et à bande limitée, on introduit une erreur si la fenêtre de troncature n’a pas
une durée égale à un multiple de la période car la troncature introduit alors de fortes discontinuités (voir
la figure suivante).
x(t)
xc(t)
t
t
1.5 Fenêtres de pondération
De nombreuses fenêtres de pondération ont été proposées pour l’analyse spectrale. Ces fenêtres sont utilisées
pour limiter (tronquer) la durée temporelle du signal x(t) à analyser. En notant x(t) le signal, F(t) la fenêtre, et
xtr
(t) le signal tronqué, on obtient la relation suivante:
et dans le domaine fréquentiel:
(t) = x(t)F(t)
xtr
Xtr
( f ) = X( f ) (cid:3) F( f )
Page 10
ChapterI. Transformée deFourierdiscrète: TFDetTFR
Pour une même durée temporelle NTe, on compare les différentes fenêtres essentiellement par leurs propiétés
fréquentielles. Idéalement, on aimerait que la troncation du signal en temps ne modifie pas son contenu fréquen-
( f ), ce qui suppose que F( f ) = δ( f = 0). En pratique, ce n’est pas possible
tiel, c’est- à-dire que X( f ) = Xtr
et les fenêtres F( f ) présentent un lobe principal de largeur non nulle centré autour de la fréquence nulle et en
général des lobes secondaires de hauteur non nulle. On peut caractériser une fenêtre par des paramètres tels
que:
• La largeur du lobe principal, mesurée à 3 dB d’atténuation par rapport à l’amplitude en f = 0, ou bien à
mi-hauteur.
• La hauteur maximale des lobes seconadaires (quand ils existent).
Ces paramètres influencent respectivement la résolution et la dynamique de l’analyse spectrale.
La résolution est la capacité à distinguer 2 fréquences proches. La dynamique est la capacité à mesurer des
composantes fréquentielles d’amplitudes très différentes sans que la plus forte ne masque la plus faible.
De manière générale, la largeur du lobe principal est inversement proportionnelle à la durée temporelle de
la fenêtre.
1.5.1 Fenêtres rectangulaires, triangulaires et paraboliques
• Fenêtre rectangulaire Fr(t)
Une fenêtre rectangulaire Fr(t) centrée de durée NTe s’écrit en temps et en fréquence:
Fr(t) = rectNTe
Fr( f ) = sin 2πf N Te/2
(t)
2πf N Te
2
La transformé de Fourier de la fenêtre rectangulaire, présente des lobes secondaires importants qui ne
décroissent qu’en 1
f . Le lobe secondaire le plus haut n’est qu’à -13 dB en dessous de l’amplitude en
f = 0.
• Fenêtre triangulaire Ft
(t) et fenêtre parabolique Fp(t)
(t) (appelée aussi fenˆtre de Bartlett) et la fenêtre parabolique Fp(t) se déduisent
La fenêtre triangulaire Ft
simplement de la fenêtre rectangulaire par élévation au carré ou au cube de Fr( f ). Les transformées de
Fourier ainsi obtenues décroissent donc en 1
2
f 3 . elles sont respectivement égales à:
f 2 et en 1
(cid:5)
(cid:5)
(cid:4)
(cid:4)
3
(ω) =
Ft
sin NωT
4
NωTe
4
ou à Fp(ω) =
sin EωTe
6
NωTe
6
De plus, l’amplitude maximum des lobes secondaires est à -26 db en dessous du lobe principal dans le
(ω), et à -39 db dans le cas de Fp(ω). Par contre, le lobe principal est, dans les 2 cas, plus large
cas de Ft
que pour la fenêtre rectangulaire.
Déterminons les expressions temporelles de Ft
(ω) et de Fp(ω):
donc
et
donc
(ω) = Fr(ω) × Fr(ω)
Ft
(t) = Fr(t) ∗ Fr(t) = 1 −
Ft
(cid:4)
(cid:5)
2 | t |
NTe
Fp(ω) = Ft
(ω) × Fr(ω)
Fp(t) = Ft
(t) ∗ Fr(t) = 1 −
(cid:5)
2
(cid:4)
t
NTe
La figure suivante représente la fenêtre triangulaire.
1. Transformée deFourierDiscrète: TFD
Page11
F(t)
|F(f)|
NTe
t
f
La figure suivante représente la fenêtre parabolique.
F(t)
|F(f)|
NTe
t
f
1.5.2 Fenêtres Fenêtres détruisant par addition algébrique, les lobes secondaires de la fenêtre rectan-
gulaire
D’autres fenêtres intéressantes s’obtiennent en détruisant les lobes secondaires de la fenêtre rectangulaire, par
addition algébrique. On peut citer dans cette catégorie la fenêtre cosinusoïdale, les fenêtres de Hanning, de
Hamming, de Blackman.
• Fenêtre cosinusoïde Fc(t)
L’expression algébrique de la fenêtre cosinusoïde est:
(cid:4)
(cid:4)
Fc( f ) = 1
2
FR
f − 1
2NTe
(cid:4)
(cid:5)
(cid:5)
(cid:5)(cid:5)
(cid:4)
+ FR
f + 1
NTe
Fc(t) = Fr(t) cos
π t
NTe
Les lobes secondaires de Fc( f ) sont plus faibles que ceux de Fr( f ); ainsi l’amplitude maximum de ces
lobes est 34 db en dessous de l’amplitude en f = 0 et leur décroissance est en 1/ f2. Par contre, le lobe
principal est plus large.
• Fenêtre de Hanning FH
Nous avons vu précédemment comment, par une combinaison algébrique de deux fonctions déduites
de Fr( f ) par des décalages en fréquence, on pouvait diminuer l’amplitude des lobes secondaires mais
en augmentant la bande de transition. On peut encore diminuer l’amplitude des lobes secondaires en
augmentant le nombre de fonctions combinées algébriquement. C’est le cas pour la fenêtre de Hanning
(voir la figure suivante).
F(t)
|F(f)|
NTe
t
f
= NTe):
L’expression algébrique de la fenêtre de Hanning est (en notant T0
(cid:5)
(cid:4)
(cid:4)
(cid:5)
FH
( f ) = 1
2
FR
( f ) + 1
4
FR
f − 1
T0
+ 1
4
FR
f + 1
T0
Page 12
ChapterI. Transformée deFourierdiscrète: TFDetTFR
(t) = 1
2
(t) = 0
FH
FH
(cid:5)(cid:5)
(cid:4)
(cid:4)
1 + cos
2π t
T0
ailleurs.
pour
t ∈
(cid:7)
−T0
/2, T0
(cid:8)
/2
L’amplitude maximum des lobes secondaires est alors égale à -44 db (en dessous du lobe principal); ils
décroissent en 1
f 3 . Le lobe principal est presque 2 fois plus large que pour la fenêtre rectangulaire.
• Fenˆtre de Hamming Fhm
On peut améliorer les résultats obtenus par la fenêtre précédente en modifiant les pondérations de Fr( f ),
Fr( f − 1/NTe) et Fr( f + 1/NTe):
Fhm
( f ) = 0.56 Fr( f ) + 0.22 [Fr( f − 1/NTe) + Fr( f + 1/NTe)]
Dans ce cas, la décroissance des lobes secondaires est toujours en 1/ f3 mais l’amplitude maximum de
ces lobes est à -60 db sous le lobe principal.
L’expression temporelle Fhm
(t)de la fenêtre de Hamming s’écrit:
Fhm
(t) = 0, 56 + 0, 44 × cos(2πt/NTe) − NTe
2
= 0 ailleurs
< t < NTe
2
• Fenêtre de Blackman FB
(t)
Pour diminuer encore l’amplitude des lobes secondaires, on peut combiner:
Fr( f ), Fr( f − 1/NTe), Fr( f − 2/NTe), Fr( f + 2/NTe), Fr( f + 1/NTe) selon la loi suivante:
FB
( f ) = 0, 42 Fr( f ) + 0, 25 [Fr( f − 1/NTe) + Fr( f + 1/NTe)]
+ 0, 08 [Fr( f − 2/NTe) + Fr( f + 2/NTe)]
La décroissance des lobes secondaires est en 1
f 5 ; l’amplitude maximum des lobes secondaires est -87
db en dessous du lobe principal; Le lobe principal est 2 fois plus large que pour la fenêtre rectangulaire.
L’expression temporelle de la fenêtre est:
(t) = 0, 42 + 0, 5 cos(2πt/NTe) + 0, 08 cos(4πt/NTe)
FB
ou 0 ailleurs
− NTe
2
< t < NTe
2
1.5.3 Autres fenêtres: Gauss, Kaiser, Dolph-Chebychev
• Fenêtre de Gauss Fg(t)
Pour supprimer totalement les lobes de la transformée de Fourier de la fenêtre rectangulaire, on peut
utiliser une fenêtre telle que sa transformée de Fourier Fg( f ) soit une exponentielle
(cid:11)
Fg(ω) = exp
−
(cid:12)
(NωTe/2)2
4k
√
Le paramètre k est lié à la dispersion σ de l’exponentielle en prenant comme variable réduite u =
2k. On pourra donc régler la dispersion de Fg( f ), c’est-à-dire la largeur de
NωTe/2. σ est alors égal à
la bande de transition en faisant varier k.
Cherchons l’expression temporelle de cette fonction: Fg(t) = exp
puisque la transformée de Fourier conserve la loi gaussienne:
(cid:8)
, à une constante près
−4k(t/NTe)2
(cid:7)
(cid:11)
exp (−t2
2
) −→ exp (
(cid:12)
)
−ω2
2
La fenêtre gaussienne a donc pour expression:
1. Transformée deFourierDiscrète: TFD
Page13
Fg(t) = exp
(cid:7)
−4k(t/MT )2
(cid:8)
si | t | < NTe/2
Fg(t) = 0 si | t | > NTe/2
Le paramètre k permet de réaliser un compromis entre l’ondulation en bande atténuée et la largeur de la
bande de transition, ce que ne permettaient pas de faire les fenêtres décrites précédemment.
• Fenêtre de Kaiser FK
(t)
Cette fenêtre est une des plus efficaces: sa transformée de Fourier FK
(V ) =
FK
2
(πVa)
I0
Advertisement
(cid:13)
sin
(cid:14)
π
(cid:14)
V 2 − V 2
a
π
V 2 − V 2
a
( f ) a pour expression
(cid:15)
où V = f NTr, Va = faNTe,
première espèce.
(cid:14)
V 2 −V 2
a peut être complexe et I0
(x) est la fonction de Bessel modifiée de
Cette fonction dépend d’un paramètre Va qui permet de diminuer l’amplitude des lobes secondaires mais
qui augmente la largeur du lobe principal. Dans la plupart des applications, une valeur de Va comprise
entre 4/π et 9/π conviendra.
L’expression temporelle de la fenêtre de Kaiser, transformée de Fourier inverse de FK
( f ) est
4/π < Va < 9/π
(cid:13)
πVa
I0
(t) =
FK
(cid:14)
I0
1 − (2t/NTe)2
(πVa)
(cid:15)
si | t | < NTe/2
(t) = 0
FK
ailleurs
( f ) corresponde à V = 2, c’est-à-dire d’imposer que Va =
Comparaison avec la fenêtre de Hamming:
Pour obtenir une bande de transition égale à celle de la fenêtre de Hamming, il suffit d’imposer que le
3 puisque le
premier zéro de la fonction FK
= 1. Dans ces conditions, la fenêtre de Kaiser a 99,8
premier zéro est solution de l’équation V2 − V 2
a
% de son énergie dans le lobe principal alors que la fenêtre de Hamming n’a que 96,3 % de son énergie
dans ce lobe ; par conséquent, l’ondulation en bande atténuée sera meilleure dans le cas de la fenêtre de
Kaiser.
Comparaison avec la fenêtre de Blackman:
On peut obtenir la même largeur de lobe principal avec la fenêtre de Kaiser, en positionnant le premier
zéro à‘V = 3, c’est-à-dire en faisant Va = 2
2. A nouveau, l’ondulation en bande atténuée est inférieure
dans le cas de la fenêtre de Kaiser.
√
√
• Fenêtre de Dolph-Chebychev FD
La fenêtre de Doph-Tchebychev est celle qui est réalise le meilleur compromis largeur du lobe principal,
hauteur des lobes secondaires.
L’expression mathématique de cette fenêtre exprimée dans le domaine fréquentiel est:
( f ) =
FD
cos
(cid:7)
(cid:8)
Pcos−1(λcos πf Te)
ch [P arg ch(λ)]
où P = N-1, N impair.
Le paramètre λ permet de régler l’amplitude des ondulations.
les fonctions cos(x) et cos−1(x) sont des fonctions complexes.
Page 14
ChapterI. Transformée deFourierdiscrète: TFDetTFR
L’amplitude maximum δ des ondulations est liée au paramètre λ par la relation
δ =
1
ch [ P arg ch(λ) ]
L’expression temporelle de cette fenêtre n’a pas une forme simple ; la meilleure façon de l’obtenir étant
de calculer la transformée de Fourier inverse de FD
( f ) en utilisant la transformée de Fourier discrète.
Dans tous les cas, à nombre N de coefficients constant, on devra réaliser un compromis entre l’amplitude
Il faudra choisir entre une moins grande dispersion ou une
des ondulations et la largeur du lobe principal.
meilleure résolution.
1.6 Problèmes de visualisation de la TFD
Quand on lui présente un graphe discret, l’œil réalise une interpolation entre les points du dessin. Cette inter-
polation est d’autant plus réussie que les points sont rapprochés.
Pour observer à la fois un « beau » signal x(n) et un « beau » spectre, on ne peut visualiser le même « buffer
».
Pour le graphe temporel, on a intérêt à ce que Te << T0 mais si Te << T0 alors 1/Te sera trop grand par
rapport à 1/T0 et l’œil aura du mal à interpoler le graphe fréquentiel
. Pour améliorer le graphe fréquentiel on peut rajouter des 0 à la suite x(n), on ne change rien au résultat
/Te.
mais on augmente T0
On appelle cette opération « zero-padding » en anglais.
Exemple: soit x(t) dont la fréquence de Shannon (2 fmax) est 128 Hz = fSH
1. pour visualiser en « temps », on échantillonne une durée T à 1024 Hz = 8 fSH
2. pour visualiser le spectre, on échantillonne à 128 Hz une durée égale à 8 T en rajoutant des 0 à la suite
x(n).
On aura alors le même nombre de points sur une période de signal et de spectre et les deux graphes seront
bien visualisés.
1.7 Propriétés de la TFD et convolution circulaire
Elles sont analogues à celles de la Transformée de Fourier, mais il faut prendre en compte une notion de
périodicité des séquences.
1.7.1 Théorème de Parseval
Le théorème de Parseval, sous sa forme discrète, s’écrit:
N−1
∑
n=0
|x(nTe)|2 = 1
N
N−1
∑
k=0
|X(k)|2
Démonstration:
N−1
∑
n=0
N−1
∑
n=0
|x(nTe)|2 = 1
N2
|x(nTe)|2 = 1
N2
N−1
∑
n=0
N−1
∑
k=0
(cid:2)
N−1
∑
k=0
(cid:16)
N
Xke2 jπnk
(cid:2)
N−1
∑
l=0
(cid:3)
N
l e2 jπ−nl
X ∗
(cid:3)(cid:17)
N−1
∑
l=0
XkX ∗
l
N−1
∑
n=0
e2 jπn(k−l)
N
Or:
Si
k (cid:2)= l
N−1
∑
n=0
e2 jπn(k−l)
N = 1 − e2 jπ(k−l)
e2 jπ(k−l)/N
= 0
1. Transformée deFourierDiscrète: TFD
Page15
Et si
k = l
e2 jπn(k−l)
N = N
N−1
∑
n=0
(cid:2)
XkX ∗
l
(cid:3)(cid:17)
e2 jπn(k−l)
N
= 1
N
N−1
∑
k=0
|2
|Xk
N−1
∑
n=0
On en déduit:
(cid:16)
N−1
∑
n=0
|x(nTe)|2 = 1
N2
N−1
∑
k=0
N−1
∑
l=0
1.7.2 Théorème de la convolution discrète
Avant de présenter les résultats concernant la convolution discrète, on a besoin de définir les notions de convo-
lution circulaire et de convolution linéaire.
Convolution circulaire:
Soit 2 suites périodiques (x(n)) et (y(n)) de période N. La convolution circulaire de ces 2 suites donne la suite
(z(n)) de période N définie par:
(z(n)) = (x(n)) ⊗ (y(n)) =
x(i)y((cid:8)n − i(cid:8))
pour
n ∈ [0, N − 1] ,
(cid:3)
(cid:2)
N−1
∑
i=0
où la notation ||n − i|| signifie (n − i) modulo N.
Convolution linéaire:
La convolution linéaire d’une période de (x(n)) et d’une période de (y(n)) conduit quant-à-elle à une suite
(u(n)) de longueur 2N − 1 valant:
(u(n)) = (x(n)) ∗ (y(n)) =
(cid:3)
x(i)y(n − i)
pour
n ∈ [0, 2N − 1]
(cid:2)
N−1
∑
i=0
EXEMPLE:
Soit les suites (x(n)) et (y(n)) périodiques de période N = 3, telles que
x(n) = y(n) = 1
pour n entre 0 et 2.
La suite (z(n)), convolution circulaire des suites (x(n)) et (y(n)) est périodique de période N = 3, et vaut
z(n) = 3 pour n entre 0 et 2. La suite (u(n)), convolution linéaire des suites (x(n)) et (y(n)) est de durée
2N − 1 = 5, et vaut:
z(0) = 1, z(1) = 2, z(2) = 3, z(3) = 2, z(4) = 1.
La suite (z(n)) peut s’obtenir en répétant périodiquement la suite (u(n)) avec la période N.
Une période de xn
Une période yn
Une période zn
Suite un
Suite zn obtenue en rendant un périodique
Page 16
ChapterI. Transformée deFourierdiscrète: TFDetTFR
Théorème de la convolution discrète circulaire La TFD de la suite (z(n)) convolution circulaire de 2 suites
périodique (x(n)) et (y(n)) de période N, est le produit des TFD des suites (x(n)) et (y(n)):
z(n) = x(n) ⊗ y(n) ⇒ T FD(z(n)) = T FD(x(n))T FD(y(n))
(I.1)
où le symbole ⊗ représente la convolution circulaire.
Réciproquement, la suite p(n) produit des suites x(n) et y(n), a pour TFD une suite P(k) qui est la convo-
lution circulaire des suites X(k) et Y (k):
avec P(k) = T FD(p(n)), X(k) = T FD(x(n)),Y (k) = T FD(y(n)).
p(n) = x(n)y(n) ⇒ P(k) = X(k) ⊗Y (k)
Démonstration de (I.1)
(cid:2)
(z(n)) = (x(n)) ⊗ (y(n)) =
(cid:3)
x(i)y((cid:8)n − i(cid:8))
N−1
∑
i=0
(cid:2)
n ∈ [0, N − 1]
pour
(cid:3)
Z(n) =
Z(n) =
Z(n) =
N−1
∑
i=0
N−1
∑
i=0
(cid:2)
z(i)e
(cid:2)
N−1
∑
k=0
Advertisement
N−1
∑
k=0
− j2πni
N =
N−1
∑
i=0
N−1
∑
k=0
x(k)y((cid:8)i − k(cid:8))
(cid:3)
x(k)e
− j2πnk
N y((cid:8)i − k(cid:8))e
− j2πn(i−k)
N
(cid:3)
− j2πni
e
N
(cid:2)
N−1
∑
k=0
=
N−1
∑
i=0
x(k)e
− j2πnk
N y((cid:8)i − k(cid:8))e
− j2πn(cid:8)i−k(cid:8)
N
(cid:3)
x(k)e
− j2πnk
N
y(k)e
− j2πnk
N
= X(n)Y (n)
(cid:3) (cid:2)
N−1
∑
k=0
Relation entre convolution discrète linéaire et convolution continue
Soit x(t) et y(t) de durées finies. La convolution de x(t) avec y(t) s’écrit u(t):
+∞(cid:1)
u(t) =
x(τ)y(t − τ)dτ
−∞
Échantillonnons x(t) et y(t) à fe = 1/Te. On obtient alors P échantillons pour x et Q échantillons pour y.
On peut approcher l’intégrale u(t) par la méthode de l’intégration rectangulaire (de pas Te). La suite vn
ainsi obtenue (au terme multiplicatif Te près) correspond à une convolution discrète linéaire (et non circulaire)
des suites x(n) et y(n).
v(n) =
1.7.3 Théorème du retard circulaire
Soit la suite x(n) périodique, de période N.
P+Q−1
∑
k=0
x(k)y(n − k)
Soit la suite yn obtenue en retardant x(n) de ko échantillons. La suite y(n) est périodique de période N et
sa TFD Y (k) se déduit de celle de x(n) par:
où Y (k) et X(k) sont les TFD de x(n) et y(n).
Y (k) = X(k)e− j2πkko/N
2 Transformée de Fourier Rapide TFR, Fast Fourier transform FFT
La Transformée de Fourier Rapide (notée par la suite FFT) est simplement une TFD calculée selon un algo-
rithme permettant de réduire le nombre d’opérations et, en particulier, le nombre de multiplications à effectuer.
Il faut noter cependant, que la réduction du nombre d’opérations arithmétiques à effectuer, n’est pas synonyme
de réduction du temps d’exécution. Tout dépend de l’architecture du processeur qui exécute le traitement.
Pour calculer une TFD, on doit calculer N valeurs X(k):
X(k) =
N−1
∑
n=0
x(n)e
− j2π n k
N
et ceci pour k ∈ [0, N − 1].
Si on effectue le calcul directement sans algorithme efficace, on doit effectuer:
(cid:6)
N2
N(N − 1)
multiplications complexes
additions complexes
Il existe différents algorithmes de FFT. Le plus connu est sûrement celui de Cooley-Tukey (appelé aussi à
entrelacement temporel ou à « decimation in time ») qui réduit à
N
2
log2
(N)
le nombre de multiplications.
Il existe deux versions de l’algorithme:
• FFT avec entrelacement temporel,
• FFT avec entrelacement fréquentiel.
L’algorithme nécessite que N soit une puissance de 2. Le principe de l’algorithme consiste à décomposer le
calcul de la TFD d’ordre N = 2l en l étapes successives.
2.1 FFT avec entrelacement temporel
Illustrons tout d’abord la méthode par un exemple pour N = 4.
Les données sont notées x(n) et la suite TFD X(n).
La notation w représente e− j2π/N, c’est-à- dire e− j2π/4. On peut remarquer que wN = 1 et wN/2 = −1.
Pour N = 4, w4 = 1
et w2 = −1.
la suite TFD s’écrit:
X(0) = x(0) + x(1) + x(2) + x(3) = (x(0) + x(2)) + (x(1) + x(3))
X(1) = x(0) + w1x(1) + w2x(2) + w3x(3) = (x(0) − x(2)) + w1 (x(1) − x(3))
X(2) = x(0) + w2x(1) + w4x(2) + w6x(3) = (x(0) + x(2)) − (x(1) + x(3))
X(3) = x(0) + w3x(1) + w6x(2) + w9x(3) = (x(0) − x(2)) − w1 (x(1) − x(3))
Les données (x(0), x(1), . . . , x(N − 1)) sont regroupées en 2 paquets: un paquet formé des données d’indices
pairs (x(0), x(2), . . . , x(N − 2)) et un paquet formé des données d’indices impairs (x(1), x(3), . . . , x(N − 1)).
Soit pour N = 4, un paquet (x(0), x(2)) et un paquet (x(1), x(3)).
Puis sur chaque paquet on effectue une DFT d’ordre N/2 et on combine les résultats de ces 2 DFT pour obtenir
celle d’ordre N. Ce qui donne, toujours pour N = 4:
Page 18
ChapterI. Transformée deFourierdiscrète: TFDetTFR
x0
x2
x1
x3
TFD
ordre
N/2=2
TFD
ordre
N/2=2
Y0 = x0+x2
Y1 = x0 - x2
X0=Y0+Z0=x0+x1+x2+x3
X1=Y1+w1Z1=x0+w1x1-x2-w1x3
w1
Z0 = x1+x3
Z1 = x1 - x3
w1
X2=Y0 - Z0=x0 - x1+x2 - x3
X3=Y1 - w1Z1=x0 - w1x1 - x2 +w1x3
Pour obtenir les 4 valeurs X(k), il suffit donc de calculer 2 DFT d’ordre N/2 = 2 et de combiner les résultats
2 à 2 à l’aide d’une addition et d’une multiplication au maximum, pour chaque valeur X(k). Cette étape est
appelée étage de « papillons », pour des raisons évidentes liées à la forme du schéma de calcul. Ce résultat se
généralise à toute valeur valeur de N multiple de 2. En effet:
x(n)e
− j2π nk
N
X(k) =
X(k) =
X(k) =
X(k) =
N−1
∑
n=0
N/2−1
∑
i=0
N/2−1
∑
i=0
N/2−1
∑
i=0
x(2i)e
− j2π2ik
N +
N/2−1
∑
i=0
x(2i + 1)e
− j2π2(i+1)k
N
x(2i)e
− j2π ik
N/2 + e− j2π k
N
N/2−1
∑
i=0
x(2i + 1)e
− j2π ik
N/2
y(i)e
− j2π ik
N/2 + wk
N/2−1
∑
i=0
z(i)e
− j2π ik
N/2
On note y(i) = x(2i) et z(i) = x(2i + 1), pour i ∈ [0, (N/2 − 1)]. On remarque que les 2 termes de la somme
donnant X(k) se déduisent directement des 2 TFD d’ordre N/2 des suites y(i) et z(i) de N/2 points. On note
ces TFD Y (k) et Z(k).
Ainsi pour k ≤ N/2 − 1, les 2 termes de la somme se déduisent des termes de rang k de Y (k) et Z(k):
X(k) =
N/2−1
∑
i=0
Pour k ∈ [N/2, (N − 1)], on peut écrire k = k(cid:11) + N/2, avec k(cid:11) ∈ [0, (N/2 − 1)]. De plus, comme quelque soit i
entier e− j2πi = 1, on peut déduire X(k) des termes de rang k − N/2 des 2 TFD Y (k) et Z(k):
N/2 = Y (k) + wkZ(k)
N/2−1
∑
i=0
N/2 + wk
y(i)e
− j2π ik
− j2π ik
z(i)e
X(k) =
X(k) =
y(i)e
− j2π ik
N/2 + wk
N/2−1
∑
i=0
z(i)e
− j2π ik
N/2
y(i)e
− j2π i(k +N/2)
N/2 + wk
N/2−1
∑
i=0
− j2π i(k +N/2)
N/2
z(i)e
X(k) =
N/2−1
∑
i=0
X(k) = Y (k − N/2) + wkZ(k − N/2)
N/2 + wk
y(i)e
− j2π ik
z(i)e
− j2π ik
N/2
N/2−1
∑
i=0
N/2−1
∑
i=0
N/2−1
∑
i=0
En conclusion, pour tout N multiple de 2, on peut calculer chaque terme X(k) de la TFD d’ordre N en com-
binant, à l’aide d’au plus 1 multiplication et 1 addition, 2 termes des TFD d’ordre N/2 des 2 suites y(i) et z(i)
de longueur N/2, formées respectivement des termes d’indices pairs et des termes d’indices impairs de la suite
x(n). En notant Y (k) et Z(k) les TFD d’ordre N/2 de ces suites on peut écrire:
(cid:11)
Pour
k ∈
X(k) = Y (k) + wkZ(k)
(cid:12)
− 1
0, N
2
2. Transformée deFourierRapideTFR,FastFouriertransform FFT
Page19
Pour
k ∈
(cid:12)
, N − 1
(cid:11)
N
2
X(k) = Y (k − N/2) + wkZ(k − N/2)
On appelle « papillon », l’étape de calcul consistant à calculer 2 points de la TFD d’indices distants de N/2,
par exemple X(k) et X(k + N/2) avec k ∈ [0, N/2 − 1]. Le calcul de ce couple de valeurs de la TFD d’ordre N
utilise le couple de valeurs Y (k) et Z(k) des TFD d’ordre N/2:
Pour
k ∈
(cid:11)
0, N
2
(cid:12) (cid:6)
− 1
X(k) = Y (k) + wkZ(k)
X(k + N/2) = Yk
<...