FFT USING OPEN-MP Done by: HUSSEIN SALIM QASIM & Tiba Zaki Abdulhameed

Slides:



Advertisements
Similar presentations
DFT & FFT Computation.
Advertisements

David Hansen and James Michelussi
Fourier Transform and its Application in Image Processing
Fast Fourier Transform for speeding up the multiplication of polynomials an Algorithm Visualization Alexandru Cioaca.
Parallel Processing (CS 730) Lecture 7: Shared Memory FFTs*
Parallel Fast Fourier Transform Ryan Liu. Introduction The Discrete Fourier Transform could be applied in science and engineering. Examples: ◦ Voice recognition.
Digital Kommunikationselektronik TNE027 Lecture 5 1 Fourier Transforms Discrete Fourier Transform (DFT) Algorithms Fast Fourier Transform (FFT) Algorithms.
DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has.
The Discrete Fourier Transform. The spectrum of a sampled function is given by where –  or 0 .
LECTURE Copyright  1998, Texas Instruments Incorporated All Rights Reserved Use of Frequency Domain Telecommunication Channel |A| f fcfc Frequency.
Image Processing A brief introduction (by Edgar Alejandro Guerrero Arroyo)
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM Department of Electrical and Computer Engineering Carnegie Mellon University Pittsburgh,
Introduction to Fast Fourier Transform (FFT) Algorithms R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
Amir Torjeman Nitay Shiran
Image Enhancement in the Frequency Domain Part I Image Enhancement in the Frequency Domain Part I Dr. Samir H. Abdul-Jauwad Electrical Engineering Department.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 16: Application-Driven Hardware Acceleration (1/4)
Chapter 12 Fourier Transforms of Discrete Signals.
Lecture #18 FAST FOURIER TRANSFORM INVERSES AND ALTERNATE IMPLEMENTATIONS Department of Electrical and Computer Engineering Carnegie Mellon University.
Chapter 19 Fast Fourier Transform (FFT) (Theory and Implementation)
Introduction to Algorithms
Unit 7 Fourier, DFT, and FFT 1. Time and Frequency Representation The most common representation of signals and waveforms is in the time domain Most signal.
Fourier Transform and Applications
Fast Fourier Transforms
Topic 7 - Fourier Transforms DIGITAL IMAGE PROCESSING Course 3624 Department of Physics and Astronomy Professor Bob Warwick.
Discrete-Time and System (A Review)
CHAPTER 8 DSP Algorithm Implementation Wang Weilian School of Information Science and Technology Yunnan University.
The Discrete Fourier Transform. The Fourier Transform “The Fourier transform is a mathematical operation with many applications in physics and engineering.
Image Enhancement in the Frequency Domain Spring 2006, Jen-Chang Liu.
CS 6068 Parallel Computing Fall 2013 Lecture 10 – Nov 18 The Parallel FFT Prof. Fred Office Hours: MWF.
1 Chapter 5 Image Transforms. 2 Image Processing for Pattern Recognition Feature Extraction Acquisition Preprocessing Classification Post Processing Scaling.
The Fast Fourier Transform
09/19/2002 (C) University of Wisconsin 2002, CS 559 Last Time Color Quantization Dithering.
Zhongguo Liu_Biomedical Engineering_Shandong Univ. Chapter 8 The Discrete Fourier Transform Zhongguo Liu Biomedical Engineering School of Control.
Digital Signal Processing Chapter 3 Discrete transforms.
The Fast Fourier Transform and Applications to Multiplication
Z TRANSFORM AND DFT Z Transform
Chapter 5 Finite-Length Discrete Transform
7- 1 Chapter 7: Fourier Analysis Fourier analysis = Series + Transform ◎ Fourier Series -- A periodic (T) function f(x) can be written as the sum of sines.
Digital Signal Processing
Fourier and Wavelet Transformations Michael J. Watts
DTFT continue (c.f. Shenoi, 2006)  We have introduced DTFT and showed some of its properties. We will investigate them in more detail by showing the associated.
Professor A G Constantinides 1 Discrete Fourier Transforms Consider finite duration signal Its z-tranform is Evaluate at points on z-plane as We can evaluate.
Fast Fourier Transform (FFT) Problem: we need an efficient way to compute the DFT. The answer is the FFT. Consider a data sequence and its DFT: We can.
Fast Fourier Transforms. 2 Discrete Fourier Transform The DFT pair was given as Baseline for computational complexity: –Each DFT coefficient requires.
EE345S Real-Time Digital Signal Processing Lab Fall 2006 Lecture 17 Fast Fourier Transform Prof. Brian L. Evans Dept. of Electrical and Computer Engineering.
بسم الله الرحمن الرحيم Digital Signal Processing Lecture 14 FFT-Radix-2 Decimation in Frequency And Radix -4 Algorithm University of Khartoum Department.
Discrete Fourier Transform
بسم الله الرحمن الرحيم Lecture (12) Dr. Iman Abuel Maaly The Discrete Fourier Transform Dr. Iman Abuel Maaly University of Khartoum Department of Electrical.
 Carrier signal is strong and stable sinusoidal signal x(t) = A cos(  c t +  )  Carrier transports information (audio, video, text, ) across.
