25 #define fftw_real double 27 #define c_re(c) ((c)[0]) 28 #define c_im(c) ((c)[1]) 33 #define PLANTYPE FFTW_ESTIMATE 45 fftw_real *
in, *power;
58 double xSumMin, xSumMax, ySumMin, ySumMax;
81 void compLogPowerSpec();
84 void timeSpecAverage();
86 void complexSpecAverage();
89 void powerSpecAverage();
91 void findYSum(
int start,
int stop);
96 void clearInput(
void){memset(in, 0, x*2*(y/2+1)*
sizeof(fftw_real));}
98 void clearOutput(
void){memset(out, 0, x*(y/2+1)*
sizeof(fftw_complex));}
104 fftw_plan fwdPlan, invPlan;
122 #endif // REAL2DFFT_H_ class real2DFFTData controls and manipulates real 2D fft data
int getXSize()
The row count.
fftw_real * in
The input data and power spectrum.
real2DFFTData * data
The pointer to the relevant data.
int getYSize()
The column count.
fftw_real * xSum
Arrays which sum across rows (x) and columns (y)
class real2DFFT controls fftw plans and executes fwd/inv transforms
double xSumMin
The minimum/maximum row (x) and column (y) sums.
void clearInput(void)
Zeros the in array.
int getXHalfSize()
The half row count.
int maxXSumIndex
Row (x) and Column (y) max sum indexes.
fftw_real * timeXSum
A sum across the input time signal.
void clearOutput(void)
Zeros the out awway.
double totalPower
The total power in the power spectrum, the maximum and minimum powers too.
fftw_complex * out
The output data.
int getYHalfSize()
The half column count.
fftw_real * realXSum
Power spectral sums across rows (x) and columns (y)