This document discusses digital signal processing concepts including the discrete Fourier transform (DFT) and fast Fourier transform (FFT). It defines DFT as a numerically computable transform that takes a time domain sequence and represents it as a sequence of discrete frequency samples. It also describes how the FFT uses techniques like divide-and-conquer to reduce the computational load of the DFT from O(N^2) to O(NlogN). MATLAB can be used to easily calculate DFTs using the fft function.
1. DSP [Digital Signal Processing]
l-2
Vo
Prof. A.H.M. Asadul Huq, Ph.D.
http://asadul.drivehq.com/students.htm
asadul@ulab.edu.bd
February 3, 2013 A.H. 1
2. DSP [Digital Signal Processing]
DFT [Discrete Fourier Transform]
and
FFT [Fast Fourier Transform]
03:02 PM
February 3, 2013 A.H. 2
3. DFT (Discrete Fourier Transform)
• Discrete samples {X(k)} of the continuous frequency
domain representation X(ω) of a time domain
sequence {x(n)} is called DFT.
• DFT is a numerically computable transform that is
suitable for computer implementations.
• DFT is a powerful tool for performing frequency
analysis of the D-T signals.
February 3, 2013 A.H. 3
4. DFT (Discrete Fourier transform)
DFT
N −1 − j 2πkn
X ( k ) = ∑ x ( n )e N
k = 0,1,2,3,..., N − 1 Eqn. 7.1.20
n =0
IDFT
N −1 j 2πkn
1
x ( n) =
N
∑ X ( k )e
k =0
N
n = 0,1,2,..., N − 1 eqn. 7.1.21
03:02 PM
February 3, 2013 A.H. 4
5. Continuation of
DFT
• {X(k)} is a sequence of frequency samples
of length N. The frequencies are discrete.
So the Eqn. 20 is called Discrete Fourier
Transform
• DFT is the only transform that is discrete in
both the time and frequency domain.
03:02 PM
February 3, 2013 A.H. 5
6. Continuation of
DFT
• Now, 7.1.20 can be rewritten as-
N −1
X (k ) = ∑ x(n)WN
kN
k = 0,1,2,3,..., N − 1 eqn. 7.1.22
n =0
• And IDFT equation 7.1.21
N −1
1
x ( n) =
N
∑ −
X (k )WN kN
k =0
n = 0,1,2,3,..., N − 1 eqn. 7.1.23
• Where, W is called Phase factor
− j 2π
WN = e N
eqn. 5.1.22
03:02 PM
February 3, 2013 A.H. 6
9. DFT Computation … continued
Similarly, we compute X(2) and X(3) to complete
DFT of x(n) -
Now, X(k)={X(0),X(1),X(2),X(3)}
={ 2, 1+j, 0, 1-j }. Ans.
Note:
X(k) is a complex sequence and it is the 4 point DFT of
the sequence x(n).
03:02 PM
February 3, 2013 A.H. 9
10. Direct DFT computation requirements
• For each point of the DFT: N complex
multiplications (CM) and N-1 Complex
additions (CA)
• N-point DFT: N2 CMs and N(N-1) CAs
• Direct DFT Computation load ∞ N2
Notes:
• A single CM computation: 4 real
multiplications (RM) and 2 real additions (RA)
• A complex addition: 2 RAs
03:02 PM
February 3, 2013 A.H. 12
Of 10
11. Continued …
Direct DFT computation requirements
Examples:
• 100 point DFT computation requires 1002 =
10,000 CMs and CAs
• A 1000 point DFT (common for many real
systems) requires 106 complex operations.
• The above operations may consume 60 sec of
computing time on a speedy computer!
03:02 PM
February 3, 2013 A.H. 11
12. 2 Important properties of DFT
Periodicity property
• If x(n) and X(k) are an N-point DFT pair, then
• x(n+N) = x(n) for all n
• X(k+N) = X(k) for all K
• Or,
W k + N = W k eqn.8.1.5 P.512
N N
Symmetry Property
k+N
W N
2
= −W k
N eqn. 8.1.4 P.512
03:02 PM
February 3, 2013 A.H. 12
13. FFT [Fast Fourier Transform] [449]
• FFT is a family of algorithms using various
“tricks” that exploit the symmetry of the
DFT calculation to make its execution
much faster
• Tricks are used to reduce the -
– Number of additions and multiplications
– Amount of memory
– Scalability and regularity
03:02 PM
February 3, 2013 A.H. 13
14. Techniques of Efficient Computations of FFT
• FFT algorithms exploit the following properties of the
DFT
– Symmetry and
– Periodicity Properties
• Types of FFT algorithms
– Divide-and-Conquer Approach [450]
– Radix-2 FFT [519]
– Radix-4 FFT [527]
– Split Radix FFT [532]
– Goertzel Algorithms [542], etc.
03:02 PM
February 3, 2013 A.H. 14
15. USING MATLAB TO CALCULATE DFT
It is easy to use matlab function< fft> to calculate the DFT of a
sequence.
>>fft([1,0,0,1])
Just enter the above command to get the immediate result –
2.0000 1.0000 + 1.0000i 0 1.0000 - 1.0000i
The above result is same as we calculated before.
February 3, 2013 A.H. 15
16. DSP Lecture
DFT and FFT
THANK YOU
THE END
03:02 PM
February 3, 2013 A.H. 16