Integral Transform Method
DIGITAL SIGNAL PROCESSING ELECTRONICS
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Fourier and Wavelet Transformations
Fast Fourier Transforms Dr. Vinu Thomas
Fast Fourier Transform
FAST FOURIER TRANSFORM ALGORITHMS
DFT and FFT By using the complex roots of unity, we can evaluate and interpolate a polynomial in O(n lg n) An example, here are the solutions to 8 =
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
4.1 DFT In practice the Fourier components of data are obtained by digital computation rather than by analog processing. The analog values have to be.
Chapter 8 The Discrete Fourier Transform
Z TRANSFORM AND DFT Z Transform
Lecture 17 DFT: Discrete Fourier Transform
Chapter 9 Computation of the Discrete Fourier Transform
Lecture #18 FAST FOURIER TRANSFORM ALTERNATE IMPLEMENTATIONS
Fast Fourier Transform (FFT) Algorithms
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
Fast Fourier Transform
Fourier Transforms of Discrete Signals By Dr. Varsha Shah
Presentation transcript:

FFT USING OPEN-MP Done by: HUSSEIN SALIM QASIM & Tiba Zaki Abdulhameed Supervised by: DR. Ajay Gupta CS 5260 Introduction to parallel computing April 20,2015

Outline Fourier series Fourier Transform Discrete Fourier Transform (DFT) Algorithm Fast Fourier Transform (FFT) IMPLEMENTATION Example Divide and conquer Parallel Radix 2 FFT Result and Evaluation Conclusion. References.

Fourier series Fourier series is a function which can be expressed as the sum of a series of sin and cos[1]. Where n=1,2,3,… Fourier Coefficient of f So, infinite sum f(x) is called the Fourier series of f.

Fourier Transform (FT) The Fourier Transform is defined by the expression [1]: Forward Fourier Transform: actually maps a time domain (series) into the frequency domain (series). Inverse Fourier Transform: Inverse Fourier Transform maps the domain of frequencies back into the corresponding time domain. These two functions are inverses of each other. Frequency domain ideas are important in many application areas. (audio, signal processing and image processing). Fourier transform is not suitable for machine computation because infinity of samples have to be considered. Function of the variable frequency Function of the variable time

Discrete Fourier Transform (DFT) Algorithm FT of analogue signal x(t) [4]. (DFT) of a discrete-time signal x(nT) For each k (N complex multiplication, N-1 complex adds)

