jj's useful and ugly FFT page (original) (raw)



Here you find


The FXT library

is on the fxtpage


The amorphous FFT bucket

SYLT-FFT by Davey Taylor GitHub linkFixed-point 32-bit, radix-2, FFT and inverse FFT.

fix_fft: FFTs using fixed point arthmeticin C, includes test routine
<fix%5Ffft.tar.gz>Written by Tom Roberts (1989), improved by Malcolm Slaney (1994), made portable (ix86 assembly removed) by Dimitrios P. Bouras (2006).

C source for anFFT-generator for integer FFTsfor asm (80x86, 68k and 32k processors) and for C-code.<fftgen.tgz>first read the<fftgen-doc.txt>

C++ source (template) forcomplex FFTyou can supply a class complex (e.g. based on fixed point floats) with the operators =,+,-,* and this code gives you a FFT for it.<cplxfft.h>

FFTReal: FFTs for real data
in C++ and Delphi:http://ldesoras.free.fr/prod.htmlby Laurent de Soras. Delphi port by Frederic Vanmol.

2dim Hartley transform code
in C++<mogenet-2dimfht.cc>by Emmanuel Mogenet

1dim and 2dim DCT (cosine transform) code
<dct.tgz>, here is the doc:<dct-doc.txt>
This was from the server that disappeared from the net (ftp://ftp.crs4.it/mpeg/misc-progs/). Find a local copy here

C source for Prime Factor Algorithm**(PFA) FFT**, convolution, Hankel transform, Hilbert transform, Abel transform and much more, worth a closer look
<cwplib.tgz>first read the<cwplib-doc.txt>
A double precision version (with 'reverse engineered' magic constants) of the pfafft ishere

FORTRAN code for General Prime Factor Algorithm**(GPFA) FFT**: 1,2,3-dim, by C.Temperton.
<gpfa.tgz>first read the<gpfa-doc.txt>. This code really needs a doc, test failed on my machine ...

C code n-dimensional FFTs:FFTEASY: by Gary Felder and Jiř� Jan�ček: here. Local copies of the description (pdf) and the code <ffteasyjj.c>

FORTRAN (and f2c'd C) source forGlassman's General N FFT, length doesn't need to be a power of 2, degenerates into a DFT for prime lengths.<glassman-fft.f> (FORTRAN) and<glassman-fft.c> (C).
Author unknown (cf. <glassman-note.txt>), I received the code from Reginald Beardsley. Thanks to him!

C (and FORTRAN) source forn-dim FFT, length doesn't need to be a power of 2, split radix algorithm, test program included, corrected version of 8-jan-1996:fft-n.tgz first read the<fft-n-doc.txt>.

C source forn-dim FFT fftn.tgz first read the<fftn-doc.txt>
Peter Schuck found a typo:<fftnfix.txt>

C source for2-dim FFTmodernized and cleaned up by Stefan Gustavson: first read<kube-gustavson-fft.txt>, then grab<kube-gustavson-fft.c>and<kube-gustavson-fft.h>
The old version (as reference, superseded by the above): code:<kube%5Ffft.c>and mini-doc:<kube%5Ffft-doc.txt>

FORTRAN source for (complex and real)split radix FFT(by Henrik Sorensen):<sorensen.tgz>or<sorensen.shar>first read the<sorensen-doc.txt>

C source forsplit radix FFT(data length may be not a power of 2).<fftsing.tgz>first read the<fftsing-doc.txt>

C source forsplit radix real FFT(data length a power of 2)<rsplitfft.c>.

FORTRAN source for2-dim FFT(data length may be not a power of 2).
<ten%5Feyke.f>first read the<ten%5Feyke-doc.txt>. No further doc available.

C source for real and complexFFTsnot only for data length a power of two<fft2.tgz>first read the<fft2-doc.txt>

FFTW: benchmarks & C code
FFTW, the authors claim that it's one of the fastest.

C source by Jens Jørgen Nielsen forFFTsnot only for data length a power of two, seeMix FFT.

C source for real and complexFFTs + sine/cosine transforms + special code for even/odd sequencesbased on Schwartztraubers FORTRAN fftpack (in netlib), see the index below. Taken from Pekka Janhunen's tela-package (original site is ftp.funet.fi). Warning: read <tela-bugreport.txt>.
The files after some cosmetic changes:<telafft.tgz>(no doc)
Almost original version plus my modification script:<telaffto.tgz> (no doc)
The untouched original files from the package:<telafftx.tgz> (no doc)
Index of the single prec fortran original:<fftpack.my.index>
Get the FORTRAN original (float: fftpack, double: bihar) fromnetlib. Netlib is: netlib@XXX where XXX is in europe: nac.no, in USA: ornl.gov (others exist). Send an email with subject 'send help'.
Now there is awww-netlibsite, there seefftpackandvfftpack

MoreFORTRAN code(trig/hankel transforms-, convolution-, correlation- and wavelet code in the packages IMSL, NAG, SCILIB, TOMS and VECLIB) athttp://gams.nist.gov/serve.cgi/Class/J/

FORTRAN source and C source for theFFTpackfrom Schwartztrauber:<rfft-1.2-ss-9.01.tgz>, first read the <rfft-doc.txt>.


FFT tutorials and remarks

For those new to Fourier transforms the following might be useful:

Aremarkon real valued FFTs: <realfft.txt>


miscellaneous

FFT-folks programming C may want to take a closer look atCh: A C interpreter with C++ classesby SoftIntegration

DSP-links

convolution code: read<conv.txt>then get the code:<conv-v1.1.tar.gz>


Yourfeedbackis appreciated.

jj (Jörg Arndt)

Last modified 2018-May-31 (17:57)


Gotojj's ugly Homepage