Numerical Methods Fast Fourier Transform Part: Informal Development of Fast Fourier Transform

Slides:



Advertisements
Similar presentations
Numerical Methods Fourier Transform Pair Part: Frequency and Time Domain
Advertisements

5.1 Real Vector Spaces.
10.1 Complex Numbers Definition:
Ch 7.7: Fundamental Matrices
Ch 5.6: Series Solutions Near a Regular Singular Point, Part I
ESE Einführung in Software Engineering N. XXX Prof. O. Nierstrasz Fall Semester 2009.
ESE Einführung in Software Engineering X. CHAPTER Prof. O. Nierstrasz Wintersemester 2005 / 2006.
Metamodeling Seminar X. CHAPTER Prof. O. Nierstrasz Spring Semester 2008.
COMP322/S2000/L221 Relationship between part, camera, and robot (cont’d) the inverse perspective transformation which is dependent on the focal length.
ESE Einführung in Software Engineering X. CHAPTER Prof. O. Nierstrasz Wintersemester 2005 / 2006.
Lecture #18 FAST FOURIER TRANSFORM INVERSES AND ALTERNATE IMPLEMENTATIONS Department of Electrical and Computer Engineering Carnegie Mellon University.
Fast Fourier Transform (FFT) (Section 4.11) CS474/674 – Prof. Bebis.
CP — Concurrent Programming X. CHAPTER Prof. O. Nierstrasz Wintersemester 2005 / 2006.
12. eToys. © O. Nierstrasz PS — eToys 12.2 Denotational Semantics Overview:  … References:  …
SWOT Analysis Strengths Weaknesses SWOT Opportunities Threats.
Numerical Methods Newton’s Method for One - Dimensional Optimization - Theory
Numerical Methods Golden Section Search Method - Theory
Autar Kaw Humberto Isaza Transforming Numerical Methods Education for STEM Undergraduates.
Numerical Methods Discrete Fourier Transform Part: Discrete Fourier Transform
DTFT And Fourier Transform
1 Chapter 8 The Discrete Fourier Transform 2 Introduction  In Chapters 2 and 3 we discussed the representation of sequences and LTI systems in terms.
Copyright © Cengage Learning. All rights reserved. CHAPTER 11 ANALYSIS OF ALGORITHM EFFICIENCY ANALYSIS OF ALGORITHM EFFICIENCY.
SYSTEM OF EQUATIONS SYSTEM OF LINEAR EQUATIONS IN THREE VARIABLES
Signed Numbers, Powers, & Roots
Elliptic Partial Differential Equations - Introduction
Simpson Rule For Integration.
PROBABILITY AND STATISTICS FOR ENGINEERING Hossein Sameti Department of Computer Engineering Sharif University of Technology Two Functions of Two Random.
Simplex method (algebraic interpretation)
Numerical Methods Part: Cholesky and Decomposition
Prerequisites: Fundamental Concepts of Algebra
Numerical Methods Part: Simpson Rule For Integration.
Chapter 5 Eigenvalues and Eigenvectors 大葉大學 資訊工程系 黃鈴玲 Linear Algebra.
1 © 2010 Cengage Learning Engineering. All Rights Reserved. 1 Introduction to Digital Image Processing with MATLAB ® Asia Edition McAndrew ‧ Wang ‧ Tseng.
Numerical Methods Multi Dimensional Direct Search Methods - Theory
Numerical Methods Fast Fourier Transform Part: Theoretical Development of Fast Fourier Transform
Numerical Methods Continuous Fourier Series Part: Continuous Fourier Series
11/17/ Introduction to Partial Differential Equations Transforming Numerical.
Numerical Methods Part: False-Position Method of Solving a Nonlinear Equation
Chapter 5 Finite-Length Discrete Transform
Numerical Methods Newton’s Method for One - Dimensional Optimization - Theory
Jump to first page Chapter 3 Splines Definition (3.1) : Given a function f defined on [a, b] and a set of numbers, a = x 0 < x 1 < x 2 < ……. < x n = b,
Numerical Methods Multidimensional Gradient Methods in Optimization- Theory
1/30/ Elliptic Partial Differential Equations – Lieberman Method – Part 1 of 2 Elliptic Partial Differential.
2/13/ Elliptic Partial Differential Equations - Introduction Transforming.
Fast Fourier Transforms. 2 Discrete Fourier Transform The DFT pair was given as Baseline for computational complexity: –Each DFT coefficient requires.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Topics 1 Specific topics to be covered are: Discrete-time signals Z-transforms Sampling and reconstruction Aliasing and anti-aliasing filters Sampled-data.
Numerical Methods Part: False-Position Method of Solving a Nonlinear Equation
Numerical Methods Multidimensional Gradient Methods in Optimization- Example
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
Modified Bessel Equations 홍성민. General Bessel Equation of order n: (1) The general solution of Eq.(1) Let’s consider the solutions of the 4.
© 2015 Core Knowledge Foundation. This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 3.0 Unported License.
بسم الله الرحمن الرحيم Digital Signal Processing Lecture 14 FFT-Radix-2 Decimation in Frequency And Radix -4 Algorithm University of Khartoum Department.
Discrete Fourier Transform
Lecture 19 Spectrogram: Spectral Analysis via DFT & DTFT
The Binary Number System
Numerical Methods Multi Dimensional Direct Search Methods - Example
Numerical Methods Part: Cholesky and Decomposition
Fast Fourier Transforms Dr. Vinu Thomas
Fast Fourier Transform (FFT) (Section 4.11)
Elliptic Partial Differential Equations – Direct Method
CHAPTER 2 BASIC CONCEPTS OF DISPLACEMENT OR STIFFNESS METHOD:
Fast Fourier Transformation (FFT)
Chapter 9 Computation of the Discrete Fourier Transform
Elliptic Partial Differential Equations – Gauss-Seidel Method
Numerical Methods Golden Section Search Method - Example
Numerical Methods Newton’s Method for One -Dimensional Optimization - Example
Chapter 8 The Discrete Fourier Transform
Fast Fourier Transform (FFT) Algorithms
This material is based upon work supported by the National Science Foundation under Grant #XXXXXX. Any opinions, findings, and conclusions or recommendations.
Presentation transcript:

