00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <string.h>
00019 #include "real2DFFT.H"
00020 #include <iomanip.h>
00021 using namespace std;
00022
00023 int main(void){
00024 int x=8, y=8;
00025 real2DFFTData *fftData = new real2DFFTData(x,y);
00026 real2DFFT *fft= new real2DFFT(fftData);
00027
00028
00029 fftData->clearInput();
00030 fftData->clearOutput();
00031
00032 int temp=x/2, temp2=y/2;
00033 for (int j=0;j<x;j++)
00034 fftData->in[temp2+j*x]=10000.0;
00035 for (int j=0;j<y;j++)
00036 fftData->in[temp*y+j]=10000.0;
00037
00038
00039 for (int i=0;i<fftData->getXSize();i++){
00040 for (int j=0;j<fftData->getYSize();j++)
00041 cout<<fftData->in[i*x+j]<<'\t';
00042 cout<<endl;
00043 }
00044 cout<<'\n'<<endl;
00045 fft->fwdTransform();
00046 fftData->reScale();
00047 fftData->compPowerSpec();
00048 fft->invTransform();
00049
00050 for (int i=0;i<fftData->getXSize();i++){
00051 for (int j=0;j<fftData->getYSize();j++)
00052 cout<<fftData->in[i*x+j]<<'\t';
00053 cout<<endl;
00054 }
00055 cout<<'\n'<<endl;
00056
00057
00058
00059
00060
00061 for (int i=0;i<x;i++){
00062 for (int j=0;j<y/2+1;j++)
00063 cout<<fftData->power[i*(y/2+1)+j]<<'\t';
00064 cout<<endl;
00065 }
00066 delete fftData;
00067 delete fft;
00068 }