Académique Documents
Professionnel Documents
Culture Documents
DFT
FHT
1
Définition d’un signal périodique
x p (t ) x p (t TP )
Source :Wikipédia
– Avec
1 2
TP Période de xp(t)
f o o
2
Série de Fourier
• Forme exponentielle
x p (t ) C
k
k e jk o t
– Avec
1
Ck
TP x
TP
p (t )e jk o t
dt
2
TP Période de xp(t)
o 3
Série de Fourier
• Forme trigonométrique combinée
x p ( t ) C 0 2 C k co s( k o t k )
k 1
– Car
C k C k
e j e j 2 co s
– Avec
Im C k
k arctan
R e C k
4
Série de Fourier
• Forme trigonométrique
x p ( t ) A 0 A k co s( k o t ) B k sin ( k o t )
k 1
– Avec
1
A0
TP TP
x p (t )dt
2
Ak
TP x
TP
p (t ) cos(kot )dt
2
Bk
TP x
TP
p (t ) sin(kot ) dt
5
Série de Fourier
• Forme trigonométrique
x p ( t ) A 0 A k co s( k o t ) B k sin ( k o t )
k 1
– Pour passer de la forme trigonométrique
combinée à la forme trigonométrique:
2 C k A k jB k
C 0 A0
Bk
k arctan
Ak
6
Définition d’un signal non-
périodique
• Au départ:
x p (t ) C
k
k e jk o t
– Avec
1
Ck
TP p
x
TP
( t ) e jk o t
dt
2
TP
o
7
Définition d’un signal non-
périodique
• Un signal non-périodique peut être
vu comme un signal périodique dont
la période est de durée infinie.
– Ainsi:
TP o 0 o d
k o C k C ( )
8
Transformée de Fourier
– Donc la somme devient une intégrale:
d
C ( )
2
x ( t ) e j t
dt
2
C ( )
d
X ( ) x (t )e
j t
dt
Transformée de
Plus commode à utiliser…
Fourier
1
x (t )
2
X ( ) e j t d Transformée
inverse de Fourier
9
Transformée de Fourier
• Mais, dans les deux cas, on travaille
avec des fonctions continues.
10
Discrétiser la transformée de
Fourier
• Ainsi, on transforme: Fonction continue
X ( )
x ( t ) e j t
dt
discrétisation
• … en : DTFT Discrete
X ( ) x
n
( n ) e jn Time Fourier
Transform
t nTS
x ( t ) x ( n ) x ( nTS )
11
Discrétiser la transformée de
Fourier
• Le signal est échantillonné, donc x(n)
est un signal discret.
12
Discrétiser la transformée inverse
de Fourier
• On transforme:
1
x (t )
2
X ( ) e j t
d
• … en :
1
x (n)
2
X ( ) e jn d IDTFT Inverse
Discrete Time
Fourier
Transform
rép étitio n d u sp ectre ch aq u e 2
g ard er car X ( ) est co n tin u .
13
Utilisation de la DTFT
• On à X ( ) x (n)e
n
jn
• et : 1
x (n)
2
X ( ) e jn
d
• Bogues:
– Nombre d’échantillons infini (!)
est continu
14
Utilisation de la DTFT
• Pour rendre la DTFT utilisable:
– On n’utilise que N échantillons dans le
domaine temporel;
– On échantillonne le domaine fréquentiel avec
N points. Espace entre les points:
2
N
15
Résultat: la DFT
Discrete Fourier Transform
• On a maintenant:
N 1
X N (k ) x
n 0
( n ) W N
kn
• et: 1 N 1
x (n)
N
X
k 0
N ( k )W N
kn
– Avec
2
j
N
WN e
16
WN le « Twiddle Factor »
2
j
• On a: W e N
N
2
j j
• Si N = 4: W e 4
e 2
4
• Donc: W 40 e 0 1
1
W e
j 2
j
4
2
W e
j2 2
1
4
3
W e
j 3 2
j 17
4
Exemple: DFT à 2 points
• Soit un signal échantillonné sur 2
points (N=2):
– x(0)=0; x(1)=1;
1
X 2 (k ) x(n)W2
kn
n 0
18
Exemple: DFT à 2 points
• Calculs pour k = 0:
1
X 2 (0) x(n)W x(0) x(1) 1
2
0
n 0
• Calculs pour k = 1:
1
X 2 (1) x(n)W x(0) x(1) 1
2
n
n 0
19
Exemple: DFT à 2 points
• Papillon:
4 + Réelles
20
Exemple: DFT à 4 points
• Soit un signal échantillonné sur 4
points:
– x(0)=0; x(1)=1; x(2)=0; x(3)=-1.
3
X 4 (k ) x(n)W 4
kr
n 0
28 + Réelles
64 * Réelles 21
Exemple: DFT à 4 points
• Calculs pour k = 0:
3
X 4 (0) x(n)W x (0) x(1) x(2) x(3) 0
4
0
n 0
• Calculs pour k = 1:
3
X 4 (1) x(n)W x(0) j x(1) x(2) j x(3) 2 j
4
n
n 0
22
Exemple: DFT à 4 points
• Calculs pour k = 2:
3
X 4 (2) x(n)W 4
2n
x(0) x(1) x(2) x(3) 0
n 0
• Calculs pour k = 3:
3
X 4 (3) x(n)W 4
3n
x(0) j x(1) x (2) j x (3) 2 j
n 0
23
Exemple: DFT à 4 points
• Calculs requis:
– 28 additions réelles;
– 64 multiplications réelles.
24
Si N>2
• La quantité de calcul est plus
importante et devient rapidement
lourde.
25
Pour réduire la quantité de calcul
• Utiliser certaines propriétés de WN:
– Symétrie:
k N 2 k
W N W N
– Périodicité:
W Nk N W Nk
• Donc en coupant la DFT en 2:
N N
2 1 2 1
X N (k ) x
r 0
( 2 r ) W N
2 rk
x
r 0
( 2 r 1 ) W N
( 2 r 1 ) k
pairs impairs
26
Pour réduire la quantité de calcul
• Suite:
N N
2 1 2 1
X N (k ) x
r 0
( 2 r ) W N
2 rk
x
r 0
( 2 r 1 ) W N
( 2 r 1 ) k
N N
2 1 2 1
x ( 2 r )W
r 0
N
2 rk
W N
k
x ( 2 r 1) W
r 0
N
2 rk
pairs impairs
• Or:
j N2
W e2 j 2N 2
e 2
WN 2
N
27
Pour réduire la quantité de calcul
• Donc:
N N
2 1 2 1
X N (k ) x
r 0
( 2 r ) W N
kr
2
W N
k
x
r 0
( 2 r 1 ) W N
kr
2
pairs impairs
28
Exemple: Même DFT à 4 points
• Soit un signal échantillonné sur 4
points:
– x(0)=0; x(1)=1; x(2)=0; x(3)=-1.
1 1
X 4 (k ) x ( 2 r )W
r 0
2
kr
W4 k
x ( 2 r 1)W
r 0
2
kr
8 + Réelles
0 * Réelles
4 + Réelles 12 + Réelles
0 * Réelles 16 * Réelles 29
Exemple: DFT à 4 points
• Calculs pour k = 0:
1 1
X 4 (0) x ( 2 r )W
r 0
2
0r
W 4
0
x ( 2 r 1) W
r 0
2
0r
0
x ( 0 )W x ( 2 )W W
2 2
0
4
0
x (1)W 2
0
x ( 3 )W 2
0
x ( 0 ) x ( 2 ) x (1) x ( 3 )
0
30
Exemple: DFT à 4 points
• Calculs pour k = 1:
1 1
X 4 (1) x ( 2 r )W
r 0
2
1r
W 4
1
x ( 2 r 1) W
r 0
2
1r
x ( 0 ) W 20 x ( 2 ) W 21 W 41 x ( 1) W 20 x ( 3 )W 21
x ( 0 ) x ( 2 ) j x ( 1) x ( 3 )
0 0 j ( 1 ( 1))
2 j
31
Exemple: DFT à 4 points
• Calculs pour k = 2:
1 1
X 4 (2) x ( 2 r )W
r 0
2
2r
W 4
2
x ( 2 r 1)W
r 0
2
2r
x ( 0 )W 20 x ( 2 ) W 22 W 42 x ( 1) W 20 x ( 3 ) W 22
x ( 0 ) x ( 2 ) x (1) x ( 3 )
0
32
Exemple: DFT à 4 points
• Calculs pour k = 3:
1 1
X 4 ( 3) x ( 2 r )W
r 0
2
3r
W 4
3
x ( 2 r 1) W
r 0
2
3r
x ( 0 ) W 20 x ( 2 ) W 23 W 43 x (1) W 20 x ( 3 )W 23
x ( 0 ) x ( 2 ) j x (1) x ( 3 )
2j
33
Exemple: DFT à 4 points
• Remarquez la structure
x(0)
x(2)
-1
x(1)
x(3)
-1 34
Exemple: DFT à 4 points
• Remarquez la structure en papillon
x(0) X4(0)
x(2) X4(1)
-1
W40
x(1) X4(2)
-1
W41
x(3) X4(3)
-1 -1 35
Exemple: DFT à 4 points
• Sur chaque étage
x(0) X4(0)
W40
x(2) X4(1)
-1
W40
x(1) X4(2)
-1
W40 W41
x(3) X4(3)
-1 -1 36
Structure de la DFT
x(0) X4(0)
Adressage en bits renversés
W40
x(2) X4(1)
-1
W40
x(1) X4(2)
-1
W40 W41
x(3) X4(3)
-1 -1
37
Structure de la DFT
x(0)
8 + Réelles
W40 4 * Réelles
x(2)
-1
38
Exemple: DFT à 8 points
• Soit un signal échantillonné sur 8
points:
– x(0)=0; x(1)=1; x(2)=2; x(3)=1; x(4)=0; x(5)=-1;
x(6)=-2; x(7)=-1
3 3
X 8(k ) x ( 2 r )W
r 0
8
2 kr
W8 k
x ( 2 r 1) W
r 0
8
2 kr
W 80 1 W 81 0 .7 0 7 0 .7 07 j W 82 j W 83 0 .7 07 0 .70 7 j
W 84 1 W 85 0 .70 7 0 .70 7 j W 86 j W 8 7 0 . 7 0 7 0 .7 0 7 j
39
Exemple: DFT à 8 points
• Calculs pour k = 0:
3 3
X 8 (0) x ( 2 r )W
r 0
8
0r
x ( 2 r 1)W
W8 0
r 0
8
0r
x ( 0 ) x ( 2 ) x ( 4 ) x ( 6 ) x ( 1) x ( 3 ) x ( 5 ) x ( 7 )
0
40
Exemple: DFT à 8 points
• Calculs pour k = 1:
3 3
X 8 (1) x
r 0
( 2 r ) W 8
2r
W 8
1
x (
r 0
2 r 1 ) W 8
2r
0 2 4 6
x ( 0 )W 8 x ( 2 )W 8 x ( 4 )W 8 x ( 6 )W 8
W x (1)W 8 x ( 3 )W 8 x ( 5 )W 8 x ( 7 )W 8
8
1 0 2 4 6
2 ( j ) 2 ( j)
( 0 .7 0 7 j 0 .7 0 7 ) 1 ( j ) 1( 1) 1( j )
6 .8 3 j 41
Exemple: DFT à 8 points
• Calculs pour k = 2:
3 3
X 8 (2) x ( 2 r )W
r 0
8
4r
W8 2
x ( 2 r 1)W
r 0
8
4r
0 4 8 12
x ( 0 )W 8 x ( 2 )W 8 x ( 4 )W x ( 6 )W 8 8
W 8 x ( 1) W 8 x ( 3 ) W 8 x ( 5 ) W x ( 7 ) W
2 0 4
8
8
8
12
2 ( 1) 2 ( 1)
j 1 ( 1) 1( 1) 1( 1)
0 42
Exemple: DFT à 8 points
• Calculs pour k = 3:
3 3
X 8 ( 3) x
r 0
( 2 r ) W 8
6r
W 8
3
x (
r 0
2 r 1 ) W 8
6r
0 6 12 18
x ( 0 )W8 x ( 2 )W8 x ( 4 )W 8 x ( 6 )W 8
W 8 x (1)W 8 x ( 3 )W 8 x ( 5 )W
3 0 6
8
12
x ( 7 )W 8
18
2 ( j) 2 ( j)
( 0 .7 0 7 0 .7 0 7 j ) 1 ( j ) 1( 1) 1( j )
1.1 7 2 j 43
Exemple: DFT à 8 points
• Soit un signal échantillonné sur 8 points:
– x(0)=0; x(1)=1; x(2)=2; x(3)=1; x(4)=0; x(5)=-1; x(6)=-2;
x(7)=-1.
• Au départ:
– n={0,1,2,3,4,5,6,7}
• Diviser en deux niveaux:
– n={0,2,4,6} et n={1,3,5,7}.
• Diviser encore:
– n={0,4} , n={2,6}, n={1,5} et n={3,7}.
44
Exemple: DFT à 8 points
• Calculs pour étage 1:
0 0
X 2 (0) x
r 0
( 2 r ) W 2
0r
W 2
0
x
r 0
( 2 r 1 ) W 2
0r
x (0) x (4 )
0
0 0
X 2 (1) x
r 0
( 2 r ) W 2
0r
W 2
1
x
r 0
( 2 r 1 ) W 2
0r
x (0) x (4 )
0
45
Exemple: DFT à 8 points
• Calculs pour étage 1:
0 0
X 2 (0) x
r 0
( 2 r ) W 2
0r
W 2
0
x
r 0
( 2 r 1 ) W 2
0r
x (2 ) x (6) 2 ( 2 )
0
0 0
X 2 ( 1) x
r 0
( 2 r ) W 2
2r
W 2
1
x
r 0
( 2 r 1 ) W 2
2r
x (2 ) x (6) 2 ( 2 )
4
46
Exemple: DFT à 8 points
• Calculs pour étage 1:
0 0
X 2 (0) x
r 0
( 2 r ) W 2
0r
W 2
0
x
r 0
( 2 r 1 ) W 2
0r
x (1) x ( 5 ) 1 ( 1)
0
0 0
X 2 ( 1) x
r 0
( 2 r ) W 2
2r
W 2
1
x
r 0
( 2 r 1 ) W 2
2r
x ( 1) x ( 5 ) 1 ( 1)
2
47
Exemple: DFT à 8 points
• Calculs pour étage 1:
0 0
X 2 (0) x
r 0
( 2 r ) W 2
0r
W 2
0
x
r 0
( 2 r 1 ) W 2
0r
x ( 3 ) x ( 7 ) 1 ( 1)
0
0 0
X 2 ( 1) x
r 0
( 2 r ) W 2
2r
W 2
1
x
r 0
( 2 r 1 ) W 2
2r
x ( 3 ) x ( 7 ) 1 ( 1)
2
48
Exemple: DFT à 8 points
• Coefficients obtenus:
x ( 0 ) 0 x ( 1) 0
x ( 2 ) 0 x ( 3) 0
x ( 4 ) 0 x (5) 2
x ( 6 ) 4 x ( 7 ) 2
0 1
x ( 4 ) 0 W8 = 0 x ( 5 ) 2 W 1.4 1 4 1.4 1 4 j
8
x ( 6 ) 4 W 82 = -4 j x ( 7 ) 2 W 83 1.4 1 4 1.4 1 4 j
49
Exemple: DFT à 8 points
• Calculs pour étage 2:
0 0
X 2 ( 0 ) x ( 2 r )W
r 0
2
0r
W 2
0
x ( 2 r 1)W
r 0
2
0r
x ( 0 ) x ( 2 )
0 x ( 0 )
0 0
X 2 ( 1) x
r 0
( 2 r ) W 2
1r
W 2
1
x ( 2 r
r 0
1 ) W 2
1r
x ( 0 ) x ( 2 )
0 x ( 2 ) 50
Exemple: DFT à 8 points
• Calculs pour étage 2:
0 0
X 2 ( 0 ) x ( 2 r )W
r 0
2
0r
W 2
0
x ( 2 r 1)W
r 0
2
0r
x ( 1) x ( 3 )
0 x ( 1)
0 0
X 2 ( 1) x
r 0
( 2 r ) W 2
1r
W 2
1
x ( 2 r
r 0
1 ) W 2
1r
x ( 1) x ( 3 )
0 x ( 3 ) 51
Exemple: DFT à 8 points
• Calculs pour étage 2:
0 0
X 2 ( 0 ) x ( 2 r )W
r 0
2
0r
W 2
0
x ( 2 r 1)W
r 0
2
0r
x ( 4 ) x ( 6 )
4 j x ( 4 )
0 0
X 2 ( 1) x
r 0
( 2 r ) W 2
1r
W 2
1
x ( 2 r
r 0
1 ) W 2
1r
x ( 4 ) x ( 6 )
4 j x ( 6 ) 52
Exemple: DFT à 8 points
• Calculs pour étage 2:
0 0
X 2 ( 0 ) x ( 2 r )W
r 0
2
0r
W 2
0
x ( 2 r 1)W
r 0
2
0r
x (5) x ( 7 )
2 .8 2 8 j x ( 5 )
0 0
X 2 ( 1) x
r 0
( 2 r ) W 2
1r
W 2
1
x ( 2 r
r 0
1 ) W 2
1r
x (5) x ( 7 )
2 .8 2 8 x ( 7 ) 53
Exemple: DFT à 8 points
• Coefficients obtenus:
x ( 0 ) 0 x ( 1) 0
0 2
x ( 2 ) 0 W 8 = 0 x ( 3 ) 0 W 8 0
x ( 4 ) 4 j x ( 5 ) 2 .8 2 8 j
0 2
x ( 6 ) 4 j W 8 = 4 j x ( 7 ) 2 .8 2 8 j W 8 2 .8 2 8 j
54
Exemple: DFT à 8 points
• Calculs pour étage 3:
0 0
X 2( 0 ) x
r 0
( 2 r ) W 2
0r
W 2
0
x (
r 0
2 r 1 ) W 2
0r
x ( 0 ) x ( 1)
0 x ( 0 ) X ( 0 )
0 0
X 2( 1) x
r 0
( 2 r ) W 2
0r
W 2
1
x (
r 0
2 r 1 ) W 2
0r
x ( 0 ) x ( 1)
0 x ( 1) X ( 4 ) 55
Exemple: DFT à 8 points
• Calculs pour étage 3:
0 0
X 2( 0 ) x
r 0
( 2 r ) W 2
0r
W 2
0
x (
r 0
2 r 1 ) W 2
0r
x ( 2 ) x ( 3 )
0 x ( 2 ) X ( 2 )
0 0
X 2( 1) x
r 0
( 2 r ) W 2
0r
W 2
1
x (
r 0
2 r 1 ) W 2
0r
x ( 2 ) x ( 3 )
0 x ( 3 ) X ( 6 ) 56
Exemple: DFT à 8 points
• Calculs pour étage 3:
0 0
X 2( 0 ) x
r 0
( 2 r ) W 2
0r
W 2
0
x
r 0
( 2 r 1 ) W 2
0r
x ( 4 ) x ( 5 )
6 .8 2 8 j x ( 4 ) X ( 1)
0 0
X 2( 1) x
r 0
( 2 r ) W 2
0r
W 2
1
x
r 0
( 2 r 1 ) W 2
0r
x ( 4 ) x ( 5 )
1.1 7 2 j x ( 5 ) X ( 5 ) 57
Exemple: DFT à 8 points
• Calculs pour étage 3:
0 0
X 2( 0 ) x
r 0
( 2 r ) W 2
0r
W 2
0
x
r 0
( 2 r 1 ) W 2
0r
x ( 6 ) x ( 7 )
1.1 7 2 j x ( 6 ) X ( 3 )
0 0
X 2( 1) x
r 0
( 2 r ) W 2
0r
W 2
1
x
r 0
( 2 r 1 ) W 2
0r
x ( 6 ) x ( 7 )
6 .8 2 8 j x ( 7 ) X ( 7 ) 58
Exemple: DFT à 8 points
• Structure:
59
Variante: DFT à 8 points
• Structure:
0
60
Transformation de Hartley rapide
(FHT - Fast Hartley Transform)
• La transformée de Fourier exige de
travailler avec des nombres
complexes.
– Calculs plus compliqués.
• Additions et soustractions de nombres
complexes
• Multiplication de nombres complexes
– avec
cas( u ) co s( u ) sin ( u )
62
FHT - Fast Hartley Transform
• Dans un développement similaire au
DFT:
N 2 1 2 nk N 1
2 nk
H (k )
n 0
x ( n ) cas x ( n ) cas
N nN
N
2
64
FHT - Fast Hartley Transform
• Si k impair:
cas
2 k n N
2 2 nk
co s
2 nk
co s( k ) sin sin ( k )
N N N
2 nk 2 nk
sin co s( k ) co s sin ( k )
N N
2 nk 2 nk
co s sin
N N
2 nk
cas
N 65
FHT - Fast Hartley Transform
• Si k pair:
cas
2 k n N
2 2 nk
co s
2 nk
sin
N N N
2 nk
cas
N
66
FHT - Fast Hartley Transform
• Ainsi, la fonction H(k) est pour k pair:
N 2 1
2 nk
N
H (k ) x ( n ) x n 2 cas
n 0
N
• … et pour k impair:
N 2 1
N 2 nk
H (k ) x ( n ) x n 2 cas
n 0
N
67
FHT - Fast Hartley Transform
• Posons k = 2k pour k pair, alors H(k)
devient:
N 2 1
2n 2 k N
H (2 k ) x ( n ) x n 2 cas
n 0
N
• … et k = 2k+1 pour k impair, alors
H(k) devient:
N 2 1
H ( 2 k 1)
n 0
2 n 2 k 1
x ( n ) x n N 2 cas
N
68
FHT - Fast Hartley Transform
• Avec un peu de trigo. on calcule:
2 n 2 k 1 2 n 2 n 2 k 2 n 2 k
cas co s cos sin
N N N N
2 n 2 n 2 k 2 n 2 k
sin cos sin
N N N
• … et 2 nk 2 k N n
sin sin
N N
2 nk 2 k N n
co s co s
N N 69
FHT - Fast Hartley Transform
• Donc:
2 n 2 n 2 k
N 2 1 co s cas
n 0
N
H ( 2 k 1) x ( n ) x n 2
N
2 n
N
2 2 k N n
sin cas
N N
N 2 n
N 2 1 x ( n ) x n 2 co s N
2 n 2 k
H ( 2 k 1) cas
n 0
N
x 2 n x N n sin
2 n
N
N
70
FHT - Fast Hartley Transform
• Finalement, si on pose:
a ( n) x (n) x n N
2
• …et:
N 2n
x ( n ) x n 2 co s N
b(n)
x N n x N n sin 2 n
2 N
71
FHT - Fast Hartley Transform
• Alors, il suffit d’utiliser:
N 2 1
2n 2 k
H (2 k )
n 0
a ( n ) cas
N
• …et:
N 2 1
2n 2 k
H ( 2 k 1) b ( n ) cas
n 0
N
• Pour calculer la transformée
72