Numerical Methods Fast Fourier Transform Part: Informal Development of Fast Fourier Transform

For more details on this topic  Go to  Click on Keyword  Click on Fast Fourier Transform

You are free to Share – to copy, distribute, display and perform the work to Remix – to make derivative works

Under the following conditions Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Noncommercial — You may not use this work for commercial purposes. Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Chapter 11.05: Informal Development of Fast Fourier Transform Major: All Engineering Majors Authors: Duc Nguyen Numerical Methods for STEM undergraduates 10/21/20155 Lecture # 11

Informal Development of Fast Fourier Transform Recall the DFT pairs of Equations (20) and (21) of Chapter and swapping the indexes, one obtains (1) (2) where (3) Let (4) 6

Informal Development cont. Then Eq. (1) and Eq. (2) become (5) Assuming, then (5A) 7

Informal Development cont. To obtain the above unknown vector for a given vector, the coefficient matrix can be easily converted as 8

9 Hence, the unknown vector can be computed as with matrix vector operations, as following (6) Informal Development cont.

(7) For and, then: 10

11 Thus, in general (for ) where (8) Informal Development cont.

Remarks: a) Matrix times vector, shown in Eq. (7), will require 16 (or ) complex multiplications and 12 (or ) complex additions. b) Use of Eq. (8) will help to reduce the number of operation counts, as explained in the next section. 12

THE END

This instructional power point brought to you by Numerical Methods for STEM undergraduate Committed to bringing numerical methods to the undergraduate Acknowledgement

For instructional videos on other topics, go to This material is based upon work supported by the National Science Foundation under Grant # Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

The End - Really

Numerical Methods Fast Fourier Transform Part: Factorized Matrix and Further Operation Count

For more details on this topic  Go to  Click on Keyword  Click on Fast Fourier Transform

You are free to Share – to copy, distribute, display and perform the work to Remix – to make derivative works

Under the following conditions Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Noncommercial — You may not use this work for commercial purposes. Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Chapter 11.05: Factorized Matrix and Further Operation Count (Contd.) Equation (7) can be factorized as Let’s define the following “inner – product” (9) (10) 21 Lecture # 12

Factorized Matrix cont. From Eq. (9) and (10) we obtain (11A) (11B) (11C) 22 with (11D)

