In matematica , la trasformata di Fourier a tempo discreto , spesso abbreviata con DTFT (acronimo del termine inglese Discrete-Time Fourier Transform ), è una trasformata che a partire da un segnale discreto ne fornisce una descrizione periodica nel dominio della frequenza , analogamente alla trasformata di Fourier tradizionale (definita per funzioni continue).
Si tratta di un caso particolare della trasformata zeta :
X
(
z
)
=
∑
n
=
−
∞
∞
x
[
n
]
z
−
n
{\displaystyle X(z)=\sum _{n=-\infty }^{\infty }x[n]z^{-n}}
che si ottiene ponendo
z
=
e
i
ω
{\displaystyle z=e^{i\omega }}
(
ω
{\displaystyle \omega }
è inteso come angolo). Dal momento che
|
e
i
ω
|
=
1
,
{\displaystyle |e^{i\omega }|=1,}
la trasformata di Fourier a tempo discreto è la valutazione della trasformata zeta sul cerchio unitario nel piano complesso .
La trasformata di Fourier a tempo discreto ha un ruolo rilevante quando si studiano segnali campionati, ovvero segnali a tempo discreto ottenuti da un segnale a tempo continuo considerandone il valore assunto in precisi istanti di tempo, solitamente separati da un intervallo temporale fisso
T
{\displaystyle T}
. La procedura che permette di ottenere un segnale discreto a partire da uno continuo è detta campionamento , ed è alla base della conversione analogico-digitale (ADC). Essa trasforma una funzione continua
x
(
t
)
{\displaystyle x(t)}
nel segnale discreto:
x
[
n
]
=
def
x
(
n
T
)
,
∀
n
∈
Z
{\displaystyle x[n]{\stackrel {\text{def}}{=}}x(nT),\qquad \forall \,n\in \mathbb {Z} }
con
1
/
T
{\displaystyle 1/T}
la frequenza di campionamento . Il teorema del campionamento pone un limite alla massima frequenza del segnale continuo , che non può essere superiore ad
1
/
(
2
T
)
{\displaystyle 1/(2T)}
se si vuole evitare perdita di informazione (fenomeno di aliasing ). La trasformata a tempo discreto fornisce un'approssimazione della trasformata di Fourier
F
{\displaystyle {\mathcal {F}}}
:
F
(
x
(
t
)
)
(
f
)
=
X
(
f
)
=
∫
−
∞
∞
x
(
t
)
⋅
e
−
i
2
π
f
t
d
t
.
{\displaystyle {\mathcal {F}}(x(t))(f)=X(f)=\int _{-\infty }^{\infty }x(t)\cdot e^{-i2\pi ft}dt.}
Infatti, considerando la formula di sommazione di Poisson , che mostra come ottenere una sommazione periodica di una funzione
X
(
f
)
{\displaystyle X(f)}
a partire dai campioni di una funzione tempo-continua, si ha:
X
1
/
T
(
f
)
=
d
e
f
∑
k
=
−
∞
∞
X
(
f
−
k
/
T
)
≡
∑
n
=
−
∞
∞
T
⋅
x
(
n
T
)
⏟
x
[
n
]
e
−
i
2
π
f
T
n
⏟
F
{
δ
(
t
−
n
T
)
}
=
F
{
∑
n
=
−
∞
∞
x
(
t
)
⋅
δ
(
t
−
n
T
)
}
,
{\displaystyle X_{1/T}(f)\ {\stackrel {\mathrm {def} }{=}}\ \sum _{k=-\infty }^{\infty }X\left(f-k/T\right)\equiv \sum _{n=-\infty }^{\infty }\underbrace {T\cdot x(nT)} _{x[n]}\underbrace {e^{-i2\pi fTn}} _{{\mathcal {F}}\{\delta (t-nT)\}}={\mathcal {F}}\left\{\sum _{n=-\infty }^{\infty }x(t)\cdot \delta (t-nT)\right\},}
dove
X
1
/
T
(
f
)
{\displaystyle X_{1/T}(f)}
include copie esatte di
X
(
f
)
{\displaystyle X(f)}
traslate di un multiplo di
f
s
{\displaystyle f_{s}}
e combinate per addizione. Per
f
s
{\displaystyle f_{s}}
sufficientemente grande il termine
K
=
0
{\displaystyle K=0}
può essere osservato nella regione
[
−
f
s
/
2
,
f
s
/
2
]
{\displaystyle [-f_{s}/2,f_{s}/2]}
, con distorsione minima o nulla. Un altro modo per verificare questo fatto è il seguente:
F
{
∑
n
=
−
∞
∞
T
⋅
x
(
n
T
)
⋅
δ
(
t
−
n
T
)
}
=
F
{
x
(
t
)
⋅
T
∑
n
=
−
∞
∞
δ
(
t
−
n
T
)
}
=
X
(
f
)
∗
F
{
T
∑
n
=
−
∞
∞
δ
(
t
−
n
T
)
}
⏟
∑
k
=
−
∞
∞
δ
(
f
−
k
/
T
)
=
∑
k
=
−
∞
∞
X
(
f
−
k
T
)
{\displaystyle {\begin{aligned}{\mathcal {F}}\left\{\sum _{n=-\infty }^{\infty }T\cdot x(nT)\cdot \delta (t-nT)\right\}&={\mathcal {F}}\left\{x(t)\cdot T\sum _{n=-\infty }^{\infty }\delta (t-nT)\right\}\\&=X(f)*\underbrace {{\mathcal {F}}\left\{T\sum _{n=-\infty }^{\infty }\delta (t-nT)\right\}} _{\sum _{k=-\infty }^{\infty }\delta (f-k/T)}=\sum _{k=-\infty }^{\infty }X\left(f-{\frac {k}{T}}\right)\end{aligned}}}
Calcolando la trasformata di Fourier inversa di entrambi i membri dell'equazione precedente, inoltre, si ottiene il pettine di Dirac modulato:
∑
n
=
−
∞
∞
x
[
n
]
⋅
δ
(
t
−
n
T
)
=
F
−
1
{
X
1
/
T
(
f
)
}
=
d
e
f
∫
−
∞
∞
X
1
/
T
(
f
)
⋅
e
i
2
π
f
t
d
f
{\displaystyle \sum _{n=-\infty }^{\infty }x[n]\cdot \delta (t-nT)={\mathcal {F}}^{-1}\left\{X_{1/T}(f)\right\}\ {\stackrel {\mathrm {def} }{=}}\ \int _{-\infty }^{\infty }X_{1/T}(f)\cdot e^{i2\pi ft}df}
con
x
[
n
]
=
T
∫
1
T
X
1
/
T
(
f
)
⋅
e
i
2
π
f
n
T
d
f
=
1
2
π
∫
2
π
X
(
ω
)
⋅
e
i
ω
n
d
ω
.
{\displaystyle x[n]=T\int _{\frac {1}{T}}X_{1/T}(f)\cdot e^{i2\pi fnT}df={\frac {1}{2\pi }}\int _{2\pi }X(\omega )\cdot e^{i\omega n}d\omega .}
Se la successione in ingresso
x
[
n
]
{\displaystyle x[n]}
è periodica con periodo
N
{\displaystyle N}
è possibile espandere il pettine di Dirac in serie di Fourier , ottenendo la trasformata discreta di Fourier (DFT):
F
{
∑
n
=
−
∞
∞
x
[
n
]
⋅
δ
(
t
−
n
T
)
}
=
F
{
∑
k
=
−
∞
∞
X
[
k
]
⋅
e
i
2
π
k
N
T
t
⏟
serie di Fourier
}
=
∑
k
=
−
∞
∞
X
[
k
]
⋅
δ
(
f
−
k
N
T
)
⏟
DTFT
.
{\displaystyle {\mathcal {F}}\left\{\sum _{n=-\infty }^{\infty }x[n]\cdot \delta (t-nT)\right\}={\mathcal {F}}\left\{\underbrace {\sum _{k=-\infty }^{\infty }X[k]\cdot e^{i2\pi {\frac {k}{NT}}t}} _{\text{serie di Fourier}}\right\}=\underbrace {\sum _{k=-\infty }^{\infty }X[k]\cdot \delta \left(f-{\frac {k}{NT}}\right)} _{\text{DTFT}}.}
Tale relazione mostra che la periodicità nel tempo rende discontinua la trasformata di Fourier a tempo discreto. Si può tuttavia ridurre la formula integrale in una somma di
N
{\displaystyle N}
termini:
X
[
k
]
=
def
1
N
T
∫
N
T
[
∑
n
=
−
∞
∞
x
[
n
]
⋅
δ
(
t
−
n
T
)
]
e
−
i
2
π
k
N
T
t
d
t
=
1
N
T
∑
n
=
−
∞
∞
x
[
n
]
⋅
∫
N
T
δ
(
t
−
n
T
)
⋅
e
−
i
2
π
k
N
T
t
d
t
{\displaystyle X[k]\ {\stackrel {\text{def}}{=}}\ {\frac {1}{NT}}\int _{NT}\left[\sum _{n=-\infty }^{\infty }x[n]\cdot \delta (t-nT)\right]e^{-i2\pi {\frac {k}{NT}}t}dt={\frac {1}{NT}}\sum _{n=-\infty }^{\infty }x[n]\cdot \int _{NT}\delta (t-nT)\cdot e^{-i2\pi {\frac {k}{NT}}t}dt}
=
1
N
T
∑
N
x
[
n
]
⋅
e
−
i
2
π
k
N
n
⏟
DFT
=
1
N
∑
N
x
(
n
T
)
⋅
e
−
i
2
π
k
N
n
⏟
DFT
{\displaystyle ={\frac {1}{NT}}\underbrace {\sum _{N}x[n]\cdot e^{-i2\pi {\frac {k}{N}}n}} _{\text{DFT}}={\frac {1}{N}}\underbrace {\sum _{N}x(nT)\cdot e^{-i2\pi {\frac {k}{N}}n}} _{\text{DFT}}}
che è periodica in
k
{\displaystyle k}
.
Se la trasformata di Fourier a tempo discreto è una funzione continua , si usa spesso considerare un numero arbitrario di campioni di un ciclo della funzione periodica
X
1
/
T
{\displaystyle X_{1/T}}
:
X
1
/
T
(
k
N
T
)
⏟
X
k
=
∑
n
=
−
∞
∞
x
[
n
]
⋅
e
−
i
2
π
k
n
N
=
∑
N
x
N
[
n
]
⋅
e
−
i
2
π
k
n
N
⏟
DFT
,
k
=
0
,
…
,
N
−
1
,
{\displaystyle \underbrace {X_{1/T}\left({\frac {k}{NT}}\right)} _{X_{k}}=\sum _{n=-\infty }^{\infty }x[n]\cdot e^{-i2\pi {\frac {kn}{N}}}=\underbrace {\sum _{N}x_{N}[n]\cdot e^{-i2\pi {\frac {kn}{N}}}} _{\text{DFT}},\qquad \quad k=0,\dots ,N-1,}
dove
X
N
{\displaystyle X_{N}}
è la somma periodica:
x
N
[
n
]
=
def
∑
m
=
−
∞
∞
x
[
n
−
m
N
]
.
{\displaystyle x_{N}[n]{\stackrel {\text{def}}{=}}\sum _{m=-\infty }^{\infty }x[n-mN].}
La successione
x
N
{\displaystyle x_{N}}
è l'inversa della trasformata discreta di Fourier . In questo modo il campionamento così effettuato comporta che la trasformata inversa sia periodica.
Per valutare numericamente un ciclo di
x
N
{\displaystyle x_{N}}
è richiesta una successione
x
[
n
]
{\displaystyle x[n]}
di lunghezza finita. A tal fine spesso si tronca una successione per mezzo di una funzione finestra di lunghezza opportuna.[ 1]
[ 2]
Siano
n
{\displaystyle n}
il dominio tempo-discreto,
ω
{\displaystyle \omega }
la frequenza angolare (un numero reale in
(
−
π
,
π
)
{\displaystyle (-\pi ,\pi )}
misurato in radianti / campione),
u
[
n
]
{\displaystyle u[n]}
il gradino di Heaviside tempo-discreto,
sinc
(
t
)
{\displaystyle \operatorname {sinc} (t)}
la funzione sinc normalizzata,
δ
(
ω
)
{\displaystyle \delta (\omega )}
la delta di Dirac ,
δ
[
n
]
{\displaystyle \delta [n]}
la delta di Kronecker ,
rect
(
t
)
{\displaystyle \operatorname {rect} (t)}
la funzione rettangolo :
r
e
c
t
(
t
)
=
⊓
(
t
)
=
{
0
se
|
t
|
>
1
2
1
2
se
|
t
|
=
1
2
1
se
|
t
|
<
1
2
{\displaystyle \mathrm {rect} (t)=\sqcap (t)={\begin{cases}0&{\text{se }}|t|>{\frac {1}{2}}\\[3pt]{\frac {1}{2}}&{\text{se }}|t|={\frac {1}{2}}\\[3pt]1&{\text{se }}|t|<{\frac {1}{2}}\end{cases}}}
e
tri
(
t
)
{\displaystyle \operatorname {tri} (t)}
la funzione triangolo:
tri
(
t
)
=
∧
(
t
)
=
{
1
+
t
−
1
≤
t
≤
0
1
−
t
0
<
t
≤
1
0
altrimenti
{\displaystyle \operatorname {tri} (t)=\land (t)={\begin{cases}1+t&-1\leq t\leq 0\\1-t&0<t\leq 1\\0&{\text{altrimenti}}\end{cases}}}
Dominio temporale
x
[
n
]
{\displaystyle x[n]}
Dominio della frequenza
X
(
ω
)
{\displaystyle X(\omega )}
Remarks
δ
[
n
]
{\displaystyle \delta [n]}
1
{\displaystyle 1}
δ
[
n
−
M
]
{\displaystyle \delta [n-M]}
e
−
i
ω
M
{\displaystyle e^{-i\omega M}}
M
{\displaystyle M}
intero
∑
m
=
−
∞
∞
δ
[
n
−
M
m
]
{\displaystyle \sum _{m=-\infty }^{\infty }\delta [n-Mm]}
∑
m
=
−
∞
∞
e
−
i
ω
M
m
=
1
M
∑
k
=
−
∞
∞
δ
(
ω
2
π
−
k
M
)
{\displaystyle \sum _{m=-\infty }^{\infty }e^{-i\omega Mm}={\frac {1}{M}}\sum _{k=-\infty }^{\infty }\delta \left({\frac {\omega }{2\pi }}-{\frac {k}{M}}\right)}
M
{\displaystyle M}
intero
u
[
n
]
{\displaystyle u[n]}
1
1
−
e
−
i
ω
+
∑
k
=
−
∞
∞
π
δ
(
ω
−
2
π
k
)
{\displaystyle {\frac {1}{1-e^{-i\omega }}}+\sum \limits _{k=-\infty }^{\infty }\pi \delta (\omega -2\pi k)}
Il termine
1
/
(
1
−
e
−
i
ω
)
{\displaystyle 1/(1-e^{-i\omega })}
deve essere interpretato come una distribuzione .
a
n
u
[
n
]
{\displaystyle a^{n}u[n]}
1
1
−
a
e
−
i
ω
{\displaystyle {\frac {1}{1-ae^{-i\omega }}}}
0
<
|
a
|
<
1
{\displaystyle 0<|a|<1}
e
−
i
a
n
{\displaystyle e^{-ian}}
2
π
δ
(
ω
+
a
)
{\displaystyle 2\pi \delta (\omega +a)}
a
∈
R
{\displaystyle a\in \mathbb {R} }
cos
(
a
n
)
{\displaystyle \cos(an)}
π
[
δ
(
ω
−
a
)
+
δ
(
ω
+
a
)
]
{\displaystyle \pi \left[\delta (\omega -a)+\delta (\omega +a)\right]}
a
∈
R
{\displaystyle a\in \mathbb {R} }
sin
(
a
n
)
{\displaystyle \sin(an)}
π
i
[
δ
(
ω
−
a
)
−
δ
(
ω
+
a
)
]
{\displaystyle {\frac {\pi }{i}}\left[\delta (\omega -a)-\delta (\omega +a)\right]}
a
∈
R
{\displaystyle a\in \mathbb {R} }
r
e
c
t
[
(
n
−
M
/
2
)
M
]
{\displaystyle \mathrm {rect} \left[{(n-M/2) \over M}\right]}
sin
[
ω
(
M
+
1
)
/
2
]
sin
(
ω
/
2
)
e
−
i
ω
M
/
2
{\displaystyle {\sin[\omega (M+1)/2] \over \sin(\omega /2)}e^{-i\omega M/2}}
M
{\displaystyle M}
intero
sinc
[
(
a
+
n
)
]
{\displaystyle \operatorname {sinc} [(a+n)]}
e
i
a
ω
{\displaystyle e^{ia\omega }}
a
∈
R
{\displaystyle a\in \mathbb {R} }
W
⋅
sinc
2
(
W
n
)
{\displaystyle W\cdot \operatorname {sinc} ^{2}(Wn)}
tri
(
ω
2
π
W
)
{\displaystyle \operatorname {tri} \left({\omega \over 2\pi W}\right)}
0
<
W
≤
0
,
5
∈
R
{\displaystyle 0<W\leq 0,5\quad \in \mathbb {R} }
W
⋅
sinc
(
W
n
)
{\displaystyle W\cdot \operatorname {sinc} (Wn)}
rect
(
ω
2
π
W
)
{\displaystyle \operatorname {rect} \left({\omega \over 2\pi W}\right)}
0
<
W
≤
1
∈
R
{\displaystyle 0<W\leq 1\quad \in \mathbb {R} }
{
0
n
=
0
(
−
1
)
n
n
altrimenti
{\displaystyle {\begin{cases}0&n=0\\{\frac {(-1)^{n}}{n}}&{\text{altrimenti}}\end{cases}}}
j
ω
{\displaystyle j\omega }
Filtro differenziatore
W
(
n
+
a
)
{
cos
[
π
W
(
n
+
a
)
]
−
sinc
[
W
(
n
+
a
)
]
}
{\displaystyle {\frac {W}{(n+a)}}\left\{\cos[\pi W(n+a)]-\operatorname {sinc} [W(n+a)]\right\}}
j
ω
⋅
rect
(
ω
π
W
)
e
j
a
ω
{\displaystyle j\omega \cdot \operatorname {rect} \left({\omega \over \pi W}\right)e^{ja\omega }}
0
<
W
≤
1
∈
R
a
∈
R
{\displaystyle 0<W\leq 1\quad \in \mathbb {R} \qquad a\in \mathbb {R} }
1
π
n
2
[
(
−
1
)
n
−
1
]
{\displaystyle {\frac {1}{\pi n^{2}}}[(-1)^{n}-1]}
|
ω
|
{\displaystyle |\omega |}
{
0
;
n
pari
2
π
n
;
n
dispari
{\displaystyle {\begin{cases}0;&n{\text{ pari}}\\{\frac {2}{\pi n}};&n{\text{ dispari}}\end{cases}}}
{
j
ω
<
0
0
ω
=
0
−
j
ω
>
0
{\displaystyle {\begin{cases}j&\omega <0\\0&\omega =0\\-j&\omega >0\end{cases}}}
Trasformata di Hilbert
C
(
A
+
B
)
2
π
⋅
sinc
[
A
−
B
2
π
n
]
⋅
sinc
[
A
+
B
2
π
n
]
{\displaystyle {\frac {C(A+B)}{2\pi }}\cdot \operatorname {sinc} \left[{\frac {A-B}{2\pi }}n\right]\cdot \operatorname {sinc} \left[{\frac {A+B}{2\pi }}n\right]}
A
,
B
∈
R
,
B
∈
C
{\displaystyle A,B\in R,\quad B\in \mathbb {C} }
^
Charles Constantine Gumas, Window-presum FFT achieves high-dynamic range, resolution , in Personal Engineering & Instrumentation News , luglio 1997, pp. 58–64.
^
Richard G. Lyons, DSP Tricks: Building a practical spectrum analyzer , su eetimes.com , EE Times, giugno 2008.
Alan V. Oppenheim and Ronald W. Schafer, Discrete-Time Signal Processing , 2nd Edition, Prentice Hall Signal Processing Series, 1999, ISBN 0-13-754920-2 .
William McC. Siebert, Circuits, Signals, and Systems , MIT Electrical Engineering and Computer Science Series. Cambridge, MA, MIT Press, 1986.
Boaz Porat, A Course in Digital Signal Processing , John Wiley and Sons, 1941, pp. 27–29 and 104–105, ISBN 0-471-14961-6 .