/* test_fft_big.c test modified Howard's fftd */ #include #include #include "fftd.h" #define Pi 3.1415926535897932384626433832795028841971 #define n 2048 #define np 16 int main(int argc, char *argv[]) { double rdat[4*n]; /* real part */ double idat[4*n]; /* imaginary part */ double rslt[4*n]; /* cos,sin pair terms */ double arslt[4*n]; /* for antialias rslt */ double th, v; int i; int k = 1; /* fft, ifft */ printf("test_fft_big.c test fftd.c \n"); for(i=0; i=n/4 && i<3*n/4) v = -1.0; if(i==n/4 || i==3*n/4) v = 0.0; rdat[i] = v; idat[i] = 0.0; } printf("square wave data, cos series \n"); for(i=0; in/2) v = -1.0; if(i==n/2 || i==0) v = 0.0; rdat[i] = v; idat[i] = 0.0; } printf("square wave data, for sin series \n"); for(i=0; i=n/2) v = -1.0; rdat[i] = v; idat[i] = 0.0; } printf("square wave data, for sin, no zero \n"); printf(" note: cos values come in \n"); for(i=0; i=n/2) v = -3.0+4.0*(double)i/(double)n; rdat[i] = v; idat[i] = 0.0; } printf("triangle wave data, cos series \n"); for(i=0; in/4 && i<=3*n/4) v = 2.0-v; if(i>3*n/4) v = v -4.0; rdat[i] = v; idat[i] = 0.0; } printf("triangle wave data, sin series \n"); for(i=0; i=n/2) v = -2.0+2.0*(double)i/(double)n; if(i==n/2) v = 0.0; rdat[i] = v; idat[i] = 0.0; } printf("saw tooth wave data, sin series \n"); for(i=0; i