Vous êtes sur la page 1sur 6

Chapitre 3 TRANSFORMEE DE FOURIER DISCRETE (DFT)

I- Npoints DFT
L 1
Soit x(n) dfini sur une fentre de largeur L, sa DFT est X(w) = x(n) e-jwn o
n 0
2f
w= est la frquence digitale, et fs la frquence dchantillonnage. X(w) est dfini sur
fs
lintervale [-, ].
Soit N est le nombre de points o lon veut calculer la DFT. On divise alors [-, ] en N
2
intervales gaux ; lincrment entre 2 points est = w. La frquence en chaque point est
N
2
donne par wk = pour k = 0, 1, 2, , N-1. il en rsulte N valeurs de X(w) : X(wo), x(w1),
N
2
x(wN-1) . w = est la rsolution de calcul, elle augmente lorsque N augmente (c.a.d w
N
diminue).
Le calcul de la DFT ncessite L multiplications pour chaque valeur wk, soit LxN pour N
valeurs de wk. Exemple pour N = 128 et L = 1024 NxL 105 multiplications.
On dfinit la DFT N points pour un signal de longueur L par :
L 1 L 1
XL(w) = x(n) e-jwkn = x(n) e-j(2/N).k.n pour k = 0, 1, 2, N-1
n 0 n 0
Calcul de la DFT
En pratique le calcul de la DFT impose que la srie x(n) doit tre dfinie sur une longueur
0 n N 1. Or x(n) peut tre de longueur infinie ou de longueur L >> N.

On construit une fonction priodique de priode N telle que


~x (n)= x(n) modulo N) c.a.d. que
~x (n) = x(n) pour 0 n N-1.
Soit n = pN+q ou p est un entier et q est le reste de la division ; 0 q N-1. Il sagit alors de
diviser le signal x(n) en segments disjoints de longueur N : il sensuit que
~x (n) = x(pN+ q) = x(n) + x(n+N) + x(n+2N) + pour 0 n N-1
p

Ex : x(n) = {1, 2, 3, 6, 1, 2, 4, 5, } ; trouver


~x (n) pour N = 4
x(n) 1 2 3 6
x(n+N) 1 2 4 5
x(n+2N) 1 0 0 0
_________________
~x (n) = 3 4 7 11 ; cest la rduction de x(n) modulo 4.
En posant n = pN + q tel que 0 q N 1 et 0 p <
N 1 N 1
XL(wk) = x(pN+q) e-j(2k/N) (pN+q) = x(pN+q) e-j2kp e-j(2kq/N)
q 0 p q 0 p
N 1 N 1
~
= x(pN+q) e-j2kp e-j(2kq/N) = x (q) = e-j2kq/N
q 0 p q 0
N 1
~ ~
= x (n) e-j 2kn/N = DFT [ x (n)] XL(wk) = X(wk) pour 0 k N-1.
n 0
~ ~
Note : X (w) X(w) , mais X (wk) = X(wk)
~
X (wk) ncessite uniquement N2 multiplications.
si L N , on compltera la srie des donnes par des zros
Exemple :
z 1
x(n) an u(n) x(z) = pour az-1 < 1
1
1 az

~x (n) = a
n
x(pN+n) = apN+n =
N
0 n N-1
p 0 p 0 1 a

N 1 a n z n 1
~ 1 1 (az )N
X (z) = N
=
N 1
n 0 1 a 1 a 1 az
n n jwN
1 ~ a 1 a e
On pose z = eiw ; X(ejw) = et X (ejw) = .
jw N jw
1 ae 1 a 1 ae
N j2k
k ~ 1 1 a e
Pour w = wk = 2 X (wk) =
N N j2k / N
1 a 1 ae
N
~ 1 1 a 1 ~
X (wk) = = X(wk) = X (wk)
1 a
N j2k / N jwk
1 ae 1 ae
Reprsentation matricielle de la DFT
N 1 N 1
~
On pose W = ej2/N X(wk) = x(n) Wk.n = x (n)Wk.n
n 0 n 0

Exemple : N = 3 , L = 6
x (o )
X( w ) 1 1 1 1 1 1 x (1)
o
2 3
X = X( w ) = 1 w w w w w 4 5 x ( 2) = A x
1 2 4 6 8 10 x (3)
X( w 2 ) 1 w w w w w x ( 4)
x (5)

A : NxL
A nest pas une matrice carre, elle nest pas inversible ; alors que :
X( w ) 1 1 1
o ~ x (o) ~x

X = X( w ) = 1 w w 2
~ x (1) = A avec A une matrice carre.
1 4 ~
X( w 2 )
2
1 w w x (2)

Proprits de A : A(n, k) = Wnk

X=A
~x
~x = A-1 X