For N samples of x we have N frequencies representing the signal X(0) = x[0]WN0 + x[1]WN0*1 +…+ x[N-1]WN0*(N-1) X(1) = x[0]WN0 + x[1]WN1*1 +…+ x[N-1]WN1*(N-1) : X(k) = x[0]WN0 + x[1]WNk*1 +…+ x[N-1]WNk*(N-1) X(N-1) = x[0]WN0 + x[1]WN (N-1)*1 +…+ x[N-1]WN (N-1)(N-1)

Fast Fourier Transform (FFT) (FFT) radix-2 (divide and conquer) [4] Complex conjugate symmetry Root of unity (gives 1 when raised to some integer power n). Periodicity in n,k Q1:Give three application of FFT?

Application of (FFT) Digital filtering. Image processing. Voice recognition. Solving partial differential equations and quick multiplication of large integers. Solving the major inverse problem of reconstructing a signal from given frequency data.

Example primitive root of unity of n =n ( is the smallest integer of k=1, ..., n for which r^k=1) [1].

Divide and conquer Build a big DFT from smaller ones [3] Assume Separate x[n] into even and odd –indexed subsequences Even rs n=2r Odd rs

Divide and conquer Cont. But N/2 DFT of even indexed samples Xe[k] [3] N/2 DFT of odd indexed samples Xo[k]

Parallel radix 2 FFT Q2:What is the best network structure that fits Radix2?

N=8-point radix-2 DIT-FFT N/4 point DFT N/2 point DFT N-point DFT x[0] X[0] Q3:Implementing Radix 2 FFT on Open Mp, what are the shared variables? W, N, x is shared , Q4:Do we need critical section? No need for critical because we need read only Q5: how much is the time complexity of parallel radix 2 FFT? N/p + Log p x[4] X[1] -1 x[2] X[2] -1 X[3] x[6] w2 -1 -1 X[4] x[1] -1 X[5] x[5] w1 -1 -1 X[6] x[3] w2 -1 -1 X[7] x[7] w2 w3 -1 -1 -1

Parallel radix 2 FFT Assume number of elements and p number of processes [2] 1- The processes permute the input sequence and rearrange the indices. O(n/p) at each process. 2- Each process performs the first log n- log p iterations of FFT ( multiplications) 3-Final log p and swapping values with partners. n/p Log n/p Log p

Result and Evaluation We used Thor systems at Western Michigan university for execute implementation and performance evaluation.

Execution

TourqueSecript Serial

TourqueSecript Parallel

Serials

SERIAL

2 Threads

2 Threads

4 Threads

4 Threads

8 Threads

8 Threads

16 Threads

16 Threads

32 Threads

32 Threads

64 Threads

64 Threads

Serial Vs. Parallel

Speed Up

Efficiencies

Conclusion Discrete Fourier Transform (DFT) is a type of Fourier Transform with time complexity of O(N2). The enhancement of DFT is FFT by reduce operation counts, and make it easy to parallel to get time complexity of O (N log N). Many FFT algorithm and package were proposed with a verity of dimension such as: Fast Fourier Transform in the west package (FFTW). Radix-2 algorithm. Radix-4 algorithm and so on. Parallel FFT is efficient when n is large. FFT has good implementation using Butterfly. Parallel FFT can implemented using MPI, OpenMP, and Cuda. Using OpenMP we get Speed-up with factor of 7 and its related to number of threads.

References [1] B. LIU, 'Parallel Fast Fourier Transform'. [Online]. Available: http://www.massey.ac.nz/~mjjohnso/notes/59735/seminars/03278999.pdf. [Accessed: 01- Apr- 2015]. [2] W. Petersen and P. Arbenz, Introduction to parallel computing. Oxford: Oxford University Press, 2004. [3]E. Chu and A. George, Inside the FFT black box. Boca Raton, Fla.: CRC Press, 2000. [4]B. Van Veen, 'The Fast Fourier Transform Algorithm', YouTube, 2012. [Online]. Available: https://www.youtube.com/watch?v=EsJGuI7e_ZQ. [Accessed: 02- Apr- 2015].