0% found this document useful (0 votes)
25 views

The Fast Fourier Transform: Wireless & Emerging Networking System Laboratory

This document discusses the Fast Fourier Transform (FFT) algorithm. It begins by introducing the discrete Fourier transform (DFT) which represents a function in the time domain as a sequence of coefficients in the frequency domain. It provides an example of applying the DFT to a set of 16 data points. The document then explains how the FFT uses a divide-and-conquer strategy to evaluate polynomials more efficiently than direct application of the DFT, with a time complexity of O(n log n). It presents the FFT recursively and then derives an iterative algorithm from the recursion.

Uploaded by

Harikrishna Vana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

The Fast Fourier Transform: Wireless & Emerging Networking System Laboratory

This document discusses the Fast Fourier Transform (FFT) algorithm. It begins by introducing the discrete Fourier transform (DFT) which represents a function in the time domain as a sequence of coefficients in the frequency domain. It provides an example of applying the DFT to a set of 16 data points. The document then explains how the FFT uses a divide-and-conquer strategy to evaluate polynomials more efficiently than direct application of the DFT, with a time complexity of O(n log n). It presents the FFT recursively and then derives an iterative algorithm from the recursion.

Uploaded by

Harikrishna Vana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Wireless & Emerging Networking System Laboratory

Chapter 15.
The Fast Fourier
Transform
09 December 2013

Oka Danil Saputra (20136135)


IT Convergence
Kumoh National Institute of Technology
• Represent continuous function by sinusoidal (sine and cosine)
functions.

• Discrete fourier transform 𝑓 𝑘 as a sequence function in


time domain to another sequence frequency domain 𝑓 𝑗 .

DOC ID
• Example of the discrete fourier transform.

Figure 15.1 (a) A set of 16 data points representing sample of signal strength in the
time interval 0 to 2𝜋.

DOC ID
• The function generating the signal is of the form:
f1 f2 f3 f4
To calculate the coefficient , for each frequency divide the
amplitude by 8 (half of 16, the number of sample point)

• The frequency 1 component is 16𝑖.


• The frequency 2 component is -8.
• The frequency 3 component is -16𝑖.
• The frequency 4 component is 4.

Figure 15.1 (b) The discrete fourier transform


yields the amplitude and Frequencies of the
constituent sine and cosine functions
DOC ID
• The generating signal are:

Figure 15.1 (c) A plot of the four constituent functions and their sum a continuous function.
(d) A plot of the continuous function and the original 16 sample

DOC ID
Figure 15.2 Discrete fourier transform for human speech

• This plot can be used as inputs to speech recognition system


with identify spoken through pattern recognition.

DOC ID
• Given an 𝑛 element vector 𝑥, the DFT is the matrix-vector
product , where is the
primitive 𝑛th root of unity.

• Example, compute DFT of the vector (2,3) where the primitive


square root of unity is -1.

• Compute the DFT of the vector (1,2,4,3) using the primitive


fourth root of unity, which is 𝑖.

DOC ID
• Let’s put the DFT for previous section where we have a vector of 16 complex.

• The DFT of this vector is:

• To determine the coefficients of the sine and cosine, we examine the


nonzero element in the first half.

• Thus the combination of sine and cosine functions making up the curve is:

DOC ID
• Given an n element vector x, the inverse DFT is:

DOC ID
• For example, to multiply the two polynomials.

• Yielding:

• Convolute the coefficient vectors:

• The result:

DOC ID
Another way to multiply two polynomials of degree n-1 is:

1. To evaluate at the n complex 𝑛th roots of unity.

2. Perform an element-wise multiplication of the polynomials


value at these points.

3. Interpolate the results to produce the coefficients of the


product polynomial.

DOC ID
1. We perform the DFT on the coefficients of p(x).

2. Perform the DFT on the coefficients of q(x).

DOC ID
3. We perform an element-wise multiplication.

4. Last step, perform the inverse DFT on the product vector.

5. The vector produced by the inverse DFT contains the


coefficients.
DOC ID
• The FFT uses a divide-and-conguer strategy to evaluate a
polynomial of degree n at the n complex nth roots of unity.

• Having Lemma: If 𝑛 is an even positive number, then the


squares of the 𝑛 complex 𝑛th roots of units are identical to the
𝑛/2 complex (𝑛/2)th root of unity.

DOC ID
• The most natural way to express the FFT algorithm is using recursion.

The time complexity of this algorithm


is easy to determine. Lets T(n) denote
the time needed to perform the FFT
on a polynomial of degree n.

DOC ID
• Figure 15.4 illustrates the derivation of an iterative algorithm
from recursive algorithm.

• Performing the FFT on input vector (1,2,4,3) produces the


result vector (10,-3-𝑖,0,-3+ 𝑖).

DOC ID
Figure 15.4 (a) Recursive implementation of FFT
• In figure 15.4b we look inside the functions and determine
exactly which operations are performed for each invocation.

• The expressions of form a+b(c) and a-b(c) correspond the


pseudocode statements.

Figure 15.4 (b) Determining which computations


are performed for each function invocation
DOC ID
Iterative algorithm:

• After an initial permutation step, the algorithm will iterate log n time.

• Each iteration corresponds to a horizontal layer in Figure 15.4c.

• Within an iteration the algorithm updates value for each of the 𝑛 indices.

Figure 15.4 (c) Tracking the flow of data values


DOC ID
Iterative algorithm has the
same time complexity as
the recursive algorithm :

DOC ID
THANK YOU

DOC ID

You might also like