No, fermi!
Lasciate stare la camicia di forza, non sono impazzito.

Sono solo in contemplazione di una delle più belle e utili formule che siano mai state scritte. Sto parlando di una delle più grandiosi idee che stanno alla base del progresso tecnologico degli ultimi 200 anni!

Pochi ne sono consapevoli ma questa formula (e le sue varianti) sono usate di continuo in decine di campi a prima vista inconciliabili tra loro, come ad esempio l’elettronica, la musica, la medicina, la fisica, la chimica…

Usate il cellulare? Guardate la TV? Ascoltate musica?
Allora questa formula (in realtà è più corretto parlare di una coppia di formule) merita di essere compresa, almeno nelle sue basi più semplici e “pratiche”.
Per quei pochi che volessero proseguire nella lettura… iniziamo a vedere di che tipo di equazioni si sta parlando:

Trasformata e Antitrasformata di Fourier

Spaventose eh? Integrali, numeri complessi scritti in forma contratta… calma! In realtà non sono poi così difficili… partiamo dal principio.

Queste due equazioni sono nate dalla brillante mente di Jean Baptiste Joseph Fourier oltre 200 anni fa, nel 1822.

Il nostro JBJ Fourier, rimasto orfano a 10 anni, ebbe una vita incredibilmente avventurosa e impegnata. Dapprima poliziotto segreto durante la Rivoluzione francese, poi prigioniero politico, fu anche professore universitario, Governatore d’Egitto, Prefetto di Francia e amico di Napoleone… se poi pensate che nel “tempo libero” ha pure trovato il tempo di diventare un pioniere nei campi della matematica e della fisica, ma anche nell’egittologia (pubblicò 21 volumi) e nella diplomazia… beh non si può far altro che applaudire davanti a questa genialità e laboriosità!

Il suo lavoro burocratico come prefetto in Egitto lo costrinse per anni a vivere, con sofferenza, lontano dal mondo scientifico parigino, costantemente impegnato a risolvere problemi amministrativi. Fu solo con la caduta di Napoleone che cominciò la sua vita di scienziato e matematico a tempo pieno. Le sue lotte scientifiche con Lagrange, Laplace, Cauchy e Poisson (niente male la Francia post-rivoluzionaria!) lo aiutarono a sviluppare nel dettaglio le teorie per cui è conosciuto ancora oggi tra cui, appunto, la superba trasformata di Fourier [1].

Di cosa stiamo parlando quindi?

Bene, in parole povere la trasformata di Fourier consente di scomporre un’onda qualsiasi, anche molto complessa e “rumorosa” (un segnale telefonico o televisivo, la musica, la voce!) in più sotto-componenti, un po’ come attraverso la chimica si può scomporre un cibo nei suoi sottoelementi così da capirne la reale composizione.

Più precisamente la trasformata di Fourier permette di calcolare le diverse componenti (ampiezza, fase e frequenza) delle onde sinusoidali che, sommate tra loro, danno origine al segnale di partenza.

Esempio

Prendiamo un’onda sonora qualsiasi, per esempio un ‘La’ di clarinetto.
Nelle equazioni che abbiamo visto sopra quest’onda sonora equivale alla funzione x(t), con t che indica il dominio del tempo, infatti l’onda viene rilevata tramite un’oscilloscopio che osserva la variazione dell’onda secondo dopo secondo:

L’onda di ‘La’ del clarinetto che varia nel tempo e viene registrata tramite oscilloscopio

Se su questa onda x(t) eseguiamo la trasformazione di Fourier otteniamo i valori di ampiezza e di frequenza di tutte le sotto-onde che la compongono (la funzione X(f), nel dominio della frequenza), così da poter analizzare i dettagli “interni” della nota o, se siamo nel campo delle telecomunicazioni, del segnale telefonico, eliminando (ad esempio) gli errori e le sovrapposizioni causate dalla propagazione dell’onda tra la sorgente e la destinazione:

Il ‘La’ del clarinetto scomposto in sotto-onde e passato nel dominio delle frequenze

(immagini prese da www.clarinet.it)

Basterebbe cambiare bocchino del clarinetto o l’esecutore della nota per avere modifiche alle varie componenti, e quindi un’onda risultante leggermente diversa.

In questo caso l’onda era piuttosto pulita, infatti vediamo con buona precisione  tutte le sottocomponenti a diversa frequenza (asse X) e le loro ampiezze (asse Y, l’altezza del segnale). Queste due immagini indicano quindi la stessa onda sonora ma in due modalità diverse… una variabile nel tempo e una variabile nella frequenza. Il passaggio tra una visualizzazione e l’altra avviene tramite le due equazioni che abbiamo visto: la trasformata e l’antitrasformata di Fourier.

Come vedremo, la seconda visualizzazione (nel dominio delle frequenze) è utilissima e permette di effettuare calcoli in modo “semplice” e veloce.

Perchè è utile?

Ok, una volta capito che la trasformata di Fourier scompone un’onda nelle sue sottoparti sinusoidali, possiamo cercare di capire a cosa diavolo serve.

Beh, per mille motivi, tra cui:

