07.06.2013 Views

Trasformata Discreta di Fourier 1

Trasformata Discreta di Fourier 1

Trasformata Discreta di Fourier 1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7.<strong>Trasformata</strong> <strong>di</strong>screta <strong>di</strong> <strong>Fourier</strong><br />

7.0 Introduzione<br />

Nel capitolo 6 sono state prese in esame la definizione e le<br />

proprietà della trasformata <strong>di</strong>screta nel tempo <strong>di</strong> <strong>Fourier</strong> :<br />

X(ejω ), essendo ω una variabile continua nel dominio della<br />

frequenza:<br />

∞<br />

jω−jωn X( e ) = ∑<br />

x( n) e<br />

n=−∞<br />

La trasformata <strong>di</strong> <strong>Fourier</strong> è molto utile per analizzare una<br />

grande varietà <strong>di</strong> segnali e sistemi <strong>di</strong> interesse teorico.<br />

*****************************************************************************************************************************************************<br />

La pulsazione <strong>di</strong>screta nel tempo ω [rad] e la pulsazione continua nel tempo Ω<br />

[rad/sec] sono legate da: ω=ΩT o Ω= ω/T<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 1


Però la maggior parte delle elaborazioni pratiche dei segnali<br />

<strong>di</strong>gitali è fatta con i computer dove:<br />

• non si può operare con ω continua nella frequenza<br />

• e<br />

∞<br />

jω−jωn X( e ) = ∑<br />

x( n) e<br />

n=−∞<br />

• non si può dare in ingresso o memorizzare una sequenza<br />

<strong>di</strong> durata infinita x(n).<br />

*****************************************************************************************************************************************************<br />

La pulsazione <strong>di</strong>screta nel tempo ω [rad] e la pulsazione continua nel tempo Ω [rad/sec] sono legate da:<br />

ω=ΩT o Ω= ω/T<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 2


Quin<strong>di</strong> in generale per le sequenze <strong>di</strong> dati reali non si può calcolare<br />

la trasformata <strong>di</strong> <strong>Fourier</strong>, definita per segnali x teorici, per cui<br />

occorre definire una nuova trasformata nota come:<br />

la <strong>Trasformata</strong> <strong>Discreta</strong> <strong>di</strong> <strong>Fourier</strong> DFT,<br />

definita per un segnale con un numero N limitato <strong>di</strong> campioni;<br />

x(n), nelle frequenze ω k con k=1,2,…,N uniformemente<br />

<strong>di</strong>stanziate intorno al cerchio unitario.<br />

Questa trasformata largamente usata, è invertibile e presenta<br />

ulteriori utili proprietà.<br />

In particolare la moltiplicazione <strong>di</strong> due DTF corrisponde alla<br />

convoluzione delle relative sequenze nel dominio del <strong>di</strong>screto, ma<br />

questa è una convoluzione circolare e deve essere valutata in<br />

maniera appropriata.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 3


I meto<strong>di</strong> più pratici dell’analisi spettrale sono basati sulla DFT,<br />

sia <strong>di</strong>retta che inversa.<br />

Esistono algoritmi veloci per il loro calcolo, in particolare:<br />

• l’algoritmo della trasformata veloce <strong>di</strong> <strong>Fourier</strong> Fast <strong>Fourier</strong><br />

Transform FFT e<br />

• gli algoritmi della convoluzione veloce basati sulla FFT che<br />

possono essere usati per implementare i filtri FIR.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 4


7.1 Derivate proprietà della DFT<br />

Data la sequenza x(n) per tutti i valori <strong>di</strong> n, la sua trasformata <strong>di</strong>screta nel<br />

tempo <strong>di</strong> <strong>Fourier</strong> (DTFT) è data dalla espressione<br />

∞<br />

jω − jnω<br />

X '( ω)<br />

= X( e ) = ∑ x( n) e . (7.1.1)<br />

n=−∞<br />

(si noti che la sommatoria è estesa ad un numero infinito <strong>di</strong> termini).<br />

Se dunque si prendono solo N campioni x(n) per n = 0,1, 2, 3,….,N-1,<br />

e si calcolano solo N campioni <strong>di</strong> X’(ω) per ω=kω0 e per K=0, 1,2,…, N-1,<br />

con:<br />

2 π<br />

ω 0 = , (7.1.2)<br />

N<br />