Equations(11A through 11D) for the “inner” matrix times vector requires 2 complex multiplications and 4 complex additions. Factorized Matrix cont.

Finally, performing the “outer” product (matrix times vector) on the RHS of Equation(9), one obtains (12) 24

25 (13A) (13B) (13C) (13D) Factorized Matrix cont.

Again, Eqs (13A-13D) requires 2 complex multiplications And 4 complex additions. Thus, the complete RHS of Eq. (9) Can be computed by only 4 complex multiplications (or ) and 8 complex additions (or ), where Since computational time is mainly controlled by the number of multiplications, implementing Eq. (9) will significantly reduce the number of multiplication operations, as compared to a direct matrix times vector operations. (as shown in Eq. (7)). 26

Factorized Matrix cont. For a large number of data points, (14) Equation (14) gives: For This implies that the number of complex multiplications involved in Eq. (9) is about 372 times less than the one involved in Eq. (7). 27

Graphical Flow of Eq. 9 Consider the case Figure 1. Graphical form of FFT (Eq. 9) for the case 28 Initial data Vector Vector 1 (l=1) Vector 2 (l=2=r) Computational Vectors

Figure 2. Graphical Form of FFT (Eq. 9) for the case 29

THE END

This instructional power point brought to you by Numerical Methods for STEM undergraduate Committed to bringing numerical methods to the undergraduate Acknowledgement

For instructional videos on other topics, go to This material is based upon work supported by the National Science Foundation under Grant # Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

The End - Really

Numerical Methods Fast Fourier Transform Part: Companion Node Observation

For more details on this topic  Go to  Click on Keyword  Click on Fast Fourier Transform

You are free to Share – to copy, distribute, display and perform the work to Remix – to make derivative works

Under the following conditions Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Noncommercial — You may not use this work for commercial purposes. Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Chapter : Companion Node Observation (Contd.) Careful observation of Figure 2 has revealed that each computed vector (where and ) we can always find two (companion) nodes which came from the same pair of nodes in the previous vector. For example, and are computed in terms of and. Similarly, the companion nodes and are computed from the same pair of nodes as and Lecture # 13

Figure 2. Graphical Form of FFT (Eq. 9) for the case

Companion Node Observation cont. Furthermore, the computation of companion nodes are independent of other nodes (within the –vector). Therefore, the computed and will override the original space of and. Similarly, the computed and will override the space occupied by and which in turn, will occupy the original space of and. Hence, only one complex vector (or 2 real vectors) of length are needed for the entire FFT process. 40

Companion Node Spacing Observing Figure 2, the following statements can be made: a) in the first vector ( ), the companion nodes and are separated by b) in the second vector ( ), the companion nodes and are separated by. 41

Companion Node Computation The operation counts in any companion nodes (of the vector), such as and can be explained as (see Figure 2). (15) (16) 42

Companion Node Computation cont. Thus, the companion nodes and computation will require 1 complex multiplication and 2 complex additions (see Eq. (15) and (16)). The weighting factors for the companion nodes ( and ) are (or ) and (or ), respectively. 48 (17) (18) 43

Skipping Computation of Certain Nodes Because the pair of companion nodes and are separated by the “distance”, at the level, after every node computation, then the next nodes will be skipped. (see Figure 2) 44

THE END

This instructional power point brought to you by Numerical Methods for STEM undergraduate Committed to bringing numerical methods to the undergraduate Acknowledgement

For instructional videos on other topics, go to This material is based upon work supported by the National Science Foundation under Grant # Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

The End - Really

Numerical Methods Fast Fourier Transform Part: Determination of

For more details on this topic  Go to  Click on Keyword  Click on Fast Fourier Transform

You are free to Share – to copy, distribute, display and perform the work to Remix – to make derivative works

Under the following conditions Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Noncommercial — You may not use this work for commercial purposes. Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Chapter 11.05: Determination of The values of Step 1: Express the index in binary form, using bits. For and 53 Lecture # 14 can be determined by the following steps: one obtains:

Step 2: Sliding this binary number positions to the right, and fill in zeros, the results are It is important to realize that the results of Step 2 (0,0,1,0) are equivalent to expressing an integer in binary format. In other words Determination of cont.

