DSP First, 2/e
Lecture 17
DFT: Discrete Fourier
Transform
READING ASSIGNMENTS
This Lecture:
Chapter 8, Sections 8-1 to 8-3
Other Reading:
Chap. 8, Sect. 8-4
June 2016
© 2003-2016, JH McClellan & RW Schafer
3
LECTURE OBJECTIVES
Discrete Fourier Transform
N 1
X [k ] x[n ]e j ( 2 / N ) k n
n 0
1
x[n ]
N
N 1
j ( 2 / N ) k n
X
[
k
]
e
k 0
DFT from DTFT by frequency sampling
DFT computation (FFT)
DFT pairs and properties
Periodicity in DFT (time & frequency)
June 2016
© 2003-2016, JH McClellan & RW Schafer
4
Sample the DTFT DFT
Want computable Fourier transform
Finite signal length (L)
Finite number of frequencies
X (e jˆ )
x[n]e jˆ n
n
L 1
X ( e jˆ k ) x[n ]e jˆ k n
n 0
ˆk (2 / N )k , k 0,1,2, N 1
k is the frequency index
Periodic : X (e j (ˆ 2 ) ) X (e jˆ )
June 2016
© 2003-2016, JH McClellan & RW Schafer
X [ k N ] X [k ]
5
Want a Computable
INVERSE Fourier Transform
Write the inverse DTFT as a finite Riemann sum:
x[n ] lim
N
X ( e
N 1
jˆ k
k 0
Note that ( ˆ ) ( 2 / N )
2
2
) 2ˆ e j ( 2 k / N ) n
1
N
Propose:
1
x[n ]
N
N 1
jˆ k
j ( 2 k / N ) n
X
[
k
]
e
,
where
X
[
k
]
X
(
e
)
k 0
This is the inverse Discrete Fourier Transform (IDFT)
N 1
X [k ] x[n ] e j ( 2 k / N ) n , will be forward DFT
June 2016
k 0
© 2003-2016, JH McClellan & RW Schafer
6
Inverse DFT when L=N
(proof)
Complex exponentials are ORTHOGONAL
1 N 1
x[n ] X [k ]e j ( 2 / N ) k n
N k 0
1
N
N 1
j ( 2 / N ) k m j ( 2 / N ) k n
x[m ]e
e
k 0 m 0
1
N
N 1 j ( 2 / N ) k m j ( 2 / N ) k n
x[m ] e
e
N
m 0
k 0
N [n m]
1
N
June 2016
N 1
N 1
j ( 2 / N ) k ( n m )
x[m ] e
x[n ]
m 0
k 0
N 1
N 1
© 2003-2016, JH McClellan & RW Schafer
0
nm
nm
7
Orthogonality of Complex
Exponentials
The sequence set: e
1
N
j ( 2 / N ) kn
N 1
j ( 2 / N ) kn j ( 2 / N ) mn
e
e
n 0
N 1
k 0
for n 0,1,, N 1
1
N
N 1
j ( 2 / N ) n ( k m )
e
n 0
k m
1,
1 1 e j 2 ( k m )
j ( 2 / N ) ( k m )
N 1 e
0, otherwise
because 0 k , m N ,| k m | N
1 e j 2 l
and lim
N
j
(
2
/
N
)
l
l 0 1 e
June 2016
© 2003-2016, JH McClellan & RW Schafer
8
4-pt DFT: Numerical Example
Take the 4-pt DFT of the following signal
x[n ] [n ] [n 1]
{x[n ]} [1, 1, 0, 0]
X [0] x[0]e j 0 x[1]e j 0 x[2]e j 0 x[3]e j 0 1 1 0 0 2
X [1] x[0]e j 0 x[1]e j / 2 x[2]e j 2 / 2 x[3]e j 3 / 2
1 j 2 e j / 4
X [2] x[0]e j 0 x[1]e j x[2]e j 2 x[3]e j 3 1 1 0 0 0
X [3] x[0]e j 0 x[1]e j 3 / 2 x[2]e j 3 x[3]e j 9 / 2
1 j 2 e j / 4
June 2016
© 2003-2016, JH McClellan & RW Schafer
9
N-pt DFT: Numerical Example
Take the N-pt DFT of the impulse
x[n ] [n ]
N 1
X [k ] [n ]e
{x[n ]} [1, 0, 0,0]
j ( 2 / N ) k n
n 0
0
[n ]e j ( 2 / N ) k n 1
n 0
{ X [k ]} [1, 1, 1,,1]
June 2016
© 2003-2016, JH McClellan & RW Schafer
10
4-pt iDFT: Numerical Example
June 2016
© 2003-2016, JH McClellan & RW Schafer
11
Matrix Form for N-pt DFT
In MATLAB, NxN DFT matrix is dftmtx(N)
• Obtain DFT by X = dftmtx(N)*x
• Or, more efficiently by X = fft(x,N)
•
Fast Fourier transform (FFT) algorithm later
1
X [0] 1
X [1] 1
j 2 / N
e
X [2] 1
e j 4 / N
X [ N 1] 1 e j 2( N 1) / N
1
e j 4 / N
e j 8 / N
e j 4( N 1) / N
x[0]
e j 2( N 1) / N x[1]
e j 4( N 1) / N x[2]
e j 2( N 1)( N 1) / N x[ N 1]
DFT matrix
June 2016
© 2003-2016, JH McClellan & RW Schafer
1
Signal
vector
12
FFT: Fast Fourier Transform
FFT is an algorithm for computing the DFT
N log2N versus N2 operations
Count multiplications (and additions)
For example, when N = 1024 = 210
≈10,000 ops vs. ≈1,000,000 operations
≈1000 times faster
What about N=256, how much faster?
June 2016
© 2003-2016, JH McClellan & RW Schafer
13
Zero-Padding gives denser
FREQUENCY SAMPLING
Want many samples of DTFT
WHY? to make a smooth plot
Finite signal length (L)
Finite number of frequencies (N)
ĵ
L
N
,
N
,
X
[
k
]
X
(
e
)
Thus, we need
X (e
jˆ k
L 1
) x[n ]e
n 0
June 2016
jˆ k n
ˆk (2 / N )k , k 0,1,2, N 1
© 2003-2016, JH McClellan & RW Schafer
14
Zero-Padding with the FFT
Get many samples of DTFT
Finite signal length (L)
Finite number of frequencies (N)
Thus, we need L N , N , X [k ] X (e ĵ )
In MATLAB
• Use X = fft(x,N)
• With L=length(x) less than N
• Define xpadtoN = [x,zeros(1,N-L)];
• Take the N-pt DFT of xpadtoN
June 2016
© 2003-2016, JH McClellan & RW Schafer
15
DFT periodic in k
(frequency domain)
Since DTFT is periodic in frequency, the DFT
must also be periodic in k
X [k ] X (e j ( 2 / N ) k )
X [k N ] X (e j ( 2 / N )( k N ) ) X (e j ( 2 / N )( k )( 2 / N ) N ) ) X (e j ( 2 / N ) k )
What about Negative indices and Conjugate
Symmetry?
N 32
June 2016
X ( e j ( 2 / N ) k ) X ( e j ( 2 / N ) k )
X [31] X [1]
X [ k ] X [k ]
X [30] X [2]
X [ N k ] X [k ]
X [29] X [3]
© 2003-2016, JH McClellan & RW Schafer
16
DFT Periodicity in
Frequency Index
X [k ] X (e jˆk ) X (e j ( 2 / N ) k )
k 0,1,2, N 1
X [k N ] X [k ] X (e j (ˆ 2 ) ) X (e jˆ )
X [ N k ] X [ k ],
e.g., X [ N 2] X [ 2]
June 2016
© 2003-2016, JH McClellan & RW Schafer
17
DFT pairs & properties
Recall DTFT pairs because DFT is sampled DTFT
See next two slides
DFT acts on a finite-length signal, so we can use
DTFT pairs & properties for finite signals
Want DFT properties related to computation
And, we will concentrate on one more pair:
DTFT and DFT of finite sinusoid (or cexp)
Length-L signal
N-pt DFT
June 2016
© 2003-2016, JH McClellan & RW Schafer
18
These 3 signals have infinite length
June 2016
© 2003-2016, JH McClellan & RW Schafer
19
Summary of DTFT Pairs
June 2016
© 2003-2016, JH McClellan & RW Schafer
20
These 3 properties involve circular indexing
June 2016
© 2003-2016, JH McClellan & RW Schafer
21
June 2016
© 2003-2016, JH McClellan & RW Schafer
22
Convolution Property not
the same
Almost true for DFT:
Convolution maps to multiplication of transforms
Need a different kind of convolution
CIRCULAR CONVOLUTION
LATER in an advanced DSP course
Likewise, for Time-Shifting
Has to be circular
Because the “n” domain is also periodic
June 2016
© 2003-2016, JH McClellan & RW Schafer
23
Delay Property of DFT
Recall DTFT property for time shifting:
jˆ
jˆ
y[n] x[n nd ] Y (e ) X (e )e
jˆ nd
Expected DFT property via frequency sampling
y[n ] x[n nd ] Y [k ] X [k ] e
j ( 2 k / N ) nd
Indices such as n nd must be evaluated
modulo-N because j ( 2 k / N )( nd N )
j ( 2 k / N ) nd
e
June 2016
© 2003-2016, JH McClellan & RW Schafer
e
24
DTFT of a Length-L Pulse
Know DTFT of finite rectangular pulse
Dirichlet form and a linear phase term
1 0 n L
sin( 12 Lˆ ) jˆ ( L1) / 2
jˆ
x[n]
X (e )
e
sin( 12 ˆ )
0 otherwise
sin( 12 Lˆ )
DL (ˆ )
sin( 12 ˆ )
Use frequency-sampling to get DFT
sin( 12 L( 2 k / N )) j ( 2 k / N )( L1) / 2
j ( k / N )( L 1)
X [k ]
e
D
(
2
k
/
N
)
e
L
1
sin( 2 ( 2 k / N ))
June 2016
© 2003-2016, JH McClellan & RW Schafer
25
DTFT of a Finite Length
Complex Exponential (1)
Know DTFT of finite rectangular pulse
Dirichlet form and a linear phase term
1 0 n L
sin( 12 Lˆ ) jˆ ( L1) / 2
jˆ
x[n]
X (e )
e
sin( 12 ˆ )
0 otherwise
sin( 12 Lˆ )
DL (ˆ )
sin( 12 ˆ )
Use frequency-shift property
e jˆ0n
y[n]
0
June 2016
sin( 12 L(ˆ ˆ0 )) j (ˆ ˆ0 )( L1) / 2
Y (e )
e
1 ˆ
sin( 2 ( ˆ0 ))
otherwise
0n L
jˆ
© 2003-2016, JH McClellan & RW Schafer
26
DTFT of a Finite Length
Complex Exponential (2)
Know DTFT, so we can sample in frequency
e jˆ0n
y[n]
0
sin( 12 L(ˆ ˆ0 )) j (ˆ ˆ0 )( L1) / 2
Y (e )
e
1 ˆ
sin( 2 ( ˆ0 ))
otherwise
0n L
jˆ
Thus, the N-point DFT is
e jˆ0n 0 n L
y[ n ]
LnN
0
Y [k ] Y ( e jˆ ) at ˆ 2N k
sin( 12 L( 2N k ˆ 0 )) j ( 2N k ˆ0 )( L1) / 2
Y [k ]
e
1 2 k
sin( 2 ( N ˆ 0 ))
June 2016
© 2003-2016, JH McClellan & RW Schafer
Dirichlet Function
sin( 12 Lˆ )
DL (ˆ )
sin( 12 ˆ )
27
20-pt DFT of Complex
Exponential
ˆ 0
2
N
(2.5)
e jˆ0n
x1[n]
0
June 2016
sin( 12 L( 2N k ˆ0 )) j ( 2N k ˆ0 )( L1) / 2
X 1[ k ]
e
1 2 k
sin( 2 ( N ˆ0 ))
otherwise
0n L
sin( 12 Lˆ )
DL (ˆ )
so the outline is a shifted Dirichlet form
1 ˆ
sin( 2 ) © 2003-2016, JH McClellan & RW Schafer
28
20-pt DFT of Complex Exp: “on
the grid”
ˆ 0
2
N
( 2)
e jˆ0n
x2 [n]
0
June 2016
sin( 12 L( 2N k ˆ0 )) j ( 2N k ˆ0 )( L1) / 2
X 2 [k ]
e
1 2 k
sin( 2 ( N ˆ0 ))
otherwise
0n L
sin( 12 Lˆ )
© 2003-2016,
McClellan & RW
DL (ˆ )
so theJH outline
isSchafer
a shifted Dirichlet form
1 ˆ
sin( 2 )
29
50-pt DFT of Sinusoid: zero
padding
L 20, N 50
ˆ 0
2
N
(10) 0.4
?
A cos(ˆ 0n ) 0 n L
x4 [n ]
0
otherwise
2 k
L N
X 4 [k ] AD (
1
2
June 2016
ˆ 0 ) e
j(
2 k
ˆ 0 )( L 1) / 2
N
2 k
L N
AD (
1
2
© 2003-2016, JH McClellan & RW Schafer
ˆ 0 ) e
j(
2 k
ˆ 0 )( L 1) / 2
N
30
RECALL: BandPass Filter (BPF)
Frequency shifting
up and down is done
by cosine multiplication
in the time domain
BPF is frequency shifted
version of LPF (below)
sin( 12 ˆ diff n )
hBP [n ] 2 cos(ˆ mid n )
n
0 | ˆ | ˆ co1
DTFT
H BP ( e jˆ ) 1 ˆ co1 | ˆ | ˆ co2
0 ˆ | ˆ |
co 2
June 2016
© 2003-2016, JH McClellan & RW Schafer
31
50-pt DFT of Sinusoid: zero
padding
L 20, N 50
ˆ 0
2
N
(10) 0.4
?
Zero-crossings of Dirichlet ?
Width of Dirichlet ?
Density of frequency samples?
June 2016
© 2003-2016, JH McClellan & RW Schafer
Thus we have
a simple BPF
32
© Copyright 2026 Paperzz