home *** CD-ROM | disk | FTP | other *** search
- # include <math.h>
- # include "fft.h"
- # include <stdio.h>
- # include "miscio.h"
- # include <ctype.h>
-
-
- float fftr[512];
- float ffti[512];
- float ar[512];
- float bi[512];
- float xr[512];
- float yi[512];
-
- int lower;
- int upper;
- int nd;
- int i;
- int j;
- int k;
- char c;
- void DisplayData(float dat1[],float dat2[], float dat3[],int numdat)
- {
- int i;
- int j;
- int start;
- int stop;
- int increment;
- char nextpage;
- char cr;
-
- GotoXY(1,24);
- printf(" (n)ext page (b)ack page (q)uit display");
- start = 0;
- stop = 19;
- nextpage = 0;
-
- while ( nextpage != 'Q' ) {
- for ( i = start; i <= stop; ++i ) {
- GotoXY(1,3 + (i % 20));
- ClrEol();
- printf("%4d . %10.3f %10.3f %10.3f",
- i, dat1[i], dat2[i], dat3[i]);
-
- }
- GotoXY(1,23);
- printf("prompt > ");
- nextpage = getch();
- printf(" %c",nextpage );
- nextpage = toupper(nextpage);
- if ( nextpage == 'N' ) {
- increment = 20;
- }
- if ( nextpage == 'B' ) {
- increment = -20;
- }
- start = start + increment;
- if ( (start < 0) || (start > numdat - 19) ) {
- start = 0;
- }
- stop = stop + increment;
- if ( (stop < 19) || (stop > numdat) ) {
- stop = 19;
- }
- }
- }
-
-
- void main()
- {
- nd = 128;
- for ( i = 0; i <= nd - 1; ++i ) {
- xr[i] = cos(M_PI * i / 16.0) + cos(M_PI * i / 32.0);
- yi[i] = 0;
- ar[i] = xr[i];
- bi[i] = yi[i];
- }
- FFTCalc(xr,yi,nd);
- for ( i = 0; i <= nd-1; ++i ) {
- fftr[i] = xr[i];
- ffti[i] = yi[i];
- }
- FFTInvCalc(xr,yi,nd);
- ClrScr();
- GotoXY(1,1);
- printf( "index rawdata fft data inverse fft data");
- DisplayData(ar,fftr,xr,nd);
-
- }
-