MIDI Pipeline Reference Manual  2.8.3
fft.h
1 /**********************************************************
2 ***********************************************************
3 * European Southern Observatory
4 * VLTI MIDI Data Reduction Software
5 *
6 * Module name: fft.h
7 * Description:
8 *
9 *
10 * History:
11 * 03-Feb-03 (jmeisner) Created
12 * 03-Mar-03 (csabet) Added title, directives and included in the MIDI pipeline
13 ***********************************************************
14 **********************************************************/
15 #ifndef _FFT_H
16 #define _FFT_H
17 
18 /**********************************************************
19 * Include files
20 **********************************************************/
21 
22 /**********************************************************
23 * Constant definitions
24 **********************************************************/
25 #define MAXFFTSIZE (4096) // Possible values are power of 2
26 
27 /**********************************************************
28 * Global Variables
29 **********************************************************/
30 extern struct Complex *FFTarray; // New, array in which FFT is processed, and results delivered:
31 extern int FFTsize;
32 extern int FFThalfsize;
33 extern int FFTlevel;
34 extern int shuffle[];
35 extern float ScaleFFTby;
36 
37 /**********************************************************
38 * Type definitions
39 **********************************************************/
40 
41 /**********************************************************
42 * Function Prototypes
43 **********************************************************/
44 void FFT(struct Complex *Input, int level);
45 void IFT(struct Complex *Input, int level);
46 void FFTofReal(float *Input, int InputSize);
47 void FFTfullReal(float *Input, int InputSize, float scale);
48 
49 // Also might be used externally (usually not!):
50 
51 void FFTInit(int level); // , int inverse);
52 void SetFFTsize(int InputSize);
53 void DoFFT(void);
54 void DoIFT(void);
55 void Type2DoIFT(void);
56 int determineFFTsize(
57  int framesPerScan);
58 
59 /* void ButterflyXfwd (int AIndex, int BIndex, int TwiddleIndex, */
60 /* struct Complex arr1[]); */
61 /* void ButterflyXinv (int AIndex, int BIndex, int TwiddleIndex, */
62 /* struct Complex arr1[]); */
63 /* void Type2ButterflyXinv (int AIndex, int BIndex, int TwiddleIndex, */
64 /* struct Complex arr1[]); */
65 /* void Type2IFT(struct Complex *Output, int newlevel); */
66 /* void Type2IFTtoReal(float *Output, int newlevel); */
67 /* void FFTofShortArray(struct Complex *Input, int InputSize); */
68 
69 /*********************************************************/
70 #endif
71 /*********************************************************/