[394] | 1 | /*
|
---|
| 2 | ** FFT and FHT routines
|
---|
| 3 | ** Copyright 1988, 1993; Ron Mayer
|
---|
| 4 | **
|
---|
| 5 | ** fht(fz,n);
|
---|
| 6 | ** Does a hartley transform of "n" points in the array "fz".
|
---|
| 7 | ** fft(n,real,imag)
|
---|
| 8 | ** Does a fourier transform of "n" points of the "real" and
|
---|
| 9 | ** "imag" arrays.
|
---|
| 10 | ** ifft(n,real,imag)
|
---|
| 11 | ** Does an inverse fourier transform of "n" points of the "real"
|
---|
| 12 | ** and "imag" arrays.
|
---|
| 13 | ** realfft(n,real)
|
---|
| 14 | ** Does a real-valued fourier transform of "n" points of the
|
---|
| 15 | ** "real" arrays. The real part of the transform ends
|
---|
| 16 | ** up in the first half of the array and the imaginary part of the
|
---|
| 17 | ** transform ends up in the second half of the array.
|
---|
| 18 | ** realifft(n,real)
|
---|
| 19 | ** The inverse of the realfft() routine above.
|
---|
| 20 | **
|
---|
| 21 | **
|
---|
| 22 | ** NOTE: This routine uses at least 2 patented algorithms, and may be
|
---|
| 23 | ** under the restrictions of a bunch of different organizations.
|
---|
| 24 | ** Although I wrote it completely myself; it is kind of a derivative
|
---|
| 25 | ** of a routine I once authored and released under the GPL, so it
|
---|
| 26 | ** may fall under the free software foundation's restrictions;
|
---|
| 27 | ** it was worked on as a Stanford Univ project, so they claim
|
---|
| 28 | ** some rights to it; it was further optimized at work here, so
|
---|
| 29 | ** I think this company claims parts of it. The patents are
|
---|
| 30 | ** held by R. Bracewell (the FHT algorithm) and O. Buneman (the
|
---|
| 31 | ** trig generator), both at Stanford Univ.
|
---|
| 32 | ** If it were up to me, I'd say go do whatever you want with it;
|
---|
| 33 | ** but it would be polite to give credit to the following people
|
---|
| 34 | ** if you use this anywhere:
|
---|
| 35 | ** Euler - probable inventor of the fourier transform.
|
---|
| 36 | ** Gauss - probable inventor of the FFT.
|
---|
| 37 | ** Hartley - probable inventor of the hartley transform.
|
---|
| 38 | ** Buneman - for a really cool trig generator
|
---|
| 39 | ** Mayer(me) - for authoring this particular version and
|
---|
| 40 | ** including all the optimizations in one package.
|
---|
| 41 | ** Thanks,
|
---|
| 42 | ** Ron Mayer; mayer@acuson.com
|
---|
| 43 | **
|
---|
| 44 | */
|
---|
| 45 |
|
---|
| 46 | #ifndef FFTMayer_SEEN
|
---|
| 47 | #define FFTMayer_SEEN
|
---|
| 48 | void fht( double *fz,int n);
|
---|
| 49 | void ifft(int n, double *real, double *imag);
|
---|
| 50 | void realfft(int n, double *real);
|
---|
| 51 | void fft(int n, double *real,double *imag);
|
---|
| 52 | void realifft(int n,double *real);
|
---|
| 53 |
|
---|
| 54 | #endif |
---|