Si definisce la trasformata <strong>di</strong>screta DFT nella forma<br />

N−1 N−1 2π N 1<br />

2π<br />

− jnk − ⎛ − j ⎞<br />

− jnkω X N N<br />

N k 0 = ∑xne = ∑ xne = ∑<br />

xn⎜e⎟ ⎜ ⎟<br />

n= 0 n= 0 n=<br />

0 ⎝ ⎠<br />

0<br />

' ( ω ) ( ) ( ) ( ) , (7.1.3)<br />

(si noti che la sommatoria è estesa ad un numero finito <strong>di</strong> termini N).<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 5<br />

nk


o nella notazione più conveniente:<br />

-1 2<br />

nk<br />

N ⎛ π<br />

- j ⎞<br />

N-1<br />

N<br />

kn<br />

X ' N ( kω0) = x( n) ⎜e ⎟ = X% ( k) = x( n) W , k = 0, 1, ..., N -1 , (7.1.4)<br />

⎜ ⎟<br />

n= 0 ⎝ ⎠<br />

n=<br />

0<br />

dove : W= e<br />

∑ ∑<br />

2π<br />

- j<br />

N<br />

Questa è la definizione della <strong>Trasformata</strong> <strong>di</strong>screta <strong>di</strong> <strong>Fourier</strong> DFT.<br />

Risulta ragionevole pensare che ciascuna trasformata DFT sia invertibile, poiché<br />

N campioni <strong>di</strong> x(n) generano N campioni <strong>di</strong> X% ( k)<br />

.<br />

Così la Trasfomata inversa della DFT é data da:<br />

N-1 1<br />

-kn<br />

x(n)= % ∑ X(k)W % , n=0,1,...,N-1 (7.1.6)<br />

N<br />

k=0<br />

dove xn % ( ) = x(n) nell’intervallo n=0,1,…N-1.<br />

Questa relazione è facilmente <strong>di</strong>mostrabile sostituendo la (7.1.4) nella (7.1.6).<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 6


Infatti essendo:<br />

2π<br />

nk<br />

N-1 ⎛ -j ⎞<br />

N-1<br />

N<br />

∑ ∑<br />

kn<br />

X' N(kω 0)=<br />

x(n) ⎜e ⎟ = X(k) % = x(n)W , k=0, 1, ...,N-1 , (7.1.4)<br />

⎜ ⎟<br />

n=0 ⎝ ⎠<br />

n=0<br />

2π<br />

-j<br />

N<br />

dove : W= e<br />

sostituendo l’espressione <strong>di</strong> X% ( k)<br />

nella relazione della antitrasformata:<br />

N-1 N-1 N-1<br />

1 -kn 1 ⎛ kn ⎞ -kn<br />

x(n)= % ∑X(k)W % = ∑ x(n)W W , n=0,1,...,N-1 (7.1.6)<br />

N k=0 N<br />

⎜∑ ⎟<br />

k=0 ⎝n=0 ⎠<br />

si verifica che xn % ( ) = x(n)<br />

La durata finita della sequenza <strong>di</strong> campioni fa sorgere dei problemi:<br />

nel mettere in relazione xn % ( ) con x(n) per tutti gli n e anche<br />

nel mettere in relazione X% ( k)<br />

con X’(ω),<br />

ma la DFT è invertibile.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 7


Proprietà della DFT<br />

Le proprietà delle DFT sono analoghe a quelle della trasformata z e della<br />

DTFT con alcune interessanti e importanti <strong>di</strong>fferenze.<br />

In particolare gli sfasamenti e le convoluzioni relative alla DFT sono circolari.<br />

Per le proprietà delle DTFT, si utilizzerà il simbolo ↔ per in<strong>di</strong>care una<br />

corrispondenza duale <strong>di</strong> DFT.<br />

Linearità<br />

Bx% ( n) + Cx% ( n) ↔ BX% ( k) + CX% ( k)<br />

(7.1.7)<br />

1 2 1 2<br />

con B e C costanti arbitrarie, assumendo che entrambe le sequenze x1 ( n)<br />

e<br />

abbiano la stessa lunghezza N (se non sono della stessa lunghezza, una o<br />

entrambe le sequenze possono essere zero-padded prima <strong>di</strong> sommarle come si<br />

vedrà nel paragrafo successivo)<br />

% x2 ( n)<br />