Step 3: Reverse the order of the bits, then (0,0,1,0) becomes (0,1,0,0) =. Thus, It is “NOT” really necessary to perform Step 3, since the results of Step 2 can be used to compute “ “ as following 55

Computer Implementation to find Based on the previous discussions (with the 3- step procedures), to find the value of “ ”, one only needs a procedure to express an integer Assuming (a base 10 number) can be expressed as (assuming bits) (19) 56 in binary format, with bits.

Divide by 2, then multiply the truncated result by 2 ( ), and compute the difference between the original number and the new number. Computer Implementation cont.

Compute the difference between the original number and the new number (20) If IDIFF = 0, then the bit a 1 = 0 If IDIFF ≠ 0, then the bit a 1 =

59 Once the bit has been determined, the value of is set to (or value of is reduced by a factor of 2; since the previous. A similar process can be used to determine the value of process can be used to determine the next bit etc. Computer Implementation cont.

Example 1 For,, bits and. Find the value of. Determine the bit (Index ) Initialize Thus 60

Example 1 cont. Determine the bit (Index ) Thus 61

62 Determine the bit (Index ) Thus Example 1 cont.

Thus Determine the bit (Index ) 63

THE END

This instructional power point brought to you by Numerical Methods for STEM undergraduate Committed to bringing numerical methods to the undergraduate Acknowledgement

For instructional videos on other topics, go to This material is based upon work supported by the National Science Foundation under Grant # Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

The End - Really

Numerical Methods Fast Fourier Transform Part: Unscrambling the FFT

For more details on this topic  Go to  Click on Keyword  Click on Fast Fourier Transform

You are free to Share – to copy, distribute, display and perform the work to Remix – to make derivative works

Under the following conditions Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Noncommercial — You may not use this work for commercial purposes. Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Chapter 11.05: Unscrambling the FFT (Contd.) For the case, (see Figure 2), the final “bit-reversing” operation for FFT is shown in Figure 3. Figure 3. Final “bit-reversing” for FFT (with 72 Lecture # 15

For do-loop index k = 0 = (0, 0, 0, 0) i = (0, 0, 0, 0) = bit-reversion = 0 If (i.GT.k) Then T = f 4 (k) f 4 (k) = f 4 (i) f 4 (i) = T Endif Hence, f 4 (0) = f 4 (0) no swapping

74 For k = 1 = (0,0,0,1) i = (1,0,0,0) = bit-reversion = 8 If (i.GT.k) Then T = f 4 (k=1) f 4 (k=1) = f 4 (i=8) f 4 (i=8) = T Endif Hence, f 4 (1) = f 4 (8) are swapped.

For k=4=(0,1,0,0) i=(0,0,1,0)=2 In this case, since “i” is not greater than “k”. Hence, no swapping, since f 4 (k = 2) and f 4 (i = 4); had already been swapped earlier!.etc..For k=3=(0,0,1,1) i = (1,1,0,0) = 12 Hence, f 4 (3) = f 4 (12); are swapped..For k=2=(0,0,1,0) i = (0,1,0,0) = 4 Hence, f 4 (2) = f 4 (4); are swapped.

Computer Implementation of FFT case for N=2 r The pair of companion nodes computation are given by Eqs.(17) and (18). To avoid “complex number” operations,Eq.(17) can be computed based on “real number” operations, as following (21) In Eq. (21), the superscripts and denote real and imaginary components, respectively. 76

Computer Implementation cont. Multiplying the last 2 complex numbers, one obtains (22) Equating the real (and then, imaginary) components on the Left-Hand-Side (LHS), and the Right-Hand-Side (RHS) of Eq. (22), one obtains 77

78 (23A) (23B) Computer implementation cont.

Computer implementation cont. Recall Eq. (4) Hence (24) where (25) Thus: (26A) (26B) 79

Computer Implementation cont. Substituting Eqs. (26A) and (26B) into Eqs. (23A) and (23B), one gets (27B) (27A) Similarly, the single (complex number) Eq. (18) can be expressed as 2 equivalent (real number) Eqs. Like Eqs. (27A) and (27B). 80

THE END

This instructional power point brought to you by Numerical Methods for STEM undergraduate Committed to bringing numerical methods to the undergraduate Acknowledgement

For instructional videos on other topics, go to This material is based upon work supported by the National Science Foundation under Grant # Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

The End - Really