Title: 7. The Discrete and Fast Fourier Transform
17. The Discrete and Fast Fourier Transform
2Contents
- 1. Basic theory of discrete Fourier transform
(DFT) -
- 2. Relationships among various types of
Fourier transforms - 3. Computation of DFT
- 4. Brief introduction to fast Fourier
transform (FFT)
3Discrete Fourier transform (DFT) and fast
Fourier transform (FFT)
- Discrete Fourier transform (DFT)
- For the frequency domain representation of
discrete-time signals - Calculation of Fourier transform by (digital)
computer frequency domain should be made
discrete - Fast Fourier transform (FFT)
- An algorithm for the fast computation of DFT
4Discrete Fourier series and (discrete-time)
Fourier transform (Ch.3)
Discrete Fourier series
(discrete-time) Fourier transform
- - For periodic signals
- Line spectrum
- Spectral coefficients ak
- - For aperiodic signals
- Spectrum continuous function of ?
- (X(W))
5Discrete Fourier transform (DFT)
(7.1)
Fourier transform (discrete-time FT)
DFT
That is, in DFT, the frequency W (02p) is
represented by discrete N samples ? The spectrum
Xk is a discrete sequence
6Discrete Fourier transform and Fourier series
7Inverse discrete Fourier transform (IDFT)
(7.2)
Inverse Fourier transform
8Inverse discrete Fourier transform (IDFT) and
Synthesis equation of Fourier series
9DFT, discrete-time FT, and discrete Fourier series
(a) An aperiodic signal and its spectrum.
Spectrum continuous function of W, period 2p,
For real signal, it is symmetric with respect to p
(b) A period signal and its spectrum. Spectrum
line spectrum with period N. It can be obtained
as samples of X(W), or by Fourier series
10DFT and IDFT
- DFT and IDFT same computation, except 1/N and
the sign of the exponent - Thus, same algorithm can be used to both DFT and
IDFT
11FT (X(W) or H(W)) and DFT (Xk or Hk)
- Digital computers or DSP hardwares cannot process
continuous function - DFT is used to represent X(?) or H(?) as a
discrete function, by sampling - Large sampling interval
- Small number of samples
- Appropriate representation of function is not
possible - Small sampling interval
- Excessive samples computational load
12Sampling of frequency in DFT
- Sampling interval ? 2? / N
- ? Number of frequency samples 2? / ( 2? / N )
N (a period 2?) - ? Xk can be regarded as a sampled version of
the FT X(?) - ? Degree of freedom 2N (for a complex signal), N
(for a real signal) - For a real signal half of the spectral samples
(Xk) can represent the whole spectrum, due to
the symmetry of the spectrum
13Properties of the DFT
- Linearity
- Time-shift
- Convolution
- Modulation
14Properties of the DFT
15Properties of the DFT
- Cosine even function, Sine odd function
- If xn is a real signal
- The real part of Xk even function of k
- The imaginary part of Xk odd function of k
- Due to this symmetry ? the overall spectrum can
be represented by half of Xks - If xn is a complex signal, there is no symmetry
- - All Xks should be computed
16Properties of the DFT
- If xn is a real, and even function (xnx-n)
- ? Imaginary part of Xk becomes 0, there is only
cosine term (purely real) - If xn is real, and odd function (xn-x-n)
- ? Real part of Xk becomes 0, there is only sine
term (purely imaginary)
17Computation of DFT
- Computation time determined by algorithm,
implementation of program, and hardware - Implementation of digital signal processing
- General-purpose computer, high-level language
(such as C) - Special hardware (DSP Chip), high-level/low-level
languages (such as assembly) - Design of a special digital system (FPGA, Custom
IC/VLSI) - Multiplication
- Major source of slow computation
- Specialized DSP hardware should be designed and
used - It is not computationally efficient to calculate
equations (7.1), (7.2) directly
18Computation of DFT
- When the signal xn is real
- DFT
-
-
-
- Inverse DFT
-
- The only difference between DFT and IDFT 1/N and
sign of the exponent ? single algorithm can be
used for both
19Computation of DFT (real signal)
- Magnitude and phase
-
-
- Real part
- Imaginary part
20Computation of DFT (imaginary signal)
- When the signal xn is complex
- Real part
- Imaginary part
21Computation time
- Computation time is slowed by the multiplication
- Eqs. (7.17) and (7.18) (when xn is complex)
- ? Each requires 4N2 multiplications of real
numbers - Eqs. (7.12) and (7.13) (when xn is real)
- ? Each requires 2N2 multiplications of real
numbers - Thus, the computation time is proportional to N2
- (Ex.) For 2048 or 4096 samples several minutes
(1998? ??)
22Faster computation of DFT
- An idea for faster computation to use the
periodicity of the DFT and IDFT (due to the sin
and cos functions) -
- As the values of k and n change, same values of
sin and cos occur (redundancy of calculation) - ? We can calculate the values of sin and cos in
advance -
- A method for faster computation of DFT
- Calculation of sin and cos in advance
- Storage of those values in memory
- Table lookup
- Basic idea of FFT
23- Ex. 64 samples
-
- cos(2?kn/64) The
values of k, n changes from 0 to 63 - sin(2?kn/64) The cos
and sin have only 64 different values -
- - Typical time savings due to the use of the
table lookup on the order of 50
24DFT computed by table lookup
25Fast Fourier transform (FFT)
-
- Developed in the late 1960s
- Number of multiplication
- Direct computation of DFT N2
- FFT N log2 N
- Ratio of computation time N2 / N log2 N N/
log2 N - Ex When N 8, the ratio is 8/32.6666
- When N2048, the ratio is 2048/11186.18