Propriet¶a e applicazione della FFT - Dipartimento di...

30
Carla Guerrini 1 Propriet´ a e applicazione della FFT Teorema dell’Integrale di Fourier Jean Baptiste Fourier 1768-1830) F (u)= d f (u)= Z -∞ f (t)e -i2πut dt m f (t)= 1 2π Z -∞ d f (u)e i2πut du. (1) Nel caso discreto la T. di Fourier di una funzione f (x), definita nelle ascisse discrete x =0, 1, 2,...,M - e data da F (u)= 1 M M-1 X x=0 f (x)e [-2πuix]/M per u =0, 1, 2,...,M - 1. Il moltiplicatore 1 M a volte ´ e messo davanti alla trasformata oppure davanti alla trasformata inversa, altre volte entrambe le trasformate sono moltiplicate per 1 M , non ha molta importanza il suo valore ci´o che importa ´ e che il prodotto faccia 1 M . ´ E importante sottolineare che la funzione f (x), x =0, 1,...,M - 1 rappresenta M campioni presi da una funzione continua e non ´ e necessario che siano presi per valori interi di x nell’intervallo [0,M - 1], ´ e solo necessario che siano presi in punti equispaziati. Dal punto di vista formale sia x 0 il primo punto localizzato in modo arbitrario, il punto successivo sar´a preso a un fissato intervallo Δx in modo da ottenere f (x 0 x) e per i successivi k-campioni f (x 0 +kΔx) e il campione finale f (x 0 + [M -1]Δx), per cui quando scriviamo f (k) in pratica ci riferiamo a f (x 0 +kΔx). La variabile u ha una interpretazione simile ma la sequenza inizia sempre nello 0. Cos´ ı la sequenza per valori di u ´ e0, Δu, u,..., [M - 1]Δu. Allora F (u) in pratica ha il significato di F (uΔu) per u =0, 1, 2,...,M - 1. Date le relazioni inverse tra una funzione e la sua trasformata non ´ e sorprendente che Δx u siano inversamente relazionate: Δu = 1 M Δx Una delle applicazioni pi´ u frequenti della Trasformata di Fourier (FT) con- siste nel considerare dati spaziali (es. una immagine) e trasformarla in dati frequenza. La FT ´ e semplicemente un metodo per esprimere una funzione (che pu´o esser vista come un punto in un qualche spazio vettoriale di funzioni di dimensione infinita) in termini di somme delle sue proiezioni su un insieme di funzioni base. Poich´ e una immagine ´ e definita solamente su un dominio chiuso e limitato (window image) possiamo assumere che l’immagine sia uguale a zero al di fuori del dominio. In altre parole, possiamo assumere che la funzione im- magine sia integrabile su tutto l’asse reale. Per semplicit´a consideriamo per ora un segnale monodimensionale (per esempio una riga di una immagine, una funzione gradino nera nella met´a destra e bianca nella met´a sinistra). Abbi- amo visto che una funzione gradino pu´o essre rappresentata da una somma di

Transcript of Propriet¶a e applicazione della FFT - Dipartimento di...

Page 1: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

Carla Guerrini 1

Proprieta e applicazione della FFT

Teorema dell’Integrale di Fourier Jean Baptiste Fourier 1768-1830)

F(u) = f(u) =∫ ∞

−∞f(t)e−i2πutdt

m

f(t) =1

∫ ∞

−∞f(u)ei2πutdu. (1)

Nel caso discreto la T. di Fourier di una funzione f(x), definita nelle ascissediscrete x = 0, 1, 2, . . . , M − 1 e data da

F(u) =1

M

M−1∑

x=0

f(x)e[−2πuix]/M

per u = 0, 1, 2, . . . , M − 1. Il moltiplicatore 1M

a volte e messo davanti allatrasformata oppure davanti alla trasformata inversa, altre volte entrambe letrasformate sono moltiplicate per 1√

M, non ha molta importanza il suo valore

cio che importa e che il prodotto faccia 1M

. E importante sottolineare chela funzione f(x), x = 0, 1, . . . ,M − 1 rappresenta M campioni presi da unafunzione continua e non e necessario che siano presi per valori interi di xnell’intervallo [0,M −1], e solo necessario che siano presi in punti equispaziati.Dal punto di vista formale sia x0 il primo punto localizzato in modo arbitrario,il punto successivo sara preso a un fissato intervallo ∆x in modo da otteneref(x0+∆x) e per i successivi k-campioni f(x0+k∆x) e il campione finale f(x0+[M−1]∆x), per cui quando scriviamo f(k) in pratica ci riferiamo a f(x0+k∆x).La variabile u ha una interpretazione simile ma la sequenza inizia sempre nello0. Cosı la sequenza per valori di u e 0, ∆u, 2∆u, . . . , [M−1]∆u. Allora F(u) inpratica ha il significato di F(u∆u) per u = 0, 1, 2, . . . , M −1. Date le relazioniinverse tra una funzione e la sua trasformata non e sorprendente che ∆x e ∆usiano inversamente relazionate:

∆u =1

M∆x

