Discrete Fourier Transform (DFT)
Recall the DTFT: X(ω) =
∞ X
x(n)e−jωn.
n=−∞
DTFT is not suitable for DSP applications because • In DSP, we are able to compute the spectrum only at specific discrete values of ω, • Any signal in any DSP application can be measured only in a finite number of points. A finite signal measured at N points: n < 0, 0, y(n), 0 ≤ n ≤ (N − 1), x(n) = 0, n ≥ N, where y(n) are the measurements taken at N points. EE 524, Fall 2004, # 5
1
Sample the spectrum X(ω) in frequency so that X(k) = X(k∆ω), X(k) =
N −1 X
∆ω = −j2π kn N
x(n)e
2π N
=⇒
DFT.
n=0
The inverse DFT is given by: N −1 kn 1 X x(n) = X(k)ej2π N . N k=0
1 x(n) = N =
N −1 X
(N −1 X
k=0
m=0
N −1 X
( x(m)
m=0
|
EE 524, Fall 2004, # 5
) −j2π km N
x(m)e
1 N
N −1 X
−j2π
e
j2π kn N
e
k(m−n) N
) = x(n).
k=0
{z
δ(m−n)
}
2
The DFT pair:
X(k) =
N −1 X
kn
x(n)e−j2π N
analysis
n=0
x(n) =
N −1 1 X j2π kn X(k)e N N
synthesis.
k=0
Alternative formulation:
X(k) =
N −1 X
x(n)W kn
2π
←− W = e−j N
n=0
x(n) =
N −1 1 X X(k)W −kn. N k=0
EE 524, Fall 2004, # 5
3
EE 524, Fall 2004, # 5
4
Periodicity of DFT Spectrum
X(k + N ) =
N −1 X
−j2π
x(n)e
(k+N )n N
n=0 N −1 X
=
! −j2π kn N
x(n)e
e−j2πn
n=0
= X(k)e−j2πn = X(k) =⇒ the DFT spectrum is periodic with period N (which is expected, since the DTFT spectrum is periodic as well, but with period 2π). Example: DFT of a rectangular pulse: x(n) =
X(k) =
1, 0 ≤ n ≤ (N − 1), 0, otherwise.
N −1 X
kn
e−j2π N = N δ(k) =⇒
n=0
the rectangular pulse is “interpreted” by the DFT as a spectral line at frequency ω = 0.
EE 524, Fall 2004, # 5
5
DFT and DTFT of a rectangular pulse (N=5)
EE 524, Fall 2004, # 5
6
Zero Padding
What happens with the DFT of this rectangular pulse if we increase N by zero padding: {y(n)} = {x(0), . . . , x(M − 1), 0, . . . , 0} }, | 0,{z N −M positions where x(0) = · · · = x(M − 1) = 1. Hence, DFT is
Y (k) =
N −1 X
−j2π kn N
y(n)e
=
M −1 X
n=0
=
EE 524, Fall 2004, # 5
sin(π kM N ) sin(π Nk )
−j2π kn N
y(n)e
n=0 −jπ
e
k(M −1) N
.
7
DFT and DTFT of a Rectangular Pulse with Zero Padding (N = 10, M = 5)
Remarks: • Zero padding of analyzed sequence “approximating” its DTFT better,
results
in
• Zero padding cannot improve the resolution of spectral components, because the resolution is “proportional” to 1/M rather than 1/N , • Zero padding is very important for fast DFT implementation (FFT). EE 524, Fall 2004, # 5
8
Matrix Formulation of DFT
Introduce the N × 1 vectors
x(0) x(1) x= .. x(N − 1)
,
X(0) X(1) . X= .. X(N − 1)
and the N × N matrix W=
0
0
0
W W W W0 W1 W2 W0 W2 W4 .. .. .. W 0 W N −1 W 2(N −1)
0
··· W · · · W N −1 · · · W 2(N −1) .. .. (N −1)2 ··· W
.
DFT in a matrix form: X = Wx. Result: Inverse DFT is given by x= EE 524, Fall 2004, # 5
1 H W X, N 9
which follows easily by checking W H W = WW H = N I, where I denotes the identity matrix. Hermitian transpose: xH = (xT )∗ = [x(1)∗, x(2)∗, . . . , x(N )∗]. Also, “∗” denotes complex conjugation. Frequency Interval/Resolution: DFT’s frequency resolution Fres ∼
1 NT
[Hz]
and covered frequency interval ∆F = N ∆Fres
1 = = Fs T
[Hz].
Frequency resolution is determined only by the length of the observation interval, whereas the frequency interval is determined by the length of sampling interval. Thus • Increase sampling rate =⇒ expand frequency interval, • Increase observation time =⇒ improve frequency resolution. Question: Does zero padding alter the frequency resolution? EE 524, Fall 2004, # 5
10
Answer: No, because resolution is determined by the length of observation interval, and zero padding does not increase this length.
Example (DFT Resolution): Two complex exponentials with two close frequencies F1 = 10 Hz and F2 = 12 Hz sampled with the sampling interval T = 0.02 seconds. Consider various data lengths N = 10, 15, 30, 100 with zero padding to 512 points.
DFT with N = 10 and zero padding to 512 points. Not resolved: F2 − F1 = 2 Hz < 1/(N T ) = 5 Hz. EE 524, Fall 2004, # 5
11
DFT with N = 15 and zero padding to 512 points. Not resolved: F2 − F1 = 2 Hz < 1/(N T ) ≈ 3.3 Hz.
DFT with N = 30 and zero padding to 512 points. Resolved: F2 − F1 = 2 Hz > 1/(N T ) ≈ 1.7 Hz. EE 524, Fall 2004, # 5
12
DFT with N = 100 and zero padding to 512 points. Resolved: F2 − F1 = 2 Hz > 1/(N T ) = 0.5 Hz.
EE 524, Fall 2004, # 5
13
DFT Interpretation Using Discrete Fourier Series
Construct a periodic sequence by periodic repetition of x(n) every N samples: {e x(n)} = {. . . , x(0), . . . , x(N − 1), x(0), . . . , x(N − 1), . . .} | {z } | {z } {x(n)}
{x(n)}
The discrete version of the Fourier Series can be written as x e(n) =
X
j2π kn N
Xk e
k
1 X e 1 X e j2π kn = X(k)e N = X(k)W −kn, N N k
k
e where X(k) = N Xk . Note that, for integer values of m, we have W
−kn
j2π kn N
=e
j2π
=e
(k+mN )n N
= W −(k+mN )n.
As a result, the summation in the Discrete Fourier Series (DFS) should contain only N terms: N −1 1 X e j2π kn x e(n) = X(k)e N N
DFS.
k=0
EE 524, Fall 2004, # 5
14
Inverse DFS The DFS coefficients are given by
e X(k) =
N −1 X
kn
x e(n)e−j2π N
inverse DFS.
n=0
Proof. N −1 X
−j2π kn N
x e(n)e
n=0
N −1 N −1 X 1 X e j2π pn −j2π kn N N X(p)e = e N n=0 p=0 N −1 X
=
( e X(p)
p=0
1 N
N −1 X
j2π
e
(p−k)n N
) e = X(k).
n=0
|
{z
δ(p−k)
}
2 The DFS coefficients are given by
e X(k) =
N −1 X
kn
x e(n)e−j2π N
analysis,
n=0
x e(n) =
N −1 1 X e j2π kn X(k)e N N
synthesis.
k=0
EE 524, Fall 2004, # 5
15
• DFS and DFT pairs are identical, except that − DFT is applied to finite sequence x(n), − DFS is applied to periodic sequence x e(n). • Conventional (continuous-time) FS vs. DFS − CFS represents a continuous periodic signal using an infinite number of complex exponentials, whereas − DFS represents a discrete periodic signal using a finite number of complex exponentials.
EE 524, Fall 2004, # 5
16
DFT: Properties
Linearity Circular shift of a sequence: if X(k) = DFT {x(n)} then km
X(k)e−j2π N = DFT {x((n − m) mod N )} Also if x(n) = DFT −1{X(k)} then km
x((n − m) mod N ) = DFT −1{X(k)e−j2π N } where the operation mod N denotes the periodic extension x e(n) of the signal x(n): x e(n) = x(n mod N ).
EE 524, Fall 2004, # 5
17
DFT: Circular Shift
N −1 X
x((n − m)modN )W kn
n=0
= W km
N −1 X
x((n − m)modN )W k(n−m)
n=0 EE 524, Fall 2004, # 5
18
= W km
N −1 X
x((n − m)modN )W k(n−m)modN
n=0
= W kmX(k), where we use the facts that W k(lmodN ) = W kl and that the order of summation in DFT does not change its result. Similarly, if X(k) = DFT {x(n)}, then j2π mn N
X((k − m)modN ) = DFT {x(n)e
}.
DFT: Parseval’s Theorem
N −1 X
x(n)y ∗(n) =
n=0
N −1 1 X X(k)Y∗(k) N k=0
Using the matrix formulation of the DFT, we obtain yH x = = EE 524, Fall 2004, # 5
H
1 H 1 H W Y W Y N N 1 H 1 H H Y W W } X = Y X. | {z N2 N NI 19
DFT: Circular Convolution If X(k) = DFT {x(n)} and Y (k) = DFT {y(n)}, then X(k)Y (k) = DFT {{x(n)} ~ {y(n)}} Here, ~ stands for circular convolution defined by {x(n)} ~ {y(n)} =
N −1 X
x(m)y((n − m) mod N ).
m=0
DFT {{x(n)} ~ {y(n)}} N −1 h i X PN −1 kn = x(m)y((n − m) mod N ) W m=0 | {z } n=0 {x(n)}~{y(n)}
=
N −1 h X
PN −1 n=0
m=0 |
= Y (k)
N −1 X
|m=0
EE 524, Fall 2004, # 5
i
y((n − m) mod N )W kn x(m) {z } Y (k)W km
x(m)W km = X(k)Y (k). {z
X(k)
}
20