850 likes | 1.26k Views
Dipartimento di Matematica e Informatica. Fast Fourier Transform. RELATORI: Sebastiano Greco, Danilo Meli, Lucio Cantone anno accademico 2009/10. Indice degli argomenti. Numeri complessi Onde armoniche Ortogonalità di funzioni Polinomi trigonometrici Serie di Fourier
E N D
Dipartimento di Matematica e Informatica Fast Fourier Transform RELATORI: Sebastiano Greco, Danilo Meli, Lucio Cantone anno accademico 2009/10
Indice degli argomenti • Numeri complessi • Onde armoniche • Ortogonalità di funzioni • Polinomi trigonometrici • Serie di Fourier • Trasformata di Fourier • Fast Fourier Transform (FFT) • Applicazioni ed esempi
Girolamo Cardano e Rafael Bombelli introdussero i numeri complessi per descrivere le soluzioni a questo tipo di equazioni che a quei tempi erano considerate impossibili poiché non ammettevano soluzioni nell'insieme dei numeri reali. Introduzione ai Numeri Complessi Intorno alla metà del XVI secolo, i matematici si chiesero se le equazioni contenenti la radice quadrata di numeri negativi potessero avere soluzione.
L’Unità Immaginaria Per la risoluzione di questo problema è stata introdotta un’unità immaginariatale che Si osservi che le potenze sono “cicliche” (di ciclo 4).
L’Insieme C In questo modo si poteva ampliare l’insieme R con un altro insieme che contenesse i numeri immaginari. Complessi a+ib Reali a Immaginari ib C= R U I
Definizione Numero Complesso Definiamo numero complesso una coppia ordinata di numeri reali (a, b). Da esso deriva la forma algebrica di un numero complesso: L’elemento a si chiama parte reale, l’elemento b si chiama parte immaginaria. Il numero complesso denotato dalla lettera è formato dalla coppia (0,1).
L’Insieme C Dato si definisce complesso coniugato di z il numero dato da Dato si definisce modulo si z il numero Valgono in C le seguenti proprietà:
Operazioni Fondamentali Dati due numeri complessi si ha: se
ESEMPI Pertanto, se:
Interpretazione geometrica dei numeri complessi. E’ possibile un’altra rappresentazione dei numeri complessi utile per trovare le radici n-esime di un numero complesso. Dato un sistema di riferimento cartesiano, indicando con l’asse delle x l’asse reale e con l’asse delle y l’asse immaginario, essendo il numero complesso una coppia ordinata di numeri vi è una corrispondenza biunivoca tra i numeri complessi e i punti del piano.
RAPPRESENTAZIONE GEOMETRICA DEI NUMERI COMPLESSI. Sia e P il punto del piano che lo rappresenta (con P≠O), indichiamo con la misura di , si ha: Il numero è il modulo (indicato anche con ) e argomento di z.
Forma Trigonometrica Possiamo allora ricava la seguente forma trigonometrica di un numero complesso: E' importante notare che l'argomento delle funzioni seno e coseno può essere incrementato di , ottenendo ancora lo stesso numero complesso.
Formula di De Moivre Per la potenza n-esima di z si ha la formula di De Moivre : Tale formula è fondamentale per determinare la radice n-esima di un numero complesso. Vogliamo trovare quei complessi se esistono, tali che:
Radici n-esime (1) Si ha che esiste un unico e tali che: Pertanto per , l’equazioneammette delle soluzioni che si calcolano da: . Sembrerebbe che ci siano infinite radici n-esime, in realtà quelle a due a due distinte sono n, date dalla formula precedente con
RADICE N-ESIME (2) Un caso particolare è dato dalle radici n-esime dell’unità. Esse sono indicate con e sono date da: Esse si dispongono nel piano complesso lungo la circonferenza unitaria, ai vertici di un poligono regolare con n lati che ha un vertice in (1,0).
Forma esponenziale dei Numeri Complessi I numeri complessi si possono rappresentare anche in forma esponenziale: dove è detta Formula di Eulero. Essa ci mostra una profonda relazione fra le funzioni trigonometriche e la funzione esponenziale complessa.
Formule di Eulero La formula di Eulero permette anche di intepretare le funzioni seno e coseno come semplici varianti della funzione esponenziale. Sommando o sottraendo le formule di Eulero e risolvendo le equazioni ottenute sia per il seno sia per il coseno.
Potenza Complessa Dato un numero complesso chiameremo potenza di base ed esponente il numero complesso: Questa equazione contiene come caso particolare la Formula di Eulero. Hanno significato le seguenti:
Formula di Eulero È da notare che la formula di Eulero dà origine ad un'equazione considerata tra le più affascinanti della matematica (nota come identità di Eulero), in quanto mette in relazione tra loro i cinque numeri più importanti ed utilizzati (e, i, π, 1, 0)
Applicazioni In matematica: • Teoria dei numeri • Integrali impropri • Equazioni differenziali • Frattali. In fisica: • Dinamica dei fluidi • Meccanica Quantistica • Relatività.
Applicazioni: Analisi dei segnali I numeri complessi vengono utilizzati nell'analisi dei segnali e in tutti i campi dove si trattano segnali che variano sinusoidalmente nel tempo, o anche semplicemente periodici. Il valore assoluto di |z| è interpretato come la ampiezza del segnale mentre l'argomento di z è interpretato come la fase. I numeri complessi rendono possibile anche l'analisi di Fourier, che rende possibile scomporre un generico segnale tempo-variante in una somma di infinite sinusoidi: ogni sinusoide è scritta come un singolo numero complesso dove ω è la pulsazione della sinusoide e z la sua ampiezza.
L’importanzadellateoriadi Fourier Le funzioni di una variabile reale f(t), una volta descritte da una legge matematica (una formula, un algoritmo) il modo più comune di “memorizzarle” è compilare una tabella con colonne. La prima colonna contiene il valore della variabile indipendente t, e la seconda il valore della variabile dipendente f(t). Questa “filosofia” di rappresentazione della funzione si chiama “analisi nel dominio del tempo” ma non è l’unica. Se consideriamo i polinomi essi non sono molto adatti per l’approssimazione. Essi oscillano e vanno all’infinito per grandi valori assoluti dell’argomento x, ma tra altri insiemi di funzioni che approssimino ogni funzione continua in un intervallo chiuso vi sono i polinomi trigonometrici. Tali funzioni si calcolano facilmente, mediante serie rapidamente convergenti; le loro derivate sono ancora seni e coseni e così anche i loro integrali. Hanno anche proprietà di ortogonalità e di periodicità che non hanno invece i polinomi. L’approssimazione mediante polinomi trigonometrici è nota come approssimazione di Fourier. . Una possibile alternativa è offerta quindi dalla Teoria di Fourier il cui nocciolo fondamentale sono le funzioni armoniche: seno e coseno. In oltre l’errore di tale approssimazione è dato in termini della funzione stessa e non dipende, come nel caso dei polinomi, dalle sue derivate di alto ordine.
Ondearmoniche (2) Le frequenze armoniche sono l'insieme delle frequenze multiple della frequenza base di un'onda. Quindi, per esempio, un'onda che non sia perfettamente sinusoidale che abbia la frequenza di 100 Hz sarà composta, di fatto, da una frequenza fondamentale, cioè una sinusoide da 100 Hz, e da numerosissime frequenze armoniche, da 200, 300, 400, 500 Hz, e così via, con ampiezze variabili. E’ possibile rappresentare delle funzioni o dei segnali come sovrapposizione di onde fondamentali (armoniche).
Funzioni come vettori I vettori sono oggetti assai familiari che tutti abbiamo conosciuto durante precedenti corsi di studi poiché sono utilissimi per descrivere forze, spostamenti, velocità ecc. Anche per le funzioni possono essere definite operazioni analoghea quelle definite per i vettori. Per questo motivo possiamo dire che le funzioni sono assimilabili a dei vettori. Se la funzione è un vettore quindi gli spazi funzionali (insiemi di funzioni) sono anche spazi vettoriali.
Funzioni a quadrato sommabile Di particolare importanza in questo contesto è l’operazione di prodotto interno definita per i vettori ordinari. Consideriamo le funzioni reali definite per ogni valore reale che abbiano però la proprietà di essere tali per cui esse stesse elevate al quadrato formino un'area rispetto all'asse delle x che abbia un valore finito. Ricordiamo che tale area è l'integrale del quadrato della funzione: Se questo integrale converge tali funzioni sono dette a quadrato sommabile e costituiscono uno spazio vettoriale perché su esse sono definibili le solite operazioni (addizione, sottrazione e moltiplicazione per uno scalare).
Importanza delle funzioni a quadrato sommabile Mentre i coefficienti di Fourier e si possono definire formalmente per ogni funzione per la quale ha senso considerare gli integrali che forniscono i loro valori, se la serie così definita converga effettivamente alla f(x) dipende dalle proprietà specifiche di tale funzione. La conclusione più semplice si ha quando la f(x) è a quadrato sommabile; in tal caso cioè si ha la convergenza nella norma dello spazio L2 dove lo spazio L2 è lo spazio infinito-dimensionale delle successioni di numeri reali (o complessi) a quadrato sommabili.
Definizione di Ortogonalità Un sistema di infinite funzioni definite in [a,b] e ivi generalmente continue e integrabili, si dice ortogonale se per qualsiasi coppia di indici k e l fra loro distinti si ha: Le funzioni di una famigliasi dicono mutualmente ortogonali rispetto ad un prodotto scalare definito per quello spazio se:
L’Insieme delle funzioni trigonometriche Consideriamo l’insieme B delle seguenti funzioni: Per n=0 si ha cos 0x=1 e sin 0x=0. Una qualunque combinazione lineare di funzioni di B produce una funzione periodica di periodo 2π. La teoria delle serie di Fourier si occupa sostanzialmente del problema inverso: data una funzione periodica di periodo 2π, ci si chiede se essa può essere espressa come combinazione lineare di funzioni di B.
Polinomi Trigonometrici La loro base è costituita dalla famiglia delle funzioni trigonometriche: Tali funzioni sono a due a due ortogonali in un intervallo di ampiezza e pertanto sono linearmente indipendenti, quindi formano una base.
Polinomi Trigonometrici (2) Analogamente si ha l’ortogonalità in e, generalmente, su ogni intervallo di ampiezza , le funzioni Cambiando scala lungo l’asse introducendo il fattore . Inoltre, la sostituzione di con sono ortogonali su non inficia l’ortogonalità.
Seriedi Fourier Ci si chiede se le funzioni di B costituiscono una “base” per scrivere una generica funzione periodica di periodo 2π come combinazione lineare, magari infinita (serie) di funzioni appartenenti a B, cioè: dove abbiamo indicato con ,anziché con a0, il coefficiente di cos(0x) mentre il coefficiente di sin(0x) non ha interesse perché sin(0x) = 0. In questo modo, i coefficienti a0, ak, bk (k=1,2,…) sono numeri complessi che dipenderanno da come costruiremo la F(x).
Seriedi Fourier (2) Possiamo usare l’ortogonalità nell’espansione formale di F(x). Per far questo, determiniamo tali coefficienti moltiplicando formalmente entrambi i termini della F(x) sia per cos(lx) che per sen(lx). : Integrando ambo i membri ed utilizzando la proprietà distributiva, si ha:
Seriedi Fourier (3) Distinguendo i casi per: k=l≠0 k=l=0 k ≠l riferiti alle relazioni di ortogonalità seno coseno viste precedentemente, si dimostra che i coefficienti di Fourier in forma trigonometrica sono:
Seriedi Fourier (4) Gli al, bl calcolati in tal modo si possono estendere ad un sistema generale di funzioni ortogonali dove ω(x) e’ una funzione peso su (-1,1), ovvero una funzione non negativa e integrabile in (-1,1). Se: allora: sono ancora i coefficienti di Fourier
Seriedi Fourier (5) Come caso particolare possiamo prendere un sistema di polinomi algebrici di grado k, {pk ,k=0,1,…}, mutualmente ortogonali su (-1,1) rispetto ad ω. Ovvero come prima: Poniamo e dove sono, rispettivamente, il prodotto scalare e la norma per lo spazio di funzioni Per ogni funzione la serie è detta serie di Fourier (generalizzata) di F ed è il coefficiente k-esimo di Fourier.
Seriedi Fourier (in forma complessa) La serie di Fourier è una rappresentazione di una funzione periodica (che in una accezione con caratteristiche di semplicità si chiede abbia periodo 2π) mediante una somma di funzioni periodiche. Grazie alla formula di Eulero, la precedente serie può essere espressa equivalentemente mediante funzioni seno e coseno.
Seriedi Fourier (in forma complessa) (2) in particolar modo se , la serie di Fourier è espressa come: dove e
Seriedi Fourier (in forma complessa) (3) Se generalizziamo per una funzione di periodo L, possiamo allora scrivere che: dove i coefficienti cksono dati dalla relazione: In cui la condizione di ortogonalità è:
La trasformata di Fourier (topics) • Una funzione periodica puo’ essere espressa come somma di seni e/o coseni di differenti frequenze e ampiezze. • (Serie di Fourier). • Una funzione di durata finita puo’ essere espressa come integrale di seni e/o coseni, moltiplicati per opportune funzioni peso • (Trasformata di Fourier). • Dato che tratteremo funzioni di durata finita (le immagini) , ci interesseremo della Trasformata di Fourier.
Trasformata di FOURIER (2) Sia f (x) definita nell’intervallo - L < x < L. essa può essere rappresentata dalla sua serie di Fourier in forma complessa: Questa rappresentazione coinvolge le armoniche complesse ovvero le funzioni con numeri d’onda: L’insieme di questi numeri d’onda è detto lo spettro dei numeri d’onda che è un insieme discreto cioè consiste di numeri separati ad ognuno dei quali corrisponde un’armonica nell’espansione (1.1) con un’ampiezza complessa data dalla (1.2). dove:
Per semplicità, sia f (x) nulla al di fuori dell’intervallo [a,b] e introduciamo: che in realtà si estende ad [a,b]. Se L è sufficientemente grande possiamo riscrivere la (1.2) nella forma: Lo spettro discreto diventa continuo per e ovvero ogni armonica ha ampiezza nulla. Le (2.1) e (2.3) sono le trasformate di Fourier di cui la (2.1) è quella diretta e la (2.3) quella inversa. dove è la distanza tra due punti vicini rappresentanti i numeri d’onda nello spettro. Pertanto la (1.1) può essere scritta come: Allora, per L molto grande lo spettro diviene “denso” e molto piccolo. Al limite, per la somma diventa un integrale e quindi:
FFT (Fast Fourier Transform) • Algoritmo ottimizzato per il calcolo della trasformata discreta di Fourier • E’ importante per una grande varietà di applicazioni, tra cui: • Trattamento dei segnali digitali • Soluzione di equazioni differenziali e derivate parziali • Algoritmi per moltiplicare numeri interi di grandi dimensioni prodotto di due trasformate, nel senso che una trasformata segue l’altra. • L’anti trasformata di Fourier e’ uguale alle DFT, ma con esponente di segno opposto e 1/N fattore, qualsiasi algoritmo FFT può essere facilmente invertito.
Data una n-pla di coefficienti di Fourier a0, a1, a2, …. , aM, aM+1 e’ possibile verificare che se li volessimo calcolare tramite un calcolo diretto, tale calcolo implica circa M2moltiplicazioni ed M2addizioni, per cui un algoritmo prenderebbe tempo O(M2), date le M2 operazioni. E’ possibile utilizzare un “bound” più stretto, fino ad arrivare ad una complessità dell’ordine di MlgM,facendo uso della “fattorizzazione” cioè M può essere fattorizzato come: M = G * H dove per risultato di tale fattorizzazione avremo circa M (G + H) operazioni al posto delle M2 operazioni precedenti. Se M = m1 * m2 * m3 * … * mk allora il numero di operazioni sarà: M(m1 + m2 + m3 + … + mk)
Nel caso più favorevole, cioè che M sia una potenza di 2 M = 2k si avranno M(2k) operazioni, dove k = lg2M. Quindi, se M e’ molto grande, si avrà un grande guadagno perché il numero delle operazioni da M2si ridurrà a MlgM. Esempio: Campionamento a 1000 punti 1000 moltiplicazioni che richiedono un tempo piu’ elevato rispetto alle addizioni. Se il tempo di esecuzione per una moltiplicazione e’ ad esempio 10 millesimi di secondo, saranno necessari 100 secondi per svolgere solamente le moltiplicazioni, il che rende impossibile l’analisi di una forma d’onda in tempo reale.
Sia ck il generico coefficiente da calcolare. Il cuore del metodo e’ scrivere i due indici k e p in modo opportuno. Dividiamo k per G : k = k1G + k0 e dividiamo p per H: p = p1H + p0 con: k0 < G k1 < H p0 < H p1 < G
Si ha: dove abbiamo usato il fatto che: N.B. La doppia somma copre gli stessi numeri della somma originale.