Funzioni Wavelet

Transcript

Funzioni Wavelet
UNIVERSITÁ DEGLI STUDI DI MESSINA
Dipartimento di Matematica
DALLE FUNZIONI
RAFFINABILI ALLE
WAVELET
Prof.ssa Mariantonia Cotronei
Dicembre 2005
versione curata da:
Dott.ssa Santa Agreste
Dipartimento di Scienze dell’Informazione-Universitá degli Studi di Milano
Dott. Guido Andaloro
Dipartimento di Matematica-Universitá degli Studi di Messina
1
Introduzione
Le funzioni Wavelet sono nate nei primi anni ’80 e sono state inizialmente
utilizzate nella rappresentazione di segnali sismici. Nella seconda metá degli
anni ’80 la teoria matematica è stata rigorosamente formalizzata suscitando
nel decennio scorso un interesse sempre crescente verso questo strumento che
rappresenta la sintesi di teorie e concetti sviluppatisi in campi diversi.
Il termine wavelet ha origine nei primi anni ottanta ed è dovuta a Morlet
e Grossman che usavano la parola francese ondelette (piccola onda) per indicare tale funzione. Poco piú tardi la parola ondelette venne convertita in
inglese traducendo onde in wave, ottenendo wavelet.
Lo sviluppo delle wavelet può essere collegato a diverse correnti di pensiero
separate, che hanno origine dal lavoro di Haar all’inizio del ventesimo secolo. Contributi importanti alla teoria delle wavelet si possono attribuire alla
formulazione, da parte di Goupillaud, Grossman e Morlet di quella che ora
è nota come CWT (1982), ai lavori preliminari di Strömberg sulle wavelet
discrete (1983), alle wavelet ortogonali a supporto compatto di Daubechies
(1988), alla struttura a multirisoluzione di Mallat (1989), all’intepretazione
in tempo-frequenza della CWT da parte di Delprat (1991), alla trasformata
wavelet armonica di Newland e molti altri ancora.
Le trasformate wavelet sono classificate a livello generale nella trasformata wavelet discreta (Discrete Wavelet Transform, DWT) e nella trasformata
wavelet continua (Continuous Wavelet Transform, CWT). La differenza di
principio fra le due é il fatto che la trasformata continua opera su tutte le possibili scale e traslazioni, mentre la trasformata discreta usa un sottoinsieme
finito di tutti i valori possibili. Generalmente, la DWT è usata nella codifica
dei segnali mentre la CWT è usata nell’analisi dei segnali. Di conseguenza,
la DWT é usata comunemente in ingegneria e informatica e la CWT é usata
piú spesso nella ricerca scientifica.
Tutte le trasformate wavelet possono essere considerate come forme di rappresentazioni in tempo-frequenza e sono quindi in relazione con l’analisi armonica. Quasi tutte le trasformate wavelet discrete utili in pratica usano
dei banchi di filtri a risposta impulsiva finita. Le wavelet che costituiscono
una CWT sono soggette al principio di indeterminazione di Heisenberg e allo
stesso modo le basi delle trasformate wavelet discrete si possono considerare
soggette ad altre forme di principio di indeterminazione.
La trasformata wavelet è spesso paragonata alla trasformata di Fourier, dove
i segnali sono rappresentati come somma di sinusoidi. La differenza principale è che le wavelet sono localizzate sia nel tempo che nella frequenza mentre
1
la trasformata di Fourier standard è localizzata solo in frequenza. La trasformata di Fourier a tempo breve (STFT ) é localizzata in tempo e in frequenza,
ma ci sono dei problemi di risoluzione e le wavelet spesso offrono una migliore rappresentazione del segnale grazie all’uso dell’analisi multirisoluzione. La
trasformata wavelet inoltre ha un minor costo computazionale, richiedendo
un tempo O(N ) al contrario del tempo O(N log N ) richiesto dalla trasformata di Fourier veloce (N indica la dimensione dei dati).
Le trasformate wavelet sono ora adottate in un gran numero di applicazioni, spesso sostituendo la trasformata di Fourier convenzionale. Molte aree
della fisica hanno visto questo cambiamento di paradigma, incluse dinamica molecolare, astrofisica, geofisica sismica, ottica, turbolenza e meccanica
quantistica. Altre aree che stanno vedendo questo cambiamento sono elaborazione delle immagini, pressione del sangue, battito del cuore e analisi
dell’ECG, analisi del DNA, analisi delle proteine, climatologia, elaborazione
dei segnali in generale, riconoscimento vocale, computer graphics, e analisi
multifrattale.
Una delle piú importanti applicazioni delle wavelet é la compressione di dati:
il formato JPEG2000 è il nuovo standard di compressione di immagini che
usa le wavelet.
2
2
Equazioni di raffinamento
Una funzione ϕ di L2 (R) si dice raffinabile o scaling function se soddisfa
l’equazione:
X
ϕ(x) =
hk ϕ(2x − k)
per qualche {hk } ∈ l2 (Z)
(1)
k∈Z
Quindi ϕ é combinazione lineare della sua dilatazione (in particolare contrazione) di fattore 2 e traslazione attraverso un numero reale k. L’equazione
(1) prende il nome di two-scale relation ed è un caso particolare di equazione
di raffinamento con parametro di dilatazione 2. La successione di {hk } viene
definita maschera di ϕ
Se ϕ é a supporto compatto allora la successione {hk } é finita. In particolare
se il supporto di ϕ é [0, N ] gli elementi non nulli della maschera saranno
{h0 , h1 , .., hN } e l’equazione di raffinamento diventa:
ϕ(x) =
N
X
hk ϕ(2x − k)
(2)
k=0
2.1
Il simbolo
L’elemento caratterizzante delle funzioni raffinabili ϕ é il simbolo cioé la
trasformata z della maschera:
H(z) =
N
X
= hk z k
z ∈ C \ {0}
k=0
Non é altro che un polinomio in z, in generale é una serie di Laurent, o un
polinomio di Laurent. La possibiltá che z sia nullo viene esclusa in quanto
se si lavora in generale con k ∈ Z, si dovrebbe prendere in considerazione
l’esponente negativo, quindi il caso di avere il reciproco di zero.
Esempio 1. La box function é la funzione rappresentata in figura 1 definita
da:
1
se x ∈ [0, 1]
ϕ(x) = χ[0,1] =
0
altrove
Per dimostrare che la box function é raffinabile la esprimiamo come
3
Figura 1: Rappresentazione della Box Function ϕ(x)
Figura 2: Rappresentazione della ϕ(2x) e ϕ(2x − k)
4
combinazione della sua dilazione e della sua traslazione:
ϕ(x) = ϕ(2x) + ϕ(2x − 1)
quindi la maschera sará {1,1}. Il simbolo é
H(z) = 1 + z
Esempio 2. La funzione hat function, rappresentata in figura 2, é tale che:

se x ∈ [0, 1]
 x
2−x
se x ∈ [1, 2]
ϕ(x) =