%<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 8


Premessa<br />

Per poter correlare i campioni in numero limitato sarà usato un operatore matematico<br />

detto modulo N , che consente <strong>di</strong> utilizzare per la convoluzione circolare gli in<strong>di</strong>ci<br />

dei soli campioni <strong>di</strong>sponibili, come si vedrà in dettaglio per la convoluzione<br />

circolare:<br />

(r) mod N = r ± i N per i intero = 0÷N-1, tale che sia 0≤(r) modN


Ritardo<br />

~ ( ) W<br />

m n x ↔ −<br />

mod N<br />

km<br />

X (k)<br />

~<br />

(7.1.8)<br />

dove l’operatore modulo N implica (r)mod N = r±iN per i intero, così che<br />

0≤(r) modN


Convoluzione<br />

~ ~ ~<br />

X ( k)<br />

= X ( k)<br />

X<br />

0<br />

1<br />

2<br />

( k)<br />

é il prodotto <strong>di</strong> due DFT <strong>di</strong> lunghezza N.<br />

(7.1.10)<br />

Ci si aspetta che questo corrisponda alla convoluzione <strong>di</strong> ~ x 1( n)<br />

e ~ x2<br />

( n)<br />

, e la<br />

convoluzione comporta una inversione temporale e uno sfasamento <strong>di</strong> una<br />

delle sequenze. Quin<strong>di</strong> poiché nelle DTF gli sfasamenti sono circolari,<br />

~ x 0( n)<br />

sarà dato da:<br />

~ x<br />

( n)<br />

0<br />

1<br />

= ∑<br />

0<br />

− N<br />

m=<br />

~ x ( m)<br />

~ x ( n − m)<br />

1<br />

2<br />

mod N<br />

,<br />

0,1,..., N -1<br />

(7.1.11)<br />

Questa è chiamata convoluzione circolare, essa è <strong>di</strong>versa dalla convoluzione<br />

lineare che si ottiene dalla moltiplicazione delle trasformate z oppure delle<br />

DTFT.<br />

(Per esempio in figura 7.1 si mostra che la convoluzione circolare <strong>di</strong> due<br />

impulsi quadrati a e b risulta circolarmente sovrapposta e coincide con un<br />

impulso triangolare sovrapposto come in figura 7.1 c.)<br />

n<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 11<br />

=


Figure 7.1 Convoluzione circolare <strong>di</strong> sequenze <strong>di</strong> N punti delle sequenze (a) e (b) e della sequenza<br />

risultante (c)<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 12


Esempio <strong>di</strong> generazione dei campioni della convoluzione circolare (fig 7.1)<br />

(r) modN = r±iN 0≤ (r) modN


(r) modN = r±iN 0≤ (r) modN


Convoluzione lineare<br />

La convoluzione <strong>di</strong> due funzioni continue f(t) ed h(t) è matematicamente definita<br />

come:<br />

Questo tipo <strong>di</strong> operatore matematico risulta particolarmente utile nello stu<strong>di</strong>o della<br />

risposta temporale <strong>di</strong> sistemi lineari e tempo invarianti sollecitati con un qualsiasi<br />

segnale <strong>di</strong> ingresso e per i quali sia nota la risposta all’impulso.<br />

La funzione g(n) risulta quin<strong>di</strong> l’uscita <strong>di</strong> un sistema caratterizzato da una risposta<br />

all’impulso pari ad h(t) e sollecitato in ingresso con un segnale f(t).<br />

Risposta all’impulso<br />

+ ∞<br />

∫<br />

−∞<br />

g(<br />

n)<br />

= f ( t)<br />

∗ h(<br />

t)<br />

= f ( t)<br />

⋅ h(<br />

t −τ<br />

) dτ<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 15


Se si considera la funzione f(t) non continua ma campionata con una<br />

spaziatura temporale pari a ∆t, la funzione f(t) sarà rappresentabile con una<br />

serie <strong>di</strong> impulsi <strong>di</strong> ampiezza pari al valore assunto dalla funzione stessa<br />

nell’istante <strong>di</strong> campionamento.<br />

Ognuno <strong>di</strong> questi impulsi genera in uscita una risposta simile alla funzione h(t)<br />

caratterizzante il sistema, ma <strong>di</strong> ampiezza pari al valore assunto dalla funzione<br />

