la sapienza elaborazione di dati e segnali biomedici ... · trasformata discreta di fourier...

Post on 15-Feb-2019

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Trasformata discreta di FourierTrasformata discreta di FourierTrasformata discreta di FourierTrasformata discreta di FourierIngegneria Clinica

Corso di Elaborazione di Dati e Segnali Biomedici

Facoltà di Ingegneria

Università di Roma La Sapienza

A.A. 2017-2018

Francesco Infarinato, PhDLaboratorio di Bioingegneria della Riabilitazione

IRCCS San Raffaele Pisana

www.sanraffaele.it

francesco.infarinato@uniroma1.it

www.infarinato.it

Campionamento nel tempo e nella frequenza

Un segnale tempo continuo di durata finita ha TdF con banda infinita,la quasi totalità della densità spettrale di energia spesso è confinata in

una banda limitata

Segnali a banda limitata hanno durata infinitala quasi totalità della loro energia è confinata in un intervallo la quasi totalità della loro energia è confinata in un intervallo

temporale finito

Si consideri il segnale x(t) di durata finita T0 )0(0

Tt <≤Con TdF X(f) di banda finita B (-B<f<B)

Campionando il segnale x(t) con intervallo di campionamento T<1/2B si ottiene la sequenza x(nT), trasformando secondo Fourier si ottiene:

Campionamento nel tempo e nella frequenza

)(1

)(2

Tm

fXT

exfXm

fnTj

n n−∑=∑=

−∞=

−∞

−∞=

π~

Dato che il segnale ha durata finita T0, la sequenza avrà N=T0/T 0, 0

campioni. Posso riscrivere la trasformata così:

fnTjN

n nexfX

π21

0)(

−−

=∑=

~

Campionamento nel tempo e nella frequenza

Se campiono in frequenza con intervallo di campionamento pari a 1/T0 =1/NT otteniamo:

N

knjN

n nexfXX

NT

kfk

π21

0)(

−−

=∑== =

~

)( fX~

~

NT

Xk è periodica di N campioni e può essere definita da Xk di N campioni (ad esempio compresi tra 0 e N-1)

Campionamento nel tempo e nella frequenza

N

knjN

n nexX k

π21

0

−−

=∑=

La sequenza Xk prende il nome di Trasformata discreta di Fourier

DFT (Discrete Fourier Transform)NB: Nella formula non compare T

10 −≤≤ Nk

La relazione che permette di calcolare gli N campioni di xn partendodagli N campioni di Xk prende il nome di

Trasformata discreta di Fourier inversaIDFT (Inverse Discrete Fourier Transform).

N

knjN

k keX

Nxn

π21

0

1∑=

=10 −≤≤ Nn

Campionamento nel tempo e nella frequenza

Tramite la DFT, una sequenza xn con un numero finito di campioni neldominio del tempo viene associata a una sequenza Xk con lo stessonumero di campioninel dominio della frequenza.

La sequenza Xk è periodica di N campioni e contienetuttal’informazione di X(f)trasformata di Fourier continua della xn

Formato della DFT e FFT

Tramite la definizione di DFT, si possono ricavare i legami tra Xk, xn,X(f) e X(Φ):

N

k

NT

kfk XfXexX

N

knjN

n n =Φ= Φ==∑=−−

=)()(

21

0

π

Se N è pari, allora la massima frequenza normalizzata (Nyquist)Φ=1/2 siavrà in corrispondenza del campione k=N/2 della DFTSe, ad esempio, N=8 allora la frequenza di Nyquist corrisponderà alquarto campione.

Inoltre, occorre sottolineare che per la DFT e FFT il periodo va daΦ=0 aΦ= 1-1/N e nonΦ=-1/2 eΦ=1/2

NNTfn n =Φ==0

La rappresentazione circolare

Poiché la sequenza di durata finita xn può essere vista come un periododella sequenza periodica xn e analogamente si dica di Xk e Xk, è utilerappresentare sia xn che Xk con i loro N campioni dispostisu unacirconferenza, in modo che l’ultimo campione n=N-1 preceda ilcampione n=0, cioè il primo.

La rappresentazione circolare

Questa schematizzazione rende chiaro il concetto diritardo circolaredella sequenza xn di durata finita: ritardare la sequenza, ad esempio, di uncampione fa sì che i campioni da n=0 a n=N-2 si spostino ad occupare leposizioni da n=1 a n=N-1 e che il campione in n=N-1 si sposti in n=0

Proprietà della DFT

Nello spazio dei vettori a N componenti complesse si possono introdurrealcune importanti operazioni:

Prodotto: (f · g)(n) = f(n) · g(n),

Traslazione circolare: (Shifta f)(n) = f(‹n − a›N),

Traslazione circolare: (Shifta f)(n) = f(‹n − a›N),

Convoluzione circolare: (f ⊛ g)(n) = ∑ ⟩−⟨−

=

1

0)()(

N

k Nkngkf

Queste operazioni hannoforti analogie con le operazioni su funzioni avariabile complessa, è naturale quindi che la DFT goda diproprietàsimili a quelle della trasformata continua.

Con <s>N resto della divisione intera di s con N

Proprietà della DFT

LinearitàLa DFT della combinazione lineare è la combinazione lineare delle DFT

{ }kk

nn bYaXbyaxDFT +=+SimmetriaLa DFT di un segnale reale gode della simmetria complessa coniugataLa DFT di un segnale reale gode della simmetria complessa coniugata

∗− =

kkXX

~ ~

{ } { }{ } { }

−==

⇒=−

−∗

−kkN

kkN

kkN XX

XXXX

ImIm

ReRe

−≤≤

−≤≤

21

1

12

1

Nk

Nk

conN pari

N dispari

Proprietà della DFT

Valori inizialiDirettamente dalla definizione di DFT si ha:

∑−

=

=1

0

0

N

n nxX

Traslazionecircolare

∑−

=

=1

0

1

0

N

n nX

Nx

TraslazionecircolareLa DFT della sequenza ritardata circolarmente di m campioni yn=xn-m

~

Nmkjk

NmkjNnkjN

nnnmnk

eXeexexexYNkmnjNnkj N

n

N

n

/2/2/21

0

/)(2/2 1

0

1

0

πππ

ππ −−−−

=∑∑ − =

∑===

+−− −

=

=

~

Se il ritardo è uguale a periodo (m=N) allora Yk = Xk

Proprietà della DFT

Convoluzione circolareSiano xn e yn due sequenze di N campioni allora zn che ha come DFT Zk= XkYk è

=∑∑=∑−

=

−−

=

=

=Nnkj

N

k

NmkjN

m

NnkjN

k

eYexeYXkmkkn NN

z/2

1

0

/21

0

/21

0

11 πππ

nnmnmkmyxyxeYx

N

m

N

k

NkmnjN

m N⊗

−=∑=∑∑

=

=

−−

=

=1

0

1

0

/)(21

0

1 π ~

La zn è la convoluzione circolare di xn e yn

Il risultato della convoluzione circolare è equivalente alla ripetizioneperiodica a passo N della convoluzione lineare tra xn e yn cherappresentano un periodo dei segnali xn e yn

~~

Proprietà della DFT

ModulazioneSiano xn e yn due sequenze di N campioni allora Zk che ha come IDFT zn= xnyn è

=∑ ∑=∑ −−

=

=

−−

=

=Nnkj

N

n

NpnjN

p

NnkjN

n

eyeXeyxnpnnk N

Z/2

1

0

/21

0

/21

0

1 πππ

kkpkpnpYXYXeyX

NNN

N

p

N

n

NnpkjN

p

⊗−

=∑=∑∑−

=

=

−−−

=

=111 1

0

1

0

/)(21

0

π~

La DFT Zk è la convoluzione circolare di Xk e Yk diviso N

Proprietà della DFT

Relazione di ParsevalSiano Xk e Yk le DFT di due sequenze di N campioni allora è nota la DFT della zn= xnyn data dalla convoluzione circolare di Xk e Yk divisa per N:

pkpkYXZ

N

pN −∑=

=

1

0

1 ~

pkpk pN −=0

Per la proprietà del valore iniziale

nnppyxYXZ

N

n

N

pN ∑=∑=−

=

= −

1

0

1

0

1

0

~

Proprietà della DFTRelazione di ParsevalInoltre si può scrivere:

∑∑−− 11 22 1 NN

XxE

Se poniamo xn =yn nelle precedenti relazioni:

**1

0

1

0

1

kknnYXyx

N

k

N

n N∑∑−

=

=

=

∑∑==

==00

1

kn knnXxE

N

Cioè. L’energia della sequenza xn può essere calcolata sommando iquadrati della sua DFT diviso N, dividendo ulteriormente per N si ottiene

∑∑−

=

=

==

1

02

1

0

22 11 N

k

N

n knnXxP

NN

Ovvero la potenza della sequenza xn può essere calcolata sommando iquadrati della sua DFT e dividendo per N2

Esempio

Si prenda la sequenza di N=100 campioni )100/2cos( nAxn

π=~

=∑ −⋅==

99

0

)100/2exp()100/2cos(n

nkjnAXk

ππLa DFT di un periodo di xn avrà la seguente formula:~

)(100 += A δδ

Utilizzando la relazione di Parseval per il calcolo della potenza otteniamo:

)(2

100991 −−

+=kk

A δδ

2)

