This is an example of how to use the class.
#include <string.h>
#include "real2DFFT.H"
#include <iostream>
using namespace std;
int main(void){
int x=8, y=8;
int temp=x/2, temp2=y/2;
for (int j=0;j<x;j++)
fftData->
in[temp2+j*x]=10000.0;
for (int j=0;j<y;j++)
fftData->
in[temp*y+j]=10000.0;
for (
int i=0;i<fftData->
getXSize();i++){
cout<<fftData->
in[i*x+j]<<
'\t';
cout<<endl;
}
cout<<'\n'<<endl;
for (
int i=0;i<fftData->
getXSize();i++){
cout<<fftData->
in[i*x+j]<<
'\t';
cout<<endl;
}
cout<<'\n'<<endl;
for (int i=0;i<x;i++){
for (int j=0;j<y/2+1;j++)
cout<<fftData->
power[i*(y/2+1)+j]<<
'\t';
cout<<endl;
}
delete fftData;
delete fft;
}
class real2DFFTData controls and manipulates real 2D fft data
int getXSize()
The row count.
int getYSize()
The column count.
void reScale(void)
Scales the output down by the number of elements.
void clearOutput(void)
Zeros the out awway.
void compPowerSpec()
This function computes the power spectrum and updates the totalPower, maxPower and minPower.
void clearInput(void)
Zeros the in array.
fftw_real * in
The input data and power spectrum.
class real2DFFT controls fftw plans and executes fwd/inv transforms
void fwdTransform()
Forward transform the data (in to out)
void invTransform()
Inverse transform the data (out to in)