Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • convolution is a mathematical operator which takes two functions f and g and produces a third function that in a sense represents the amount of overlap between f and a reversed and translated version of g . ie polynomial multiplication and multiplying large numbers
  • a linear transformation (also called linear operator or linear map ) is a function between two vector spaces that respects the arithmetical operations addition and scalar multiplication defined on vector spaces, or, in other words, it "preserves linear combinations f(x+y) = f(x) + f(y) and f(ax) = a*f(x)
  • The idea behind the FFT is the divide and conquer approach, to break up the original N point sample into two (N / 2) sequences. This is because a series of smaller problems is easier to solve than one large one. The DFT requires (N-1)2 complex multiplications and N(N-1) complex additions as opposed to the FFT's approach of breaking it down into a series of 2 point samples which only require 1 multiplication and 2 additions and the recombination of the points which is minimal.
  • Dft2

    1. 1. EXPERT SYSTEMS AND SOLUTIONS Email: expertsyssol@gmail.com expertsyssol@yahoo.com Cell: 9952749533 www.researchprojects.info PAIYANOOR, OMR, CHENNAI Call For Research Projects Final year students of B.E in EEE, ECE, EI, M.E (Power Systems), M.E (Applied Electronics), M.E (Power Electronics) Ph.D Electrical and Electronics.Students can assemble their hardware in our Research labs. Experts will be guiding the projects.
    2. 2. Fast Fourier Transform (FFT)
    3. 3. Outline Purpose Background  Fourier Transform  Continuous Fourier Transform  Discrete Fourier Transform (DFT) Fast Fourier Transform (FFT) FFTW Examples
    4. 4. Purpose Analyze the frequencies contained in a sampled signal Used in:  Digital Signal Processing  Optics  Oceanography  Acoustics  Physics  Number Theory
    5. 5. Fourier Transform Named after Jean Baptiste Joseph Fourier an integral transform that re-expresses a function in terms of sinusoidal basis functions transforms linear differential equations with constant coefficients into ordinary algebraic ones turns the complicated convolution operation into simple multiplication
    6. 6. Continuous Fourier Transform decomposes a function into a continuous spectrum of the frequencies that comprise that function Function: Inverse:
    7. 7. Discrete Fourier Transform Also called Finite Fourier Transform The n complex numbers x0, ..., xn-1 (ie. xi=xreal + i*ximag) are transformed into the n complex numbers f0, ..., fn-1 according to the formula: Inverse (IDFT)
    8. 8. DFT cont.Written in matrix form, the DFT is:where
    9. 9. Fast Fourier Transform (FFT) An efficient algorithm to compute the DFT and its inverse Divide and conquer algorithm Reduces time from O(n2) to O(n log n) Seismic Data contains hundreds of thousands of samples and would take months to evaluate the DFT Cooley-Tukey is most popular implementation  Developed in 1965  Re-invented work done by Carl F. Gauss in 1805
    10. 10. FFT Definitions sinusoid the curve of y=sin x radix the size of an FFT decomposition. twiddle factors the coefficients used to combine results from a previous stage to form inputs to the next stage. “in place” FFT an FFT that is calculated entirely inside its original sample memory.
    11. 11. FFT Definitions cont. bit reversal 0, 1, 2, 3, 4, 5, 6, 7 is reordered to 0, 4, 2, 6, 1, 5, 3, 7 Decimal Binary Binary Decimal 0 000 000 0 1 001 100 4 2 010 010 2 3 011 110 6 4 100 001 1 5 101 101 5 6 110 011 3 7 111 111 7
    12. 12. FFT Implementation Radix-2  N, the sample size, must be a power of 2 Mixed-radix  Can use different powers at different stages  Ex. 1000 = 2*2*2*5*5*5 (six stages) or 1000 = 10 * 10 * 10 (three stages)
    13. 13. FFT Implementation (cont.)1. Pad input sequence, of N samples, with ZEROs until the number of samples is the nearest power of two. e.g. 500 samples are padded to 512 (2^9)2. Bit reverse the input sequence. e.g. 3 = 011 goes to 110 = 63. Compute (N / 2) two sample DFTs from the shuffled inputs.4. Compute (N / 4) four sample DFTs from the two sample DFTs.5. Compute (N / 2) eight sample DFTs from the four sample DFTs. ...6. Combine back into one N-sample DFT
    14. 14. Fast Fourier Transform in the West (FFTW) Developed at MIT Free collection of fast C routines for computing the DFT in 1 or more dimensions Includes complex, real, symmetric, and parallel transforms MPI parallel transforms are only available in v. 2.1.5
    15. 15. FFTW cont. Serial/Parallel, Share/Distributed Memory Faster than most “non-free” implementations Portable, automatically adapt to machine
    16. 16. Two Phases of FFTW Hardware dependent algorithm Planner  ‘Learn’ the fast way on your machine  Produce a data structure --‘plan’  Reusable Executor  Compute the transform Apply to all FFTw operation modes  1D/nD, complex/real, serial/parallel
    17. 17. MPI FFTW Routines fftwnd_mpi_plan fftwnd_create_plan(mpi_comm comm, int rank, const *int n, fftw_direction dir, int flags); void fftwnd_mpi_local_size(fftwnd_mpi_plan p, int *local_first, int *local_first_start, int *local_second_after_transpose, int *local_second_start_after_transpose, int *total_local_size); local_data = (fftw_complex*) malloc(sizeof(fftw_complex) * total_local_size); work = (fftw_complex*) malloc(sizeof(fftw_complex) * total_local_size); void fftwnd_mpi(fftwnd_mpi_plan p, int n_fields, fftw_complex *local_data, fftw_complex *work, fftw_mpi_output_order output_order); void fftw_mpi_destroy_plan(fftwnd_mpi_plan p
    18. 18. Examples View C source code fftw_mpi.c fftw_mpi_test.c To compile: cc -o ffmpi fftw_mpi_test.c –lmpi -lfftw_mpi -lfftw –lm Matlab Example
    19. 19. References http://en.wikipedia.org/wiki/Fourier_transform http://en.wikipedia.org/wiki/Continuous_Fourier_transform http://en.wikipedia.org/wiki/Discrete_Fourier_transform http://astonomy.swin.edu.au/~pbourke/analysis/dft http://www.dspguru.com/info/faqs/fftfaq.htm http://www.arc.unm.edu/~gbma/Workshop/FFTW/slides/outlinee.htm http://astron.berkeley.edu/~jrg/ngst/fft/fourier.html http://www.spd.eee.strath.ac.uk/~interact/fourier/fft/fftalgrm.html http://www.ni.com/swf/presentation/us/fft/ http://www.fftw.org