stessa nell’istante <strong>di</strong> campionamento.<br />

Poiché il sistema è lineare, si ha che il valore dell’uscita ad un certo istante t 0<br />

sarà dato dalla somma dei valori assunti, in quello stesso istante, dalle risposte<br />

del sistema a tutti gli impulsi applicati in precedenza:<br />

n=<br />

+∞ n=<br />

+∞<br />

n=<br />

+∞<br />

= ∑ 0 ) gn<br />

0 ∑ n n 0 ∑<br />

n=<br />

−∞ n=<br />

−∞<br />

n=<br />

−∞<br />

( t ) = f ( t ) ⋅ h(<br />

) = f ( t ) ⋅ h(<br />

t t )<br />

g( t<br />

τ<br />

−<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 16<br />

n<br />

n<br />

0<br />

n


In un istante generico t si avrà che:<br />

n<br />

= ∑ +∞ =<br />

n=<br />

−∞<br />

( t ) ⋅ h(<br />

t t )<br />

g( t)<br />

f −<br />

n<br />

Facendo tendere a zero ∆t=t-t n , la funzione f(t) <strong>di</strong>venta continua e<br />

l’equazione si trasforma nell’espressione della convoluzione <strong>di</strong> due<br />

funzioni continue f(t) e h(t) con la sostituzione dell’operatore integrale<br />

all’operatore sommatoria e l’introduzione <strong>di</strong> una variabile fittizia per<br />

l’integrazione.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 17<br />

n


Esempio <strong>di</strong> convoluzione lineare <strong>di</strong> due segnali<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 18


Nei sistemi <strong>di</strong>gitali, i segnali vengono rappresentati sotto forma <strong>di</strong> sequenze<br />

<strong>di</strong> lunghezza finita e la convoluzione <strong>di</strong> due sequenze é definita nella<br />

forma :<br />

∑ ∞ +<br />

m=<br />

−∞<br />

g( n)<br />

= f ( m)<br />

⋅ h(<br />

n − m)<br />

- ∞ ≤ n ≤ ∞<br />

f(m) sequenza <strong>di</strong> ingresso definita per - ∞≤ m ≤∞<br />

h(m) sequenza descrittiva della risposta all’impulso del sistema in esame per<br />

- ∞ ≤ m ≤ ∞<br />

La determinazione dei valori assunti dai vari campioni della funzione g(n)<br />

può essere effettuata attraverso i seguenti quattro passi:<br />

1) Riflessione della sequenza h(m) intorno all’asse delle or<strong>di</strong>nate <strong>di</strong> tutti i<br />

valori, per ottenere la funzione h(-m)<br />

2) Traslazione della sequenza h(-m) verso il valore n desiderato per ottenere<br />

così la sequenza h(n-m)<br />

3) Esecuzione <strong>di</strong> tutti i prodotti f(m)·h(n-m), campione, per un determinato<br />

valore <strong>di</strong> n<br />

4) Somma <strong>di</strong> tutti i prodotti sull’in<strong>di</strong>ce m al fine <strong>di</strong> ottenere il valore della<br />

funzione g(n) relativo ad un determinato valore dell’in<strong>di</strong>ce n.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 19


Quin<strong>di</strong> nella convoluzione lineare<br />

l'operazione base comporta che f(n) sia<br />

moltiplicato per h(m) invertito e<br />

traslato linearmente, per poi sommare i<br />

valori dei prodotti.<br />

Per ottenere i valori successivi della<br />

sequenza che rappresenta la<br />

convoluzione, le due sequenze sono<br />

successivamente traslate l'una rispetto<br />

all'altra.<br />

Come esempio si considerino le due<br />

sequenze riportate in tabella <strong>di</strong><br />

lunghezza N=8:<br />

In figura sono graficamente illustrate le<br />

fasi <strong>di</strong> calcolo del prodotto <strong>di</strong><br />

convoluzione.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 20<br />

m<br />

h(m)<br />

f(m)<br />

0<br />

8<br />

5<br />

1<br />

7<br />

5<br />

2<br />

6<br />

5<br />

3<br />

5<br />

5<br />

4<br />

4<br />

0<br />

5<br />

3<br />

0<br />

6<br />

2<br />

0<br />

7<br />

1<br />

0


La sequenza così<br />

ottenuta, <strong>di</strong> lunghezza<br />