2100(2

1001 2

2

2 21 1

02

AAXP

N

k kn N==∑=

=

Proprietà della DFT

Autocorrelazione circolare di una sequenzaDalla relazione

Si può ricavare:

**1

0

1

0

1

kknnYXyx

N

k

N

n N∑∑−

=

=

=

NmkjeXXxxNN /21 **

11 π∑∑

−−

=~

Questa formula definiscel’autocorrelazione circolare di una sequenza

NeXXxx

kkrmr kr 00

∑∑==

=+

~

[ ] Nmkj

Nm eXR

N

k kx

/21 21

0

π∑

=

=

Dalla formula si evince che la DFT dell’autocorrelazione circolaredi xn èpari a

2

kX

Proprietà della DFT

Cross-correlazione circolare di sequenzeLa cross-correlazione circolare è definita come:

[ ] *1

0 rmrxyyxmR

N

r

∑=−

= +

~

Dalla relazione

Si ottiene la seguente forma:

[ ] Nmkj

Nm eYXR

kkxy

N

k

/21 *1

0

π∑

=

=

Dalla relazione **

1

0

1

0

1

kknnYXyx

N

k

N

n N∑∑−

=

=

=

Applicazioni

Traslazione di un numero non interodi campioni (interpolazione)

Traslare di un numero non intero di campioni una sequenza definita da n (numero intero) campioni non ha senso!

La sequenzax , in realtà è generatacampionandoun segnaletempo-

Aspettate un momento…

La sequenzaxn, in realtà è generatacampionandoun segnaletempo-continuo x(t).Quello che stiamo facendo è descrivere la sequenza:

ττ −==== −nTtnTtn

txtxy )()(

Data la sequenza

nTtntxx

== )(

Applicazioni

Traslazione di un numero non interodi campioni (interpolazione)

Applicando la FT, avremo:

{ }τπfjfXfY 2exp)()( −=

Φ−Φ=Φ

TjXY

τπ2exp)()(

Tf

T 21

21 ≤<−

21

21 ≤Φ<−

PonendoΦ=k/N si ottiene la relazione tra le due DFT.

Attenzione però perchéτ/T non è intero e quindi l’esponenzialecomplessonon è periodico di periodoΦ=1.La formula sarà quindi valida nella banda

e poi andrà ripetuta periodicamente a passoΦ=1. La moltiplicazione per l’esponenziale complesso andrà suddivisa.

T

2/12/1 ≤Φ<−

Applicazioni

Traslazione di un numero non interodi campioni (interpolazione)

−−

=

TN

kjX

TN

kjX

Y

k

k

k τπ

τπ

12exp

2exp2

0N

k ≤≤

112

−≤≤+ NkN

per

per

La sequenza traslata yn si trova applicando la IDFT alla Yk

Durante il calcolo non è stato mai richiesto il passaggio dal dominiodiscreto al continuo. Questo semplifica l’elaborazione del segnale.

Esercizio

Traslazione di un numero non interodi campioni (interpolazione)

Si consideri xn con di 60 campioni (compresi tra -30 e 29)

Esercizio

Traslazione di un numero non interodi campioni (interpolazione)

Poiché xn è reale e pari, Xk sarà reale e pari

Esercizio

Traslazione di un numero non interodi campioni (interpolazione)

La DFT Yk della sequenza anticipata di mezzo campione yn sarà

=21

602exp

kjX

Yk

π 300 ≤≤ kper

−−

=

21

160

2exp

260k

jXY

k

kπ 5931 ≤≤ kper

Per trovare la yn occorrerà calcolare la IDFT della Yk

Esercizio

Traslazione di un numero non interodi campioni (interpolazione)

La sequenza anticipata di mezzo campione yn sarà

Applicazioni

Convoluzione lineare con DFT

Utilizzando la DFT è possibile ottenere la convoluzione lineare di duesequenze di durata finita antitrasformando il prodotto delle trasformatediscrete.

Questa applicazione è utilissima in quanto riduce enormemente i tempi dicalcolo.

Se le sequenze sono lunghe N ed M allora occorrerà aggiungere allesequenze tanti 0 quanto basta per arrivare alla lunghezza dellaconvoluzione lineare (M+N-1)

Esempio

Convoluzione lineare con DFT

Siano xn (N=4) e hn (M=3), la loro convoluzione sarà yn (di 6 campioni)

xn hn

yn

Esempio

Convoluzione lineare con DFT

Aggiungo un campione nullo a xn e due a hn per portarle a 5 campioni

xn hn

Esempio

Convoluzione lineare con DFT

Se antitrasformo il prodotto delle DFT delle due sequenze ottengo unasequenza di 5 campioni, il risultato è diverso da quello atteso a causadella ricopertura di un campione nella periodicizzazione:

yn

Esempio

Convoluzione lineare con DFT

Se antitrasformo il prodotto delle DFT delle due sequenze ottengo unasequenza di 5 campioni, il risultato è diverso da quello atteso a causadella ricopertura di un campione nella periodicizzazione:

yn

Esempio

Convoluzione lineare con DFT

Aggiungo due campioni nulli a xn e tre a hn per portarle a 6 campioni

xn hn

Esempio

Convoluzione lineare con DFT

Se antitrasformo il prodotto delle DFT delle due sequenze ottengo unasequenza di 6 campioni, il risultato ottenuto dalla convoluzione circolaresarà uguale alla convoluzione lineare

yn

Interpolazione in frequenza con zero-padding nel tempo

Dalla definizione della DFT, il legame tra una sequenza di lunghezzafinita xn e la FT della stessa sequenza è dato da:

N

knjN

n nexfXX

NT

kfk

π21

0)(

−−

=∑== =

Più è elevato T0=NT, più i valori di frequenza f=k/NT sono fitti. Vale ilrapporto:

NTTf

11

0

==∆

Interpolazione in frequenza con zero-padding nel tempo

Fissato T, intervallo di campionamento, la durata della sequenza puòessereaumentata a piacereaggiungendoP campioni nullia destra o asinistra di xn questa operazione si chiamazero-padding nel tempo

Se volessi dimezzare l’intervallo di campionamento in f (interpolare diun fattore 2) dovrò aggiungere raddoppiare il numero N di campioni equindi dovrò aggiungere altri N campioni (nulli) alla sequenza xn.

221

21

0

2

fTNT

f∆===∆

Interpolazione nel tempo con zero-padding in frequenza

Operazione duale della precedente, si basa sulla definizione della DFT dix(t) di durata T0 campionato a passo∆t:

N

nTttntn

txtxx 0)()( =∆= ==

Più è largala bandabilateradi frequenzeB occupatadallaDFT Xk, tantoPiù è largala bandabilateradi frequenzeB occupatadallaDFT Xk, tantopiù sono fitti i campioni di xn

0

1TN

tB =

∆=

N

T

Bt o==∆ 1

L’intervallo di campionamento nel tempo vale:

Interpolazione nel tempo con zero-padding in frequenza

Fissato l’intervallo di campionamento in frequenza 1/T0, la bandabilatera di frequenze B può essereaumentata a piacereaggiungendoPcampioni nulli alla Xk questa operazione si chiamazero-padding infrequenzaSe volessi dimezzare l’intervallo di campionamento in t (interpolare diun fattore 2) dovrò bordare Xk con N campioni nulli raddoppiando così labanda bilatera B.

T ∆22

12

0

2

t

BN

Tt

∆===∆

Interpolazione in frequenza con zero-padding nel tempo

NB: durante l’operazione di zero-padding, i campioni aggiunti a Xk nondevono alterare il contenuto in frequenza. Se il segnale è di tipo passa-basso, i campioni nulli andrannoinseriti a cavallo della frequenza diNyquist (a cavallo del k=N/2 campione).

Antitrasformando Xk aggiunta dei P campioni si ottiene una sequenza piùlunga (N+P) che è uguale al segnale x(t) campionato con il nuovo passo,a meno di un fattore moltiplicativoN/(N+P). Dovuto al fattore 1/N inIDFT.

Interpolazione in frequenza con zero-padding nel tempo

Esempio

Interpolazione in frequenza con zero-padding nel tempo

Esempio

Interpolazione in frequenza con zero-padding nel tempo

Esempio

4

4 campioni 4 campioni

8

Poiché N/N+P=1/2 moltiplico per 2 i campioni

Interpolazione in frequenza con zero-padding nel tempo

Esempio

top related