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.

1024px-MeyerMathematica.svg

La wavelet Meyer. Immagine di JonMcLoone, Wikimedia Commons.

1024px-MorletWaveletMathematica.svg

La wavelet Morlet. Immagine di JonMcLoone, Wikimedia Commons.

1024px-MexicanHatMathematica.svg

La wavelet “mexican hat”. Immagine di JonMcLoone, Wikimedia Commons.

Data una wavelet madre $$f$$ si possono definire delle wavelet figlie $$f_{a,b}$$ tramite i parametri $$(a,b)$$

$$\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 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)$$ potrebbe rappresentare il suono di uno strumento musicale o un segnale di un sismografo o di un elettrocardiogramma.

ECG

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à.

Wavelet_Bior2.2.svg

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. A seconda della diversa applicazione si può scegliere invece il tipo di wavelet che meglio si adatta 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 rappresentano perturbazioni localizzate.

3) Maggior controllo sul fenomeno di Gibbs: Le trasformate di Fourier presentano dei problemi nel descrivere segnali con 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 avvicinandosi gradualmente 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.

Come conseguenza 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.

Trovate questo e altri articoli anche sul mio blog personale degiuli.com!

CC BY-NC-SA 4.0
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.