Al momento stai visualizzando Le wavelet e le loro applicazioni

Le wavelet sono un potente strumento matematico che negli ultimi anni è stato usato in molte applicazioni. Ad esempio esse svolgono un ruolo fondamentale nella definizione degli standard JPEG-2000 e MPEG-4.

Giusto qualche giorno fa (il 21 marzo) il prestigioso premio Abel è stato assegnato al matematico Yves Meyer per i sui contributi allo sviluppo della teoria delle wavelet.

Vediamo allora cosa sono e come sono utilizzate nelle applicazioni.

Wavelet in breve

Una wavelet è una funzione reale $f:\mathbb{R}\rightarrow \mathbb{R}$ che rappresenta un disturbo simile a un’onda localizzato in un intervallo limitato del suo dominio.

Ecco alcuni esempi.


La wavelet Meyer. Immagine di JonMcLoone, Wikimedia Commons.
La wavelet Morlet. Immagine di JonMcLoone, Wikimedia Commons.
La wavelet “cappello messicano”. Immagine di JonMcLoone, Wikimedia Commons.

Data una wavelet di partenza detta wavelet madre $f$ si possono definire delle wavelet figlie $f_{a,b}$ che variano al variare di due parametri $(a,b)$ usando la formula

$$\displaystyle f_{a,b}=\frac{1}{\sqrt{a}} f \left (\frac {x-b} {a} \right) \qquad \text{con } a,b \in \mathbb{R}\text{ e }a>0$$

Il parametro $a$ dilata o comprime la funzione di partenza mentre il parametro $b$ la trasla.

Di solito nelle applicazioni si prende in considerazione un insieme discreto di coppie $(a,b)$ per cui si ottengono delle funzioni figlie che sono indicizzabili con parametri interi $f_{i,j}$ con $i,j \in \mathbb{N}$.

L’idea generale nell’utilizzo delle wavelet è che una funzione $g(x)$ possa essere rappresentata come combinazione lineare di queste wavelet figlie:

$$g(x) =\displaystyle \sum_{i,j} A_{i,j} \cdot f(x)_{i,j}$$

Compressione dei segnali

La funzione $g(x)$ che vogliamo rappresentare tramite le wavelet potrebbe rappresentare il suono di uno strumento musicale o un segnale di un sismografo o di un elettrocardiogramma.

Elettrocardiogramma.

In un primo momento il segnale viene registrato campionandolo con una certa frequenza. In pratica per ogni intervallo di campionamento viene memorizzato il valore della funzione $g(x)$. Se la frequenza di campionamento è alta, un segnale registrato in questo modo può occupare molta memoria.

Usando le wavelet è invece possibile memorizzare il segnale usando solamente i principali coefficienti $A_{i,j}$ della sommatoria.

Il troncamento della serie porta da un lato ad introdurre una piccola perdita di precisione nella descrizione della funzione $g(x)$, ma dall’altro a un notevole risparmio nella quantità di informazioni da memorizzare o, usando una terminologia informatica, a una compressione del segnale.

Gli standard JPEG-2000 e MPEG-4

Negli standard jpeg-2000 e mpeg-4 le immagini e i video vengono rappresentati tramite una scomposizione in wavelet. Oltre che la compressione dei dati, il principale vantaggio di usare le wavelet in questo ambito è quello di gestire diverse risoluzioni di un’immagine con un singolo file.

Una volta salvata l’immagine come scomposizione in wavelet, per visualizzare un’anteprima a bassa risoluzione della stessa immagine sarà sufficiente usare meno elementi della sommatoria rispetto a quelli della risoluzione massima.

Le diverse risoluzioni dell’immagine sono ottenute semplicemente troncando la serie di wavelet a diversi livelli di profondità.


La wavelet CDF 5/3 usata nello standard JPEG-2000 per la compressione delle immagini.

Wavelet contro Fourier

I lettori più esperti avranno notato l’analogia tra la scomposizione in wavelet e le trasformate di Fourier discrete.

Le trasformate di Fourier hanno molte proprietà che le rendono interessanti dal punto di vista teorico, tuttavia le wavelet presentano alcuni notevoli vantaggi nel campo delle applicazioni.

1) Personalizzazione: le trasformate di Fourier utilizzano sempre le funzioni seno e coseno. Nel caso delle wavelet, a seconda della diversa applicazione, si può scegliere invece quale tipologia si adatta meglio a quel particolare problema.

2) Localizzazione: i segnali che si analizzano nelle applicazioni spesso sono composti di vari pacchetti di informazioni separate da intervalli in cui il segnale è assente (ad esempio nel caso dell’elettrocardiogramma). Di conseguenza è più naturale scomporre questo tipo di segnali tramite le wavelet che sono delle perturbazioni localizzate invece che con delle funzioni seno e coseno che continuano a variare anche per $x\rightarrow -\infty$ e per $x\rightarrow +\infty$.

3) Maggior controllo sul fenomeno di Gibbs: le trasformate di Fourier presentano dei problemi nel descrivere segnali che hanno discontinuità. Si tratta del cosiddetto fenomeno di Gibbs.

L’esempio classico è quello di un’onda quadra che assume alternativamente i valori 0 e 1. La sua serie di Fourier discreta presenta un picco vicino alla discontinuità che arriva al valore di circa 1.09.

L’immagine a sinistra mostra la trasformata di Fourier con 25 termini, l’immagine di destra con 125 termini.

L’altezza di questo picco rimane stabile anche aumentando il termini dello sviluppo di Fourier. Questo è piuttosto controintuitivo poiché ci si potrebbe aspettare che la serie converga verso la funzione sempre più al valore 1.

Anche le wavelet presentano questo tipo di fenomeni ma in misura minore rispetto alle trasformate di Fourier discrete.

Alcune considerazioni geometriche per lettori più esperti

Un’altra differenza tra le trasformate di Fourier e le wavelet è di tipo geometrico.

Le funzioni seno e coseno usate nelle trasformate di Fourier formano una base ortonormale dello spazio di funzioni $L^2([0,1])$.

Questo vuol dire che sono vettori linearmente indipendenti che generano tutto lo spazio di funzioni tramite le loro combinazioni lineari.

Le wavelet usate nelle applicazioni spesso non sono delle basi ma degli insiemi sovracompleti di vettori: generano lo spazio di funzioni ma non sono linearmente indipendenti.

In questi casi si ha che la scomposizione di un vettore in termini di wavelet non è unica. Questa caratteristica, che potrebbe sembrare un problema, rappresenta invece un ulteriore vantaggio computazionale contribuendo alla migliore stabilità numerica delle wavelet rispetto alla trasformata di Fourier.

EnricoDeg

Vivo a Verona e insegno matematica e fisica in un liceo cercando di far comprendere agli studenti la bellezza e l'utilità delle materie scientifiche. Precedentemente ho lavorato per 12 anni nel settore della finanza occupandomi di risk management, modelli stocastici per il pricing di derivati e applicazioni IT in ambito bancario. I miei interessi comprendono gli scacchi, il go, la chitarra, la pallavolo, lo snowboard e ovviamente scrivere e leggere di matematica e fisica!

Rispondi