pari a:<br />

N 1+N 2-1=15,<br />

assumerà i valori<br />

riportati nella seguente<br />

tabella.<br />

Quella così definita<br />

viene chiamata:<br />

convoluzione lineare<br />

e, per sequenze <strong>di</strong><br />

lunghezza <strong>di</strong>versa N 1 ed<br />

N 2 fornirà una sequenza<br />

<strong>di</strong> campioni N 1+N 2-1.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 21<br />

n<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

g(n)<br />

40=(8*5)<br />

75=(40+35)<br />

105=(75+30)<br />

130=(75+25)<br />

110<br />

90<br />

70<br />

50<br />

30<br />

15<br />

5<br />

0<br />

0<br />

0<br />

0


Convoluzione circolare<br />

Se le sequenze presentano un numero <strong>di</strong> campioni finito la convoluzione può<br />

essere calcolata me<strong>di</strong>ante l’operatore della DFT inversa. Questo calcolo è noto<br />

come convoluzione circolare per la perio<strong>di</strong>cità dell’operatore DTF, infatti, la<br />

trasformata <strong>di</strong> una sequenza temporale <strong>di</strong>screta, perio<strong>di</strong>ca e lunghezza finita è<br />

anch’essa perio<strong>di</strong>ca nel dominio della frequenza.<br />

La convoluzione circolare <strong>di</strong> due sequenze <strong>di</strong>screte e perio<strong>di</strong>che <strong>di</strong> periodo N è<br />

data da:<br />

g(<br />

n)<br />

=<br />

∑ − N 1<br />

m=<br />

0<br />

f ( m)<br />

⋅ h(<br />

n − m)<br />

0 ≤ n<br />

con g(n) anch’essa perio<strong>di</strong>ca <strong>di</strong> periodo N.<br />

Dal punto <strong>di</strong> vista sia rappresentativo che computazionale, è molto <strong>di</strong>ffuso in<br />

questo contesto l’utilizzo dei registri circolari.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 22<br />

≤<br />

N −1


Quin<strong>di</strong> per la convoluzione circolare dove il numero dei campioni é<br />

limitato, si può immaginare <strong>di</strong>:<br />

• riportare la I° sequenza <strong>di</strong> N punti esatti, intorno alla circonferenza della<br />

base <strong>di</strong> un cilindro in senso orario.<br />

• La II° sequenza <strong>di</strong> N punti, invertita rispetto al tempo, viene anch'essa<br />

riportata sulla circonferenza della base <strong>di</strong> un cilindro in senso antiorario.<br />

Se si immagina <strong>di</strong> mettere uno dei due cilindri all'interno dell'altro, i<br />

successivi valori nella convoluzione possono essere ottenuti<br />

moltiplicando i valori sul primo cilindro per i corrispondenti valori sul<br />

secondo cilindro e facendo poi la somma dei prodotti risultanti.<br />

Per generare i valori successivi della convoluzione, si ruota ogni volta un<br />

cilindro rispetto all'altro <strong>di</strong> una posizione corrispondente allo sfasamento<br />

tra due punti.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 23


Restano sempre valide le modalità <strong>di</strong> calcolo descritte per la convoluzione<br />

lineare, per cui il caricamento <strong>di</strong> questi registri:<br />

• si effettua partendo da una prefissata posizione iniziale e caricando, secondo<br />

il verso orario, gli N campioni della sequenza f(n) ed<br />

• in modo antiorario quelli della sequenza h(n) ottenendo in pratica la<br />

h(-n), come illustrato nella figura dell’esempio riportato <strong>di</strong> seguito.<br />

Il primo valore <strong>di</strong> g(n) si ottiene eseguendo il prodotto tra i campioni in<br />

corrispondenza ra<strong>di</strong>ale nei due registri circolari e sommando poi tutti i<br />

prodotti.<br />

Per ottenere il secondo valore <strong>di</strong> g(n) è necessario prima far ruotare in<br />

senso orario il registro interno corrispondente alla sequenza h(n), e poi<br />

effettuare la somma dei prodotti tra i campioni ra<strong>di</strong>almente corrispondenti,<br />

si prosegue in questo modo fino a quando il registro interno non avrà<br />

effettuato una rotazione completa.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 24


Esempio <strong>di</strong> convoluzione circolare<br />

Siano date le sequenza f(n) h(n) riportate in tabella:<br />

