FOURIER TRANSFORMS CENG 5931: GNU RADIO Dr. George Collins.

Slides:



Advertisements
Similar presentations
DFT & FFT Computation.
Advertisements

GNU APPLICATIONS IN RADAR
DSPs Vs General Purpose Microprocessors
Systems and Technology Group © 2006 IBM Corporation Cell Programming Tutorial - JHD24 May 2006 Cell Programming Tutorial Jeff Derby, Senior Technical Staff.
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.
Implementation of 2-D FFT on the Cell Broadband Engine Architecture William Lundgren Gedae), Kerry Barnes (Gedae), James Steed (Gedae)
Why Systolic Architecture ?. Motivation & Introduction We need a high-performance, special-purpose computer system to meet specific application. I/O and.
FILTERS FILTERS Instructor: Dr.Collins CENG 5931 GNU Radio.
VLSI Communication SystemsRecap VLSI Communication Systems RECAP.
1 Outline  Introduction to JEPG2000  Why another image compression technique  Features  Discrete Wavelet Transform  Wavelet transform  Wavelet implementation.
A Fast Fourier Transform Compiler Silvio D Carnevali.
Acknowledgments: Thanks to Professor Nicholas Brummell from UC Santa Cruz for his help on FFTs after class, and also thanks to Professor James Demmel from.
Fourier: ApplicationsModern Seismology – Data processing and inversion 1 Fourier Transform: Applications Seismograms Eigenmodes of the Earth Time derivatives.
Semantic Signal Processing Group Semantic Radio Fangming He, Hongbing Cheng, Jiadi Yu, Hong Man, Yu-dong Yao, Jennifer Department of Electrical and Computer.
CUDA Programming Lei Zhou, Yafeng Yin, Yanzhi Ren, Hong Man, Yingying Chen.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 16: Application-Driven Hardware Acceleration (1/4)
Orthogonal Transforms
Input image Output image Transform equation All pixels Transform equation.
Application of Digital Signal Processing in Computed tomography (CT)
CE 311 K - Introduction to Computer Methods Daene C. McKinney
Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.
Normalised Least Mean-Square Adaptive Filtering
Fast Fourier Transforms
Topic 7 - Fourier Transforms DIGITAL IMAGE PROCESSING Course 3624 Department of Physics and Astronomy Professor Bob Warwick.
Numerical algorithms for power system protection Prof. dr. sc. Ante Marušić, doc. dr. sc. Juraj Havelka University of Zagreb Faculty of Electrical Engineering.
Instructor: Dr.George Collins Satyakiran Anugu. Introduction Why Mathematics in GNU Radio Creating block Pyhthon Mathematical operators in Python Mathematical.
MATLAB Tutorials Session I Introduction to MATLAB Rajeev Madazhy Dept of Mechanical Engineering LSU.
Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS.
ALGORITHMIC S-Z TRANSFORMATIONS FOR CONTINUOUS-TIME TO DISCRETE- TIME FILTER CONVERSION D. Biolek, V. Biolkova Brno University of Technology Czech Republic.
Processor Architecture Needed to handle FFT algoarithm M. Smith.
CHAPTER 8 DSP Algorithm Implementation Wang Weilian School of Information Science and Technology Yunnan University.
Efficient FPGA Implementation of QR
1 Chapter 5 Divide and Conquer Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
CS 6068 Parallel Computing Fall 2013 Lecture 10 – Nov 18 The Parallel FFT Prof. Fred Office Hours: MWF.
FFT USING OPEN-MP Done by: HUSSEIN SALIM QASIM & Tiba Zaki Abdulhameed
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
CMPS 1371 Introduction to Computing for Engineers MATRICES.
Zhongguo Liu_Biomedical Engineering_Shandong Univ. Chapter 8 The Discrete Fourier Transform Zhongguo Liu Biomedical Engineering School of Control.
Wavelets and Multiresolution Processing (Wavelet Transforms)
Z TRANSFORM AND DFT Z Transform
Inverse DFT. Frequency to time domain Sometimes calculations are easier in the frequency domain then later convert the results back to the time domain.
ECE 103 Engineering Programming Chapter 55 C Math Library Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE 103 material.
Which one? You have a vector, a[ ], of random integers, which can modern CPUs do faster and why? //find max of vector of random ints max=0; for (inda=0;
Digital Signal Processing
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
Linear filtering based on the DFT
1 Lecture 3 Post-Graduate Students Advanced Programming (Introduction to MATLAB) Code: ENG 505 Dr. Basheer M. Nasef Computers & Systems Dept.
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.
A New Class of High Performance FFTs Dr. J. Greg Nash Centar ( High Performance Embedded Computing (HPEC) Workshop.
Fast Fourier Transforms. 2 Discrete Fourier Transform The DFT pair was given as Baseline for computational complexity: –Each DFT coefficient requires.
FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine David A. Bader, Virat Agarwal.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA Shirley Moore CPS5401 Fall 2013 svmoore.pbworks.com November 12, 2012.
Chapter 13 Discrete Image Transforms
An FFT for Wireless Protocols Dr. J. Greg Nash Centar ( HAWAI'I INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES Mobile.
EE345S Real-Time Digital Signal Processing Lab Fall 2006 Lecture 17 Fast Fourier Transform Prof. Brian L. Evans Dept. of Electrical and Computer Engineering.
Discrete Fourier Transform
JPEG Compression What is JPEG? Motivation
DIGITAL SIGNAL PROCESSING ELECTRONICS
Linear Filters in StreamIt
FFT-based filtering and the
Polynomial + Fast Fourier Transform
Fast Fourier Transforms Dr. Vinu Thomas
Digital Image Procesing Discrete Walsh Trasform (DWT) in Image Processing Discrete Hadamard Trasform (DHT) in Image Processing DR TANIA STATHAKI READER.
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 =
Z TRANSFORM AND DFT Z Transform
Chapter 9 Computation of the Discrete Fourier Transform
Communication and Coding Theory Lab(CS491)
 = N  N matrix multiplication N = 3 matrix N = 3 matrix N = 3 matrix
Fast Fourier Transform
Presentation transcript:

FOURIER TRANSFORMS CENG 5931: GNU RADIO Dr. George Collins

Contents  Introduction  GSL  Modules and Blocks  FFTW  GCELL  Classes  Functions  Conclusion

Introduction Fourier Transform: Mathematical operation that decomposes a signal into its constituent frequencies. Frequency domain. One complex-valued function of a real variable into another (Mathematical Terms) Essential for high-speed computing. 2 types: DFT & FFT

Introduction Fast Fourier transform: Efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse. Algorithms involving a wide range of mathematics, from simple complex-number arithmetic to group theory and number theory. DFT decomposes a sequence of values into components of different frequencies. FFT is a way to compute the same result more quickly.

Introduction GNU RADIO: Free software development toolkit that provides the signal processing runtime and processing blocks to implement software radios. Used in hobbyist, academic and commercial environments to support wireless communications research. Applications are written using Python. Signal processing path is implemented in C++ using processor floating point extensions.

GSL GNU Scientific Library (GSL): Numerical library for C and C++ programmers. Free software under the GNU General Public License. Provides a wide range of mathematical routines such as random number generators, special functions and least- squares fitting functions. Some of them are: Complex Numbers, Roots of Polynomials, Vectors and Matrices, Permutations, Linear Algebra, Eigen systems, Fast Fourier Transforms, Differential Equations, IEEE Floating-Point, Interpolation,

MODULES  GNU Radio C++ Signal Processing Blocks  Digital Filter Design  Miscellaneous  Implementation Details  Applications  ATSC  Radar  Pager  USRP  USRP2  gcell: Cell Broadband Engine SPE Scheduler & RPC Mechanism  Misc Hardware Control

BLOCKS C++ Signal Processing Blocks: Top Block and Hierarchical Block Base Classes Signal Sources Signal Sinks Filters Mathematics Signal Modulation Signal Demodulation Information Coding and Decoding Synchronization Type Conversions Signal Level Control (AGC) Fourier Transform Wavelet Transform OFDM Blocks Pager Blocks Miscellaneous Blocks Slicing and Dicing Streams Voice Encoders and Decoders Base classes for GR Blocks

Collaboration diagram

FFTW FFTW: C subroutine library for computing the Discrete Fourier Transform in one or more dimensions, of both real and complex data, and of arbitrary input size. Benchmarks, performed on a variety of platforms  Superior to other publicly available FFT software. Portable: the program will perform well on most architectures without modification. Appears to be the fastest program most of the time for in- order transforms, especially in the multi-dimensional and real- complex cases.

GCELL gcell: Solves the problem of efficiently distributing potentially small tasks across the SPEs by using a distributed SPE- centric scheduler that pulls work to SPEs as they become available. Provides high-performance DMA of arguments to and from the SPEs. Task completion notification to client processes. Binding and rendezvous between PPE and SPE code.

GCELL struct gc_job_desc: "job description" that is DMA'd to/from the SPE. class gc_job_manager: Abstract class that manages SPE jobs. class gcell_fft_vcc: Compute forward or reverse FFT. Complex vector in /complex vector out.

Fourier Transform CLASSES: gr_goertzel_fc gr_fft_vcc gr_fft_vcc_fftw gr_fft_vfc gcell_fft_vcc

CLASSES gr_goertzel_fc Goertzel single-bin DFT calculation

CLASSES gr_fft_vcc Compute forward or reverse FFT. complex vector in / complex vector out. Abstract base class.

CLASSES gr_fft_vcc_fftw Compute forward or reverse FFT. complex vector in / complex vector out. Concrete class that uses FFTW

CLASSES gr_fft_vfc Compute forward FFT. float vector in / complex vector out

CLASSES gcell_fft_vcc Compute forward or reverse FFT. complex vector in / complex vector out. Concrete class that uses gcell to offload FFT to SPEs.

FUNCTIONS fft (a, n, dim) a is a matrix fft (a) computes the FFT for each column of a. n is expected to be an integer specifying the number of elements of a to use dim is an integer specifying the dimension of the matrix along which the FFT is performed

FUNCTIONS ifft (a, n, dim) a is a matrix fft (a) computes the inverse FFT for each column of a. n is expected to be an integer specifying the number of elements of a to use dim is an integer specifying the dimension of the matrix along which the inverse FFT is performed

FUNCTIONS fft2 (a, n, m) Computes the two-dimensional FFT of a The optional arguments n and m may be used to specify the number of rows and columns of a to use. If either of those is larger than the size of a, a is resized and padded with zeros. If a is a multi-dimensional matrix, each two-dimensional sub- matrix of a is treated separately ifft2(a, n, m)… similar to the above function.

FUNCTIONS fftn (a, size) Compute the N-dimensional FFT of a. The optional vector argument size may be used specify the dimensions of the array to be used. If an element of size is smaller than the corresponding dimension, then the dimension is truncated prior to performing the FFT. Otherwise if an element of size is larger than the corresponding dimension a is resized and padded with zeros. ifftn (a, size)…similar to the above function.

FUNCTIONS fftconv (a, b, n) Return the convolution of the vectors a and b, as a vector with length equal to the length (a) + length (b) - 1. If a and b are the coefficient vectors of two polynomials, the returned value is the coefficient vector of the product polynomial. The computation uses the FFT by calling the function fftfilt. If the optional argument n is specified, an N-point FFT is used.

FUNCTIONS fftfilt (b, x, n) With two arguments, fftfilt filters x with the FIR filter b using the FFT. Given the optional third argument, n, fftfilt uses the overlap- add method to filter x with b using an N-point FFT. If x is a matrix, filter each column of the matrix.

CONCLUSION We had discussed several kind of blocks that are used in GNU python programming on c++ platform. We had seen different kinds of functions and classes that are used in GNU library to calculate the fourier transforms, in common the FFT.

REFERENCES            

Thank You... By Bhargav Chava

Queries… Any Queries???