0
altrove
Si dimostra che la hat function si esprime come
Figura 3: Hat Function
1
1
ϕ(x) = ϕ(2x) + ϕ(2x − 1) + ϕ(2x − 2)
2
2
quindi é raffinabile con maschera { 21 , 1, 12 }.
Pertanto il simbolo assume la forma H(z) =
5
1
1
1
+ z + z 2 = (1 + z)2 .
2
2
2
Figura 4: Rappresentazione della
2.2
1
1
ϕ(2x), ϕ(2x − 1) e ϕ(2x − 2)
2
2
La funzione di raffinamento nello spazio di Fourier
Sia ϕ ∈ L2 (R) e sia ϕ̂ la sua trasformata di Fourier:
Z
ϕ(x)e−iwx dx
w∈R
ϕ̂(w) =
R
Consideriamo l’equazione di raffinamento:
ϕ(x) =
N
X
hk ϕ(2x − k)
(3)
k=0
pertanto la ϕ̂ assume la forma:
ϕ̂(w) =
Z X
N
hk ϕ(2x − k)e−iwx dx
R k=0
t+k
e dx = 12 dt:
2
Z
N
w
1X
ϕ̂(w) =
hk ϕ(t)e−i 2 (t+k) dt
2 k=0
R
Poniamo t = 2x − k quindi x =
N
w
1X
hk e−i 2 k
ϕ̂(w) =
2 k=0
Z
considerando che
Z
w
ϕ(t)e−i 2 k dt
R
w
ϕ(t)e−i 2 (k dt é cla trasformata di Fourier di ϕ in
R
N
w
1X
w
ϕ̂(w) =
hk e−i 2 k ϕ̂( )
2 k=0
2
6
w
2
si ha:
Il termine
N
X
w
w
hk e−i 2 k non é altro che il simbolo H(z) con z = e−i 2 , cioé
k=0
il simbolo calcolato sul cerchio unitario. Indicando con h(ω) = H(e−iω )
otteniamo la seguente forma compatta:
w
1 w
ϕ̂(w) = h( )ϕ̂( )
2 2
2
(4)
Attraverso la trasformata di Fourier della funzione di raffinamento siamo passati da un’analisi nel dominio del tempo a quella nel dominio delle frequenze.
Esempio 3. Dimostriamo che la B-spline di ordine m é raffinabile con
simbolo
(1 + z)m
H(z) =
2m−1
La generica B-spline di ordine m puó essere definita per ricorrenza mediante
la convoluzione della B-spline di ordine m − 1, Bm−1 , e della box function,
B1 :
Z
Bm (x) = Bm−1 ∗ B1 =
Bm−1 (x − t)B1 (t)dt
R
Iterando:
Bm (x) = (B1 ∗ B1 ∗ .. ∗ B1 )(x)
|
{z
}
m-volte
La convoluzione nel dominio del tempo corrisponde al semplice prodotto nel
dominio delle frequenze:
m
B̂m (x) = (B̂1 (w)B̂1 (w)..B̂1 (w)) = B̂1 (w)
|
{z
}
m-volte
Per determinare B̂m (w) calcoliamo B̂1 (w):
Z
Z 1
1 −iwx 0 1 − e−iw
−iwx
B̂1 (w) =
B1 (x)e
dx =
e−iwx dx = −
e
=
1
iw
iw
R
0
Allora:
B̂m (w) =
1 − e−iw
iw
7
m
Per dimostrare che la B-spline é raffinabile e si puó esprimere come
w
1 w
Bm (w) = h
Bm
2
2
2
pertanto
w
1 − e−i 2
1
B̂m (w) = m
2
w
1 + e−i 2
i w2
w m
1
1
=
· m−1 1 + e−i 2
·
2 2
da B̂m
w
2
=
w
1 − e−i 2
i w2
h
!m
=
w
1 − e−i 2
i w2
m
m
e dall’equazione (4) segue che:
w
2
=
1
w
2m−1
1 + e−i 2
m
e quindi:
w
1 w
Bm
Bm (w) = h
2
2
2
Abbiamo dimostrato che la B-spline di ordine m é raffinabile con simbolo
H(z) =
1
2m−1
(1 + z)m
8
w
con z = e−i 2
2.3
Soluzioni dell’equazione di raffinamento
Determiniamo le soluzioni dell’equazione di raffinamento imponendo la
condizione di normalizzazione sulla funzione ϕ, cioé
Z
ϕ(x)dx = 1
R
Dalla (2) si ha:
Z
1=
ϕ(x)dx =
R
N
X
Z
ϕ(2x − k)dx
hk
R
k=0
Ponendo t = 2x − k quindi x = (t + k)/2 e dx = dt/2:
Z
N
N
1X
1X
hk ϕ(t)dt =
hk
1=
2 k=0
2 k=0
R
⇒
N
X
hk = 2
k=0
che rappresenta la condizione che devono sovono soddisfare i coefficienti della
maschera.
In termini di simbolo si ottiene
H(1) = 2
che nel dominio delle frequenze si traduce con:
h(0) = 2
Consideriamo l’equazione di raffinamento nello spazio di Fourier:
1 w w
ϕ̂(w) = h
ϕ̂
2
2
2
1
Indicando con h̃(ω) = h ed iterando:
2
w w
ϕ̂
=
ϕ̂(w) = h̃
2 2 w
w
w
= h̃
h̃
ϕ̂
=
2
4
4
·
·
· w w w
w
= h̃
h̃
...h̃ j ϕ̂ j
con j ≥ 2
2
4
2
2
9
Per j → ∞ si ha che
ϕ̂
w
2j
Z
−i0x
→ ϕ̂(0) =
ϕ(x)e
Z
dx =
R
ϕ(x)dx = 1.
R
∞
w
Y
h̃ j é finito. Vale il seguente:
2
j=1
La soluzione esiste se il prodotto
∞
w
Y
Teorema 1. Se
hk = 2 allora il prodotto
h̃ j é convergente in
2
j=1
k=0
distribuzione ad una funzione che risulta essere la trasformata di Fourier di
una funzione raffinabile.
N
X
2.4
Algoritmo a cascata
L’esistenza delle funzioni di raffinamento in L2 (R) é legata alla convergenza
dell’algoritmo a cascata.
L’algoritmo a cascata consiste nel creare, a partire da una data funzione
ϕ0 ∈ L2 (R), una successione di funzioni mediante ricorsione:
X
hk ϕn−1 (2x − k)
(5)
ϕn (x) =
k∈Z
Consideriamo una funzione di partenza ϕ0 tale che
ϕ̂0 (0) = 1
L’espressione della ϕn nello spazio di Fourier:
w
w
ϕ̂n (w) = h̃
ϕ̂n−1
2
2
iterando si ottiene:
#
j
w
w
Y
ϕ̂n (w) =
h̃ l ϕ̂0 j
2
2
l=1
"
per j → ∞
ϕ̂0
w
2j
10
→1
mentre
j
w
Y
h̃ l
2
l=1
per il teorema 1, converge in distribuzione a ϕ̂.
Quindi ϕ̂n (w) converge in distribuzione a ϕ̂, soluzione dell’equazione di raffinamento.
2.5
Matrice di transizione
Un ulteriore strumento per la convergenza della funzione ϕ é la matrice di
transizione T , la cui autoanalisi ci fornisce condizioni necessarie e sufficienti
per l’esistenza delle soluzioni dell’equazione di raffinamento.
Introduciamo i prodotti interni:
Z
bn (j) = ϕn (x)ϕn (x − j)dx = hϕn , ϕn (· − j)i
j = −N +1, .., N −2, N −1
Moltiplichiamo ambo i membri dell’equazione dell’algoritmo a cascata (5)
per ϕn (x − j) e integriamo:
Z
ϕn (x)ϕn−1 (x − j)dx =
R
N Z
X
k=0
hk ϕn−1 (2x − k)ϕn−1 (x − j)dx
R
Il primo membro rappresenta il prodotto interno bn (j):
bn (j) =
N
X
Z
ϕn−1 (2x − k)ϕn−1 (x − j)dx
hk
R
k=0
per l’algoritmo a cascata ϕn−1 (x−j) =
X
hk ϕn−1 (2x − 2j − i), sostituendo:
k
bn (j) =
N X
N
X
k=0 i=0
Z
ϕn−1 (2x − k)ϕn−1 (2x − 2j − i)dx
hk hi
R
t+k
1
si ottiene:
ponendo t = 2x − k quindi dt = dx e x =
2
2
Z
N
N
1 XX
bn (j) =
hk hi ϕn−1 (t)ϕn−1 (t + k − 2j − i)dt
2 k=0 i=0
R
11
osservando che
Z
bn−1 (2j + i − k) =
ϕn−1 (t) · ϕn−1 (t + k − 2j − i)dt
R
e ponendo l = 2j + i − k quindi k = 2j + i − l e i = l + k − 2j:
N +1
N
1 X X
bn (j) =
hk hl+k−2j bn−1 (l)
2 l=−N +1 k=0
indicando con
N
1X
ci =
hk · hk−i ,
2 k=0
si ottiene:
i = −N + 1, .., N + 1
N
+1
X
bn (j) =
c2j−l bn−1 (l)
l=−N +1
In forma matriciale:
bn = T bn−1
dove:


bn (−N + 1)


..
bn = 

.
bn (N + 1)
T = [c2j−l ]j,l=−N +1,..,N −1
La matrice T é detta matrice di transizione.
Premettiamo al teorema fondamentale della convergenza dell’equazione di
raffinamento la seguente definizione:
Diciamo che la matrice M soddisfa la Condition on Eigenvalues o brevemente
la Condition E se il raggio spettrale ρ(M ) ≤ 1, si richiede che 1 sia l’unico
autovalore nel cerchio unitario, e deve essere un autovalore semplice.
Teorema 2 (Streun). Supponiamo che la maschera {hk } soddisfi la condiN
N
X
X
zione
h2k =
h2k+1 = 1.
k=0
k=0
Allora l’algortimo a cascata é convergente in L2 (R) per ogni funzione iniziale
ϕ0 soddisfacente la condizione di partizione dell’unitá, cioé
X
ϕ0 (x − j) = 1 (j ∈ Z)
12
se e solo se la matrice di trasformazione T soddisfa la Condition E.
In termini di simbolo le ipotesi iniziali sulla maschera per la convergenza
della soluzione dell’equazione di raffinamento
X
X
h2k =
h2k+1 = 1
si traduce in:
H(−1) = 0
Esempio 4. Come esempio consideriamo la B-spline di ordine 2 e verifichiamo che sono verificate tutte le ipotesi della convergenza del teorema di
Streun.
Questa funzione di raffinamento ha maschera h = 12 , 1, 21 , quindi il simbolo
sará H(z) = 21 (1 + z)2 . Pertanto le ipotesi per la convergenza del teorema di
Streun H(1) = 2 e H(−1) = 0 sono verificate.
Proviamo che anche la condition E é soddisfatta. Al fine di costruire la
matrice di transizione T , determiniamo gli elementi cj :
N
1 X
hk hk−j
cj =
2 k=−N
con j = −2, .., 2
Quindi:
1
1 1
1
h0 h2 = · = = c2
2
2 4
8
1
1 1 1
1
=
(h0 h1 + h1 h2 ) = ( + ) = = c1
2
2 2 2
2
1
1 1
1
3
=
(h0 h0 + h1 h1 + h2 h2 ) = ( + 1 + ) =
2
2 4
4
4
c−2 =
c−1
c0
Pertanto la matrice T = [c2j−l ]j,l=−1,0,1 sará:


1/2 1/8 0
T =  1/2 3/4 1/2 
0 1/8 1/2
13
Per la determinazione degli autovalori azzeriamo il polinomio caratteristico:

1/2λ
8
0
det(T − λI) = 1/2 3/4λ 1/2  =
0
1/8λ 1/2
1
3
1
1
1 1 1
=
−λ
−λ
−λ −
−
−λ
=
2
4
2
16
8 2 2
5
1
1
2
−λ
λ − λ+
=0
=
2
4
4

 λ = 1/2
λ = 1/4
det(T − λI) = 0 ⇔

λ = 1
Abbiamo trovato che λ = 1 é una radice semplice del polinomio caratteristico
ed é l’autovalore di modulo massimo.
Nel prossimo paragrafo introduciamo un algoritmo numerico che ci permetterá di ottenere delle funzioni di raffinamento. Trattandosi di algoritmo
numerico, consideriamo la funzione di raffinamento a supporto compatto per
avere un numero finito di coefficienti.
2.6
Algoritmo numerico per ottenere funzioni di
raffinamento
L’algoritmo seguente calcola la funzione di raffinamento ϕ a partire dai
diadici. A tal fine consideriamo l’equazione di raffinamento:
ϕ(x) =
N
X
hk ϕ(2x − k)
k=0
e calcoliamo ϕ negli interi interni del supporto supp ϕ = [0, N ], considerando
che agli estremi ϕ(0) = ϕ(N ) = 0, mediante il sistema:

 


h1 h0 0
ϕ(1)
ϕ(1)
  ϕ(2) 
 ϕ(2)   h3 h2 h1 h0 0



 
=





..
..
..






.
.
.
0 hN hN −1
ϕ(N − 1)
ϕ(N − 1)
14
La matrice del sistema
M = [h2i−j ]i,j=1,2,..,N −1
detta matrice di ricorsione, é una matrice di Hurwitz.
L’espressione del sistema riconduce il nostro problema alla determinazione
degli autovettori corrispondenti all’autovalore λ = 1 della matrice di ricorsione M .Tra tutti gli autovettori si fissa quello per cui si verifica la condizione
di normalizzazione della ϕ:
ϕ(1) + ϕ(2) + .. + ϕ(N − 1) = 1
k
Successivamente si determina ϕ( ) con k = 1, 2, .., 2N − 1:
2
N
X
k
ϕ( ) =
hi ϕ(k − i)
2
i=0
il cui calcolo si riduce alla ϕ sugli interi.
k
Analogamente la ϕ( ) con k = 1, 2, .., 4N − 1:
4
N
X
k
k
hi ϕ( − i)
ϕ( ) =
4
2
i=0
é determinato dal calcolo di ϕ( k2 ).
In generale, supponendo che L sia il livello di iterazione desiderato, per
j = 1, ..., L si ha:
N
X
k
k
hi ϕ( j−1 − i)
ϕ( j ) =
2
2
i=0
con k = 1, 2, .., 2j N − 1
15
3
Proprietá delle funzioni raffinabili
3.1
Ordine di riproducibilitá polinomiale
Si dice che una funzione raffinabile ϕ ha indice di riproducibilitá polinomiale
p se tutti i monomi fino a quelli di grado p − 1 si possono esprimere mediante
una opportuna combinazione lineare delle traslate della funzione ϕ:
X (j)
xj =
ak ϕ(x − k)
j = 0, 1, .., p − 1
k∈Z
Teorema 3. Ogni funzione raffinabile ha almeno grado di riproducibilitá pari
ad uno.
Dimostrazione. La condizione necessaria per la convergenza
X
hk = 2
k
che, come visto in precendenza si traduce sul simbolo in
H(−1) = 0
implica che quest’ultimo é fattorizzabile per (z + 1):
H(z) = (z + 1)(∗)
Se consideriamo il simbolo sul cerchio unitario
h(z) = H(e−iw )
dove e−iw = cos(w) + i sin(w).
La condizione H(−1) = 0 si verifica quando:
sin(ω) = 0
⇒ ω = (2k + 1)π
cos(ω) = −1
quindi:
h((2k + 1)π) = 0
La trasformata di Fourier in ϕ:
1 w w
ϕ̂
ϕ̂(w) = h
2
2
2
16
Per ω = 2kπ si ha:
ϕ̂(0) = 1
1
ϕ̂(2π) =
h(π)ϕ̂(π) = 0
2
1
ϕ̂(4π) =
h(2π)ϕ̂(2π) = 0
2
In generale si ottengono le condizioni di Strong-Fix :
ϕ̂(0) = 1
ϕ̂(2kπ) = 0, k 6= 0
Queste condizioni sono equivalenti alla condizione su ϕ della partizione
dell’unitá nel dominio temporale:
X
ϕ(x − k) = 1
k
Abbiamo quindi dimostrato che la ϕ riproduce le costanti, quindi che l’indice
di riproducibilitá é almeno p = 1.
Teorema 4. Sono equivalenti:
1. ϕ ha ordine di riproducibilitá p
2. H(z) é fattorizzabile per (1 + z)p
3. la radice w = π di h(w) ha molteplicitá p
4. Valgono le sum-rules:
X
(−1)k k j hk = 0
j = 0, 1, .., p − 1
k
Esempio 5. Considerando la B-spline di ordine m, si evince dalla struttura
(1 + z)m
del simbolo H(z) =
che il grado di riproducibilitá sará pari al suo
2m−1
ordine p = m.
Esempio 6. La funzione di Daubechies che ha simbolo
√
√
√
√ !
1+ 3 3+ 3
3− 3 2 1− 3 3
H(z) =
+
z+
z +
z
4
4
4
4
é fattorizzabile per (z + 1)2 ed ha ordine di riproducibiliá p = 2.
17
3.2
Ortogonalitá
La funzione di raffinamento ϕ si dice ortonormale se:
Z
1 k=0
< ϕ, ϕ(· − k) >= ϕ(x)ϕ(x − k)dx = δk,0 =
0 k=
6 0
Analizziamo come la condizione di ortogonalitá si riperquote sulla maschera
e sul simbolo.
Supponiamo che ϕ sia ortonormale, la sua rappresentazione in termini di
equazione di raffinamento é:
X
ϕ(x) =
hi ϕ(2x − i)
i
Moltiplichiamo ambo i membri per la traslata di ϕ e integriamo su R, osservando che il primo membro diventerá il prodotto interno < ϕ, ϕ(· − k) >,
si ottiene:
Z
X Z
ϕ(x)ϕ(x − k)dx =
hi ϕ(2x − i)ϕ(x − k)dx =
δk,0 =
R
=
i
X
Z
ϕ(2x − i)
hi
i
R
X
R
hl ϕ(2x − 2k − l)dx =
l
Ponendo 2x − i = t, dx = dt/2, x = (t + i)/2
Z
1 XX
1X X
hi hl δl+2k−i,0
=
hi
hl ϕ(t)ϕ(t + i − 2k − l)dt =
2 i
2 i l
R
l
Ma δl+2k−i,0 6= 0 quando l + 2k − i = 0 cioé quando i = 2k + l pertanto
δk,0 =
1X
hl hl+2k
2 l
Le condizioni di ortogonalitá per la maschera sono:
P
P l hl hl = 2 se k = 0
l hl hl+2k = 0 se k 6= 0
In termini di simbolo:
|H(z)|2 + |H(−z)|2 = 4
18
Esempio 7. Le B-spline non sono ortogonali tranne la B-spline lineare (Box
function).
Esempio 8. La funzione raffinabile di Daubechies é ortonormale.
3.3
Simmetria
La funzione di raffinamento ϕ é simmetrica rispetto al centro del supporto
supp ϕ = [0, N ] se:
ϕ(x) = ϕ(N − x)
(6)
Determiniamo le condizioni sui coefficienti affinché ϕ sia simmetrica.
Esplicitiamo ϕ e la sua traslata in funzione alla loro rappresentazione
nell’equazione di raffinamento:
X
hk ϕ(2x − k)
(7)
ϕ(x) =
k
ϕ(N − x) =
X
hk ϕ(2N − 2x − k) =
X
k
hk ϕ(N − 2x + n − k) =
k
Ponendo N − k = l, k = N − l:
X
=
hk ϕ(2x − N + k)
k
Quindi:
ϕ(N − x) =
X
hN −k ϕ(2x − k)
(8)
k
Per la condizione di simmetria (6) si eguagliano le equazioni (7) e (8)
ottenendo:
X
X
hk ϕ(2x − k) =
hN −x ϕ(2x − k)
k
k
X
(hk − hN −k ) ϕ(2x − k) = 0
k
se {ϕ(2x − k)}k sono linearmente indipendenti allora
hk = hN −k
19
In generale, se partiamo da filtri hk = hN −k che soddisfano la Condition E
allora si ha la simmetria.
Esempio 9. Le B-spline sono simmetriche. L’unica funzione contemporaneamente ortogonale e simmetrica é la B-spline lineare.
Esempio 10. Le funzione raffinabili di Daubechies non sono simmetriche.
20
4
Analisi Multirisoluzione
Una Multiresolution Analysis (MRA) é una famiglia di sottospazi Vj di L2 (R)
tale che:
1. ... ⊂ V−1 ⊂ V0 ⊂ V1 ⊂ ...
2. f (x) ∈ Vj ⇒ f (2x) ∈ Vj+1
scale invariance
3. f (x) ∈ V0 ⇒ f (x − k) ∈ V0
S
4. T Vj = L2 (R)
Vj = {0}
shift invariance
5. Esiste una funzione ϕ ∈ V0 tale che la famiglia {ϕ(x − k), k ∈ Z}
costituisce una base di Riesz, o base stabile, per lo spazio V0 .
Definizione: La famiglia {ϕ(x − k), k ∈ Z} costituisce una base di Riesz
per lo spazio V0 se ∃A, B > 0 tali che:
2
X
2
A kckl2 (Z) ≤ ck ϕ(x − k) ≤ B kck2l2 (Z)
k
Dalla 5. segue che {ϕ(2j x − k)} é una base di Riesz per Vj , ∀j ∈ Z.
Dalla 4. segue che se f ∈ L2 (R) e fj é un’approssimazione di f nello spazio
Vj si ha:
lim fj = f
(9)
lim fj = 0
(10)
j→+ ∞
j→− ∞
Se ϕ ∈ V0 genera una MRA, si ha che
ϕ ∈ V0 ⊂ V1
ma V1 é generato da {ϕ(2x − k), k ∈ Z}, quindi ϕ si puó esprimere come
combinazione lineare degli elementi della base di V1 :
X
ϕ(x) =
hk ϕ(2x − k)
k
che mostra che la funzione ϕ é raffinabile.
Viceversa ci chiediamo adesso se considerando una funzione di raffinamento
21
é possibile generare una MRA.
Sia ϕ una funzione raffinabile, consideriamo gli spazi generati da essa:
Vj = span {ϕ(2j x − k), k ∈ Z} , j ∈ Z
La condizione che garantisce che {Vj }j∈Z é una MRA di L2 (R) é che sia
verificata l’ipotesi che la famiglia {ϕ(x − k)} sia una base di Riesz per V0 .
Lo spazio Vj+1 contiene “piú” informazioni dello spazio Vj . Sia f una generica
funzione di L2 (R), fj la sua approssimazione in Vj e fj+1 quella in Vj+1 .
L’informazione sulla funzione f , in termini di approssimazione, che perdiamo
nel passare dallo spazio Vj+1 allo spazio Vj
fj+1 − fj = gj
sará una funzione gj che apparterrá ad uno spazio Wj , denominato spazio
complementare di Vj tale che:
Vj+1 = Vj ⊕ Wj
Vj ⊥Wj
Gli spazi Wj vengono anche chiamati spazi dei dettagli mentre i Vj spazi
Vj G
GG
GG
GG
GG
#
Vj−1
Wj−1
GG
GG
GG
GG
G#
Wj−2
Vj−2 ]
Figura 5: MRA
delle approssimazioni.
Ma l’approssimazione fj appartiene allo spazio Vj :
fj ∈ Vj = Vj−1 ⊕ Wj−1
22
allora si ha:
fj = fj−1 + gj−1 =
= fj−2 + gj−2 + gj−1 = ...
= fj−l + gj−l + gj−l+1 + .. + gj−1
Per le condizioni (9), (10) si ottiene che ogni funzione f ∈ L2 (R) si puó
esprimere come:
X
f=
gk
k∈Z
e quindi:
L2 (R) =
M
Wj
Gli spazi Wj , che prendono il nome di spazi wavelet, sono generati da una
funzione ψ:
Wj = span {ψ(2j x − k), k ∈ Z}
Affinché la base {ψ(2j x − k), k ∈ Z, j ∈ Z} sia una base di Riesz per L2 (R)
deve risultare che:
Z
ψ(x)dx = 0
Per tale ragione le funzioni ψ vengono chiamate wavelet.
La wavelet, quindi, é la funzione che genera gli spazi complementari della
Multiresolution Analysis.
Pertanto ogni funzione f appartenente a L2 (R) si potrá esprimere come:
X
f (x) =
ak,j ψ(2j x − k)
k,j
che rappresenta la serie wavelet della funzione f . Consideriamo la funzione
wavelet ψ(x) ∈ W0 , le traslate ψ(2j x − k) generano W0 ma
V1 = V0 ⊕ W0 ⇒ W0 ⊂ V1
quindi
ψ(x) ∈ W0 ⇒ ψ(x) ∈ V1
poiché V1 é generato da {ϕ(2x − k) : k ∈ Z} si ha la seguente two-scale
relation:
X
ψ(x) =
wk ϕ(2x − k)
(11)
k∈Z
23
Analizziamo le proprietá della maschera wk integrando ambo i membri
dell’equazione (11):
Z
X Z
ψ(x)dx =
wk ϕ(2x − k)dx
k
ma:
Z
Z
ϕ(2x − k)dx 6= 0
ψ(x)dx = 0
allora la condizione che i coefficienti wavelet devono soddisfare é che
X
wk = 0
k
Introducendo il simbolo
W (z) =
X
wk z k
k
si ha che
W (1) = 0
quindi il polinomio W (z) é fattorizzabile per (z − 1).
4.1
Legame tra ϕ e ψ
Supponiamo che la funzione ϕ abbia ordine di riproducibilitá polinomiale p
cioé le traslate di ϕ generano polinomi di ordine j = 0, 1, .., p − 1:
X (j)
ak ϕ(x − k)
(12)
xj =
k
Introduciamo le funzioni wavelet ψ, considerando che
Vj = Vj−1 ⊕ Wj−1
Vj−1 ⊥Wj−1
in particolare da V0 ⊥W0 si ottiene che il prodotto interno < ϕ, ψ(· − k) > é
nullo, esplicitamente:
Z
ϕ(x)ψ(x − k)dx = 0
(13)
Moltiplichiamo l’equazione (12) per ψ(x) e integriamo ambo i membri,
ottenendo:
Z
X (j) Z
j
x ψ(x)dx =
ak
ψ(x)ϕ(x − k)dx
k
24
La riproducibilitá polinomiale di ordine p della ϕ implica che:
Z
xj ψ(x)dx = 0, j = 0, 1, .., p − 1
(14)
In tal caso la funzione ψ avrá p vanishing moment.
Teorema 5. Siano {hk } e {wk } reali. Allora dalla condizione di ortogonalitá
tra V0 e W0 segue che:
H(z)W (z −1 ) + H(−z)W (−z −1 ) = 0
(15)
Dimostrazione. Sostituendo nell’equazione (13) alla ψ l’espressione in (11) e
alla ϕ quella in (1) si ottiene:
Z
Z X
X
ϕ(x)ψ(x − l)dx =
hk ϕ(2x − k)
wm ϕ(2x − 2l − m)dx
m∈Z
k∈Z
ponendo 2x−k = t, x = (t+k)/2, dx = dt/2, per la condizione di ortogonalitá
della ϕ:
Z
Z
1XX
ϕ(x)ψ(x − l)dx =
hk wm ϕ(t)ϕ(t + k − 2l − m)dt =
2 k∈Z m∈Z
=
1XX
hk wm δ2l+m−k,0
2 k∈Z m∈Z
con l ∈ Z:
1X
h2l+m wm = 0
2 m
X
h2l+m wm = 0
m
XX
l
h2l+m wm z l = 0
m
Separando i termini con m pari da quelli con m dispari:
XX
XX
h2l+2m w2m z l +
h2l+2m+1 w2m+1 z l = 0
l
m
l
25
m
ponendo l + m = k:
XX
m
k
X
h2k w2m z k−m +
XX
m
k
h2k z k
X
w2m z −m +
m
k
X
k
X
m
h2k+1 z k
k
considerando che
e
X
h2k+1 w2m+1 z k−m = 0
X
w2m+1 z −m = 0
m
1
h2k z k = (H(z) + H(−z))
2
1
w2m z −m = (W (z −1 ) + W (−z −1 ))
2
si ha:
1
1
1
1
(H(z)+H(−z)) (W (z −1 )+W (−z −1 ))+ (H(z)−H(−z)) (W (z −1 )−W (−z −1 )) = 0
2
2
2
2
H(z)W (z −1 ) + H(z)W (−z −1 ) + H(−z)W (z −1 ) + H(−z)W (−z −1 )+
+H(z)W (z −1 ) − H(z)W (−z −1 ) − H(−z)W (z −1 ) + H(−z)W (−z −1 ) = 0
Da qui segue:
H(z)W (z −1 ) + H(−z)W (−z −1 ) = 0.
Dall’equazione (15) segue che W (z) é fattorizzabile per z − 1.
4.1.1
Wavelet ortonormali
Consideriamo le funzioni raffinabili ϕ ortonormali si ha:
H(z)H(z −1 ) + H(−z)H(−z −1 ) = 4
Consideriamo le funzioni raffinabili ψ ortonormali allora:
W (z)W (z −1 ) + W (−z)W (−z −1 ) = 4
26
4.1.2
Metodo Alternative flip
Data una ϕ ortonormale a coefficienti hk si costruisce una ψ ortonormale con
coefficienti wk e simbolo
W (k) = z N H(−z −1 )
Scegliamo i coefficienti della maschera di ψ tali che:
wk = (−1)k hN −k
k = 1, .., N
quindi in termini di simbolo:
W (z) = z N H(−z −1 )
ma
H(z)
= h0 + h1 z + .. + hN z N
H(−z −1 ) = h0 − h1 z −1 + .. + (−1)N hN z −N
allora:
W (z) = (−1)N hN + (−1)N −1 hN −1 z + .. − h1 z N −1 + h0 z N
Dalla condizione di ortonormalitá della ϕ si ottiene:
W (z)W (z −1 ) + W (−z)W (−z −1 ) = 4
Esempio 11. Nel caso della Box function la maschera della ϕ é costituita da h = {1, 1} quella della ψ é w = {1, −1}, la two-scale relation
ψ(x) = ϕ(x) − ϕ(2x − 1). Il simbolo W (z) = (1 − z).
La wavelet corrispondente alla box function prende il nome di wavelet di
Haar. Questo é l’unico caso di wavelet simmetrica e ortogonale.
27
4.1.3
Wavelet biortogonali
Le Wavelet biortogonali costituiscono un’ampia classe di funzioni base che
godono della proprietà di simmetria o antisimmetria. Infatti tutte le basi
ortonormali di Wavelet a supporto compatto, eccetto che la base di Haar,
non posseggono queste proprietà. La simmetria però può essere recuperata,
senza perdere il supporto compatto, se non si richiede l’ortogonalità.
Consideriamo due Multiresolution Analysis di L2 (R), {Vj } e {Vej } generate
rispettivamente da ϕ e da ϕ.
e
Si dice che {Vj } é duale di {Vej } se:
Z
1. ϕ é duale di ϕ
e cioé se ϕ(x)ϕ(x
e − k)dx = δk,0
fj
2. Vej ⊥Wj , Vj ⊥W
Z
e cioé
3. ψ é duale di ψ,
Se ϕ(x) =
X
e − k)dx = δk,0
ψ(x)ψ(x
hk ϕ(2x − k) e se si introducono i simboli, allora
k
• ϕ duale di ϕ
e ⇒
−1
e −1 ) + H(−z)H(−z
e
H(z)H(z
)=4
(16)
fj ⇒
• Vej ⊥Wj , Vj ⊥W
e
e
H(z)W
(z −1 ) + H(−z)W
(−z −1 ) = 0
f (z −1 ) + H(−z)W
f (−z −1 ) = 0
H(z)W
• ψ é duale di ψe ⇒
f (z −1 ) + W (−z)W
f (−z −1 ) = 4
W (z)W
Per costruire una ϕ duale si considera l’espressione del simbolo
N2
N
X
X
k
e
e
H(z) =
hk z e si costruisce H(z) =
hk z k al fine di risolvere il
k=0
k=N1
sistema (16) che equivale a risolvere il sistema di equazioni lineari derivate
P
da:
h2k+le
hl = 2δk,0 .
28
Esempio 12. Data la B-spline lineare trovare la duale a supporto minimo.
Il simbolo in questo caso é
H(z) =
1
1
+ z + z2
2
2
mentre il simbolo della duale sará:
e
H(z)
=
N2
X
e
hk z k
k=N1
Si puó richiedere che gli e
hk siano simmetrici rispetto al centro del supporto:
k = −1
h0e
h2 + h1e
h3 + h2e
h4 = 0
h0 + h1e
h1 + h2e
h2 = 0
k=0
h0e
k = 1 h2e
h0 + h1e
h−1 + h0e
h−2 = 0
k = 2 h2e
h−2 + h1e
h−3 + h0e
h−4 = 0
e
Il caso H(z)
= e
h0 + e
h1 z + e
h2 z 2 non é da prendere in considerazione: l’equazione relativa a k = 0 non é sufficiente per determinare la soluzione (2
incognite in 1 equazione), inoltre si avrebbe che l’equazione relativa a k=1
diventerebbe h2e
h0 = 0.
Allora prendiamo in considerazione il caso
e
H(z)
=e
h−1 z −1e
h0 + e
h1 z + e
h2 z 2e
h3 z 3
considerando la simmetria abbiamo tre incognite: e
h−1 = e
h3 , e
h0 = e
h2 , e
h1 .
Il sistema da risolvere é il seguente:

h2e
h0 + h1e
h−1 = 0



 he
e
0 h2 + h1 h3 = 0
3
X



hk e
hk = 2

k=0
Le prime due equazioni del sistema sono equavalenti per la simmetria. Ma
3
X
e
gli elementi della maschera della ϕ devono soddisfare
hk = 2 affinché
k=−1
l’equazione di raffinamento converga. Quest’ultima equazione viene aggiunta
alle altre due: si ritrova un sistema lineare di tre equazioni in tre incognite,
si risolve e si ottiene la duale.
La duale della B-spline lineare é la Mexican Hat.
29
4.1.4
Vanishing Moment
Teorema 6. Se una funzione ϕ ha p vanishing moment, cioé:
Z
xn ψ(x)dx
n = 0, ..., p − 1
allora W (z) ha una radice di molteplicitá p in z = 1.
Dimostrazione. Determiniamo la trasformata di Fourier della ψ
Z
ψ̂(ω) = ψ(x)e−iωx dx
che in zero coincide con il momento di ordine n = 0, quindi per ipotesi:
Z
ψ̂(0) = ψ(x)dx = 0
Calcoliamo la derivata prima
0
Z
ψ̂ (ω) =
−ixψ(x)e−iωx dx
in zero è nulla in quanto il momento di ordine n = 1 é nullo
Z
0
ψ̂ (0) = −i xψ(x)dx = 0
Calcoliamo la derivata seconda
ψˆ00 (ω) =
Z
x2 ψ(x)e−iωx dx
analogamente, coincidendo con il momento di ordine n = 2, sará nulla in
zero
Z
00
ˆ
ψ (0) = − x2 ψ(x)dx = 0
In generale la derivata di ordine n ∈ N:
Z
n
ˆ
ψ (n) (ω) = (−i)
xn ψ(x)e−iωx dx
sará nulla in zero con n < p
ψˆ(n) (0) = 0
n = 0, ..., p − 1
30
Quindi la consizione sui momenti nulli si trasforma nella condione sull’annullamento della derivata ennesima della trasformata ψ̂.
La two-scale relation in termini di Fourier:
1 1
1
ψ̂(ω) = w( )tψ̂( )
2 2
2
Applicando Leibniz per calcolare la derivata n-esima del prodotto di funzioni
e denotando con c le costanti, si ottiene:
ψ̂
(n)
(ω) = c ·
n X
n
j=0
w
w
wj ( )ψ̂ (n−j) ( )
j
2
2
per induzione su n si verifica che poiché
ψ̂ (n) (0) = 0
per n = 0, .., p − 1
w(n) (0) = 0
per n = 0, .., p − 1
anche
Ma
w(ω) = W (e−iw )
ω = 0 ⇒ e−iw = 1
radice di molteplicitá p. Allora z = 1 é radice di W con molteplicitá p.
31
5
Algoritmo di decomposizione e
ricostruzione
5.1
Formula di decomposizione
Consideriamo lo spazio V0 , come detto in precedenza, é possibile esprimerlo
come somma diretta degli spazi V−1 e W−1
V0 = V−1 ⊕ W−1
dove
V−1
W−1
n x
o
−k , k ∈Z
= span ϕ
2
n x
o
= span ψ
−k , k ∈Z
2
Consideriamo una funzione f ∈ V0
x
X
x
X
f (x) =
ak ϕ
−k +
bk ψ
−k
2
2
in particolare la ϕ(x) ∈ V0 , ma anche le sue traslate, quindi in particolare
ϕ(x − 1) ∈ V0 . Abbiamo due diverse rappresentazioni per ϕ(x − l) con l pari
e l dispari.
Raggruppando le due espressioni delle traslate abbiamo le seguenti formule
di decomposizione:
x
i
x
Xh
− k + bl−2k · ψ
−k
(17)
ϕ(x − l) =
al−2k · ϕ
2
2
Sia f ∈ L2 (R) e sia {Vj } una multiresolution analysis di L2 (R). Per le
proprietá della MRA esisterá uno spazio Vj che contiene la funzione f e dato
che gli spazi sono infiniti non é restrittivo pensare di shiftare la sequenza in
modo tale che
f ∈ V0
Poiché
V0 = V−1 ⊕ W−1
la f si puó pensare come somma di f−1 e g−1
f = f−1 + g−1
f−1 é la proiezione ortogonale (o approssimazione) della funzione f nello
spazio V−1 .
32
g−1 é la proiezione ortogonale (o approssimazione) della funzione f nello
spazio W−1 .
Dato che
f−1 ∈ V−1 = V−2 ⊕ W−2
⇒ f−1 = f−2 + g−2
Sostituendo:
f = f−2 + g−2 + g−1
Fissato L > 0, iterando il ragionamento, si ottiene la rappresentazione di f
in una MRA:
f = f−L + g−L + ... + g−1
Se f ∈ V0 allora si potrá esprimere come
X (0)
f (x) =
ck ϕ(x − k)
Ma
V0 = V−1 ⊕ W−1 ⇒ f = f−1 + g−1
dove:
f−1 (x) =
X
g−1 (x) =
X
(−1)
(−1)
ck
(−1)
dk
(−1)
ϕ
ψ
x
2
x
2
−k
−k
(0)
Determiniamo i coefficienti ck , dk , ck .
Applicando a ϕ la formula di decomposizione (17) che lega ϕ(x − l) con
ϕ( x2 − l) e ψ( x2 − l):
"
#
x
X
x
X (0)
X (0) X
ck ϕ(x − k) =
ck
ak−2m ϕ
−m
bk−2m ψ
−m
2
2
m∈Z
m∈Z
k∈Z
k∈Z
x
XX
x
XX
=
ak−2m ϕ
−m +
bk−2m ψ
−m
2
2
m∈Z k∈Z
m∈Z k∈Z
Abbiamo ottenuto che per m ∈ Z:

X
(0)
(−1)

c
=
ak−2m ck

m

k∈Z
X
(0)
(−1)

d
=
bk−2m ck

m

k∈Z
33
Proseguendo con la rappresentazione di f−2 , f−3 , .., f−L+1 si ottiene in
generale l’algoritmo di decomposizione wavelet o fase di analisi :

X
(−j+1)
(−j)

c
=
ak−2m ck

 m
k∈Z
X
(18)
(−j+1)
(−j)

=
d
b
c

k−2m
m
k

k∈Z
(−1)
d<
yy
y
y
yy
yy
c(0) EE
EE
EE
EE
"
(−2)
d;
ww
w
ww
ww
ww
c(−1)FF
FF
FF
FF
F"
..
(−L)
d=
{{
BB
{
BB
{{
BB {{{
! {
EE
EE
EE
EE
"
. BB
c(−L)
Figura 6: Schema dei coefficienti
5.2
Formule di ricostruzione
Supponiamo adesso di conoscere
f−L , g−L , g−L+1 , ..., g−1
e quindi i coefficienti
c(−L) , d(−L) , .., d(−1)
e di voler determinare c(0) .
Calcoliamo c(−L+1) .
Sappiamo che
f−L+1 = f−L + g−L
34
.
x
−
k
2L−1
k∈Z
X
x
X (−L+1) x
(−L+1)
=
d−L ψ L − k
c−L ϕ L − k +
2
2
k∈Z
k∈Z
f−L+1 =
f−L+1
X
(−L+1)
ck
Utilizzando le two-scale relation:
X
ϕ(x) =
hm ϕ(2x − m)
ϕ
ψ(x) =
X
(19)
(20)
wm ϕ(2x − m)
m∈Z
k∈Z
abbiamo
x
X
X
x
x
ϕ L −k =
hm ϕ 2 L − 2k − m =
hm ϕ L−1 − 2k − m
2
2
2
m∈Z
m∈Z
Ponendo l = 2k + m si ottiene:
X
x
x
hl−2k ϕ L−1 − l
ϕ L −k =
2
2
m∈Z
Analogamente la ψ:
X
x
x
hl−2k ψ L−1 − l
ψ L −k =
2
2
m∈Z
Sostituendo queste ultime due equazioni nella (20) si ottiene:
#
"
X
x
x
X X (−L)
(−L)
f−L+1 =
ck hl−2k ϕ L−1 − l +
dk wl−2k ϕ L−1 − l =
2
2
k∈Z
l∈Z k∈Z
"
#
x
X X (−L)
(−L)
=
ck hl−2k + dk wl−2k ϕ L−1 − l
2
l∈Z k∈Z
Confrontando quest’ultima con (19) i coefficienti di f−L+1 saranno:
X (−L)
(−L)
c−L+1
=
(ck hl−2k + dk wl−2k )
l
Ricorsivamente si ha per j = L − 1, ..., 1 l’algoritmo di ricostruzione o fase
di sintesi :
X (−j)
(−j+1)
(−j)
cl
=
(ck hl−2k + dk wl−2k ) , l ∈ Z
k∈Z
Osservazione
35
Gli
di decomposizione e ricostruzione lavorano sui coefficienti c(0) =
n algoritmi
o
(0)
ck
tale che
X (0)
f (x) =
ck ϕ(x − k)
k∈Z
che si possono ottenere da approssimazioni della funzione f nello spazio V0 .
Nella pratica i coefficienti c(0) si ottengono discretizzando la funzione f su un
certo numero M di punti nell’intervallo di definizione; i valori della funzione
f in quei punti formano il vettore c(0) dei ceofficienti. M deve essere potenza
di due M = 2s .
5.3
Filtri
Filtrare un segnale s vuol dire processare s con una matrice H di Toeplitz.
/H
s
/s
e
Sia H una matrice di Toeplitz generata dai coefficienti {hk }, allora il nuovo
segnale se é la convoluzione tra h e s:
se = h ∗ s
X
sel =
h(l − k)s(k)
k
Il segnale s della figura (2) subisce due operazioni di filtraggio: un filtro
/H
s
/↓2
/ ···
/↑2
/ e
H
/
/s
e
/W
/↓2
/ ···
/↑2
/f
W
Figura 7: Schema di filtraggio analisi/sintesi
passa-basso (low-pass) H e un filtro passa-alto (high-pass) W . Successivamente si applica un operazione di down-samplig, cioé del segnale filtrato si
considerano solo le componenti pari (dispari) in modo tale che la somma delle
36
componenti del segnale filtrato, uno con filtro passa-alto e lo stesso con filtro
passa-basso, coincida con la lunghezza del filtro originale. Si operano altre
variazioni e si applica un’operazione di up-sampling, analogo al down-samplig
ma con una crescita delle dimensioni tramite zeri. Successivamente si applica
e eW
f ottenendo il segnale modificato se.
un operazione di filtraggio inverso H
Se le informazioni tra le operazioni di up-sampling e down-samplig non vengono elaborate alla fine del processo il segnale in uscita se coincide con il
segnale in entrata s e si parla si filtro a perfetta ricostruzione.
In formule
c(−1)
=
m
X
(0)
ak−2m ck
k
m=0
m=1
m=2








  (0)
c0
· · · a0 a1 a2 a33 · · ·
 (0)

· · · a−2 a−1 a0 a1 · · ·   c1
 (0)
· · · a−4 a−3 a−2 a−1 · · · 
c2














Indicando con A la matrice dei coefficienti ak−2m osserviamo che essa é generata da un vettore ed é ottenuta traslando ad ogni riga gli elementi della
precendente di due colonne. Una matrice cosı̀ costruita prende il nome di
matrice di Hurwitz. La matrice A puó essere vista come una matrice di Toeplitz dopo aver compiuto un’operazione di down-samplig (quello che viene
quindi fatto in decomposizione). In ricostruzione é coinvolta invece la trasposta di una matrice di Hurwitz, che puó essere ricondotta ad un operazione
di up-samplig più una matrice di Toeplitz.
In perfetta ricostruzione si ha:
c(0) = H T c(−1) + W T d(−1)
sostituendo:
c(−1) = A · c(0)
d(−1) = B · c(0)
si ottiene:
c(0) = H T Ac(0) + W T Bc(0)
Quindi la condizione di perfetta ricostruzione é:
HT A + W T B = I
37
Nel caso delle funzioni wavelet la condizione di perfetta ricostruzione é verie eB=W
f , dove H
e eW
f sono le matrici
ficata poiché si dimostra che A = H
e
generate da ϕ
e e ψ, duali di rispettivamente di ϕ e ψ.
38
6
Estensione del concetto di wavelet al caso
bidimensionale
Dopo aver trattato l’algortimo di decomposizione wavelet di un segnale introduciamo brevemente il caso bidimensionale, cioé la decomposizione wavelet
di un’immagine che puó essere pensata come una funzione
f (x, y) ∈ L2 (R2 )
Una multiresolution analysis di L2 (R2 ) é una sequenza di sottospazi
{Vj }j∈Z ∈ L2 (R2 ) che soddisfano le seguenti proprietá:
[
1.
Vj = L2 (R2 )
j∈Z
2. L2 (R2 ) =
M
Wj
j∈Z
Per una MRA di L2 (R2 ) separabile, ogni spazio Vj puó essere decomposto
nel prodotto tensoriale di due sottospazi di L2 (R)
Vj = Vjx ⊗ Vjy
La successione di spazi {Vj }j∈Z forma una MRA di L2 (R2 ) se e solo se la
successione di sottospazi di L2 (R) di cui é prodotto tensoriale forma una
multiresolution analysis.
Se ϕ(x) e ϕ(y) generano entrambe una MRA monodimensionale di L2 (R),
allora la scaling function definita come
ϕ(x, y) = ϕ(x)ϕ(y)
genera una MRA di L2 (R2 ).
Con una MRA separabile grande importanza viene data alle direzioni orizzontali e verticali dell’immagine.
Poiché
V1 = V1x ⊗ V1y
ed essendo possibile esprimere sia V1x che V1y come somma diretta di due
sottospazi complementari (lo spazio delle approssimazioni e lo spazio dei
dettagli)
V1x = V0x ⊕ W0x
V1y = V0y ⊕ W0y
39
si ha:
V1 = (V0x ⊕ W0x ) ⊗ (V0y ⊕ W0y ) =
= V0x ⊗ V0y ⊗ V0x ⊗ W0y ⊗ W0x ⊗ V0y ⊗ W0x ⊗ W0y
per cui utilizzando la seguente nomenclatura:
V0 lo spazio V0x ⊗ V0y generato da (ϕ(x − n)ϕ(y − m)), m, n ∈ Z
W01 lo spazio V0x ⊗ W0y generato da (ϕ(x − n)ψ(y − m)), m, n ∈ Z
W02 lo spazio W0x ⊗ V0y generato da (ψ(x − n)ϕ(y − m)), m, n ∈ Z
W03 lo spazio W0x ⊗ W0y generato da (ψ(x − n)ψ(y − m)), m, n ∈ Z
otteniamo
V1 = V0 ⊕ W01 ⊕ W02 ⊕ W03
6.1
Algoritmo di decomposizione
Consideriamo un’approssimazione f0 (x, y) della funzione f (x, y) nello spazio
V0
X
c0i,j ϕ(x − i)ϕ(y − j)
f0 (x, y) =
i,j∈Z
essa puó essere decomposta mediante le seguenti relazioni:
[cij ]k = A[cij ]k+1 AT
[d1ij ]k = A[cij ]k+1 B T
[d2ij ]k = B[cij ]k+1 AT
[d3ij ]k = B[cij ]k+1 B T
dove:
[cij ]k rappresentano i coefficienti della proiezione ortogonale nello spazio Vk
[d1ij ]k rappresentano i coefficienti della proiezione ortogonale nello spazio Wk1
[d2ij ]k rappresentano i coefficienti della proiezione ortogonale nello spazio Wk2
[d3ij ]k rappresentano i coefficienti della proiezione ortogonale nello spazio Wk3
e le matrici A e B sono le matrici di decomposizione utilizzate nel caso monodimensionale.
6.2
Algoritmo di ricostruzione
Se indichiamo con H e W le matrici di ricostruzione che caratterizzano
le two-scale relation per la funzione di raffinamento ϕ e per la wavelet
40
ψ, che sono state utilizzate per la ricostruzione nel precedente algoritmo
monodimensionale, otteniamo:
[cij ]k = H[cij ]k−1 H T +H[d1ij ]k−1 W T +W [d2ij ]k−1 H T +W [d3ij ]k−1 W T
k = −L+1, ..., 0
Queste formule mostrano che nel caso bidimensionale le proiezioni negli spazi Vk , Wk1 , Wk2 e Wk3 possono essere calcolate facendo uso delle trasformate
wavelet monodimensionali lungo le ascisse e le ordinate. La decomposizione
wavelet puó essere cosı́ interpretata come la decomposizione di un segnale in
un insieme di direzioni di canali di frequanze indipendenti, orientati spazialmente.
La componente in Vk rappresenta le frequenze piú basse lungo entrambe le
direzioni orizzontali e verticali
la componente in Wk1 rappresenta le alte frequenze verticali (spigoli orizzontali) e le basse frequenze orizzontali
la componente in Wk2 rappresenta le alte frequenze orizzonatali (spigoli verticali) e le basse frequenze verticali
la componente in Wk3 rappresenta le alte frequenze entrambe le direzioni
orizzontali e verticali (angoli). Nella figura 6.2 é rappresentata, attraverso le
Figura 8: Schema dell’algoritmo di decomposizione bidimensionale a 2 livelli
matrici dei coeffienti, la decomposizione wavelet di un’immagine.
Esempio 13. Come esempio di decomposizione bidimensionale consideriamo
l’immagine lena.jpg in figura 6.2 di dimensione 256x256. Si nota che giá al
primo livello di decomposizione la componente nello spazio V−1 risulta meno
nitida, meno dettagliata dell’immagine iniziale, mentre le componenti wavelet
nelle tre direzioni rappresentano i particolari, contorni, dell’immagine.
Per quanto riguarda la ricostruzione abbiamo preferito evidenziare i contorni dell’immagine annullando, nell’algoritmo di ricostruzione, i coefficienti
della proiezione ortogonale dello spazio delle approssimazioni V−1 , 13.
41
Figura 9: Immagine originale
(a) Proiezione ortogonale
nello spazio V−1
(b) Proiezione ortogonale
1
nello spazio W−1
(c) Proiezione ortogonale
2
nello spazio W−1
(d) Proiezione ortogonale
3
nello spazio W−1
Figura 10: Decomposizione al primo livello
42
Figura 11: Contorni dell’immagine
43