mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-17 16:11:11 +02:00
Move library tree where it belongs
This commit is contained in:
70
lib-src/libnyquist/nyquist/ffts/README.txt
Normal file
70
lib-src/libnyquist/nyquist/ffts/README.txt
Normal file
@@ -0,0 +1,70 @@
|
||||
This directory contains a public domain FFT library which was optimized
|
||||
for speed on RISC processors such as the PowerPC. All ffts
|
||||
use single precision floats, for double precision just use a
|
||||
global search and replace to change float to double in all
|
||||
source files.
|
||||
Codewarrier Pro 1.0 project files are also supplied.
|
||||
|
||||
** Warning ** Perform rigorous testing to
|
||||
your own standards before using this code.
|
||||
|
||||
(John Green) green_jt@vsdec.npt.nuwc.navy.mil
|
||||
|
||||
files:
|
||||
fftTiming
|
||||
Application to time complex ffts
|
||||
|
||||
rfftTiming
|
||||
Application to time real ffts
|
||||
|
||||
// Directory: fft libraries
|
||||
|
||||
files:
|
||||
|
||||
fftext.c
|
||||
Library of in-place fast fourier transforms. Contains forward
|
||||
and inverse complex and real transforms. The real fft's expect the
|
||||
frequency domain data to have the real part of the fsamp/2 bin (which
|
||||
has a 0 imaginary part) to be stored in the location for the imaginary
|
||||
part of the DC bin (the DC bin of real data is also strictly real.)
|
||||
You must first call an initialization routine fftInit before calling
|
||||
the fft computation routines ffts, iffts, rffts and riffts.
|
||||
The init routines malloc the memory to store the cosine and
|
||||
bit reversed counter tables as well as initializing their values.
|
||||
|
||||
fftlib.c
|
||||
Lower level library of in-place fast fourier transforms. Same as fftext.c but you
|
||||
need to manage the mallocs for the cosine and bit reversed tables yourself.
|
||||
|
||||
|
||||
fft2d.c
|
||||
Library of 2d and 3d complex and 2d real in-place fast fourier transforms.
|
||||
The init routine fft2dInit must be called before using the 2d routines and
|
||||
fft3dInit must be called before using the 3d routines. These init routines
|
||||
will also call the appropriate 1d init routines in fftext.c
|
||||
|
||||
matlib.c
|
||||
Matrix transpose routines used by fft2d.c and complex vector multiply
|
||||
for forming the product of two spectra.
|
||||
|
||||
dxpose.c
|
||||
Double precision matrix transpose for quick single precision complex transposing
|
||||
|
||||
// Directory: timing code
|
||||
This directory contains the source to fftTiming and rfftTiming
|
||||
|
||||
// Directory: Numerical Recipes testing
|
||||
This directory contains files used to test the various fft routines using
|
||||
the Numerical Recipes in C routines as a baseline. These routines can be purchased
|
||||
in PeeCee (after expanding you can move them to a Mac) format from:
|
||||
http://cfata2.harvard.edu/numerical-recipes/
|
||||
Unfortunately Numerical Recipes defines its forward and inverse fft's backwards.
|
||||
For complex fft's I just use their inverse fft as a forward one, but for real ffts
|
||||
their forward fft followed by my inverse fft reverses the data. They also have ugly matrix
|
||||
and tensor data types and start their indices with one, Fortran style, but these are
|
||||
minor annoyances.
|
||||
|
||||
// Directory: Matlab testing
|
||||
This directory contains files to test fast 1d and 2d convolution with Matlab used to
|
||||
verify the results. An example of using Matlab to test the fft library routines is
|
||||
also given for the 2d real fft.
|
Reference in New Issue
Block a user