2. Introduction
The discrete-time Fourier transform (DTFT) provided the frequency-
domain (ω) representation for absolutely summable sequences.
The z-transform provided a generalized frequency-domain (z)
representation for arbitrary sequences.
These transforms have two features in common.
First, the transforms are defined for infinite-length sequences.
Second, and the most important, they are functions of continuous variables
(ω or z).
In other words, the discrete-time Fourier transform and the z-transform
are not numerically computable transforms.
The Discrete Fourier Transform (DFT) avoids the two problems
mentioned and is a numerically computable transform that is suitable
for computer implementation.
2
3. Discrete Fourier Transform (DFT)
Given a finite-duration discrete-time signal, a corresponding periodic discrete-time signal
can be generated which has a discrete Fourier transform (DFT) that happens to be a
discrete-frequency spectrum.
Thus given a signal that can be represented by a sequence of numbers a spectral
characterization of the signal can be obtained, which can also be represented by a
sequence of numbers.
Consequently, the DFT is highly amenable to processing by computers and digital signal
processors. The DFT turns out to be a sampled version of the frequency spectrum of the
original finite-duration nonperiodic signal and, therefore, it is a very important tool for
digital signal processing (DSP).
It was demonstrated that the direct evaluation of the DFT entails a considerable amount
of redundancy and through an ingenious method that has come to be known as the fast
Fourier transform (FFT).
It was shown that a huge amount of computation can be eliminated without degrading the
precision of the DFT in any way.
The FFT approach renders a highly amenable tool for computation also a very efficient
one and for these reasons the DFT has found widespread applications over the years.
3
5. Recall of DTFT
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 measures at N-points:
Where y(n) are the measurements taken at N-points
5
Nn
Nnny
n
nx
,0
)1(0),(
00
)(
6. Computation of DFT
Recall of DTFT
The DFT can be computed by:
Truncate the summation so that it ranges over finite limits x[n] is a finite-length
sequence.
Discretize ω to ωk evaluate DTFT at a finite number of discrete frequencies.
For an N-point sequence, only N values of frequency samples of X(ejw) at N
distinct frequency points, are sufficient to determine x[n]
and X(ejw) uniquely.
So, by sampling the spectrum X(ω) in frequency domain
6
DFTenxX
N
X
N
n
N
kn
j
1
0
2
)(k)(
2
),X(kk)(
10, Nkk
7. Computation of DFT
The inverse DFT is given by:
Proof
7
IDFTekX
N
x
N
k
N
kn
j
1
0
2
)(
1
n)(
1
0
1
0
1
0
)(
2
1
0
21
0
2
)()()(n)(
1
)(n)(
)(
1
n)(
N
m
N
m
N
n
N
nmk
j
N
k
N
kn
jN
m
N
mk
j
nxnmmxx
e
N
mxx
eemx
N
x
9. Example
Find the discrete Fourier Transform of the following N-points discrete
time signal
Solution:
On the board
9
)1(,...),1(),0()( Nxxxnx
10. Nth Root of Unity
102
1
2
1
10)
19)
2
1
2
1
8)
7)
2
1
2
1
6)
15)
2
1
2
1
4)
3)
2
1
2
1
2)
11)
9
8
2
9
8
8
8
2
8
8
7
8
2
7
8
6
8
2
6
8
5
8
2
5
8
4
8
2
4
8
3
8
2
3
8
2
8
2
2
8
1
8
2
1
8
0
8
2
0
8
jeW
eW
jeW
jeW
jeW
eW
jeW
jeW
jeW
eW
j
j
j
j
j
j
j
j
j
j
1*
2/
2
)2/(
NN
k
N
k
N
k
N
Nk
N
k
N
Nk
N
WW
WW
WW
WW
N
j
N eW
2
11. DFT Examples
Find the 4-Point DFT the discrete time periodic signal, x(n):
If the sampling frequency, fs = 2 Hz.
a) Plot the signal x(n) as sampled and as a time signal.
b) Plot the resulting spectrum, X(k) as sampled and as a frequency signal.
11
2
1
0
2
1
1 ,,,nxp
The signal xP(n) as
sampled and as a
time signal.
14. Relation To The Z-transform
Let 𝑥(𝑛) be a finite-duration sequence of duration 𝑁 such that
Then we can compute its z-transform:
Now we construct a periodic sequence 𝑥 𝑛 by periodically repeating
𝑥(𝑛) with period 𝑁, that is,
The DFS of 𝑥 𝑛 is given by
14
Elsewhere
NnNonzero
nx
,0
)1(0,
)(
1
0
)(z)(
N
n
n
znxX
Elsewhere
Nnnx
nx
,0
)1(0),(~
)(
1
0
2
)(k)(
~ N
n
n
k
N
j
enxX
k
N
j
ez
zXX 2
)(k)(
~
15. Relation To The Z-transform
which means that the DFS 𝑿(𝑘) represents 𝑁 evenly spaced samples of
the z-transform 𝑋(𝑧) around the unit circle.
15
Re(z)
Im(z)
z0
z1
z2
z3
z4
z5
z6
z7
1
N = 8
17. DFT - Matrix Formulation
xWX
Nx
x
x
x
WWW
WWW
WWW
NX
X
X
X
NN
N
N
N
N
N
N
NNN
N
NNN
]1[
...
]2[
]1[
]0[
...1
...............
...1
...1
1...111
)1(
...
)2(
)1(
)0(
)1)(1()1(21
)1(242
121
17
18. Computation Complexity
To calculate the DFT of N-Points discrete time signal, we need:
(N-1)2 Complex Multiplications
N(N-1) Complex Additions.
18
19. IDFT - Matrix Formulation
XW
N
x
XWx
NX
X
X
X
WWW
WWW
WWW
N
Nx
x
x
x
H
NN
N
N
N
N
N
N
NNN
N
NNN
1
]1[
...
]2[
]1[
]0[
...1
...............
...1
...1
1...111
1
)1(
...
)2(
)1(
)0(
1
)1)(1()1(2)1(
)1(242
)1(21
19
20. Matrix Formulation
Result: Inverse DFT is given by
which follows easily by checking WHW = WWH = NI, where I denotes the
identity matrix. Hermitian transpose:
Also, “*” denotes complex conjugation.
20
21. DFT Interpretation
DFT sample X(k) specifies the magnitude and phase angle of the kth spectral
component of x[n].
The amount of power that x[n] contains at a normalized frequency, fk, can be
determined from the power density spectrum defined as
21
)(spectrumPhase
|)(|spectrumMagnitude
kX
kX
10,
|)(|
)(
2
Nk
N
kX
kSN
22. Periodicity of DFT Spectrum
The DFT spectrum is periodic with period N (which is expected, since the DTFT
spectrum is periodic as well, but with period 2π).
22
)()(N)k(
)(N)k(
)(N)k(
2
2
1
0
2
1
0
)(
2
kXekXX
eenxX
enxX
nj
nj
N
n
N
nk
j
N
n
N
nNk
j
23. Example
Example: DFT of a rectangular pulse:
the rectangular pulse is “interpreted” by the DFT as a spectral line at
frequency ω = 0. DFT and DTFT of a rectangular pulse (N=5)
23
24. Zero Padding
What happens with the DFT of this rectangular pulse if we increase N by
zero padding:
where x(0) = · · · = x(M − 1) = 1. Hence, DFT is
24
0,...,0,0,0),1(,...),1(),0()( Mxxxnx
(N-M) Positions
25. Zero Padding
DFT and DTFT of a Rectangular Pulse with Zero Padding (N = 10, M = 5)
25
26. Zero Padding
Zero padding of analyzed sequence results in “approximating” its DTFT
better,
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).
26
27. Frequency Interval/Resolution
Frequency Interval/Resolution: DFT’s frequency resolution
and covered frequency interval
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?
Answer: No, because resolution is determined by the length of observation
interval, and zero padding does not increase this length.
27
28. Example (DFT Resolution)
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/(NT) = 5 Hz.
28
29. Example (DFT Resolution)
DFT with N = 30 and zero padding to 512 points. Resolved: F2 − F1 = 2 Hz > 1/(NT)=1.7 Hz.
29
30. Example (DFT Resolution)
DFT with N=100 and zero padding to 512 points. Resolved: F2−F1 = 2 Hz > 1/(NT) = 0.5 Hz.
30
40. Fast Fourier Transform (FFT) Algorithm
The direct evaluation of the DFT involves N complex multiplications and N −1 complex additions for
each value of X(k), and since there are N values to determine, N2 multiplications and N(N−1)
additions are necessary.
Consequently, for large values of N, say in excess of 1000, direct evaluation involves a considerable
amount of computation.
It turns out that the direct evaluation of the DFT on the basis of its definition entails a large
amount of redundancy and through some clever strategies, a huge reduction in the amount of
computation can be achieved.
These strategies have come to be known collectively as fast Fourier transforms (FFTs) although, to
be precise, these methods have nothing to do with transforms in the true sense of the word.
FFT is an algorithm which calculates the DFT and the IDFT efficiently.
It has a very small complexity of calculations compared to the direct calculations of the DFT or
the IDFT.
There are 2 possible algorithms:
- the decimation in time algorithm. - the decimation in frequency algorithm.
The decimation in time algorithm needs the arrangement of the input time sequence {x(n)}.
The decimation in frequency algorithm needs the arrangement of the output frequency sequence
{X(k) }. 40
41. Fast Fourier Transform (FFT) Algorithm
The basic idea behind the fast Fourier transform (FFT)
Decompose the N-point DFT computation into computations of smaller-size DFTs
Take advantage of the periodicity and symmetry of the complex number .
Assuming that N is an even number. Divide the data sample into two groups by
decimation
41
1
2
,...1,0'
)1'2()'(
)'2()'(
N
nfor
nxnv
nxnu
)...7()3();5()2();3()1();1()0(
)...6()3();4()2();2()1();0()0(
xvxvxvxv
xuxuxuxu
42. Fast Fourier Transform (FFT) Algorithm
Consider special case of N an integer power of 2
Separate x[n] into two sequence of length N/2
Even indexed samples in the first sequence
Odd indexed samples in the other sequence
Substitute variables n=2r for n even and n=2r+1 for odd
42
1
oddn
/2
1
evenn
/2
1
0
/2
][][][
N
knNj
N
knNj
N
n
knNj
enxenxenxkX
1
2
]12[]2[
1
2
0]12[]2[
12/
0r
)2/(
2/
12/
0r
)2/(
2/
12/
0r
2/
12/
0r
2/
Nk
N
WrxWWrx
N
kWrxWWrx
kX
N
Nkr
N
k
N
N
Nkr
N
N
rk
N
k
N
N
rk
N
43. Computation Complexity
To calculate the DFT of N-Points discrete time signal, we need:
(N-1)2 Complex Multiplications
N(N-1) Complex Additions.
To calculate the FFT of N-Points discrete time signal, we need:
Complex Multiplications
Complex Additions.
43
NlogN 2
Nlog
2
N
2
44. Decimation In Time
8-point DFT example using decimation-in-time
Two N/2-point DFTs
2(N/2)2 complex multiplications
2(N/2)2 complex additions
Combining the DFT outputs
N complex multiplications
N complex additions
Total complexity
N2/2+N complex multiplications
N2/2+N complex additions
More efficient than direct DFT
Repeat same process
Divide N/2-point DFTs into
Two N/4-point DFTs
Combine outputs
44
45. 45
After two steps of decimation in time
On
the whiteboard
Repeat until we’re left with two-point DFT’s
On
the whiteboard
Decimation In Time