1) Osservando le sottocomponenti possiamo “filtrare” l’onda eliminando quelle frequenze che noi reputiamo di disturbo (nell’esempio sopra potrebbero essere le piccole onde sulla destra). Una volta ripulito il segnale possiamo riportarlo nel dominio del tempo (cioè alla situazione iniziale) usando l’antitrasformata ed ottenere un suono più pulito (o un’immagine televisiva meno disturbata).

2) Nel dominio della frequenza una funzione di spazio e tempo viene scomposta in frequenza, ampiezza e fase di più onde sinusoidali… abbiamo quindi più informazioni su cui lavorare e in cui mettere dei dati (praticamente è come avere 3 dimensioni invece che 2, partendo dallo stesso segnale). Ad esempio nelle telecomunicazioni l’informazione che rappresenta la voce o i dati inviati da un cellulare viene codificata variando la frequenza o l’ampiezza del segnale… l’antenna  in ricezione dovrà poi trasformare l’onda tramite Fourier e ricostruire i dati inviati qualche km più in là…

3) Lavorare con tante sinusoidi a diversa frequenza e ampiezza è molto meglio che lavorare con un’onda che continua variare nel tempo, perchè nel primo caso la matematica ci fornisce il calcolo tramite numeri complessi che (nonostante il nome) rende molto più facile e veloce effettuare certe operazioni sull’onda iniziale (es: la convoluzione di più segnali nel tempo diventa un semplice prodotto nella dominio della frequenza).

Infatti se torniamo all’esempio di prima… se invece di un “la” di clarinetto avessimo avuto una semplice onda seno(x), nel dominio delle frequenze avremmo trovato una sola “riga verticale” di lunghezza pari all’ampiezza dell’onda e in posizione uguale alla frequenza di x (un impulso). Se avessimo sommato tre onde seno(x), seno(y) e seno(z) dal dominio del tempo avremmo capito ben poco (la somma di tre onde crea delle forme strane) mentre nel dominio delle frequenze ci saremmo trovati di fronte a 3 semplici righe separate tra loro, ognuna alle tre frequenze dei tre segnali. Utile!

Trasformata Veloce di Fourier (postilla per ingegneri informatici)

La trasformata di Fourier è un’operazione dannatamente complicata dal punto di vista computazionale, ma per fortuna ci sono gli ingegneri che, con l’aiuto dei matematici, sono riusciti a semplificare il tutto e far funzionare la trasformata nelle applicazioni reali che si usano veramente 🙂

Nel 1965 infatti viene realizzato un algoritmo, la FFT (Fast Fourier Transform), che, con il meccanismo del “divide et impera”, riesce a ridurre la complessità della trasformata di Fourier da O(n²) al livello di O(n log(n)). Non sapete cosa vuol dire? E che cavolo, vi ho detto che era una postilla per ingegneri informatici! Beh, l’importante è capire che, a parità di risultati, l’algoritmo FFT semplifica enormemente i calcoli e ne permette l’uso anche sui piccoli calcolatori.
Esempio: se voglio fare la trasformata di Fourier di 10^6 punti con la FFT si passa da un tempo di calcolo di 2 settimane a 30 secondi [2]!

Come funziona?

Seguendo la “classica” trasformata, per passare al dominio della frequenza il numero di addizioni da eseguire era circa pari al numero di punti e il numero di moltiplicazioni era pari al quadrato del numero dei punti. Quindi per analizzare un’onda individuata da 1000 punti a intervalli regolari occorrevano circa 1000 addizioni e un milione di moltiplicazioni. Decisamente fuori scala per un’applicazione real time come quasi tutto il software che gestisce onde prese da un antenna.

Per questo motivo nasce la FFT, la versione “veloce” della trasformata, che permette di passare al dominio della frequenza per mezzo di molte meno operazioni, suddividendo l’onda in più sezioni ed effettuando la trasformata su ognuna di esse, in modo molto più veloce perchè diminuisce notevolmente il numero di moltiplicazioni.

Con la FFT nasce ed evolve un intero mondo di software e hardware sempre più veloci e complessi che permettono di filtrare ed estrapolare informazioni dalle onde, permettendo di avere radio, televisione, telefonia (etc) ad alta qualità e ad alto contenuto di informazioni.

Il teorema di Fourier non è soltanto uno dei risultati più belli dell’analisi moderna, ma si può affermare che esso fornisce uno strumento indispensabile per affrontare quasi tutti i problemi più ardui della fisica moderna

Lord Kelvin, 1887

La trasformata di Fourier è usata OVUNQUE si parli di onde.
E, come sappiamo, OVUNQUE ci sono delle onde: biologia, sismologia, telecomunicazioni, fisica quantistica, musica, medicina, chimica, astronomia…

Rendiamo quindi grazie al vecchio JBJ Fourier.

Bibliografia:

[1] Storia di Fourier: Università di Padova (pdf)
Immagini delle onde del clarinetto: http://www.clarinet.it
Informazioni tecniche: ovunque… ma vi segnalo l’ottimo www.complextoreal.com
Libreria della FFT in linguaggio C: fftw.org
[2] Libro consigliato: Numerical Recipes (nr.com)
Ispirazione: http://blinkdagger.com

p.s. come dice bene nonciclopedia, un vero macho deve assolutamente avere un tatuaggio della trasformata di Fourier sul braccio, che accresce la propria figosità di ben 3.14 volte 🙂