Una delle applicazioni piu frequenti della Trasformata di Fourier (FT) con-siste nel considerare dati spaziali (es. una immagine) e trasformarla in datifrequenza. La FT e semplicemente un metodo per esprimere una funzione (chepuo esser vista come un punto in un qualche spazio vettoriale di funzioni didimensione infinita) in termini di somme delle sue proiezioni su un insieme difunzioni base. Poiche una immagine e definita solamente su un dominio chiusoe limitato (window image) possiamo assumere che l’immagine sia uguale a zeroal di fuori del dominio. In altre parole, possiamo assumere che la funzione im-magine sia integrabile su tutto l’asse reale. Per semplicita consideriamo perora un segnale monodimensionale (per esempio una riga di una immagine, unafunzione gradino nera nella meta destra e bianca nella meta sinistra). Abbi-amo visto che una funzione gradino puo essre rappresentata da una somma di

Page 2: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 2

funzioni seno di frequenza u, 3u, 5u...,dove u e la frequenza dell’onda quadra(frequenza=1/wavelength).

f(x) =

{−1 −π < x < 01 0 < x < π

−π πο 2π

f(x) =4

π(sin(x) +

sin(3x)

3+

sin(5x)

5+ . . .)

−4 −3 −2 −1 0 1 2 3 4−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

−3 −2 −1 0 1 2 3

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

sumk=1sn sin(2k−1)x/(2k−1); sn =5

−4 −3 −2 −1 0 1 2 3 4−1.5

−1

−0.5

0

0.5

1

1.5

approssimazione ottenuta con sn=5 sinusoidi−5u −3u −u 0 u 3u

−500

−400

−300

−200

−100

0

100

200

300

400

500

parte reale fft

ampiezza onda seno−5u −3u −u 0 u 3u

−500

−400

−300

−200

−100

0

100

200

300

400

500

parte immaginaria fft

ampiezza onda seno

Occorre notare che vengono considerate anche frequenze negative per cuila componente sinusoidale di frequenza u e ampiezza A1 viene divisa in duecomponenti di ampiezza A1

2alle frequenze −u e u. Un grafico della ampiezza

delle compenenti di Fourier e chiamato spettro della forma d’onda. Cosa sig-nifica veramente la Trasformata di Fourier?Quando calcoliamo la trasformata di Fourier di un vettore (o di una immagine)trattiamo la variazione di intensita del segnale non come un array ma comeuna funzione. La FT descrive un modo di decomporre una funzione in unasomma di funzioni base ortogonali nello stesso modo con cui decomponiamoun punto in uno spazio Euclideo nella somma delle sue compenenti vettoriali( dati i 3 vettori unitari ortogonali i,j,k, un vettore v = i · x + j · y + k · z),un processo simile viene usato per calcolare la FT di una funzione. Con-cettualmente una funzione possiamo considerarla come un punto in uno spaziovettoriali (benche in questo caso le dimensioni siano infinite) per cui date lefunzioni base ortogonali calcoliamo la componente della nostra funzione lungociascuna funzione base mediante prodotto interno. Le nostre funzioni base{sin(2πux), cos(2πux), u ∈ R} o equivalentemente {e−i2πux, uR}, variando u

Page 3: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 3

su tutto l’insieme dei numeri reali otteniamo una collezione infinita di funzionibase.

−4 −3 −2 −1 0 1 2 3 4−4

−2

0

2

4

−4 −3 −2 −1 0 1 2 3 4−4

−2

0

2

4

−4 −3 −2 −1 0 1 2 3 4−4

−2

0

2

4

−4 −3 −2 −1 0 1 2 3 4−4

−2

0

2

4

la figura alla base e la somma delle tre funzioni.Possiamo comparare la T. di Fourier come un prisma di vetro. Il prisma e unostrumento che separa la luce nelle varie componenti di colore, ciascuna dipen-dente dalla sua lunghezza d’onda (o contenuto di frequenza). La trasformata diFourier puo essere vista come un prisma matematico che separa una funzionenelle varie componenti basate sul contenuto di frequenza. Quando parliamodella luce consideriamo il suo spettro o contenuto di frequenza. Questo con-cetto potente e il cuore del filtraggio lineare.

Page 4: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 4

Esempio: trasformata di Fourier di una box functionConsideriamo due box function definite su M = 1024 punti, f(i) = 1 peri = 1, . . . , k. Nella prima box-function k = 512, nella seconda k = 256. Siosservi come lo spettro sia concentrato intorno al punto di ascissa 512 (e statautilizzata la fftshift che moltiplica f(x) per (−1)x prima di fare la trasformata).

0 200 400 600 800 1000

0

0.5

1

1.5

2

490 500 510 520 530 5400

100

200

300

400

500

600

0 200 400 600 800 1000

0

0.5

1

1.5

2

490 500 510 520 530 5400

100

200

300

400

500

600

Nella Io figura K = 512, nella III k = 256.

Page 5: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 5

0 20 40 60 80 100

0

0.5

1

1.5

2K=8,M=1024,A=1

0 200 400 600 800 10000

5

10

15

20|F(u)|, picco in AK/M

0 20 40 60 80 100

0

0.5

1

1.5

2K=16,M=1024,A=1

0 200 400 600 800 10000

5

10

15

20|F(u)|, picco in AK/M

Nella Io figura K = 8, nella III K = 16. Importante e notare che l’altezzadello spettro raddoppia in corrispondenza del raddoppio dell’area della box, eil numero degli zeri nello spettro nel medesimo intervallo raddoppia quando lalunghezza della funzione raddoppia. Questa natura reciproca della coppia di T.di Fourier e decisamente utile nell’interpretare i risultati dell’image processingnel dominio delle frequenze.

f(x) =

{A se 0 ≤ x ≤ X0 altrove

F(u) =∫ X

0Ae[−2πuix]dx =

−A

2πui[e[−2πix]]X0 =

=−A

2πui[e[−2πuiX] − 1] =

A

2πui[e[πuiX] − e[−πuiX]]e[−πuiX] =

=A

πusin(πuX)e[−πuiX]

Consideriamo lo spettro

|F(u)| = | Aπu

sin(πuX)e[−πuiX]| = AX|sin(πuX)

πuX|

quest’ultima e la funzione sinc.

Page 6: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 6

0 20 40 60 80 1000

2

4

6

8

0 20 40 60 80 1000

2

4

6

8

0 200 400 600 800 10000

20

40

60

80

0 200 400 600 800 10000

20

40

60

80

0 20 40 60 80 1000

2

4

6

8

0 200 400 600 800 10000

20

40

60

80

Page 7: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 7

La FT ha compenenti reali e immaginarie e la forma esponenziale ci per-mette di rappresentare entrambe. La proiezione della funzione data f sullefunzioni base e−i2πux ci fornisce l’ampiezza di Fourier per ciascuna frequenzau:

F(f(x)) = F(u) =∫

f(x)e−i2πωxdx.

In generale F(ω) sara complessa, cioe della forma a(u) + ib(u). In coordinatepolari avremo

F(u) = |F(u)|eiΦ(u),

ove

|F(u)| =√

a2 + b2, e Φ(u) = tan−1(b

a).

|F(u)| e chiamata spettro di f e l’esponente Φ(ω) e detto angolo di fase, mentreil quadrato dell’ampiezza

P (u) = a2(u) + b2(u)

e chiamato potenza dello spettro di f . In molte applicazioni serve conosceresolamente l’ampiezza mentre l’informazione sulla fase viene tralasciata. Neisegnali sonori e nelle immagini la fase contiene informazioni consistenti, infattise per esempio prendiamo i dati di ampiezza da una immagine pere e i dati difase da una immagine di un volto lena si nota che i dati di fase dominano lanostra percezione.

im.da cui prelevo l’ampiezza

50 100 150 200 250

50

100

150

200

250

im.da cui prelevo la fase

50 100 150 200 250

50

100

150

200

250

ampiezza i1 e fase i250 100 150 200 250

50

100

150

200

250

ampiezza i2 fase i150 100 150 200 250

50

100

150

200

250

Page 8: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 8

T. Fourier bidimensionale

F(f(x, y)) = F(u, v) =∫ ∞

−∞

∫ ∞

−∞f(x, y)e[−2πi(ux+vy)]dxdy

F−1(F(u, v)) =∫ ∞

−∞

∫ ∞

−∞F(u, v)e[2πi(ux+vy)]dudv

Il dominio di F(u, v) viene chiamato dominio delle frequenze.

F(u, v) = R(u, v) + iI(u, v)

F(u, v) = |F(u, v)|e[Φ(u,v)]

|F(u, v)| = [R2(u, v) + I2(u, v)]12

questa ultima e chiamata magnitudo o ampiezza o spettro della trasformata diFourier, mentre

Φ(u, v) = tan−1[I(u, v)

R(u, v)]

e chiamato angolo di fase o spettro di fase della trasformata, un’altra quantitache spesso viene utilizzata e lo spettro di potenza definita come il quadratodello spettro di Fourier

P(u, v) = |F(u, v)|2 = R2(u, v) + I2(u, v)

Trasormata Discreta Bidimensionale di Fourier (DFT2) e la suaInversa

Sia f(x, y) una funzione campionata su una griglia di dimensione M × Nla sua trasformata e data da

F(u, v) =1

MN

M−1∑

x=0

N−1∑

y=0

f(x, y)e[−2πi(ux/M+vy/N)]

Come nel caso monodimensionale questa espressione deve essere calcolata pervalori di u = 0, 1, 2, . . . , M−1 e v = 0, 1, 2, . . . , N−1. Similmente data F(u, v)si ottiene f(x, y) tramite la trasformata inversa di Fourier:

f(x, y) =M−1∑

u=0

N−1∑

v=0

F(u, v))e[2πi(ux/M+vy/N)]

per x = 0, 1, . . . , M−1 e y = 0, 1, . . . , N−1, generalmente si considera N = M .Traslazione: Le proprieta di traslazione della coppia di Fourier sono date

da:f(x, y)exp([i2π(u0x + v0y)/N ] ⇔ F(u− u0, v − v0), (2)

ef(x− x0, y − y0) ⇔ F(u, v)e−2iπ(ux0+vy0)/N (3)

ove la doppia freccia indica la corrispondenza tra una funzione e la sua trs-formata di Fourier e viceversa. La (2) mostra che moltiplicando f(x, y) per

Page 9: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 9

l’esponenziale e prendendo la trasformata del prodotto si ottiene uno shiftdell’origine nel piano delle frequenze al punto (u0, v0). Similmente molti-plicando F(u, v) per il termine esponenziale e prendendo la trasformata in-versa viene spostata l’origine nel dominio spaziale in (x0, y0). Se consideriamou0 = v0 = N

2, in questo caso si ha

ei2π(u0x+v0y) = eiπ(x+y) = (−1)x+y

ef(x, y)(−1)x+y ⇔ F(u−N/2, v −N/2).

Cosı l’origine della trasformata di Fourier di f(x, y) puo essere spostata nelcentro delle frequenze del corrispondente quadrato N×N semplicemente molti-plicando f(x, y) per (−1)x+y. Nel caso monodimensionale si riduce a moltipli-care f(x) per (−1)x. E interessante notare che uno shift in f(x, y) non cambial’ampiezza della sua trasformata di Fourier, poiche

|F(u, v)e−i2π(ux0+vy0)/N | = |F(u, v)|.Per questi motivi e pratica comune, quando si processano immagini, di

premoltiplicarle per (−1)x+y (in Matlab si usa fftshift) per avere le frequenzedi maggiore intensita centrate nella figura

F [f(x, y)(−1)x+y] = F(u− M

2, v − N

2).

Allo scopo di garantire che le coordinate del centro della finestra sianointere occorre che M ed N siano pari per cui il centro della trasformata sarau = M

2+ 1 e v = N

2+ 1.

20 40 60 80 100 120

20

40

60

80

100

120

20 40 60 80 100 120

20

40

60

80

100

120

20 40 60 80 100 120

20

40

60

80

100

120

20 40 60 80 100 120

20

40

60

80

100

120

Page 10: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 10

Il valore della trasformata in (u, v) = (0, 0) e:

F(0, 0) =1

MN

M−1∑

x=0

N−1∑

y=0

f(x, y)

che e la media di f(x, y). In altre parole se f(x, y) e una immagine il val-ore della trasformata di Fourier nell’origine eguaglia il livello di grigio mediodell’immagine. Se f(x, y) e reale la sua T. Fourier e simmetrica coniugata, cioe

F(u, v) = F∗(−u,−v)

dove ∗ indica l’operazione standard di coniugio su di un numero complesso, dacui segue

|F(u, v)| = |F(−u,−v)|quindi lo spettro della T. Fourier e simmetrico. Infine abbiamo le seguentirelazioni fra gli intervalli di campionamento:

∆u =1

M∆x

e

∆v =1

N∆y

Proprieta distributiva e di scalaDalla definizione segue immediatamente che

F{f1(x, y) + f2(x, y)} = F{f1(x, y)}+ F{f2(x, y)}

mentreF{f1(x, y) · f2(x, y)} 6= F{f1(x, y)} · F{f2(x, y)}

inoltreaf(x, y) ←→ aF(u, v)

f(ax, by) ←→ 1

|ab|F(u

a,v

b)

Proprieta di Separabilita Sia M = N

F(u, v) =1

N

N−1∑

x=0

N−1∑

y=0

f(x, y)e[−2πi(ux+vyN

)] =

u, v = 0, 1, . . . , N − 1

=1

N

N−1∑

x=0

e[−2πi(uxN

]N−1∑

y=0

f(x, y)e[−2πi( vyN

]

analogamente per

f(x, y) =1

N

N−1∑

u=0

e[2πi(uxN

]N−1∑

v=0

f(x, y)e[2πi( vyN

]

Page 11: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 11

quindi F(u, v) e f(x, y) possono essere ottenute in due passi mediante succes-sive applicazioni della T. Fourier monodimensionale o della sua inversa.

��������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������

Trasformata per righe

N−1

N−1

N−1

N−1

X

Y

v

X

Trasformata per colonne

v

f(x,y)

f(x,y)

F(x,v)

F(u,v)

N−1

N−1

u

Page 12: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 12

RotazioneSe introduciamo le coordinate polari

x = rcos(θ) y = rsin(θ) u = ωcos(φ) v = ωsin(φ)

quindi f(x, y) e F(u, v) diventano f(r, θ) e F(ω, φ) rispettivamente. Si puo di-mostrare direttamente mediante sostituzione sia nel caso discreto che continuo

f(r, θ + θ0) ←→ F(ω, φ + θ0)

Cioe se f viene ruotata di un angolo θ0 allora anche F e ruotata dello stessoangolo.Proprieta di Periodicita

F(u, v) = F(u + N, v) = F(u, v + N) = F(u + N, v + N)

|F(u)|

0−N/2 −N/2

|F(u)|

N−1, N

0 −N/2 N−1

un periodo

Page 13: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 13

Teorema di ConvoluzioneFornisce la piu importante relazione fra il dominio spaziale e il dominio delle

frequenze. La convoluzione di due funzioni f(x) e g(x) e definita dall’integrale

f(x) ∗ g(x) =∫ ∞

−∞f(α)g(x− α)dα

dove α e una variabile dummy di integrazione. Graficamente ha questo signi-ficato

����������

����������

����������

����������

f( )α

1

1 1

1/2

1/2

−1 −1

g(x )−α

x 1−1

f( )

g( )−α

f( )g(x )α −α

x

0<x<1 −αf( )g(x )α 1<x<2

1 xx−1

1/2

1 2

f(x)*g(x)

Nell’esempio

f(x) ∗ g(x) =

x/2 0 ≤ x ≤ 11− x/2 1 ≤ x ≤ 20 altrove

Una applicazione importante e la convoluzione fra f(x) e la funzione impulsoδ(x− x0) definita da

∫ ∞

−∞f(x)δ(x− x0)dx = f(x0)

Page 14: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 14

δ(x − x0) puo essere vista come una funzione avente area pari a 1 in uninfinitesimo intervallo intorno a x0 e zero altrove.Si ha la seguente corrispondenza:

f(x) ∗ g(x) ⇔ F(u) · G(u)

e viceversaf(x) · g(x) ⇔ F(u) ∗ G(u)

Convoluzione discreta

Supponiamo che le funzioni f(x) e g(x) siano state discretizzate e memo-rizzate in due vettori di ampiezza rispettivamente A e B:

{f(0), f(1), . . . f(A− 1)} {g(0), g(1), . . . g(B − 1)}

le rispettive trasformate e le inverse sono funzioni periodiche. Occorre formu-lare il teorema di convoluzione in modo che sia consistente con questa proprietadi periodicita. La convoluzione stessa sara una funzione periodica con un certoperiodo M . Si dimostra in modo immediato che a meno che non prendiamo

M ≥ A + B − 1

i periodi individuali si sovrapporranno, questo overlap viene anche chiamatowraparound error. Si tratta quindi di estendere le due funzioni nel modoseguente:

fe(x) =

{f(x) 0 ≤ x ≤ A− 10 A ≤ x ≤ M − 1

e

ge(x) =

{g(x) 0 ≤ x ≤ B − 10 B ≤ x ≤ M − 1

La convoluzione discreta di fe(x) e ge(x) sara data da

fe(x) ∗ ge(x) =M∑

m=0

fe(m)ge(x−m)

per x = 0, 1, . . . , M − 1.α

1

1

1/2

1

1/2

f(x)*g(x)

1 2

f( ) g( )α

MAA

M

e g (m)f (m)

e

1/2

f (x)*g (x)e e

2M

Page 15: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 15

T 2T−T

h(t) x(t)

A

−T T 2T

h(t) * x(t)

t

Convoluzione fra una funzione impulso e una box.

Teorema di Campionamento

La trasformata di Fourier e il teorema di convoluzione forniscono gli stru-menti per uno studio analitico del problema di ricostruzione di una funzione dadati discreti. Siamo interessati a capire quanti campioni dobbiamo prendere inmodo da non perdere alcuna informazione nel processo di campionamento. Unaltro aspetto di questa domanda e sotto quali condizioni di campionamentouna immagine puo essere pienamente ricostituita da un insieme di valori campi-onati. Supponiamo che la funzione f(x) sia a banda limitata cioe che svaniscaper valori di u al di fuori dell’intervallo [−W,W ]. La trasformata puo apparirecome in figura

Page 16: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 16

f(x)

−W W u

F(u)

xs(x) S(u)

s(x)f(x)

x∆

−1/2 x∆ 1/2 x∆s(x)f(x)

S(x) * F(x)

F(u)*S(x)

f(x) G(u){S(u)*F(u)}=F(u)

∆−1/ x∆

1/ x 1/ x∆ ∆

1/ x

−W W

−W W

Per ottenere una versione campionata di f(x) moltiplichiamo semplicementeper s(x), che e costituito da un treno di impulsi a distanza ∆x. Ora per ilteorema di convoluzione, la moltiplicazione nel dominio reale corrisponde allaconvoluzione nello spazio di Fourier. La trasformata e periodica di periodo 1

∆x

per cui le ripetizioni di F(u) si possono sovrapporre. Ci sara sovrapposizionese il centro della regione di sovrapposizione u = 1

2∆xe inferiore a W . Quindi

per impedire la sovrapposizione occorre che l’intervallo di campionamento siapreso in modo che

∆x ≤ 1

2W(4)

L’importanza di questa operazione sta nel fatto che se moltiplichimo la trasfor-

Page 17: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 17

mata per la funzione

G(u) =

{1 −W ≤ u ≤ W0 altrove

(5)

isoliamo F(u) completamente.Il fatto che una funzione a banda limitata possa essere completamente

ricostituita (recovered) dai suoi campioni la cui spaziatura soddisfa l’equazione(4) e conosciuto come Teorema di Whittaker-Shannon. E importantericordare che tutte le informazioni nel dominio delle frequenze sono contenutenell’intervallo [−W,W ]. Se la condizione (4) non e soddisfatta, la trasformatain questo intervallo e distorta dal contributo dei periodi adiacenti. Questofenomeno viene chiamato aliasing, e preclude una ricostruzione completa dauna immagine sottocampionata. I precedenti risultati si applicano a funzioniche sono di durata illimitata nel dominio x. Poiche questo implica un intervallodi campionamento infinito, e importante esaminare il caso pratico in cui unafunzione e campionata solo in una regione finita. Questa situazione vienemostrata graficamente di seguito, osservando che il campionamento soddisfail teorema per cui non vi e aliasing. Il campionamento su un intervallo finito[0, X] matematicamente viene rappresentato moltiplicando i dati campionatiper una funzione

h(x) =

{1 0 ≤ x ≤ X0 altrove

(6)

questa funzione viene chiamata window e conosciamo gia la sua trasformatadi Fourier. Per cui il risultato finale nel dominio delle frequenze e ottenutoconvolvendo la funzione S(u) ∗ F(u) con H(u). Poiche H(u) ha componentiin frequenza che si estendono all’infinito, la convoluzione di queste funzioniintroduce una distorsione nella rappresentazione di funzioni nel dominio dellefrequenze. Per cui anche se il teorema di Wittaker-Shannon e soddisfattoin generale e impossibile recuperare completamente una funzione che e statacampionata in una regione finita del domino x.

Page 18: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 18

200 400 600 800 1000 1200 1400

500

1000

1500

2000

L’unica eccezione si ha quando f(x) e a banda limitata e periodica conperiodo uguale aX. L’illustrazione grafica di quanto accade e riportata nellafigura seguente, in questo caso si vede che la perturbazione introdotta da H(u)viene cancellata permettendo una completa ricostruzione di f(x), ovviamentese il teorema di campionamento e stato soddisfatto. Occorre notare ancorache la f(x) ricostruita si estende da −∞ a ∞ e non e zero fuori dal rangeindividuato da h(x). Queste osservazioni ci portano a concludere che nessunafunzione di durata finita puo essere a banda limitata. Viceversa una funzionea banda limitata si deve estendere da −∞ a ∞ nel dominio x. Questo eun risultato pratico notevole poiche stabilisce una limitazione importante neltrattamento delle funzioni digitali.

Page 19: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 19

200 400 600 800 1000 1200 1400

200

400

600

800

1000

1200

1400

1600

Occorre ancora sottolineare che tutti i risultati nel dominio delle frequenzesono di natura continua. Per ottenere una trasformata discreta di Fourier noisemplicemente campioniamo la trasformata continua con un treno di impulsidistanti ∆u. La moltiplicazione F(u) per S(u) nel dominio reale corrisponde auna convoluzione (diagramma(e)) Questa funzione risulta periodica di periodo1

∆u. Se si prendono N campioni di f(x) e N di F(u) le spaziature fra i campioni

sono selezionate in modo che un periodo in ciascun dominio sia coperto da Ncampioni uniformemente spaziati, abbiamo quindi che N∆x = X nel dominioreale e N∆u = 1

∆xnel dominio delle frequenze. Segue quindi che

∆u =1

N∆x

che concorda con quanto abbiamo scritto all’inizio.

Page 20: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 20

Per quanto riguarda le funzioni bidimensionali il teorema di campionamentodeve essere soddisfatto per entrambe le variabili, cioe

∆x ≤ 1

2Wx

e ∆y ≤ 1

2Wy

200 400 600 800 1000 1200 1400 1600

100

200

300

400

500

600

700

800

900

1000

G(u, v) =

{1 (u, v) entro uno dei rettangoli0 altrove

Page 21: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 21

200 400 600 800 1000 1200 1400

200

400

600

800

1000

1200

Proprieta Espressione

T. Fourier F(u, v) = 1MN

∑M−1x=0

∑N−1y=0 f(x, y)e[−2πi(ux/M+vy/N)]

Inverse F.T. f(x, y) =∑M−1

u=0

∑N−1v=0 F(u, v)e[2πi(ux/M+vy/N)]

Traslazione f(x, y)e[2πi(u0x/M+v0y/N)] ⇔ F(u− u0, v − v0)

f(x− x0, y − y0) ⇔ Fe[−2πi(u0x/M+v0y/N)]

Differenziazione δnf(x,y)δxn ↔ (iu)nF(u, v)

(−ix)nf(x, y) ⇔ δnF(u,v)δun

Convoluzione f(x, y) ∗ h(x, y) ⇔ F(u, v)H(u, v)f(x, y)h(x, y) ⇔ F(u, v) ∗ H(u, v)

Correlazione f(x, y) · h(x, y) ⇔ F∗(u, v)H(u, v)f ∗(x, y)h(x, y) ⇔ F(u, v) · H(u, v)

Page 22: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 22

Alcune coppie di FT utili

Impulso δ(x, y) ⇔ 1

Filtro Gaussiano A2πσ2e[−2π2σ2(x2+y2)] ⇔ Ae[−(u2+v2)/2σ2]

Rettangolo box[a, b] ⇔ ab sin(πua)πua

sin(πub)πub

e[−πi(ua+vb)]

Coseno cos(2πu0x + 2πv0y) ⇔12[δ(u + Mu0, v + Nv0) + δ(u−Mu0, v −Nv0)]

Seno sin(2πu0x + 2πv0y) ⇔i12[δ(u + Mu0, v + Nv0)− δ(u−Mu0, v −Nv0)]

Teorema di Lebesgue Riemann

Se f(x) ∈ L1(R) cioe ∫

R|f(x)|dx < ∞

f(ω) =∫ ∞

−∞f(x)e−iωxdx

• allora f e una funzione uniformemente continua su R• se esite la derivata prima di f , f ′ e f ′ ∈ L1(R) allora

f ′(ω) = iωf(ω)

• se f(ω) → 0 per ω →∞Si ricava inoltre che se f” esiste e f” ∈ L1(R) allora

f”(ω) = −ω2f(ω)

Page 23: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 23

Elementi di Filtraggio nel dominio delle frequenze

Il filtraggio nel dominio delle frequenze e semplice, e costituito dai seguentipassi:

• si moltiplica l’immagine di input per (−1)x+y per centrare le trasformate,

• si calcola la DFT di f(x,y)

• si moltiplica F(u, v) per una funzione filtro H(u, v),

• si calcola la trasformata inversa del risultato

• si considera solo la parte reale di tale risultato

• si moltiplica il risultato per (−1)x+y

La ragione per cui H(u, v) e chiamata filtro dipende dal fatto che questa fun-zione sopprime certe frequenze nella trasformata mentre altre non le cambia

100 200 300 400

50

100

150

200

250

300

La riga 220 dello spettro di saturno tagliato

Page 24: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 24

0 100 200 300 4000

2

4

6

8

10

12

14

16

18riga dello spettro n= 250

0 100 200 300 4000

2

4

6

8

10

12

14

16

18riga dello spettro tagliato n = 250

100 200 300 400

50

100

150

200

250

300

Page 25: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 25

Elementi di Filtraggio nello spazio realeIl meccanismo di filtraggio spaziale e mostrato in figura

y

x

Image f(x,y)

w(−1,−1)w(−1,0)

w(0,0)

w(1,−1)

w(0,−1) w(0,1)

w(−1,1)

w(1,0) w(1,1)

Consiste nel muovere la maschera contenente il filtro da un punto all’altrodell’immagine, in ciascun punto (x,y), la risposta del filtro e calcolata usandouna relazione predefinita. Nel caso di filtraggio spaziale lineare la risposta edata dalla somma dei prodotti dei coefficienti del filtro e dei corrispondentipixel dell’immagine ricoperti dalla maschera:

R = w(−1,−1)f(x− 1, y − 1) + w(−1, 0)f(x− 1, y) + . . . +

w(0, 0)f(x, y) + . . . + w(1, 0)f(x + 1, y) + w(1, 1)f(x + 1, y + 1)

Per una maschera m × n assumiamo che m = 2a + 1 e n = 2b + 1 dove a e bsono interi non negativi, cioe maschere di appiezza dispari (la piu piccola sara3 × 3) Quindi in generale il filtraggio lineare di una immagine f di ampiezzaM ×N con una maschera filtro m× n e data dall’espressione

g(x, y) =a∑

s=−a

b∑

t=−b

w(s, t)f(x + s, y + s)

quindi il filtraggio lineare e una convoluzione.Esempio: Smoothing Linear Filters

Un tipico filtro lineare smooth e quello che sostituisce al valore del pixel la me-dia dei pixel adiacenti averaging filter questo produce la riduzione dei bruschicambiamenti nei livelli di grigio tipici di immagini con rumore:

1

1 1 11 1 11 1 1

1

16×

1 2 12 4 21 2 1

questa seconda maschera esegue una media pesata, nel senso che a ciascunpixel viene attribuito un peso a seconda della posizione, serve per ridurrealcuni effetti di blurring in certe immagini.

Page 26: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 26

moon originale moon perturbata

filtro averaging 3x3 filtro media pesata

Page 27: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 27

Esempio: Sharpening

L’obiettivo principale in questo caso e di amplificare i dettagli fini cheeventualmente sono stati distrutti dal blurring. Questo e un tipico problemache si incontra nell’indagine su immagini mediche, ispezioni industriali o nellaguida autonoma di sistemi militari. I filtri di tipo sharpening si basano sulladerivata prima e seconda. Le derivate di una funzione digitale sono definitein termini di differenze, esistono molti modi per farlo, per ogni definizione erichiesto che :

• sia nulla su segmenti piatti (aree con livelli di grigio costanti)

• sia diversa da zero all’attacco di un gradino di grigio

• sia diversa da zero lungo rampe (per esempio sfumature nelle immagini)

similmente per la derivata seconda e richiesto che

• sia nulla su aree piatte

• sia diversa da zero all’inizio e alla fine di un gradino di grigio o lungorampe

• sia nulla lungo rampe di pendenza costante

Poiche lavoriamo con quantita digitali il massimo cambiamento possibile sarafinito e la distanza piu piccola su cui puo avvenire il cambiamento e tra pixeladiacenti.La derivata prima sara approssimata da

δf

δx= f(x + 1)− f(x)

La derivata seconda

δ2f

δx2= f(x + 1) + f(x− 1)− 2f(x)

La derivata prima generalmente produce contorni spessi, mentre la derivataseconda ha una risposta piu forte ai dettagli fini come linee sottili o puntiisolati. In genere si e interessati a filtri isotropici il cui responso non dipendedalla direzione della discontinuita , cioe sono invarianti per rotazione. Il filtroisotropico piu semplice e il Laplaciano:

∇2f =δ2f

δx2+

δ2f

δy2

L’implementazione digitale del laplaciano sara quindi

∇2f = [f(x + 1, y) + f(x− 1, y)− 4f(x, y)+

+f(x, y + 1) + f(x, y − 1)]

Page 28: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 28

Questa equazione puo essere implementata usando una delle seguenti maschere

0 1 01 −4 10 1 0

;

0 −1 0−1 4 −10 −1 0

Possiamo osservare che individuare i contorni di una immagine equivale ad in-dividuare i punti e le linee di discontinuita di una funzione. I metodi impiegatifanno riferimento generalmente all’impiego di maschere di piccole dimensioni.Siano w1, w2, . . . , w9 i coefficienti di una maschera 3× 3

w1 w2 w3

w4 w5 w6

w7 w8 w9

(7)

e siano x1, x2, . . . , x9 i livelli di grigio dei pixel intercettati dalla mascheraquando la maschera e situata in una posizione arbitraria nell’immagine. Icoefficienti e i corrispondenti livelli di grigio possono essere espressi in vettoricolonna:

w =

w1

w2...w9

, x =

x1

x2...x9

;

allora si calcola x′ ∗ w. In pratica quando si e interessati a una risposta fortesi dice che un punto isolato e fortemente differente dal background se

|x′ ∗ w| > T

ove T e una soglia non negativa. Il valore di T stabilisce il livello di grigioche riteniamo significativo o particolare per quella immagine. Le maschereseguenti sono degli esempi per individuare punti particolari.

1 1 11 −8 11 1 1

;

−1 −1 −1−1 8 −1−1 −1 −1

Per individuare invece delle linee si possono utilizzare le maschere seguenti:

−1 −1 −12 2 2−1 −1 −1

;

−1 −1 2−1 2 −12 −1 −1

;

−1 2 −1−1 2 −1−1 2 −1

;

2 −1 −1−1 2 −1−1 −1 2

Page 29: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 29

moon originale moon perturbata

moon filtrata con laplaciano 1 moon filtrata con laplaciano 1

Data una immagine perturbata g(x, y), un modo per ricostruire l’riginalef(x, y) consiste nel sottrarre il Laplaciano o un multiplo del Laplaciano:

f(x, y) = g(x, y)− k∇2g(x, y);

ove k e uno scalare scelto dall’utente. In Matlab si puo perturbare una im-magine utilizzando la function imnoise (vedi manuale...

= imnoise(I,type,parameters) Depending on type, you can specify

additional parameters to imnoise. All numerical parameters are

normalized; they correspond to operations with images with

intensities ranging from 0 to 1.

J = imnoise(I,’gaussian’,m,v) adds Gaussian white noise of mean m

and variance v to the image I. The default is zero mean noise with

0.01 variance.

J = imnoise(I,’localvar’,V) adds zero-mean, Gaussian white noise of

local variance V to the image I. V is an array of the same size as

I.

J = imnoise(I,’poisson’) generates Poisson noise from the data

instead of adding artificial noise to the data. If I is double

precision, then input pixel values are interpreted as means of

Poisson distributions scaled up by 1e12.

Page 30: Propriet¶a e applicazione della FFT - Dipartimento di ...guerrini/html/an_10_11/SOFTWARE/fourier_III.pdf · delle compenenti di Fourier ¶e chiamato spettro della forma d’onda.

19/04/2011 30

J = imnoise(I,’salt & pepper’,d) adds salt and pepper noise to the

image I, where d is the noise density. This affects approximately

d*numel(I) pixels. The default for d is 0.05.

J = imnoise(I,’speckle’,v) adds multiplicative noise to the image I,

using the equation J = I+n*I, where n is uniformly distributed

random noise with mean 0 and variance v. The default for v is 0.04.

Ci sono casi in cui il rumore e relativamente semplice da eliminare peresempio quando consiste in punti isolati che contrastano con i punti vicini (peresempio ’salt pepper noise’). Si puo tentare di individuare i punti di rumoreconfrontando ciascun livello di grigio del pixel con il livello dei punti vicinie classificarlo come un noise pixel quando il suo livello supera o e inferiore atutti gli altri. La rimozione del noise pixel puo avvenire rimpiazzandolo usandol’interpolazione o con la media dei pixel confinanti.

Un articolo interessante scritto per ricordare i 50 anni del teorema di cam-pionamento e reperibile sul web, piu precisamente:Prolog to Sampling-50 Years After Shannon, An introduction to the paper byUnser,

http://bigwww.epfl.ch/publications/odonnell0001.html

Michael Unser (fellow IEEE), Sampling-50 Years After Shannon (2000)

http://bigwww.epfl.ch/publications/unser0001.html