W* = W-1 et A-1 =
1
A*
~x =
1
A* X =
1
(AX*)*
N N N
~x =
1
[DFT(x*)] IDFT(x) = 1 (DFT(x*))* o IDFT dsigne la transforme de
N N
Fourrier discrete inverse.
II- Applications de la DFT
1 Convolution : y(n) = x(n) * h(n)
Y(w) = X(w). H(w)
~y (n) = IDFT [Y(w)] = IDFT[X(w).H(w)]

= IDFT[DFT[x(n)]. DFT[h(n)] ]

0 n N-1 ; ~y = 1 [DFT[DFT(x) . DFT(h)] ]*


N
Nombre doprations : 3N2 + N multiplications
2 Convolution circulaire
~y = h*x = ~h* ~x
Exemple : soit x=1 1 2 2
h=2 1 2
i) mthode classique :
y = {2 3 7 8 6 4}
~y = y modulo 3

0n2 2 3 7
8 6 4
_________
~y = 10 ~
9 11 h =h=2 1 2
~ ~
x * h = 6 5 11 4 4
(~x * ~y ) rduction modulo 3 = 10 9 11

~y = 1 [DFT{DFT ~ ~
ii) mthode de la DFT : x . DFT h }* ]*
N

x (o ) 1 1 1 3
x (1) = 1 w w 2 1 avec w = e-j2/3
x (2) 2 4 2
1 w w

H 1 1 1
H o = 1 w w 2 2
1 1
2 4 2
2 1 w w
H

x H x H
DFT ( x . DFT( h ) = x . H = x H

~ ~ o o o o
1 1 1 1
x 2 H 2 x 2 H 2

*
1 1 1 x H
x oH o
1 w w
~y = 1 2

3 1 1
1 w 2 w 4 x 2 H 2

Pour que y = ~y , il faut que N L , donc aucune rduction significative du nombre


doprations si lon effectue la convolution circulaire par la DFT. Pour y remdier, on
introduit lalgorithme de la FFT.
III- Algorithme de la FFT
Soit x(n) une srie telle que n= 0, 1, , N-1. On divise cette srie en deux sries , lune est
compose des chantillons numrotes pairs et lautre des chantillons numrots impairs tel
que :
n 1
X(wk) = X(k) = x() w k = ( )+
N
0 pair impair

= 2n pair et = 2n +1 si est impair


N N
1 1
2 2
X(k) = x(2n) W k ( 2n ) + x(2n+1) W k ( 2n 1)
N N
n 0 n 0

N 1 N 1
0 2n N-1 0 n ; si nest par un entier, on prend alors lentier le
2 2
plus proche.
Dautre part, on remarque que:

W 2 = e-j2.2/N = e-j2/(N/2) = W 1
N N/2

W N / 2 = exp(-j) = -1, alors


N

N
1 N 1
2 2
k.n
N/2
X(k) = x(2n) W k.n
+ x (2n ) 1) W .W k do
N/2 N
n 0 n 0

X(k) = G(k) + W k H(k) Pour 0 k


N
-1
N
2

Cette opration sappelle la dcimation dans le temps c.a.d la dcomposition dune srie de
donnes en sries de dimension plus petite.
N
G(k) est la point DFT de la srie dchantillons numrots pairs
2
N
et H(k) est la point DFT de la srie dchantillons numrots impairs.
2
N N
G(k) et H(k) sont priodiques selon lindice k de priode c.a.d : G(k) = G(k + )
2 2
N
et H(k) = H(k + )
2
Note : La fonction W nk = ej(2/N).nk est une fonction priodique de priode N selon k. En effet
j2 k
e
ej(2/N).nk = e j(2/N)(n)(k+N) = ej2nk/N .
1
Do lalgorithme de la FFT :
N
X(k) = G(k) + W k H(k) 0 k -1
N 2
N
N N (k )
X(k+ ) = G(k+ ) + W 2 H(k+ N )
2 2 N 2
N N N
X(k+ ) = G(k+ ) + W k . WN(N/2) H(k+ )
2 2 N 2
N N N
X(k+ ) = G(k+ ) - W k . H(k+ ). Tenant compte de la priodicit des fonctions G(k) et
2 2 N 2
H(k) ; lalgorithme de la FFT se rsume comme suit :

X(k) = G(k) + W k H(k)


N

N N
X(k+ ) = G(k) - W k H(k) pour 0 k -1
2 N 2

Exemples
x x x o x1
1/ DFT 2 points : o = 1 1 o = x x
x
1 1 1 x1 o 1

n 3
2/ x(n) = 3 + 6 cos + 4 sin n ; 0 n 3
4 4
Calcul de x(n) pour N = 4 :
x(o) = 9 , x(1) = 3 +5 2 , x(2) = -1 , x(3) = 3 - 2

9
9 9 1 8 G(k ) 8
2pt DFT
3 5 2 decimation 1 9 1 10 10

6 4 2 W4 1
o
3 5 2 2ptDFT 6 4 2
3 2 6 2 = H(k) 6 2 x 1
W4 j