How to use FFTW

From Qt Wiki
Revision as of 17:59, 19 February 2016 by Marcelo.Jimenez (talk | contribs) (Fixing incorrect chars in the instructions)
Jump to: navigation, search

How to compute FFT using FFTW in Qt

Getting Start

Note that I do this in Ubuntu operating system, in Windows some steps are different.

  • Step1: Download FFTW ([[1]])
  • Step2: Extract and Configure it (my path: /home/jafarabadi/Documents/fftw-3.3.4)

cd /home/jafarabadi/Documents/fftw-3.3.4 chmod +x configure ./configure make make install

  • Step 3: Add library to project: first open [your_project_name].pro file in Qt Creator and add this line:

LIBS += -lfftw3

  • Step 4: Example

#include <fftw3.h> int N;

// Set N to the number of complex elements in the input array

fftw_complex *in, *out; in = (fftw_complex *)fftw_malloc(sizeof(fftw_complex) * N); out = (fftw_complex *)fftw_malloc(sizeof(fftw_complex) * N);

// Initialize 'in' with N complex entries

fftw_plan my_plan; my_plan = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE); fftw_execute(my_plan);

// Use 'out' for something

fftw_destroy_plan(my_plan); fftw_free(in); fftw_free(out);

// A short tutorial: http://www2.math.uu.se/~figueras/fftw_tutorial/text/fftw_tutorial.pdf