n<br />

f(n)<br />

h(n)<br />

g(n)<br />

0<br />

5<br />

0.64<br />

4.49<br />

1<br />

5<br />

0.32<br />

5.42<br />

2<br />

5<br />

0.16<br />

5.90<br />

3<br />

2<br />

0.08<br />

4.22<br />

4<br />

2<br />

0.04<br />

3.38<br />

5<br />

2<br />

0.02<br />

2.96<br />

6<br />

2<br />

0.01<br />

2.75<br />

Registri circolari<br />

• r. c. esterno è fisso<br />

• r. c. interno ruotante in senso orario Convoluzione circolare<br />

7<br />

2<br />

0<br />

2.63<br />

Settore <strong>di</strong> partenza<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 25


Quin<strong>di</strong> i campioni della sequenza <strong>di</strong> convoluzione si ottengono<br />

eseguendo:<br />

• il prodotto tra i campioni in corrispondenza ra<strong>di</strong>ale nei due registri<br />

circolari e<br />

• sommando poi tutti i prodotti.<br />

Si procede in questo modo sino a quando il registro interno non avrà<br />

effettuato una rotazione completa.<br />

Il calcolo della convoluzione circolare richiede che le due sequenze siano<br />

<strong>di</strong> uguale lunghezza.<br />

Per ottenere, con la convoluzione circolare, gli stessi risultati della<br />

convoluzione lineare, è necessario prolungare le due sequenze con<br />

un certo numero <strong>di</strong> zeri ( zero pad<strong>di</strong>ng).<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 26


Esempio: la sequenza 1 ha 8 campioni e<br />

la sequenza 2 ha 16 campioni<br />

• la sequenza della convoluzione lineare avrà 23 (8+16-1) campioni<br />

• la sequenza della convoluzione circolare avrà lo stesso numero <strong>di</strong> campioni<br />

se aggiungiamo 15 (23-8) zeri alla sequenza 1 e 7 (23-16) zeri alla sequenza<br />

2.<br />

In generale se le due sequenze sono <strong>di</strong> lunghezza N 1 ed N 2,<br />

• la convoluzione lineare sarà una sequenza con M=N 1+N 2-1<br />

e quin<strong>di</strong><br />

• la convoluzione circolare sarà una sequenza con lo stesso numero <strong>di</strong><br />

campioni M delle sequenze, se, prima <strong>di</strong> applicare l’operatore <strong>di</strong><br />

convoluzione circolare si aggiungono:<br />

- un numero <strong>di</strong> zeri pari a M-N 2 alla sequenza 2<br />

- un numero <strong>di</strong> zeri pari a M-N 1 alla sequenza 1<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 27


Moltiplicazione<br />

~ x ( n)<br />

1<br />

~ x<br />

2<br />

( n)<br />

↔<br />

1<br />

N<br />

1<br />

∑<br />

0<br />

−<br />

=<br />

N<br />

l<br />

che è il duale della proprietà <strong>di</strong> convoluzione.<br />

~<br />

X<br />

Quin<strong>di</strong> la moltiplicazione in ciascun dei domini DFT (tempo o frequenza)<br />

implica la convoluzione (circolare) nell’altro dominio.<br />

Relazione <strong>di</strong> Parseval<br />

N−1 N−1<br />

2 1<br />

2<br />

∑ xn ( ) = ∑ X( k)<br />

. (7.1.13)<br />

N<br />

%<br />

%<br />

n= 0 k=<br />

0<br />

Coniugazione<br />

~ ~<br />

x * ( n)<br />

↔ X * ( −k)<br />

~<br />

( l)<br />

X<br />

( k − l)<br />

o equivalentemente<br />

~ ~<br />

x<br />

* ( n)<br />

↔ X * ( N − k),<br />

k =<br />

1<br />

mod N<br />

,<br />

2<br />

mod N<br />

(7.1.12)<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 28<br />

,<br />

0, 1, 2,..., N -1.<br />

(7.1.14)


Serie <strong>di</strong>screte <strong>di</strong> <strong>Fourier</strong><br />

La rappresentazione della serie <strong>di</strong>screta <strong>di</strong> <strong>Fourier</strong> (Discrete <strong>Fourier</strong> Series<br />

DFS) consiste nell’utilizzare le funzioni e definite nella (7.1.4)<br />

