Calcul Récursif de la Transformée de Fourier Rapide
Transformation d’une séquence d’un nombre N pair d’échantillons
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Séparation deux séquences d’échantillons de numéro pair et impair x o,N/2 (t) x i,N/2 (t)
Calcul de la T. F. des échantillons de numéro pair (taille N/2) x o,N/2 (t) x i,N/2 (t) (récursivité; arrêt pour N=1 : X 1 (0)=x 1 (0)) X o,N/2 (k) T.F. taille N/2
Calcul de la T. F. des échantillons de numéro impair (taille N/2) x o,N/2 (t) x i,N/2 (t) X o,N/2 (k) X i,N/2 (k) T.F. taille N/2 (récursivité) T.F. taille N/2 T.F. taille N/2
Multiplication des échantillons X i,N/2 (k) (taille N/2) x o,N/2 (t) x i,N/2 (t) X o,N/2 (k) X i,N/2 (k) x k, exp(-2 j/N) T.F. taille N/2 T.F. taille N/2 T.F. taille N/2
0 Obtention par addition des N/2 premiers termes de X N (k) (taille N) x o,N/2 (t) x i,N/2 (t) X o,N/2 (k) X i,N/2 (k) XN(k)XN(k) + + T.F. taille N/2 T.F. taille N/2 T.F. taille N/2 x k, exp(-2 j/N)
0 1 Obtention par addition des N/2 premiers termes de X N (k) (taille N) x o,N/2 (t) x i,N/2 (t) X o,N/2 (k) X i,N/2 (k) XN(k)XN(k) T.F. taille N/2 T.F. taille N/2 T.F. taille N/2 x k, exp(-2 j/N)
0 1 N/2-1 Obtention par addition des N/2 premiers termes de X N (k) (taille N) x o,N/2 (t) x i,N/2 (t) X o,N/2 (k) X i,N/2 (k) XN(k)XN(k) T.F. taille N/2 T.F. taille N/2 T.F. taille N/2 x k, exp(-2 j/N)
0 1 Obtention par soustraction des N/2 derniers termes de X N (k) (taille N) x o,N/2 (t) x i,N/2 (t) X o,N/2 (k) X i,N/2 (k) XN(k)XN(k) T.F. taille N/2 T.F. taille N/2 T.F. taille N/2 N/2-1 N/2 x k, exp(-2 j/N)
Obtention par soustraction des N/2 derniers termes de X N (k) (taille N) x o,N/2 (t) x i,N/2 (t) X o,N/2 (k) X i,N/2 (k) XN(k)XN(k) T.F. taille N/2 T.F. taille N/2 T.F. taille N/2 N/2 N-1 N/ x k, exp(-2 j/N)
x o,N/2 (t) x i,N/2 (t) X o,N/2 (k) X i,N/2 (k) XN(k)XN(k) T.F. taille N/2 T.F. taille N/2 T.F. taille N/2 0 1 N/2 N-1 0 N/ N/2 N-1 N/2-1 0 x k, exp(-2 j/N) N
Calcul préalable et mémorisation des k pour les calculs répétitifs (ne pas refaire le calcul des exponentielles s’il est déjà fait !) Tenir compte d’une éventuelle perte de précision (quelques bits) On peut commencer par effectuer tous les tris en séquences d’échantillons de numéros pairs et impairs avant de faire le calcul récursif (‘‘bit reversal ’’) : représentation binaire de t : b 0 b 1 b 2...b m, on range x(t) à l’adresse b m...b 2 b 1 b