Trasformata Discreta di Fourier 1
Trasformata Discreta di Fourier 1
Trasformata Discreta di Fourier 1
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