Analisi Multirisoluzione e Trasformata Wavelet
Transcript
Analisi Multirisoluzione e Trasformata Wavelet
Analisi Multirisoluzione e Trasformata Wavelet Corso di Calcolo Numerico (Laurea Specialistica) Prof. F. Pitolli, A.A 2007-2008 1 Introduzione Quando si vogliono analizzare le caretteristiche di un segnale o di un’immagine, prima di tutto è necessario trovare una rappresentazione del segnale o dell’immagine dalla quale sia facile estrarre le informazioni che interessano. Un modo per ottenere una rappresentazione Pè quello di decomporre il segnale s in componenti elementari sk tali che s = k sk . In generale, si vuole che le componenti sk possano essere messe facilmente in relazione con le proprietà fisiche del segnale; inoltre, affinché la rappresentazione possa avere un reale interesse applicativo, è necessario avere a disposizione algoritmi veloci sia per calcolare le componenti sk (decomposizione) sia per ricostruire il segnale s a partire dalle componenti elementari (ricostruzione). Infine, è richiesto che la decomposizione abbia buone proprietà di approssimazione, cioè che siano sufficienti ”poche” componenti sk per ottenere un’approssimazione sufficientemente accurata del segnale originale. Usualmente, per l’analisi di segnali e immagini si fa uso alla teoria di Fourier, che va dalla trasformata integrale di Fourier nel caso continuo alla trasformata di Fourier discreta, e può essere implementata con algoritmi veloci (Fast Fourier Transform). L’idea alla base della teoria di Fourier è quella di decomporre il segnale nelle armoniche di base eiωt , con ω ∈ IR, nel caso continuo, oppure ω = 2π k, k ∈ ZZ, nel caso discreto. Se consideriamo un segnale s(t), la sua trasformata di Fourier è data da Z s(t) e−iωt dt . (1.1) (TF s)(ω) = IR La trasformata di Fourier fornisce informazioni accurate sul contenuto in frequenza del segnale, mentre si perdono completamente le informazione sulla localizzazione temporale di una data frequenza. Un modo per risolvere questo problema consiste nell’utilizzare come componenti elementari le armoniche di base localizzate, cioè si ricorre alla trasformata di Fourier localizzata (windowed Fourier transform o short-time Fourier transform). In questo caso le componenti elementari sono date da w(τ −t)eiωt , dove w(t) è una funzione a supporto compatto (chiamata usualmente ”finestra”) che permette anche una localizzazione temporale delle 1 proprietà del segnale. La trasformata di Fourier localizzata è Z (TL s)(ω, t) = s(τ ) w(τ − t)e−iωt dτ . (1.2) IR La trasformata di Fourier localizzata è , però , poco flessibile in quanto le porzioni di segnale estratte sono tutte della stessa lunghezza, indipendentemente dal contenuto in frequenza del segnale. In Fig. 1 sono rappresentate le componenti elementari della trasformata di Fourier e della trasformata di Fourier localizzata nel piano tempofrequenza: le armoniche di base eiωt (grafico di sinistra) corrispondono a righe orizzontali (massima localizzazione in frequenza ma nessuna localizzazione temporale), mentre le armoniche localizzate w(τ − t)eiωt (grafico di centro) corrispondono a quadrati di dimensione costante per ogni valore di ω. In entrambi i casi la localizzazione ha ampiezza fissa sia nel tempo che nelle frequenze. L’idea dell’analisi tramite funzioni wavelets (wavelet vuol dire ”piccola onda” o ”ondina”) è quella di utilizzare per la localizzazione nel piano tempo-frequenza rettangoli di ampiezze diverse: più precisamente, la localizzazione in frequenza diminuisce in modo logaritmico al crescere della frequenza, mentre la localizzazione temporale diventa via via più elevata. A differenza dell’analisi di Fourier, che passa da una rappresentazione puramente temporale del segnale a una rappresentazione puramente in frequenza, l’analisi wavelet raggiunge un compromesso fornenendo una rappresentazione in tempo-frequenza. È simile a quanto succede con uno spartito musicale dove ogni nota rappresenta una frequenza e una posizione nel tempo: la frequenza, rappresentata dallo spostamento verticale, ha salti frazionari (mentre nell’analisi wavelet i salti sono logaritmici); il tempo, invece, è rappresentato dallo spostamento orizzontale. Le basse frequenze danno la rappresentazione meno ”accurata”, mentre quelle più alte aggiungono via via i ”dettagli”. Ricordiamo che, a causa del principio di indeterminazione, non è possibile ottenere una localizzazione in tempo e frequenza arbitrariamente elevata: anche un musicista non può cambiare istantaneamente frequenza! La localizzazione in tempo-frequenza si ottiene usando come componenti , a, b ∈ IR, dove ψ(x) è chiamata wavelet madre elementari le funzioni ψ t−b a (mother wavelet); a è il parametro di scaling che permette di controllare l’ampiezza della finestra, mentre b individua la posizione della finestra. La trasformata wavelet continua è data da Z t−b (TW s)(a, b) = s(t) ψ dt . (1.3) a IR In genere, nel caso discreto, si sceglie a = 2−j e b = k a = k 2−j , j, k ∈ ZZ, per cui le componenti elementari ψ(2j x−k) corrispondono, nel piano tempofrequenza, a rettangoli di dimensione variabile 2−j × 2j (vedi Fig. 1, grafico di destra). 2 ω ω ω j ∆ ω=2 j=4 j=3 ∆ω ωk j=2 ∆t j=1 −j t t ∆ t=2 t Figura 1. Il piano tempo-frequenza per le armoniche elementari dell’analisi di Fourier (sinistra), per le armoniche elementari localizzate dell’analisi di Fourier con finestra (centro) e per le wavelets (destra). Il vantaggio della trasformata wavelet consiste nel fatto che questa fornisce una decomposizione multiscala del segnale: ad ogni scala j il segnale viene decomposto in componenti elementari con contenuto in frequenza che aumenta al crescere della scala. In generale, la decomposizione multiscala di un segnale consiste in una media poco accurata del segnale a una data scala (contenuto alle basse frequenze) più i dettagli calcolati a scale più accurate (contenuto alle alte frequenze). Se il segnale (o l’immagine, nel caso bidimensionale) variano lentamente i dettagli non sono importanti per ricostruire il segnale, cosı̀ la rappresentazione multiscala fornisce uno strumento naturale per la compressione: è sufficiente trascurare i dettagli al di sotto di una certa soglia e trasmettere solo quelli più significativi. La stessa tecnica si può utilizzare per ridurre il rumore. D’altro canto, i dettagli più significativi forniti dall’analisi wavelet corrispondono alle zone dove il segnale o l’immagine hanno grandi variazioni, per esempio in corrispondenza di un picco di un segnale o del contorno di un’immagine; questo fa sı̀ che l’analisi wavelet possa essere applicata con successo nell’analisi di segnali o immagini dove è necessario estrarre informazioni sulla struttura geometrica dei dati. Infine, le basi wavelet possono essere utilizzate per la rappresentazione e la compressione di operatori integro-differenziali: questo permette di costruire metodi numerici efficienti per la soluzione di equazioni integrali o alle derivata parziali. Alcune di queste applicazioni sono illustrate in [8] dove è anche riportata una bibliografia dettagliata. Un modo naturale per costruire basi di wavelets e per realizzare una decomposizione multiscala di un segnale è quello di costruire un’analisi multirisoluzione [5]. Nel §4 descriveremo in dettaglio cosa sia un’analisi multirisoluzione e come si costruisca una decomposizione multiscala. Prima di tutto, però , vogliamo illustrare un semplice esempio. 3 2 Il sistema di Haar Vogliamo studiare il problema di approssimare una funzione f ∈ L2 (IR) alla scala 2−j tramite una funzione approssimante fj ∈ S0−1 (IR, ∆j ) ∩ L2 (IR), dove S0−1 (IR, ∆j ) è lo spazio delle splines di grado 0, cioè delle funzioni costanti a tratti. Ricordiamo che le funzioni appartenenti a questo spazio non sono continue. Consideriamo una partizione uniforme di IR con spaziatura h = 2−j e nodi k2−j , k ∈ ZZ, cioé ∆j : . . . < (k − 1)2−j < k2−j < (k + 1)2−j < · · · , k ∈ ZZ . (2.4) Sia Vj ≡ S0−1 (IR, ∆j ) ∩ L2 (IR). Allora, una funzione approssimante fj ∈ Vj è una funzione (non continua) costante a tratti, cioè costante in ciascun intervallo Ij,k := [k2−j , (k + 1)2−j ) , (2.5) e tale che fj ∈ L2 (IR), cioè (cfr. [7]) ||fj ||L2 (IR) = q (f, f )L2 (IR) = Z IR |f (x)|2 dx 2 < ∞. Come funzione approssimante fj scegliamo la migliore approssimazione di f nello spazio Vj . Per costruire fj introduciamo una base ortogonale in Vj . Una base ortogonale per Vj è data dalle traslate e dilatate della funzione caratteristica dell’intervallo [0, 1) definita da 1 , se x ∈ [0, 1) , ϕ(x) := χ[0,1) (x) = (2.6) 0 , altrove. R 1/2 Si ha ||ϕ||2 = IR |ϕ(x)|2 dx = 1. Sia g una funzione in L2 (IR). Definiamo l’operatore di traslazione τk e l’operatore di dilatazione σh come 1 1 (τk g)(x) := g(x − k) , (σh g)(x) = √ g x . (2.7) h h √ Il fattore 1/ h garantisce la conservazione della norma in L2 (IR), infatti ||(σh g)||2L2 (IR) 1 = |(σh g)(x)| dx = h IR Z 2 2 Z Z g 1 x dx = |g (x)|2 dx = ||g||2L2 (IR) . h IR IR Ovviamente, anche la traslazione conserva la norma. 4 Allora, una base ortogonale per Vj , j ∈ ZZ, è data dall’insieme delle funzioni ϕj,k (x) := (τk σ2−j ϕ)(x) = 2j/2 ϕ(2j x − k) , k ∈ ZZ . (2.8) L’espressione esplicita di ϕj,k è data da ϕj,k (x) = 2j/2 , se x ∈ Ij,k , 0, altrove, (2.9) da cui si deduce che ϕj,k è una funzione a supporto compatto, non negativa, simmetrica rispetto al centro dell’intervallo Ij,k (vedi Fig. 2). È facile vedere che le funzioni ϕj,k costituiscono un sistema ortogonale, infatti Z (ϕj,k , ϕj,m ) = ϕj,k (x) ϕj,m (x) dx = δkm , k, m ∈ ZZ . IR Inoltre, ||ϕj,k ||L2 (IR) = 1 per ogni valore di j e k. φ 2 j+2,2 k φ j+1,2k φj,k −j −j k2 (k+1)2 Ij,k Figura 2. Le funzioni ϕj,k , ϕj+1,2k e ϕj+2,22 k . La migliore approssimazione di f in Vj è X fj (x) = cj,k ϕj,k (x) , cj,k = (f, ϕj,k ) , (2.10) k∈ZZ dove i coefficienti di Fourier cj,k valgono Z Z cj,k = f (x) ϕj,k (x) dx = 2j/2 IR f (x) dx . (2.11) Ij,k In definitiva, si approssima f con il suo valor medio nell’intervallo Ij,k . 5 L’approssimazione fj cosı̀ ottenuta è chiamata usualmente proiezione ortogonale di f sullo spazio Vj in norma L2 . Se indichiamo con Pj l’operatore di proiezione ortogonale su Vj , si ha X (Pj f )(x) := fj (x) = cj,k ϕj,k (x) , x ∈ IR . (2.12) k∈ZZ I coefficienti cj,k sono le coordinate dell’operatore Pj f nella base {ϕj,k }k∈ZZ . Poiché le ϕj,k hanno supporto compatto, l’operatore di proiezione è locale, cioè i valori di Pj nell’intervallo Ij,k sono influenzati solo dai valori di f nel medesimo intervallo. Inoltre, l’approssimazione Pj f ha senso anche quando f è solo localmente integrabile oppure è definita su un intervallo limitato, per esempio [0, 1] (in questo caso, Pj f ha senso solo per j ≥ 0). 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 −0.2 −0.2 −0.4 −0.4 −0.6 −0.6 −0.8 −0.8 −1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 −1 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Figura 3. La funzione f (x) = sin(2π x), x ∈ [0, 1], (linea tratteggiata) e le sue approssimazioni (linea continua) P3 f (destra) e P4 f (sinistra). Vogliamo ora studiare cosa succede all’approssimazione Pj f , quando l’indice j cresce, cioè quando passiamo dallo spazio Vj , cha ha una partizione ∆j ”più rada”, allo spazio Vj+1 che ha una partizione ∆j+1 ”più fine” (infatti ∆j ⊂ ∆j+1 ). In particolare, si ha Vj ⊂ Vj+1 (2.13) nel senso che le funzioni ϕj,k , k ∈ ZZ, che costituiscono una base per Vj , possono essere espresse come combinazione lineare delle funzioni ϕj+1,k , k ∈ ZZ, che costituiscono una base per Vj+1 . In particolare, quando j = 0 deve essere X ϕ(x) = hk ϕ(2x − k) . (2.14) k∈ZZ Questa equazione è chiamata equazione di raffinamento (scaling o refinement equation) e la funzione ϕ è chiamata funzione di raffinamento (scaling o refinable function); i coefficienti {hk } della combinazione lineare sono chiamati maschera (mask) associata alla ϕ. 6 È facile verificare che, posto ϕ = χ[0,1] , si ha ϕ(x) = ϕ(2x) + ϕ(2x − 1) , (2.15) che può essere vista come un’equazione di tipo (2.14) con h0 = h1 = 1 e hk = 0 per k 6= 0, 1. Torneremo su questo punto nel §4. È evidente che l’approssimazione Pj+1 f ∈ Vj+1 è un’approssimazione più accurata di quella fornita da Pj f ∈ Vj e contiene ”più informazioni” su f di quante non ne contenga l’approssimazione costruita sulla partizione ∆j (vedi Fig. 3). Inoltre, i coefficienti cj,k , cioè i valori medi di f negli intervalli Ij,k , possono essere determinati dai coefficienti cj+1,k , cioè dai valori medi di f negli intervalli Ij+1,k . Più precisamente si ha 1 Pj+1 f |Ij+1,2k + Pj+1 f |Ij+1,2k+1 . 2 Pj f |Ij,k = (2.16) Osserviamo che Ij,k = Ij+1,2k ∩ Ij+1,2k+1 (vedi Fig. 4). Ij+1,2k+1 Ij+1,2k −(j+1) 2k2 −(j+1) (2k+1)2 (2k+2)2−(j+1) −j k2−j (k+1)2 Ij,k Figura 4. Gli intervalli Ij,k , Ij+1,2k e Ij+1,2k+1 . Definiamo ora uno nuovo operatore di proiezione Qj come segue: Qj f := Pj+1 f − Pj f . (2.17) Si ha Qj f |Ij+1,2k = Pj+1 f |Ij+1,2k − Pj f |Ij+1,2k = = −Pj+1 f |Ij+1,2k+1 + Pj f |Ij+1,2k+1 = −Qj f |Ij+1,2k+1 . Allora l’operatore Qj f , che contiene i ”dettagli” di f relativi all’approssimazione più accurata Pj+1 f , ”oscilla” intorno al valor medio di f (vedi Fig. 5). L’operatore di proiezione Qj agisce in Wj , il complemento ortogonale di Vj in Vj+1 , cioè lo spazio tale che Vj+1 = Vj ⊕ Wj . (2.18) Una base ortogonale per lo spazio Wj è data dalle funzioni ψj,k (x) := 2j/2 (τk σ2−j ψ)(x) = 2j/2 ψ(2j x − k) , 7 k ∈ ZZ , (2.19) 1 0.8 0.6 0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 −1 0 0.2 0.4 0.6 0.8 1 Figura 5. L’approssimazione P3 f (linea tratteggiata) e i ”dettagli” Q4 f (linea continua). dove ψ(x) := χ[0,1/2] (x) − χ[1/2,1](x) = da cui segue che 1 , se x ∈ 0, 12 , −1 , se x ∈ 1 0 , altrove, 2, 1 , ψ(x) = ϕ(2x) − ϕ(2x − 1) . (2.20) (2.21) La ψ è chiamata wavelet di Haar. R La ψ è ortogonale a ϕ, cioé (ϕ, ψ)L2 (IR) = IR ϕ(x)ψ(x)dx; più in generale, si ha Z ϕ(x − k) ψ(x − m) dx = 0 , k, m ∈ ZZ , (2.22) IR Z IR ψ(x − k) ψ(x − m) dx = δkm , k, m ∈ ZZ . In effetti, vedremo nel §5 che la wavelet madre ψ è data da X ψ(x) = gk ϕ(2x − k) , con gk = (−1)k h1−k . (2.23) (2.24) k∈ZZ I coefficienti della combinazione lineare garantiscono l’ortogonalità . Dalla (2.19) si ha 2j/2 , se x ∈ Ij+1,2k , ψj,k (x) = (2.25) −2j/2 , se x ∈ Ij+1,2k+1 , 0, altrove. Dall’ortogonalità di ϕ e ψ segue (ψj,k , ψj,m )L2 (IR) = δkm , k, m ∈ ZZ, e (ϕj,k , ψl,m )L2 (IR) = 0 per ogni valore degli indici j, k, l, m in ZZ. 8 Anche le ψj,k sono funzioni a supporto compatto e norma unitaria, però sono R antisimmetriche e oscillano rispetto all’asse delle x. In particolare si ha IR ψj,k (x)dx = 0, per ogni valore di j e k (vedi Fig. 6). ψj+2,22k ψ j+1,2k ψj,k −j Ij,k (k+1)2 k2−j Figura 6. Le funzioni ψj,k , ψj+1,2k e ψj+2,22 k . L’operatore Qj f espresso nella base {ψj,k }k∈ZZ assume la forma X (Qj f )(x) = dj,k ψj,k (x) , dj,k = (f, ψj,k ) , (2.26) k∈ZZ dove i coefficienti di Fourier dj,k valgono Z dj,k = (f, ψjk )L2 (IR) = f (x) ψj,k (x) dx = IR j/2 = 2 Z f (x) dx Ij+1,2k − Z f (x) dx Ij+1,2k+1 ! (2.27) . I coefficienti dj,k sono le coordinate dell’operatore Qj f nella base {ψj,k }k∈ZZ . Ad ogni scala j, possiamo decomporre l’approssimazione Pj+1 f nella somma dell’approssimazione più rada Pj f e dei dettagli Qj f (vedi (2.17)): Pj+1 f = Pj f + Qj f , (2.28) oppure, usando le (2.12) e (2.26), X X X cj+1,k ϕj+1,k = cj,k ϕj,k + dj,k ψj,k . k∈ZZ k∈ZZ (2.29) k∈ZZ Questa decomposizione può essere ripetuta su un numero arbitrario di livelli. Se j0 < j1 , si ha X Pj1 f = Pj0 f + Qj f , (2.30) j0 ≤j<j1 9 oppure, X k∈ZZ cj1 ,k ϕj1 ,k = X cj0 ,k ϕj0 ,k + X X dj,k ψj,k . (2.31) j0 ≤j<j1 k∈ZZ k∈ZZ Entrambe le formule rappresentano la decomposizione multiscala di Pj1 f nella somma di una approssimazione meno P accurata (Pj0 f ) e delle oscillazioni (o dettagli) alle scale intermedie ( j0 ≤j<j1 Qj f ). Tuttavia, la (2.31) dà una descrizione locale di ciascun contributo e può essere vista come un cambiamento ortonormale di base in Vj1 : in effetti, sia {ϕj1 ,k }k∈ZZ che {ϕj0 ,k }k∈ZZ ∪ {ψj,k }j0 ≤j<j1,k∈ZZ sono basi ortonormali di Vj1 . Il sistema di funzioni {ϕj0 ,k }k∈ZZ ∪ {ψj,k }j0 ≤j<j1,k∈ZZ è chiamato sistema di Haar. La funzione di raffinamento ϕ e la wavelet madre ψ giocano un ruolo diverso nell’approssimazione: la prima fornisce la proiezione della funzione f alle differenti scale, mentre la seconda rappresenta le fluttuazioni tra le differenti scale di approssimazione. L’unione degli spazi di approssimazione Vj è denso in L2 (IR), cioè lim ||f − Pj f ||L2 (IR) = 0 j→+∞ (2.32) per ogni f ∈ L2 (IR). Questo implica che la base ortonormale {ϕj0 ,k }k∈ZZ ∪ {ψj,k }j0 ≤j,k∈ZZ è un sistema completo in L2 (IR) e ogni funzione f ∈ L2 (IR) può essere decomposta come X XX f= cj0 ,k ϕj0 ,k + dj,k ψj,k , (2.33) j0 ≤j k∈ZZ k∈ZZ dove la serie converge in norma L2 (IR). Poichè la base è ortonormale la convergenza in norma L2 è incondizionata, cioè si possono permutare i termini della serie senza modificare le proprietà di convergenza. Questo potrebbe non essere vero per altri tipi di convergenza, per esempio per la convergenza uniforme. La decomposizione multiscala si può applicare anche quando la funzione f è definita in un intervallo. Ad esempio, se f ∈ L2 [0, 1] allora la base ϕ ∪ {ψj,k }0≤j,0≤k<2j forma un sistema ortonormale per Vj ≡ S0−1 (IR, ∆j |[0,1] ) ∩ L2 [0, 1]. Se la funzione f è definita in tutto IR, allora si può considerare il limite per j → −∞ della decomposizione (2.33). In questo caso l’approssimazione ”meno accurata” si annulla in norma L2 (IR), cioè lim ||Pj f ||L2 = 0 . (2.34) Come conseguenza si ha la decomposizione XX f= dj,k ψj,k , (2.35) j→−∞ j∈ZZ k∈ZZ 10 dove la serie converge in norma L2 (IR). Quindi anche la base {ψj,k }j,k∈ZZ forma un sistema (ortonormale) completo di L2 (IR). In Fig. 7 sono graficati i valori p dei coefficienti c8,k (sinistra) e d8,k (destra) per la funzione f (x) = | cos(2πx)|. Dalla figura si può osservare che solo alcuni dei coefficienti d8,k sono al di sopra di una certa soglia: si tratta dei coefficienti che corrispondono alle zone in cui la funzione ha una discontinuità nella derivata. −4 −3 4 x 10 3 x 10 3.5 2 3 Soglia 1 2.5 0 2 1.5 −1 Soglia 1 −2 0.5 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −3 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Figura 7. I coefficienti c8,k (destra) e d8,k (sinistra) per la funzione p f (x) = | cos(2πx)|. Vedremo nel §4 che la decomposizione multiscala (2.33) effettuata tramite le traslate e dilatate della funzione di raffinamento e della wavelet madre, induce una analisi multirisoluzione in L2 (IR). Un’analisi multirisoluzione è una sequenza {Vj }, j ∈ ZZ, di sottospazi chiusi di L2 (IR) tali che i) la sequenza {Vj }, j ∈ ZZ è annidata (nested sequence) per ogni j, cioè Vj ⊂ Vj+1 , ∀ j ∈ ZZ ; (2.36) ii) gli spazi {Vj }, j ∈ ZZ sono ottenuti uno dall’altro tramite raffinamento (o scaling) diadico, cioè f (x) ∈ Vj ⇔ f (2 x) ∈ Vj+1 ⇔ f (2−j x) ∈ V0 , x ∈ IR ; (2.37) iii) l’unione di tutti gli spazi {Vj }, j ∈ ZZ, è denso in L2 (IR), cioè ∪j∈ZZ Vj = L2 (IR) , (2.38) che equivale a lim ||f − Pj f ||L2 (IR) = 0 , j→+∞ dove Pj f è la proiezione di f su Vj . 11 ∀ f ∈ L2 (IR) , (2.39) iv) l’intersezione degli spazi Vj è l’insieme nullo, cioè ∩j∈ZZ Vj = {0} ; (2.40) che equivale a lim ||Pj f ||L2 (IR) = 0 , j→−∞ ∀ f ∈ L2 (IR) . (2.41) v) esiste una funzione ϕ ∈ V0 tale che il sistema {ϕ(· − k) , k ∈ ZZ} (2.42) forma una base di Riesz (o incondizionata) di V0 . Osserviamo che le basi ortonormali costituiscono un caso particolare di basi di Riesz. 3 Fast Wavelet Transform per il sistema di Haar Supponiamo di aver calcolato i coefficienti cj1 ,k dell’approssimazione alla scala j1 . Vogliamo allora calcolare i coefficienti cj0 ,k e dj,k , j0 ≤ j < j1 , corrispondenti alle scale più rade, a partire dai coefficienti cj1 ,k della scala più fine. Consideriamo la decomposizione in due livelli espressa dalle formule (2.16) e (2.17). Ricordando le normalizzazioni di ϕj,k e ψj,k si hanno la relazioni 1 (3.1) cj,k = √ (cj+1,2k + cj+1,2k+1 ) , 2 e 1 dj,k = √ (cj+1,2k − cj+1,2k+1 ) . (3.2) 2 Queste relazioni possono anche essere ricavate inserendo nelle definizioni di √ cj,k e dj,k le√identità ϕj,k = (ϕj+1,2k + ϕj+1,2k+1 )/ 2 e ψj,k = (ϕj+1,2k − ϕj+1,2k+1 )/ 2, che seguono dalla (2.14) e dalla (2.21), rispettivamente. Le relazioni (3.1)-(3.2) rappresentano una trasformazione ortogonale tra i vettori (cj,k , dj,k ) e (cj+1,2k , cj+1,2k+1 ) dei coefficienti alle due scale j e j +1. La trasformazione inversa è data da e 1 cj+1,2k = √ (cj,k + dj,k ) , 2 (3.3) 1 cj+1,2k+1 = √ (cj,k − dj,k ) . 2 (3.4) A questo punto possiamo ricavare due semplici algoritmi: uno per la decomposizione della funzione f , cioè per il calcolo dei coefficienti cj0 ,k e dj,k , 12 j0 ≤ j < j1 , nella parte destra di (2.31) a partire dai coefficienti cj1 ,k ; l’altro per la ricostruzione di f , cioè per il calcolo dei coefficienti cj1 ,k nella parte sinistra di (2.31) a partire dai coefficienti cj0 ,k e dj,k , j0 ≤ j < j1 . Algoritmo di decomposizione Input: coefficienti cj1 ,k alla scala più fine. Per j = j1 − 1, j1 − 2, . . . , j0 : 1. calcolare i coefficienti cj,k e dj,k dalle (3.1)-(3.2); 2. memorizzare i dettagli dj,k . Algoritmo di ricostruzione Input: coefficienti cj0 ,k alla scala rada e dettagli dj,k , j0 ≤ j < j1 . Per j = j0 , j0 + 1, . . . , j1 − 1: 1. calcolare i coefficienti cj+1,k dalle (3.3)-(3.4) utilizzando i dettagli dj+1,k . Gli algoritmi possono essere rappresentati graficamente da una struttura piramidale (vedi Fig. 8). j1 j0 Figura 8. La struttura a piramide degli algoritmi di decomposizione (dall’alto verso il basso) e ricostruzione (dal basso verso l’alto) ( : coefficienti dell’approssimazione, ◦: coefficienti dei dettagli). Nelle applicazioni all’analisi del segnale, la funzione che deve essere decomposta è definita su un intervallo limitato per cui la sequenza cj1 ,k ha una lunghezza finita. Per esempio, se f è definita su [0, 1] i coefficienti cj1 ,k sono 2j1 . Poichè per passare dal livello j + 1 al livello j e viceversa, gli algoritmi 13 di decomposizione e ricostruzione compiono 2 · 2j operazioni pesanti, il costo computazione di ciascun algoritmo è Cc = jX 1 −1 j=j0 2j+1 = 2j1 − 2j0 = 2j1 (1 − 2j0 −j1 ) = O(N ) , dove N := 2j1 è la lunghezza della sequenza dei coefficienti alla scala più fine. Il costo computazionale è ottimale, nel senso che è dello stesso ordine del numero dei valori calcolati, e permette di implementare gli algoritmi su un calcolatore in modo veloce. Per questo motivo gli algoritmi di decomposizione e ricostruzione sono noti con il nome di Fast Wavelet Transform. 4 Analisi multirisoluzione Abbiamo visto nel §2 che la decomposizione multiscala di una funzione in L2 (IR) tramite la base {ϕj,k } induce una decomposizione multiscala dello stesso L2 (IR). In particolare, dalle proprietà (2.13) e (2.34) segue che lo spazio L2 (IR) può essere decomposto nella somma di una sequenza di sottospazi Vj , j ∈ ZZ, ”annidati” uno nell’altro. Gli spazi di approssimazione Vj sono generati dalle traslate e dilatate ϕj,k di un’unica funzione ϕ. Nel §2 abbiamo scelto come spazio di approssimazione Vj lo spazio S0−1 (IR, ∆j ) ∩ L2 (IR). In questo paragrafo illustreremo più in generale il concetto di decomposizione multiscala per L2 (IR). Prima di tutto definiamo il concetto di analisi multirisoluzione, che è stato introdotto per la prima volta da S. Mallat [5, 6] nei primi anni ’80. Definizione. Un’analisi multirisoluzione è una sequenza {Vj }j∈ZZ , di sottospazi chiusi di L2 (IR) tali che i) la sequenza {Vj }j∈ZZ è annidata per ogni j, cioè Vj ⊂ Vj+1 , ∀ j ∈ ZZ ; (4.1) ii) gli spazi {Vj }j∈ZZ sono ottenuti uno dall’altro tramite raffinamento (o scaling) diadico, cioè f (x) ∈ Vj ⇔ f (2 x) ∈ Vj+1 ⇔ f (2−j x) ∈ V0 , x ∈ IR ; (4.2) iii) l’unione di tutti gli spazi {Vj }j∈ZZ è denso in L2 (IR), cioè lim ||f − Pj f ||L2 (IR) = 0 , j→+∞ ∀ f ∈ L2 (IR) , (4.3) dove Pj f è la proiezione di f su Vj . La (4.3) equivale a ∪j∈ZZ Vj = L2 (IR) ; 14 (4.4) iv) l’intersezione degli spazi Vj è l’insieme nullo, cioè lim ||Pj f ||L2 (IR) = 0 , ∀ f ∈ L2 (IR) , j→−∞ (4.5) o, in modo equivalente, ∩j∈ZZ Vj = {0} ; (4.6) v) esiste una funzione ϕ ∈ V0 tale che il sistema {ϕ(· − k)}k∈ZZ (4.7) forma una base di Riesz (o incondizionata) di V0 . Basi di Riesz. Una sistema di funzioni {rk }k∈ZZ è una base di Riesz di uno spazio di Hilbert H se e solo se R-i) ogni combinazione lineare finita delle funzioni rk è densa in H , R-ii) esistono due costanti C1 e C2 positive, con 0 < C1 ≤ C2 , tali che per ogni sequenza finita {γk }k∈Z , Z ⊂ ZZ si ha 2 X X X C1 |γk |2 ≤ γk rk ≤ C2 |γk |2 . (4.8) k∈Z k∈Z H k∈Z Questa proprietà , che esprime la ”stabilità ” della decomposizione nella base {rk }k∈ZZ rispetto alle coordinate {γk }k∈Z , implica che l’applicazione X T : {γk }k∈ZZ → γk rk , (4.9) k∈ZZ definisca un isomorfismo limitato e invertibile da ℓ2 (ZZ) a H. Le basi di Riesz godono delle seguenti proprietà : P • la P serie k∈ZZ γk rk converge incondizionatamente in L2 (IR) se e solo se k∈ZZ |γk |2 < ∞. Quando H coincide con L2 (IR) si dice che la base {rk }k∈ZZ è L2 -stabile o anche che è una base incondizionata di L2 (IR); • ogni P funzione f ∈ H può essere decomposta in modo unico come f = k∈ZZ ck rk con {ck }k∈ZZ ∈ ℓ2 (ZZ) e per i coefficienti {ck }k∈ZZ vale ancora la disuguaglianza (4.8); • esiste un’unica base biortogonale {r̃k }k∈ZZ tale che (rk , r̃m )H = δkm . (4.10) Allora le coordinate di f nella base {rk }k∈ZZ sono date da ck = (f, r̃k )H per cui la decomposizione di f diventa X f= (f, r̃k )H rk . (4.11) k∈ZZ 15 Le basi ortonormali sono un caso particolare di basi di Riesz; infatti, per una base ortonormale si ha C1 = C2 = 1, per cui la disuguaglianza (4.8) si riduce all’uguaglianza 2 X X γk rk = |γk |2 . (4.12) k∈Z H k∈Z In questo caso rk ≡ r̃k per ogni k e si ha la decomposizione X f= (f, rk )H rk . (4.13) k∈ZZ Nota 1. Poichè l’isomorfismo T è invertibile la mappa aggiunta T ∗ : f → {(f, rk )H }k∈ZZ , (4.14) da H a ℓ2 (ZZ) è limitata e invertibile e dalla disuguaglianza (4.8) segue X C1 kf k2H ≤ |(f, rk )H |2 ≤ C2 kf k2H . (4.15) k∈ZZ Tuttavia questa disuguaglianza è più debole della (4.8) in quanto assicura che f possa essere ricostruita dai suoi coefficienti, ma questa ricostruzione non è unica. Basi che soddisfano la (4.15) vengono chiamate frames: sono basi ridondanti introdotte da R.J Duffin e A.C. Schaeffer [3] nel contesto delle serie di Fourier non armoniche e del problema della ricostruzione di segnali con campionamento non uniforme (per approfondimenti si vedano, ad esempio, i testi [4, 9]). Torniamo ora ad analizzare le proprietà dell’analisi multirisoluzine. Dalle proprietà ii) e v) segue che il sistema {ϕj,k := (τk σ2−j ϕ) = 2j/2 ϕ(2j · −k)}k∈ZZ , (4.16) è una base di Riesz per lo spazio Vj . Poiché inoltre kfj kL2 (IR) = kf0 kL2 (IR) , le costanti C1 e C2 nella (4.8) sono indipendenti da j. Allora ogni funzione fj ∈ Vj può essere scritta come X fj = 2j/2 f0 (2j ·) , dove f0 = c0,k ϕ(· − k) ∈ V0 , (4.17) k∈ZZ con coefficienti c0,k opportuni. Si ha pertanto X fj = c0,k ϕj,k . k∈ZZ 16 (4.18) Dalla proprietà i) segue, in particolare, che V0 ⊂ V1 , per cui la funzione ϕ ∈ V0 può essere decomposta tramite le traslate di ϕ(2x), che formano una base di V1 . Allora la funzione di raffinamento (scaling function) ϕ deve soddisfare l’equazione di raffinamento (scaling equation o two-scale difference equation) X ϕ(x) = hk ϕ(2x − k) , (4.19) k∈ZZ dove la sequenza h = {hk }k∈ZZ è chiamata maschera. Come conseguenza della stabilità della base delle traslate {ϕ(· − k)}k∈ZZ , h è in ℓ2 (ZZ). L’esistenza e l’unicità della soluzione dell’equazione di raffinamento (4.19) dipendono dalle proprietà della maschera h. Condizione necessaria per l’esistenza è che X hk = 2 . (4.20) k∈ZZ Si rimanda ai testi in bibliografia per una trattazione dettagliata sull’esistenza e unicità della soluzione dell’equazione (4.19) e sulle sue proprietà (vedi, ad esempio, [3, 8]). Le proprietà della funzione di raffinamento ϕ possono essere messe in relazione con le proprietà della maschera. Si dimostra che • se la maschera ha supporto compatto, anche la funzione di raffinamento ha supporto compatto, in particolare si ha supp h = [0, N ] ⇒ supp ϕ = [0, N ] ; (4.21) • se la maschera è simmetrica rispetto al centro dell’intervallo, anche la funzione di raffinamento è simmetrica rispetto al centro dell’intervallo. In particolare, se la maschera è a supporto compatto, si ha hk = hN −k , 0 ≤ k ≤ N , ⇒ ϕ(x) = ϕ(N −x) , x ∈ [0, N ] ; (4.22) • se la maschera ha momenti nulli fino al grado p − 1, cioé se X (−1)k hk kl = 0 , l = 0, 1, . . . , p − 1 , (4.23) k∈ZZ allora: i) ϕ riproduce i polinomi fino al grado p − 1, nel senso che IPl ⊂ V0 , l = 0, 1, . . . , p − 1; ii) ψ ha i primi p momenti nulli, cioè Z ψ(x) xl dx = 0 , l = 0, 1, . . . , p − 1 . (4.24) IR Osserviamo che la (4.23) vale sicuramente per l = 0, quindi Z ψ(x) dx = 0. IR 17 Inoltre, si possono avere le seguenti interessanti proprietà per la funzione di raffinamento. • La ϕ è ortonormale se (ϕ(·−k), ϕ(·−l)) = δkl , k, l ∈ ZZ , ⇔ k ∈ ZZ , ⇔ X hk hk+2l = δ0l . (4.25) k∈ZZ • La ϕ è interpolatoria se ϕ(k) = δk0 , h2k+1 = δ0k . Se ϕ è ortonormale, il proiettore Pj è ortonormale, quindi si ha X Pj f = (f, ϕj,k ) ϕj,k . (4.26) (4.27) k∈ZZ Se ϕ non è ortonormale, si introduce una funzione raffinabile ϕ̃ biortogonale di ϕ, nel senso che (ϕ(· − k), ϕ̃(· − l)) = δkl , k, l ∈ ZZ . Anche ϕ̃ è raffinabile con equazione di raffinamento data da X ϕ̃(x) = h̃k ϕ̃(2x − k) , (4.28) (4.29) k∈ZZ La condizione di biortogonalità (4.28) può essere espressa in termini della maschera come X hk h̃k+2l = 2δ0l . (4.30) k∈ZZ In questo caso si può definire il proiettore obliquo X Pj f = (f, ϕ̃j,k ) ϕj,k . (4.31) k∈ZZ La funzione ϕ̃ non è unica e, in particolare, non è necessario che ϕ̃ sia in V0 ; questa flessibilità permette di scegliere come funzione biortogonale una funzione a supporto compatto. Si può dimostrare che, se ϕ è una funzione raffinabile L2 -stabile a supporto compatto, è sempre possibile costruire una funzione raffinabile biortogonale in L2 che abbia supporto compatto. Esempio 1. Da quanto detto nel §2 si può concludere che la funzione caratteristica ϕ = χ[0,1] genera un’analisi multiroluzione i cui spazi Vj coincidono con S0−1 (IR, ∆j ) ∩ L2 (IR). L’equazione di raffinamento corrispondente è ϕ(x) = ϕ(2x) + ϕ(2x − 1) , 18 (4.32) cioè sono diversi da 0 solo i coefficienti h0 = h1 = 1. Quindi la maschera ha supporto compatto [0, 1], ed è simmetrica. Anche la funzione di raffinamento ha supporto compatto [0, 1] ed è simmetrica rispetto al centro del supporto. Inoltre, h21 + h22 = 1 per cui le traslate di ϕ formano una base ortonormale di V0 . Osserviamo che la funzione caratteristica è l’unica funzione di raffinamento a supporto compatto, simmetrica e ortonormale allo stesso tempo. Esempio 2. La ”hat function” ϕ(x) = max(1 − |x|, 0), che abbiamo usato per costruire gli elementi finiti lineari, genera un’analisi multirisoluzione con Vj ≡ S10 (IR, ∆j ) ∩ L2 (IR) , j ∈ ZZ . L’equazione di raffinamento corrispondente è ϕ(x) = 1 1 ϕ(2x) + ϕ(2x − 1) + ϕ(2x − 2) , 2 2 (4.33) da cui h1 = 1, h0 = h2 = 1/2, mentre tutti gli altri coefficienti della maschera sono nulli. Allora supp h = [0, 2], e la maschera è simmetrica rispetto al centro del supporto. Le stesse proprietà si riflettono sulla funzione di raffinamento, infatti supp ϕ = [0, 2] e ϕ(x) = ϕ(2 − x). Inoltre, h1 = 1 e h2k+1 = 0 se k 6= 0, per cui la funzione di raffinamento è interpolatoria. 1 1 0.5 0.5 0 0 −0.5 −0.5 −1 −1 −1.5 −1.5 −2 0 0.5 1 1.5 2 2.5 3 −2 0 0.5 1 1.5 2 2.5 3 Figura 9. La funzione di raffinamento (sinistra) e le wavelet (destra) di Daubechies su supporto [0, 3]. Esempio 3. Una famiglia di funzioni di raffinamento ortogonali e a supporto compatto è stata introdotta da I. Daubechies [3]. Si tratta di funzioni non simmetriche, non strettamente positive, la cui regolarità cresce lentamente al crescere del supporto. La maschera √ √ √ √ 1+ 3 3+ 3 3− 3 1− 3 h0 = , h1 = , h2 = , h3 = , 4 4 4 4 19 corrisponde alla funzione di raffinamento di supporto [0, 3] che è solo continua (vedi Fig. 9). Alcune proprietà della funzione di raffinamento possono essere dedotte dalla sua trasformata di Fourier. Per prima cosa, riscriviamo l’equazione di raffinamento (4.19) utilizzando la trasformata di Fourier: ω ω ϕ̂(ω) = m ϕ̂ , (4.34) 2 2 dove 1X m(ω) := hn e−ikω (4.35) 2 n∈ZZ è la trasformata di Fourier discreta della maschera e viene chiamata usualmente simbolo associato alla maschera h. Dalle (4.20) e (4.23) per l = 0 si ha m(0) = 1 e m(π) = 0: in effetti i coefficienti hk possono essere visti come i coefficienti di un filtro passa-basso. Dalla (4.34) segue immediatamente che, se ϕ1 e ϕ2 sono due funzioni raffinabili in L1 (IR) ∩ L2 (IR) con simboli m1 , m2 e maschere h1 , h2 , rispettivamente, allora la convoluzione ϕ = ϕ1 ∗ ϕ2 è raffinabile con simbolo m(ω) = 12 m1 (ω) m2 (ω) e coefficienti della maschera dati dalla convoluzione discreta hn = 12 (h1 ∗ h2 )n . N −1 Esempio 4. Consideriamo lo spazio SN (IR, ∆j ) delle funzioni splines di grado N . Una base per questo spazio è formata dalle traslate della B-spline BN , definita in modo ricorsivo da B0 := χ[0,1] , BN := B0 ∗ BN −1 = (∗)N χ[0,1] . Osserviamo che B1 è la ”hat function” dell’Esempio 2. Dalla proprietà di convoluzione, segue che ciascuna BN è una funzione di raffinamento con maschera N +1 hn,N = 21N n , 0 ≤ n ≤ N + 1 , hn,N = 0 , altrove. Si dimostra che il sistema {BN (· − k)}k∈ZZ è L2 -stabile, quindi genera una N −1 analisi multirisoluzione costituita dagli spazi Vj ≡ SN (IR, ∆j ) ∩ L2 (IR), j ∈ ZZ. Poichè ciascuna maschera ha supporto compatto [0, N + 1] ed è simmetrica, si ha supp BN = [0, N +1] e BN (x) = BN (N +1−x). Osserviamo che le funzioni BN per N > 0 non sono ortonormali quindi, per ciascuna di esse, è necessario introdurre una funzione raffinabile biortogonale. Per la costruzione delle splines biortogonali si veda [2]. Le proprietà di stabilità , ortonormalità e interpolazione del sistema {ϕ(·− k)}k∈ZZ possono essere espresse in termini della trasformata di Fourier ϕ̂. Infatti, si dimostra che se ϕ ∈ L2 (IR) allora 20 • ϕ è L2 -stabile se e solo se esistono due costanti C1 , C2 > 0, tali che X C1 ≤ |ϕ̂(ω + 2nπ)|2 ≤ C2 ; (4.36) n∈ZZ • ϕ è ortonormale se e solo se X |ϕ̂(ω + 2nπ)|2 = 1 ; (4.37) n∈ZZ • se |ϕ̂(ω)| ≤ (1 + |ω|)−1−ε , ϕ è interpolatoria se e solo se X ϕ̂(ω + 2nπ) = 1 . (4.38) (4.39) n∈ZZ (Da (4.38) segue che una funzione interpolatoria è sempre L2 -stabile.) Nota 2. Da (4.37) segue che è sempre possibile costruire una funzione ortonormale ϕo in V0 a partire da una ϕ L2 -stabile nel modo seguente: ϕ̂o (ω) := [Sϕ (ω)]−1/2 ϕ̂(ω) , (4.40) dove Sϕ (ω) := X n∈ZZ |ϕ̂(ω + 2nπ)|2 = X (ϕ(· − n), ϕ) einω . (4.41) n∈ZZ La funzione ϕ̂d (ω) := [Sϕ (ω)]−1 ϕ̂(ω) , (4.42) genera una base di Riesz in V0 che è la base duale di ϕ, nel senso che (ϕ(· − k), ϕd (· − l) = δkl , k, l ∈ ZZ. Infine, la funzione ϕ̂i (ω) := [Rϕ (ω)]−1 ϕ̂(ω) , (4.43) dove Rϕ (ω) := X ϕ̂(ω + 2nπ) = n∈ZZ X ϕ(n) e−inω , (4.44) n∈ZZ è in V0 ed è interpolatoria. Osserviamo che, anche se ϕ ha supporto compatto, ϕo , ϕd e ϕi hanno supporto illimitato. Nota 3. I valori numerici della funzione di raffinamento vengono calcolati con un procedimento iterativo, chiamato algoritmo a cascata. In effetti ϕ è il punto unito dell’operatore R definito da X R f := hk f (2 · −k) k∈ZZ 21 e, sotto opportune ipotesi sulla maschera, si ha ϕ = lim Rj δ , j→+∞ dove δ := {δk }k∈ZZ = {δ0k }k∈ZZ è la sequenza unitaria, i cui elementi δk valgono 0 per k 6= 0, mentre δ0 = 1. Se il procedimento iterativo converge, l’algoritmo a cascata può essere scritto nella forma s0,k = δ0k , X k ∈ ZZ , s = h s jn , n j+1,k j,k−2 n∈ZZ ϕ(2−j k) dove sj,k = Pj mati alla scala j. 5 sono i valori della funzione di raffinamento approssi- Wavelets e algoritmi multiscala Vogliamo costruire un algoritmo che, dati i coefficienti cj+1,k := (f, ϕ̃j+1,k ) del proiettore obliquo (4.31) al livello più fine, calcoli in modo efficiente l’approssimazione Pj f alla scala più rada. Utilizzando l’equazione di raffinamento (4.29) nell’espressione di cj,k si ha cj,k = (f, ϕ̃j,k ) = 2j/2 f, ϕ̃(2j · −k) = P 1 P = 2j/2 f, n∈ZZ h̃n ϕ̃(2(j+1) · −2k − n) = √ n∈ZZ h̃n cj+1,2k+n . 2 Allora, la relazione 1 X cj,k = √ h̃n cj+1,2k+n 2 n∈ZZ (5.45) rappresenta l’algoritmo di decomposizione, cioé la proiezione dalla scala più fine j + 1 alla scala più rada j. Definiamo ora una coppia di wavelets biortogonali, ψ e ψ̃, a partire da due funzioni raffinabili, ϕ ∈ V0 e ϕ̃ ∈ Ṽ0 , biortogonali a loro volta: X X ψ(x) := gk ϕ(2x − k) , ψ̃(x) := g̃k ϕ̃(2x − k) , (5.46) k∈ZZ k∈ZZ con gk := (−1)k h̃1−k , g̃k := (−1)k h1−k . (5.47) La funzione ψ appartiene allo spazio Wj , complemento ortogonale di Vj in Vj+1 , mentre la funzione ψ̃ appartiene allo spazio W̃j , complemento ortogonale di Ṽj in Ṽj+1 . Si ha quindi Vj+1 = Vj ⊕ Wj , Ṽj+1 = Ṽj ⊕ W̃j , 22 (5.48) dove l’operatore ⊕ indica la somma diretta. Si dimostra che le funzioni ψ e ψ̃ sono biortogonali tra loro e ortogonali alle traslate di ϕ̃ e ϕ, rispettivamente: (ψ, ψ̃(· − k)) = δ0k , (ψ, ϕ̃(· − k)) = (ψ̃, ϕ(· − k)) = 0 . (5.49) Da (5.49) seguono le relazioni di biortogonalità (ϕj0 ,k , ψ̃j,m ) = (ϕ̃j0 ,k , ψj,m ) = 0 , j ≥ j0 , (ψj,k , ψ̃l,n ) = δjl δkn , (5.50) Il sistema {ψj,k }k∈ZZ costituisce una base di Riesz dello spazio Wj . Analogamente, anche il sistema {ψ̃j,k }k∈ZZ costituisce una base di Riesz dello spazio W̃j . Definiamo ora il proiettore Qj f := Pj+1 f − Pj f , (5.51) che contiene i ”dettagli” che dobbiamo aggiungere per passare dall’approssimazione alla scala j all’approssimazione alla scala j + 1. Qj agisce nello spazio Wj e può essere rappresentato come X Qj f = dj,k ψj,k , dj,k := (f, ψ̃j,k ) . (5.52) k∈ZZ Le wavelet biortogonali forniscono una decomposizione multiscala (non ortogonale) di Vj1 : Vj1 = Vj0 ⊕ Wj0 ⊕ Wj0 +1 ⊕ · · · ⊕ Wj1 −1 . Ogni funzione f ∈ Vj1 può essere sviluppata come X X X X fj1 = cj1 ,k ϕj1 ,k = cj0 ,k ϕj0 ,k + dj,k ψj,k . k∈ZZ k∈ZZ (5.53) j0 ≤j<j1 k∈ZZ Dalle relazioni di biortogonalità (5.50) segue che il sistema {ϕj0 ,k }k∈ZZ ∪ {ψj,k }j0 ≤j<j1,k∈ZZ forma una base di Riesz di Vj1 . Allora, ogni funzione f ∈ L2 (IR) ha uno sviluppo convergente del tipo X XX f= cj0 ,k ϕj0 ,k + dj,k ψj,k . (5.54) k∈ZZ j0 ≤j k∈ZZ Analogamente al caso semplice di §3, si può decomporre dalla scala più fine alle scala più rada con le fomule 1 X cj,k = √ h̃n−2k cj+1,n , 2 n∈ZZ 1 X dj,k = √ g̃n−2k cj+1,n , 2 n∈ZZ 23 (5.55) e ricostruire dalla scala più rada alla scala più fine con la formula " # X X 1 cj+1,k = √ hk−2n cj,n + gk−2n dj,n . 2 n∈ZZ n∈ZZ (5.56) Le relazioni precedenti danno luogo a un algoritmo piramidale del tipo di quello di §3, che ha costo computazionale O(N ), dove N è la dimesione della sequenza (finita) {cj1 ,k }. L’algoritmo (5.55)-(5.56) è chiamato Fast Wavelet Transform. Osserviamo che se la funzione di raffinamento ϕ è ortogonale, allora anche la wavelet madre è ortogonale e le formule (5.46) e (5.47) si riducono a X ψ(x) := gk ϕ(2x − k) con gk := (−1)k h1−k . (5.57) k∈ZZ Si possono utilizzare ancora gli algoritmi di decomposizione e ricostruzione (5.55)-(5.56) ricordando che in questo caso si ha hk = h̃k e gk = g̃k per ogni valore di k. 6 Subband coding schemes Le relazioni (5.55) possono essere viste come la convoluzione tra i coefficienti alla scala più fine {cj1 ,k } e le sequenze discrete {h̃−k } e {g̃−k } seguita da una decimazione di un campione ogni due (downsampling). Analogamente, la (5.56) consiste nella convoluzione delle sequenze discrete {hk } e {gk } con i coefficienti {cj,k } e {dj,k }, rispettivamente, preceduta dall’inserzione di uno zero tra ciascuno dei coefficienti (upsampling). Questa operazione è nota in analisi del segnale come codifica di un segnale in sottobande di frequenza (subband coding scheme) tramite su un banco di filtri a due canali (two channel filter bank). Un subband coding scheme divide un segnale discreto s(k), k ∈ ZZ, in M componenti s1 (k), . . ., sM (k), ciascuna delle quali rappresenta un certo contenuto in frequenza: gli si sono ottenuti filtrando il segnale iniziale con M filtri, che hanno caratteristiche complementari nello spazio delle frequenze; si effettua poi un downsampling di un fattore M sul segnale risultante in modo da conservare la quantità totale di informazione. Il segnale viene decomposto tramite convoluzione con sequenze finite {a1,k }k∈ZZ , . . ., {aM,k }k∈ZZ (filtri di decomposizione). Per ricostruire il segnale originale si fa un upsampling del segnale decimato inserendo M − 1 zeri tra ciascuno dei dati, poi si filtra con sequenze {b1,k }k∈ZZ , . . ., {bM,k }k∈ZZ (filtri di ricostruzione). I filtri {ai,k }k∈ZZ e {bi,k }k∈ZZ devono godere di proprietà particolari per garantire una ricostruzione perfetta. Il caso M = 2 corrisponde alle formule di decomposizione e ricostruzione date dalle relazioni (5.55) e (5.56) (o (3.3) e (3.4) nel caso del sistema di 24 Haar). In questo caso i filtri {hk }k∈ZZ e {h̃k }k∈ZZ sono filtri passa-basso, cioè tali che m(0) = m̃(0) = 1 e m(π) = m̃(π) = 0, mentre i filtri {gk }k∈ZZ e {g̃k }k∈ZZ sono filtri passa-alto di tipo ”mirror” in quanto, per costruzione, soddisfano le relazioni 1X 1X gk e−iωk = e−iω m̃(ω + π) e g̃k e−iωk = e−iω m(ω + π) . 2 2 k∈ZZ k∈ZZ (6.58) Filtri che soddisfano questa proprietà sono chiamati quadrature mirror filters e garantiscono una ricostruzione perfetta del segnale . Gli algoritmi di decomposizione e ricostruzione coinvolgono solo le sequenze discrete {hk }k∈ZZ , {h̃k }k∈ZZ , {gk }k∈ZZ e {g̃k }k∈ZZ , quindi possono essere applicati ad un segnale campionato anche se non è stato ottenuto come approssimazione nello spazio Vj . Inoltre gli algoritmi non coinvolgono esplicitamente i valori delle funzioni ϕ, ϕ̃, ψ, ψ̃, che potrebbero anche non esistere. Per una trattazione dettagliata della trasformata wavelet discreta in relazione con i subband coding scheme si rimanda a [8]. References [1] A. Cohen, Wavelets Methods in Numerical Analysis, in Handbook of Numerical Analysis, Vol. VII, edito da P.G. Ciarlet e J.L. Lions, Elsevier Science, 2000. [2] A. Cohen, R. Ryan, Wavelets and Multiscale Signal Processing, Chapman and Hall, London, 1995. [3] I. Daubechies, Ten Lectures on Wavelets, SIAM, Philadelphia, 1992. [4] R.J. Duffin, A.C. Schaeffer, A Class of Nonharmonic Fourier Series, Trans. Amer. Math. Soc, 72, (1952), 341–366. [5] S. Mallat, Multiresolution Approximation and Wavelet Orthonormal Bases of L2 (IR), Trans. Amer. Math. Soc, 315, (1989), 69–88. [6] S. Mallat, A Wavelet Tour of Signal Processing, Academic Press, New York, 1998. [7] F. Pitolli, Migliore Approssimazione, Dispense, 2007. [8] G. Strang, T. Nguyen, Wavelets and Filter Banks, WellesleyCambridge Press, 1996. [9] R.M. Young, An Introduction to Non-Harmonic Fourier Series, Academic Press, New York, 1980. 25 Siti Internet • http://www.wavelet.org: è il sito di riferimento per i ricercatori che lavorano nel settore delle wavelet sia dal punto di vista teorico che dal punto di vista applicativo. Pubblica il Wavelet Digest, una newsletter che informa su tutte le ultime novità (libri, articoli di ricerca, software, workshop, congressi, ...) nel mondo delle wavelet. • http://www.univie.ac.at/NuHAG: il Numerical Harmonic Analysis Group dell’Università di Vienna è coinvolto in vari progetti europei per l’analisi di segnali e immagini. • http://bigwww.epfl.ch: il Biomedical Imaging Group della Ecole Polytechnique Fédérale di Losanna lavora sull’analisi di immagini biomediche con metodi avanzati. • http://www.curvelet.org/: è il sito dove trovare articoli e software per la trasformata con le curvelts. Le curvelets sono delle basi di tipo frames molto adatte per l’analisi di immagini. Software • Matlab Wavelet Toolbox: toolbox commerciale per Matlab (http://www.mathworks.com/products/wavelet/. • Scilab Wavelet Toolbox: toolbox distribuito gratuitamente sotto la licenza GNU-GPL. Scilab (http://www.scilab.org/) è un software gratuito per il calcolo scientifico molto simile a Matlab. Il toolbox delle wavelet ha le stesse funzioni (con la stessa sintassi) del toolbox di Matlab (http://sourceforge.net/projects/scwt/). • Mathematica Wavelet Explorer: software commerciale per Mathematica (http://www.wolfram.com/products/applications/wavelet/). 26