FFTW input and output display


This project is mainly for educational purpose of FFTW. It will display FFTW input and output data in graph.
Below are the open source program that I employed to create an application for that purpose.

  • FFTW : FFTW library
  • Octave : To be able to take math formulas as input of FFTW.
  • Tcltk : GUI is implemented by Tk.
  • Gnuplot : To draw graph of input& output of FFTW

I used C++ to make core functionalities for performing FFTW.
To be able to use this application, you should have those above in your machine.


This application is under GPL license which is free software license.
For more information in detail, go to GPL

Instruction on how to use this application

  1. Download the source from cvs or sourceforge.
    Steps to check out cvs
    a. $ export CVSROOT=:pserver:anonymous@fftw-plot.cvs.sf.net:/cvsroot/fftw-plot 37
    b. $ cvs login (no password for anonymous. Just hit the Enter at password prompt.)
    c. $ cvs -z3 co -P fftw-plot

  2. If you download tgz file from sourceforge, unzip it like below.
    $ tar xvfz fftw-plots.tgz (If the file extension is tar after downloading, it is still tgz format. So, use tar xvfz fftw-plots.tar)

  3. Compile by invoking the Makefile.
  4. Execute gui_fftwplot.tcl. You just type its name at your terminal prompt and hit the return.
  5. After that, it is straightforward about how to use it. Enjoy!

    See INSTALL for more details on donwloding the source and compiling.

source code structure

* gui_fftwplot.tcl : Main GUI to display FFTW input and output in graph.
* dft.cpp          : C++ source code. It performs FFTW.
* txt2dat.cpp      : C++ source code. It converts the FFTW output to gnuplot format for graph display.
* tophat_1d.in     : Example input file for FFTW 1D. You can load it, perform FFTW, and display graphs at the GUI.
* tophat_2d.in     : Example input file for FFTW 2D. You can load it, perform FFTW, and display graphs at the GUI.
* Makefile         : It compiles those two cpp files to be used at gui_fftwplot.tcl. You should compile them before using GUI.
                     Just type 'make' at your terminal prompt to compile.

snapshot of the GUI