e (7.1.6) senza ridurre il campo <strong>di</strong> definizione dei valori n e k nell’intervallo<br />

0, 1, …, N-1, in questo caso e <strong>di</strong>ventano sequenze perio<strong>di</strong>che<br />

con periodo N (facilmente <strong>di</strong>mostrabile, tenendo presente che WN xn % ( ) X% ( k)<br />

xn % ( ) X% ( k)<br />

=1).<br />

Questa è chiamata rappresentazione serie <strong>di</strong>screta <strong>di</strong> <strong>Fourier</strong> (DFS) <strong>di</strong><br />

Per esempio, le limitazioni del mod N nelle relazioni DFT in (7.1.8), (7.1.9),<br />

(7.1.11), (7.1.12), (7.1.14) possono essere ricondotte alle corrispondenti<br />

relazioni DFS.<br />

Le convoluzioni in (7.1.11) e (7.1.12) sono quin<strong>di</strong> chiamate convoluzioni<br />

perio<strong>di</strong>che (perio<strong>di</strong>c convolutions).<br />

In particolare la proprietà della coniugazione in (7.1.14) <strong>di</strong>venta in termini <strong>di</strong><br />

DFS semplicemente:<br />

x% *( n) ↔ X% *( −k)<br />

(7.1.15)<br />

xn %<br />

( )<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 29


Segnale a valore reale<br />

Se xn % ( ) è reale, in base alla (7.1.15) e al fatto che x(n) = x*(n) si ha che:<br />

X% *( k) = X% *( −k),<br />

(7.1.16)<br />

cioè X% ( k)<br />

è una sequenza simmetrica coniugata.<br />

Nella tabella 7.1 sono riportate altre proprietà <strong>di</strong> simmetria relative alla DFT, dove<br />

per semplicità sono state espresse in termini <strong>di</strong> DFS.<br />

Tabella 1 DFT (DFS) Proprietà <strong>di</strong> simmetria<br />

~ x( − n)<br />

~<br />

X ( k)<br />

Reale Parte reale pari;<br />

Parte immaginaria <strong>di</strong>spari<br />

Reale e pari Reale e pari<br />

Reale e <strong>di</strong>spari Immaginario e <strong>di</strong>spari<br />

~ x ( n)<br />

= −~<br />

x(<br />

n + N / 2)<br />

~<br />

X<br />

( k)<br />

=0 per k pari<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 30


Per la DFS (serie <strong>di</strong>screta <strong>di</strong> <strong>Fourier</strong>)<br />

una sequenza pari è quella che sod<strong>di</strong>sfa semplicemente:<br />

~ x ( n)<br />

~<br />

= x( − n)<br />

~ ~<br />

oppure X ( k)<br />

= X ( −k)<br />

mentre una sequenza <strong>di</strong>spari sod<strong>di</strong>sfa:<br />

~ x ( n)<br />

= - ~ ~ ~<br />

x( − n)<br />

oppure X ( k)<br />

= - X ( −k)<br />

.<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 31


.<br />

Queste definizioni devono essere mo<strong>di</strong>ficate per la DFT (trasformata <strong>di</strong>screta <strong>di</strong><br />

<strong>Fourier</strong>), per tener conto del fatto che l’in<strong>di</strong>ce n è vincolato ad assumere un<br />

numero <strong>di</strong> valori finito, 0≤ n < N-1 perciò:<br />

x~ (n)<br />

o<br />

X (k)<br />

~<br />

=<br />

=<br />

x~ (N<br />

X (N<br />

~<br />

- n),<br />

- k),<br />

n = 1, 2, . . . , N -1<br />

⎫<br />

⎪<br />

⎬<br />

k = 1, 2, . . ., N -1<br />

⎪<br />

⎭<br />

X (0) 0.<br />

~<br />

X (N - k), k 1, 2, . . ., N -1<br />

con x~ (0) 0 o<br />

~<br />

X (k)<br />

~<br />

x~ (n) =<br />

−x~<br />

(N - n), n = 1, 2, . . . , N -1<br />

⎫<br />

o<br />

⎪<br />

⎬<br />

= −<br />

=<br />

⎪<br />

= = ⎪<br />

⎭<br />

pari<br />

<strong>di</strong>spari<br />

M. Usai Circuiti <strong>di</strong>gitali 7_0 32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!