Title: Fast Fourier Transform (FFT)
1Fast Fourier Transform(FFT)
Corso di Metodi per il Trattamento Numerico di
Dati Multimediali Laura Patricolo
(50/174) Valeria Mele (50/18)
2DFT
- f f0, ...., fN-1T
- per h 0,, N-1
- F F0, ...., FN-1T
3DFT
4Loperazione di scomposizione intesa con le due
frecce indica che nella prima parte andranno gli
elementi di posto pari, e nella seconda quelli di
posto dispari.
Esempio è il vettore di dimensione N/4,
ottenuto come prima parte del vettore a sua
volta vettore di dimensione N/2, seconda parte
del vettore
5Scomposizione formale
per h 0,, N-1
6Osserviamo
7Componenti pari
N.B. lapice accanto a f indica il passo di
scomposizione corrente !!
h1 0,, (N/2)-1
8due trasformate di ordine N/2
Trasformando
Trasformando
Vettore delle componenti di posto dispari di F
Vettore delle componenti di posto pari di F
9Esempio N238
10 h1 0, 1, 2, 3
RICORDA nella notazione di F lapice esprime la
dimensione del problema, il pedice porta traccia
della scomposizione del vettore, indicando la
relazione del vettore al passo corrente con
quello al passo precedente. Nella notazione di f
invece lapice esprime il passo corrente. NOTA
In questo momento il pedice di F contiene anche
lindice dellelemento generico (h1).
Passo I)
11Passo II)
h2 0, 1
12Passo III)
h3 0
13schema butterfly
14Passo k N 8 addizioni/sottrazioni tra
elementi del vettore f distanti N/2k log2N3
passi
15- Abbiamo ridotto il numero delle
addizioni/sottrazioni - necessarie al calcolo della nostra DFT
- a
- N log2N 83 24
- invece che
- N264
- come richieste dallalgoritmo classico
16Notiamo però che il risultato dellalgoritmo è
stato
i coefficienti Fh che abbiamo ottenuto
trasformando i successivi vettori fi non sono
posti nellordine naturale
17Integer Bit Reversal (IBR)
- considera le rappresentazioni binarie degli
interi 0, 1, , N-1 - inverte le successioni di
bit delle singole rappresentazioni - determina i
corrispondenti numeri decimali.
18ALGORITMO FFT
for m1, z m22m-1 nmN/2m for i0, m2 step
2 for k0, nm-1 g finmk fnmk fnmk(
finmk - f(i1)nmk)wk finmkg endfor en
dfor endfor
19La trasformata di Fourier è una tecnica che
proprio nelle applicazioni, dalla fisica dei
plasmi alla sismografia, dalla Tac alla
oceanografia, alla ricostruzione di immagini, ha
trovato la sua legittimazione come strumento
principale per la risoluzione effettiva di
problemi concreti.Per dare un'idea del guadagno
effettivo ricordiamo che la Nasa, nell'ambito del
Progetto Ciclope per la ricerca delle
intelligenze extraterrestri, ha operato la
trasformazione di Fourier su un insieme di un
miliardo di dati ciò ha richiesto circa 9 ore di
tempo con la Fft, contro gli oltre 36.000 anni
necessari con l'algoritmo normale. Ovvero con
1024 punti il rapporto tra i tempi è pari a circa
150.
CONCLUSIONI
20Bibliografia 1 Cooley J. W. e Tukey J. W. ,
An algorithm for machine calculation of complex
Fourier series, Maths comput., 19, 297 301
(1965).2 - D. Bini, M. Capovani, G. Lotti, F.
Romani "Complessità numerica", ed. Boringhieri
(1981).3 - G. Monegato "Fondamenti di Calcolo
Numerico", ed. LevrottoBella (1990).4 -
www.nr.com, by Numerical Recipes Software,
pubblicato da Cambridge University Press.5 -
www.disi.unige.it/person/BoccacciP, dott. P.
Boccacci, Università di Genova.6 -
http//digilander.libero.it/nfragale/metodi/capit
olo6.html, Libreria di Software Matematico,
Manuale per l'utente.7 - T. Scapolla
dellUniversità di Pavia, La trasformata di
Fourier, Una formula dell'800 usata anche dalla
Nasa, Tuttoscienze, inserto del quotidiano La
Stampa, (1999) (reperibile allindirizzo
http//digilander.libero.it/arti2000/ts99/960904.h
tm) 8 www.wikipedia.org, Wikipedia, the
free encyclopedia.