La Sapienza Elaborazione di Dati e Segnali Biomedici ... · Trasformata discreta di Fourier...
Transcript of La Sapienza Elaborazione di Dati e Segnali Biomedici ... · Trasformata discreta di Fourier...
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
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