calcul récursif de la transformée de fourier rapide leroux

Post on 03-Apr-2015

114 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Calcul Récursif de la Transformée de Fourier Rapide

1

0

j 2exp)()(N

t N

kttxkX

http://www.essi.fr/~leroux/

Transformation d’une séquence d’un nombre N pair d’échantillons

)(txN

1,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Séparation deux séquences d’échantillons de numéro pair et impair

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)12/,...,0 Nt

Calcul de la T. F. des échantillons de numéro pair (taille N/2)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

(récursivité; arrêt pour N=1 : X1(0)=x1(0)) Xo,N/2(k)

T.F.taille N/2

12/,...,0 Nt12/,...,0 Nk

Calcul de la T. F. des échantillons de numéro impair (taille N/2)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

Xo,N/2(k)

Xi,N/2(k)

T.F.taille N/2

12/,...,0 Nt12/,...,0 Nk

(récursivité)

T.F.taille N/2

T.F.taille N/2

Multiplication des échantillons Xi,N/2(k) (taille N/2)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

Xo,N/2(k)

Xi,N/2(k) x k, exp(-2j/N)12/,...,0 Nt

12/,...,0 Nk

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 XN(k) (taille N)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

Xo,N/2(k)

Xi,N/2(k)

XN(k)++

12/,...,0 Nt12/,...,0 Nk

T.F.taille N/2

T.F.taille N/2

T.F.taille N/2

x k, exp(-2j/N)

0

1

Obtention par addition des N/2 premiers termes de XN(k) (taille N)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

Xo,N/2(k)

Xi,N/2(k)

XN(k)++++

12/,...,0 Nt12/,...,0 Nk

T.F.taille N/2

T.F.taille N/2

T.F.taille N/2

x k, exp(-2j/N)

0

1

N/2-1

Obtention par addition des N/2 premiers termes de XN(k) (taille N)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

Xo,N/2(k)

Xi,N/2(k)

XN(k)++++++++

12/,...,0 Nt12/,...,0 Nk

T.F.taille N/2

T.F.taille N/2

T.F.taille N/2

x k, exp(-2j/N)

0

1

Obtention par soustraction des N/2 derniers termes de XN(k) (taille N)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

Xo,N/2(k)

Xi,N/2(k)

XN(k)++++++++

+-

12/,...,0 Nt12/,...,0 Nk

1,...,0 Nk

T.F.taille N/2

T.F.taille N/2

T.F.taille N/2

N/2-1

N/2

x k, exp(-2j/N)

Obtention par soustraction des N/2 derniers termes de XN(k) (taille N)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

Xo,N/2(k)

Xi,N/2(k)

XN(k)++++++++

+-

+-

+-

+-

12/,...,0 Nt12/,...,0 Nk

1,...,0 Nk

T.F.taille N/2

T.F.taille N/2

T.F.taille N/2

N/2

N-1

N/2-1

0

1

x k, exp(-2j/N)

)(txN

1,...,0 Nt

xo,N/2(t)

xi,N/2(t)

Xo,N/2(k)

Xi,N/2(k)

XN(k)++++++++

+-

+-

+-

+-

12/,...,0 Nt 12/,...,0 Nk 1,...,0 Nk

0

1

N/2

N-1

0

N/2-1

0

N/2-1

0

N/2-1

0

N/2-1

N/2

N-1

N/2-1

0

N/2-1

x k, exp(-2j/N)

N

log2 N étapes N/2 multiplications par étape

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 : b0b1b2...bm, on range x(t) à l’adresse bm...b2b1b0.

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

b2b1b0

b0b1b2

b0b1b2

James W. Cooley and John W. Tukey , "An algorithm for the machine calculation of complex Fourier series ," Math. Comput. 19, 297-301 (1965).

Carl Friedrich Gauss, "Nachlass : Theoria interpolationis methodo nova tractata ," Werke band 3 , 265-327 (Königliche Gesellschaft der Wissenschaften , Göttingen, 1866). See also M. T. Heideman , D. H. Johnson, and C. S. Burrus, "Gauss and the history of the fast Fourier transform , » IEEE ASSP Magazine 1 (4), 14-21 (1984).

http://infopedia.ruv.net/fa/Fast_Fourier_transform.html

Références historiques

http://www.conacyt.mx/secobi/bancos/cyd/pdf/139-70.pdf

top related