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 |
---|