INTRODUZIONE ALLA TRASFORMATA DISCRETA DI FOURIER

INTRODUZIONE ALLA TRASFORMATA DISCRETA DI FOURIER (DFT)
Esempi di DFT
La trasformata discreta di Fourier, comunemente nota in letteratura con l’acronimo DFT (Digital
Fourier Transform) risponde all’esigenza di implementare al calcolatore la trasformata di Fourier di
una funzione del tempo. L’implementazione numerica ha infatti alcune caratteristiche peculiari, che
possiamo genericamente definire “tecniche digitali di analisi”, e che impongono di modificare la
definizione convenzionale di trasformata (e antitrasformata) di Fourier, al fine di ottenere una
procedura di calcolo efficiente.
In questo paragrafo tali modifiche verranno richiamate e attraverso un certo numero di esempi,
sviluppati essenzialmente per via grafica, si metteranno in evidenza i problemi legati
all’implementazione. Il ricorso alla formulazione matematica sarà minimo, ed utilizzato solo allo
scopo di giustificare le operazioni eseguite per via grafica. In definitiva, si avrà un utile esercizio di
applicazione del teorema del campionamento e delle proprietà della trasformata di Fourier. Per
ulteriori approfondimenti ci si può riferire al classico testo di E. Oran Brigham (“The Fast Fourier
Transform and its Applications”, Prentice Hall, 1988) da cui sono state estratte le figure riportate di
seguito.
Si considerino la funzione h(t) e la sua trasformata di Fourier H(f) riportate in Figura 1(a)1. Per
determinare la trasformata di Fourier di h(t) mediante tecniche di analisi digitale è necessario
campionare la funzione h(t). Il campionamento è realizzato moltiplicando h(t) per la sequenza
campionante ∆o(t) illustrata a sinistra in Figura 1(b): essa è costituita da una sequenza di impulsi
matematici ideali (delta di Dirac) distanziati di T l’uno dall’altro, e la sua trasformata di Fourier ha
dunque l’andamento illustrato in Figura 1(b) a destra. Il risultato del campionamento è illustrato in
Figura 1(c): la sequenza dei campioni ha una trasformata di Fourier che si ottiene replicando infinite
volte la trasformata di Fourier del segnale originale, ciascuna replica essendo centrata su un
multiplo della frequenza di campionamento 1/T. Se dunque tale frequenza non è sufficientemente
grande compare il fenomeno dell’aliasing, per cui tali repliche risultano sovrapposte. Ciò è mostrato
in Figura 1(c), e fornisce una prima importante differenza dell’implementazione numerica rispetto
alla coppia funzione-trasformata originale. Il problema dell’aliasing può essere eliminato (come è
noto dal teorema del campionamento) campionando con una frequenza almeno pari al doppio della
massima frequenza nello spettro di h(t). D’altro canto, se H(f) ha estensione illimitata l’aliasing
potrà essere soltanto ridotto assumendo per T il valore più piccolo possibile.
Una seconda differenza, causata dall’implementazione numerica, rispetto al risultato atteso, risulta
evidente dalle Figure 1(d)-1(e): il numero di campioni di h(t) considerati non potrà essere
arbitrariamente elevato. Se dunque h(t) ha durata temporale molto grande (al limite si estende
per –∞ < t < ∞) una porzione di segnale non sarà campionata. Graficamente, ciò corrisponde ad
assumere una “finestra di campionamento” di durata To (illustrata in Figura 1(d)) e quindi, in
frequenza, in virtù della proprietà del prodotto, ad avere la convoluzione tra la trasformata X(f)
della funzione rettangolare e la funzione H(f)∗∆o(f). In definitiva, si ottiene lo spettro mostrato in
Figura 1(e) a destra, il quale differisce da quello originale per l’aliasing (dovuto alla frequenza di
campionamento) e per il “ripple” (dovuto al troncamento). Al fine di ottenere una buona
ricostruzione per via numerica della trasformata di Fourier queste differenze (che, di fatto, si
traducono in errori di valutazione) devono essere minimizzate. Si è ricordato sopra come ridurre
1
Qui come nel seguito di questo paragrafo, coerentemente con il Brigham, ci si riferirà alla trasformata di Fourier come
funzione della frequenza f anziché della pulsazione ω; ricordando che ω = 2πf, il legame tra le due rappresentazioni è
evidente riducendosi, per gli scopi presenti, ad una semplice scalatura dell’asse.
1
Figura 1
2
l’aliasing; per ridurre il ripple è invece necessario assumere una finestra di troncamento che sia la
più estesa possibile.
D’altro canto, la rappresentazione di Figura 1(e) non è ancora quella finale; anche la trasformata di
Fourier, infatti, sarà processata dal calcolatore in forma numerica. Ciò significa che anche lo spettro
del segnale, alla stregua di h(t), sarà in realtà campionato. Il campionamento nel dominio della
frequenza sarà realizzato con una sequenza di impulsi matematici di periodo 1/To, e produrrà il
risultato mostrato in Figura 1(g). La scelta di un periodo di campionamento in frequenza pari
all’inverso della “finestra di campionamento” consente di evitare che le repliche della funzione
h(t)∆o(t)x(t) si sovrappongano.
~
~
Le funzioni h ( t ) e H(f ) mostrate in Figura 1(g) sono adeguate per l’implementazione numerica in
quanto descritte da una sequenza di valori discreti. La funzione originale del tempo è approssimata
con N = To/T campioni e, allo stesso modo, anche la trasformata di Fourier è approssimata con N
campioni. Questi N campioni definiscono la coppia segnale-trasformata di Fourier discreta e, nel
senso precisato, costituiscono un’approssimazione della coppia segnale-trasformata originale. E’
interessante osservare che il campionamento nel dominio del tempo ha prodotto una funzione
periodica in frequenza, mentre il campionamento nel dominio della frequenza ha prodotto una
funzione periodica nel tempo. Ciascun periodo, nel tempo e in frequenza, contiene N campioni.
L’esempio sviluppato consente di formalizzare la coppia segnale-trasformata discreta. Un altro
esempio è mostrato in Figura 2; in luogo di un esponenziale bilaterale si ha qui un esponenziale
unilaterale (solo t ≥ 0). Inoltre, la finestra di campionamento non è centrata nell’origine; le ragioni
di questa scelta risulteranno chiare nel seguito. Utilizzando la notazione di Fig. 2 (che è comunque
la stessa di Figura 1), è chiaro che si può scrivere:
∞
h ( t )∆ o ( t ) = h ( t )
∞
å δ(t − kT) = å h(kT)δ(t − kT)
k = −∞
(1)
k = −∞
Assumere N campioni significa moltiplicare la (1) per la funzione x(t), con ciò ottenendo:
∞
é
ù
ê
δ( t − kT)ú x ( t ) =
h ( t )∆ o ( t ) x ( t ) = h ( t )
êë
úû
k = −∞
å
N −1
å h(kT)δ(t − kT)
(2)
k =0
Alla funzione campionante nel dominio della frequenza, ∆1(f), corrisponde nel dominio del tempo
la funzione
∞
∆ 1 ( t ) = To
å δ(t − rT )
(3)
o
r = −∞
Operando la convoluzione tra la (2) e la (3) (in conseguenza del campionamento nel dominio della
frequenza) si ottiene:
3
Figura 2
4
∞
é N −1
ù é
ù
~
h ( t ) = [h ( t )∆ o ( t ) x ( t )]∗ ∆1 ( t ) = ê
h (kT)δ( t − kT)ú ∗ êTo
δ( t − rTo )ú =
êë k =0
úû êë r = −∞
úû
∞ é N −1
ù
ê
h (kT)δ( t − kT − rTo )ú
= To
ê
úû
r = −∞ ë k = 0
å
å
(4)
åå
La scelta operata in Figura 2(d) per la finestra di campionamento consente di semplificare la
notazione in quanto nella (2) si è potuto porre k = 0 per rappresentare il primo campione.
Nondimeno, non si tratta di una scelta obbligata. Ciò che comunque è importante (e, anzi,
necessario) è che gli estremi della finestra non cadano in corrispondenza di due campioni (e ciò si
verifica sia in Figura 1 che in Figura 2) perché altrimenti, a seguito della periodicizzazione nel
dominio del tempo, il campione N-esimo di un periodo si sovrapporrebbe al primo campione del
periodo successivo. In pratica si avrebbe aliasing nel dominio del tempo, seppur limitatamente ad
un’infinità numerabile di punti (due per ciascun periodo).
La trasformata della (4) si ricava ricordando l’espressione della trasformata di Fourier di un segnale
periodico. Questo è un risultato che è già stato ricavato in precedenza. Nel dominio della pulsazione
(ω) si era trovato che se un segnale s(t) è periodico con periodo To la sua trasformata di Fourier vale
2π
S(ω) =
To
∞
åS
o ( nω o ) δ
(ω − nω o )
(5)
n = −∞
dove ωo = 2π/To mentre So(ω) è la trasformata di Fourier della rappresentazione elementare del
segnale, all’interno di un periodo. Si dimostra che la stessa relazione scritta nel dominio della
frequenza (f), dove la trasformata di una costante A vale A⋅δ(f), diventa
1
S(f ) =
To
∞
åS
o ( nf o )δ
(f − nf o )
(6)
n = −∞
con fo = 1/To.
Applicando dunque la (6) alla (4), e coerentemente con la Figura 2(d), si deve porre:
~
H o (nf o ) =
To − T / 2
ò
~
h ( t )e −i 2 πnt / To dt =
−T / 2
⋅ e −i 2 πnt / To dt = To
To − T / 2
ò
é N −1
ù
ê
To
h (kT)δ( t − kT − rTo )ú
ê
úû
r = −∞ ë k = 0
−T / 2
To − T / 2 N −1
∞
åå
ò å h(kT)δ(t − kT)e
−i 2 πnt / To
dt =
(7)
−T / 2 k = 0
N −1
= To
To − T / 2
å h(kT) ò δ(t − kT)e
k =0
−i 2 πnt / To
N −1
dt = To
å h(kT)e
−i 2 πnkT / To
k =0
−T / 2
Nella (7) si è tenuto conto che l’integrale è esteso ad un periodo (r = 0) e si è applicata, nell’ultimo
passaggio, la proprietà di campionamento della delta di Dirac.
5
~
A questo punto, in virtù della (6) possiamo scrivere per esteso la H(f ) . Tenendo anche presente che
To = NT, si ottiene:
1
~
H (f ) =
To
∞
å
~
H o (nf o )δ(f − nf o ) =
n = −∞
∞
N −1
å å h(kT)e
−i 2 πnk / N
δ(f − nf o )
(8)
n = −∞ k = 0
Ai fini pratici, interessa l’area del generico impulso matematico, che esprime il valore dell’n-esimo
~
campione di H(f ) ; direttamente dalla (8), per esso si ha:
~
~æ n
H(nf o ) = Hçç
è To
ö ~æ n ö
÷÷ = Hç
÷=
è NT ø
ø
N −1
å h(kT)e
−i 2 πnk / N
(9)
k =0
Possiamo verificare esplicitamente che la (9) è periodica di periodo 1/T = N/To; si ha infatti:
~æ n + N ö
÷÷ =
Hçç
è To ø
N −1
å h(kT)e
−i 2 π( n + N ) k / N
k =0
N −1
=
å h(kT)e
−i 2 πnk / N −i 2 πk
e
(10)
k =0
Ma e–i2πk = 1, e quindi:
~æ n + N ö
÷÷ =
Hçç
è To ø
N −1
å h(kT)e
−i 2 πnk / N
k =0
~æ n
= Hçç
è To
ö
÷÷
ø
(11)
In considerazione della periodicità, la trasformata discreta di Fourier è descritta dalla sola sequenza
di N campioni, per cui la (9) può essere meglio precisata come segue:
~æ n ö
Hç
÷=
è NT ø
N −1
å h(kT)e
−i 2 πnk / N
, n = 0, 1, L , N − 1
(12)
k =0
La (12) esprime dunque la DFT della funzione h(t). Essa consente il calcolo degli N campioni nel
dominio della frequenza a partire dalla conoscenza degli N campioni nel dominio del tempo.
La ~ esprime il fatto che si tratta, in generale, di una approssimazione della H(f). Nel seguito,
peraltro, anche negli esempi grafici, la notazione sarà semplificata per cui, in luogo della (12), si
considererà la
æ n ö
Gç
÷=
è NT ø
N −1
å g(kT)e
−i 2 πnk / N
, n = 0, 1, L , N − 1
(13)
k =0
Per completare la formalizzazione algebrica, dobbiamo esplicitare la formula, duale della (13), che
consente di calcolare la sequenza degli N campioni nel dominio del tempo a partire dalla
conoscenza degli N campioni nel dominio della frequenza. Tale formula, in effetti, si scrive:
6
g(kT ) =
1
N
N −1
n
å Gæçè NT ö÷øe
i 2 πnk / N
, k = 0, 1, L , N − 1
(14)
n =0
Per verificarne la correttezza, è sufficiente sostituire la (14) nella (13) e dimostrare che il risultato è
un’identità. In effetti:
æ n ö
Gç
÷=
è NT ø
N −1 é
1
ê
êN
k =0 ë
N −1
æ r ö i 2 πrk / N ù −i 2 πnk / N
úe
Gç
÷e
NT ø
è
úû
r =0
å å
(15)
Si noti che nella sommatoria entro parentesi quadre l’indice è stato cambiato in “r”, così come
richiesto dalla necessaria generalità. Invertendo l’ordine delle sommatorie, si ottiene:
æ n ö 1
Gç
÷=
è NT ø N
N −1
N −1
ù
æ r öé
æ n ö
Gç
e −i 2 πnk / N e i 2 πrk / N ú = Gç
֐
÷
NT ø ê
NT ø
è
è
ú
r =0
ë k =0
û
å
å
(16)
dove si è tenuto conto del fatto (dimostrabile) che
N −1
ìï N
e −i 2πnk / N e i 2πrk / N = í
ïî0
k =0
å
per r = n
(17)
per r ≠ n
La periodicità di g(kT), con periodo To = NT, si dimostra immediatamente osservando che risulta:
g(kT + NT ) =
1
N
1
=
N
N −1
æ n ö i 2πn ( k + N ) / N 1
Gç
=
÷e
NT ø
N
è
n =0
å
N −1
å
n =0
N −1
æ n ö i 2πnk / N i 2πn
Gç
e
=
÷e
NT ø
è
n =0
å
(18)
æ n ö i 2 πnk / N
Gç
= g (kT)
÷e
è NT ø
Quindi, così come riportato nella (14), la funzione g(kT) è effettivamente descritta dalla sola
sequenza di campioni per 0 ≤ k ≤ N – 1.
A questo punto, i necessari aspetti formali sono stati chiariti nel caso generale, e possiamo dedicare
la parte restante del paragrafo ad illustrare un certo numero di casi particolari di pratico interesse.
Come detto nella premessa, si privilegerà l’approccio grafico rispetto a quello analitico.
a)
Forme d’onda periodiche a banda limitata: finestra di campionamento uguale al periodo.
In Figura 3 è illustrato il caso di una funzione cosinusoidale di periodo To, la cui trasformata è data
da due impulsi matematici allocati in 1/To e –1/To, rispettivamente. Vogliamo analizzare quale
risultato si ottiene applicando la DFT. Scorrendo rapidamente le varie parti della Figura 3
osserviamo che:
-
il campionamento nel dominio del tempo non produce aliasing;
-
il campionamento nel dominio del tempo produce una scalatura delle ampiezze nel dominio
delle frequenze (già evidenziato, ma non commentato, in Figura 2) per cui l’area originale
(A/2) delle delta di Dirac viene ridotta del fattore 1/T (e diventa dunque A/2T);
7
Figura 3
8
-
la finestra di campionamento include esattamente un periodo della funzione cosinusoidale, e gli
N campioni nel dominio del tempo sono contenuti entro questo periodo;
-
il risultato del prodotto nel dominio del tempo tra la forma d’onda campionata e la finestra di
campionamento (Figura 3(e)) ha uno spettro fortemente distorto rispetto alla H(f) originale;
-
quando però si effettua il campionamento nel dominio della frequenza questa distorsione
sparisce (vedi Figura 3(g)).
L’eliminazione della distorsione è possibile perché gli impulsi campionanti nel dominio della
frequenza sono allocati in corrispondenza di multipli di 1/To. A queste frequenze la H(f)∗∆o(f)∗
X(f) è nulla tranne che in ±1/To, (N – 1)/To, (N + 1)/To, – (N – 1)/To, – (N + 1)/To,… Per maggiore
evidenza, questo risultato è illustrato in Figura 4 per la porzione di spettro nell’intorno dell’origine.
I due impulsi matematici allocati in ±1/To corrispondono esattamente alla Trasformata di Fourier
originale, a meno del fattore moltiplicativo To/T dovuto alle operazioni di campionamento e
troncamento. Questo fattore, peraltro, non è causa di alcuna distorsione.
La convoluzione nel dominio del tempo, conseguente al campionamento in frequenza, riproduce
(campionata) esattamente la funzione cosinusoidale assegnata; anche in questo caso infatti la sola,
marginale, differenza è nell’ampiezza, ora pari ad ATo.
In definitiva, la coppia segnale-trasformata discreta per l’esempio in esame è mostrata in Figura
3(g). Il fattore To è comune ai campioni del segnale e a quelli della trasformata, e dunque può essere
eliminato (in pratica, ciò si ottiene campionando nel tempo con impulsi matematici di area 1/To
anziché di area unitaria). A questo punto la trasformata discreta differisce da quella originale solo
per il fattore moltiplicativo 1/T che a sua volta può essere eliminato moltiplicando per T la (13) (nel
momento in cui si esegue il calcolo).
La classe di funzioni presa in esame, e di cui si è considerato il caso, particolarmente semplice, di
funzione cosinusoidale, rappresenta l’unica classe di funzioni per cui trasformata discreta e
trasformata continua sono esattamente coincidenti (la discretizzazione, cioè, non introduce alcuna
approssimazione). L’equivalenza delle trasformate richiede dunque:
-
che la funzione del tempo h(t) sia periodica;
-
che h(t) sia a banda limitata;
-
che la frequenza di campionamento temporale sia almeno pari al doppio della massima
frequenza del segnale periodico;
-
che la finestra di campionamento (ovvero, esplicitamente, la funzione di troncamento x(t)) sia
diversa da zero su un intervallo esattamente pari ad un periodo (o un multiplo intero di periodi)
di h(t).
b)
Forme d’onda periodiche a banda limitata: finestra di campionamento diversa dal periodo.
Rimuoviamo ora una delle ipotesi che rendono possibile la coincidenza tra trasformata continua e
trasformata discreta di Fourier: sempre con riferimento al caso semplice di segnale cosinusoidale,
come mostrato in Figura 5, supponiamo che la finestra di campionamento abbia durata diversa (nel
caso in esame, maggiore) di un periodo. Come conseguenza di questa scelta, si ottiene la funzione
g(kT) mostrata in Figura 5(g), che differisce considerevolmente dalla funzione iniziale: si tratta
ancora (e non potrebbe essere altrimenti, essendo questa una conseguenza del campionamento in
frequenza) di una funzione periodica, ma l’andamento all’interno di un periodo non è una replica
(eventualmente a meno del fattore di scala) della h(t).
E’ facile pensare che le trasformate delle funzioni h(t) e g(kT) siano diverse tra loro e che dunque la
discretizzazione abbia introdotto in questo caso un errore, che può essere anche significativo.
9
Figura 4
10
Figura 5
11
In effetti, la Figura 4 è in questo caso sostituita dalla Figura 6, ove si è considerato il caso, per
fissare le idee, di To = 3.5T1 (T1 è il periodo della h(t)). Contrariamente alla Figura 4, il risultato del
campionamento in frequenza è in generale diverso da zero per tutti i valori di n/To; non sono
presenti le delta di Dirac in ±1/T1, che invece forniscono la trasformata originale, mentre compare
una sequenza di altri impulsi matematici che certamente non apparivano nella trasformata originale.
In definitiva, a seguito della scelta non corretta della finestra di campionamento, la funzione
G(n/NT) è del tutto diversa dalla H(f) e la DFT non produce una accettabile approssimazione della
trasformata continua.
Ci sono altre considerazioni utili ai fini della comprensione.
Come si vede in Figura 5(g) a sinistra, la periodicizzazione della funzione troncata ha prodotto una
g(kT) che ha valor medio diverso da zero. Di conseguenza, è lecito aspettarsi che la sua trasformata
abbia componente non nulla nell’origine2. La comparsa delle altre componenti può a sua volta
essere giustificata qualitativamente sulla base dell’osservazione che il troncamento nel dominio del
tempo ha in questo caso prodotto una funzione che presenta forti discontinuità (vedi ancora Figura
5(g)). Come noto dalla teoria generale della trasformata di Fourier, una funzione più rapidamente
variabile ha associato uno spettro con un maggior numero di componenti armoniche. In sostanza, lo
spettro si allarga e compaiono lobi laterale che non erano presenti nella trasformata originale.
Questo fenomeno viene denominato “leakage” (letteralmente: dispersione) ed è implicito
all’operazione di troncamento. Nel caso a) precedente (Figura 3) era stato compensato dalla scelta
opportuna della durata di x(t) rispetto al periodo di h(t); venendo meno questa scelta, nel caso in
esame, l’effetto di leakage risulta evidente e produce una intollerabile distorsione.
c)
Forme d’onda di durata finita.
Consideriamo la funzione h(t) illustrata in Figura 7(a). Se, come nel caso in esame, la h(t) ha durata
limitata, la sua trasformata di Fourier ha certamente estensione illimitata (dalle proprietà della
trasformata). In questo caso, allora, l’aliasing nel dominio della frequenza sarà inevitabile e occorre
scegliere il periodo di campionamento T in modo tale da minimizzarne gli effetti.
In realtà, contravvenendo (volutamente, per scopi didattici) a questa indicazione, nell’esempio di
Figura 7 il valore di T è stato assunto troppo grande e di conseguenza (vedi Figura 7(c)) l’aliasing è
in questo caso significativo.
Essendo la funzione h(t) di durata finita, l’operazione di moltiplicazione per x(t) (finestra di
campionamento) non è necessaria; gli N campioni verranno distribuiti, con distanza T l’uno
dall’altro, entro l’intervallo To in cui la funzione è diversa da zero. Campionando in frequenza con
periodo 1/To non si ha distorsione nel dominio del tempo: la funzione g(kT) è ovviamente periodica
ma riproduce fedelmente la forma d’onda originale. La sua trasformata però (funzione G(n/NT) di
figura) risente dell’effetto di aliasing dovuto al campionamento. Questa è peraltro l’unica
distorsione introdotta dalla DFT e, come detto, può essere controllata agendo sul periodo di
campionamento. Per l’esempio in questione, esso dovrebbe essere ridotto.
In conclusione, per la classe di funzioni in esame, la DFT può fornire (con la scelta adeguata del
periodo di campionamento) un’ottima approssimazione della trasformata di Fourier continua.
Sfortunatamente, nella pratica, sono pochi i casi in cui interessa considerare funzioni del tipo in
esame.
d)
Forme d’onda periodiche generiche.
La Figura 7 può anche essere utilizzata per illustrare il legame tra trasformata discreta e trasformata
continua nel caso di funzioni periodiche ma non a banda limitata.
2
Si ricordi che l’ampiezza nell’origine della trasformata di Fourier di una funzione s(t) è proporzionale al valore medio;
si ha infatti S(0) = òs(t)e
–i2π⋅0⋅t
dt = òs(t)dt
12
Figura 6
13
Figura 7
14
Supponiamo, infatti, che la h(t) di Figura 7(a) rappresenti l’evoluzione all’interno di un singolo
periodo di una forma d’onda periodica. Se questa forma d’onda viene campionata e troncata
assumendo una finestra di campionamento esattamente pari ad un periodo (To) il risultato sarà di
nuovo la funzione mostrata in Figura 7(c) a sinistra.
In questo caso la H(f) è costituita, a meno di un fattore moltiplicativo, da una successione di infinite
delta di Dirac, distanziate di 1/To l’una dall’altra e di area pari al valore locale della trasformata di
Fourier della rappresentazione elementare del segnale (si noti che in Figura è stato riportato il |H(f)|
mentre, in generale, occorrerebbe considerare anche la fase; per gli scopi presenti, però, la relazione
tra i moduli è più che sufficiente). Tenendo anche conto della finestra di campionamento (ora
necessaria) la Figura 7(c) a destra deve essere moltiplicata per una successione di funzioni del tipo
sin(f)/f (trasformata dell’impulso rettangolare) centrate su multipli di 1/To. Queste funzioni
introducono, al solito, un ripple sulla forma della trasformata ma non in corrispondenza di n/To (n =
0, ±1, ±2,…) ove esse si annullano. Di conseguenza, gli impulsi di campionamento in frequenza
(funzione ∆1(f)) a meno di un inessenziale (e sempre compensabile) fattore di scala campionano una
funzione che, nei punti di interesse, ha lo stesso valore della trasformata di Figura 7(c), e quindi,
come risultato del campionamento, si ha la stessa G(n/NT) di Figura 7(e).
Come per le funzioni di tipo c), l’unica fonte di errore è data dall’aliasing; il risultato, dunque, è
buono quanto nel caso precedente e anzi, formalmente (ma non sostanzialmente) anche di più se si
considera che anche la trasformata originale è discreta. D’altro canto, queste conclusioni sono vere
a patto di aver scelto la durata della finestra di campionamento esattamente pari ad un periodo (o un
multiplo intero di un periodo) della h(t). Se così non è, vanno applicate le considerazioni già
sviluppate per il caso b) e che comportano, come si è visto, la possibilità di avere una distorsione
significativa della trasformata.
e)
Forme d’onda generiche.
La classe di funzioni più importante in pratica è ovviamente quella delle funzioni non periodiche,
non limitate nel tempo e non limitate in banda. Un esempio di applicazione della DFT ad una
funzione di questo tipo è riportato in Figura 8. In questo caso, devono ovviamente essere applicate
tutte le limitazioni ed i problemi evidenziati in precedenza. In particolare:
-
il campionamento nel dominio del tempo produce aliasing in frequenza (Figura 8(c));
-
il troncamento nel dominio del tempo introduce un ripple in frequenza (Figura 8(e));
-
il campionamento nel dominio della frequenza produce una nuova funzione illimitata ma che,
contrariamente (in generale) alla h(t) originale, è periodica e riproduce l’andamento solo di una
porzione (di durata To) di h(t).
Il risultato è dunque la coppia di funzioni mostrata in Figura 8(g) e che differisce, in misura più o
meno marcata, dalla coppia originale di Figura 8(a). Per ridurre l’entità dell’errore occorrerebbe, in
linea di principio, assumere valori di T i più piccoli possibile e valori di To i più grandi possibile. E’
evidente che ambedue queste soluzioni vanno nella direzione di aumentare il valore di N, il che è
contro la logica della DFT che cerca di operare su un numero limitato di campioni. Occorre dunque
trovare un compromesso, che tipicamente va cercato “ad hoc” per la particolare funzione
considerata. Vi è poi tutta una serie di accorgimenti che vengono posti in essere all’atto
dell’implementazione numerica (ad esempio la scelta di funzioni di troncamento sagomate al posto
della funzione rettangolare per ridurre il ripple in frequenza) la cui discussione non può essere
approfondita in questo contesto.
15
Figura 8
16
17