This is fftplot.c in view mode; [Download] [Up]
#include <stdio.h>
#define FLOAT 4
main()
{
int j,length,fft,npoints,i;
char array[80];
int range = 72;
float xmax,xmin,freq,sr;
float vals[2048];
char output[32];
fprintf(stderr," Enter name of fft file\t");
scanf("%s",output);
if((fft = open(output,0)) < 0) {
fprintf(stderr," Can't open fft file\n");
exit(1);
}
fprintf(stderr," Enter length of fft\t");
scanf("%d",&length);
fprintf(stderr," Enter sampling rate\t");
scanf("%f",&sr);
if(read(fft,(char *)vals,length*FLOAT) != length*FLOAT) {
printf(" bad read\n");
exit(1);
}
xmax=0;
xmin=99999999.;
for(i=0;i<length;i++) {
if(vals[i] > xmax) xmax = vals[i];
if(vals[i] < xmin) xmin = vals[i];
}
for(i=0;i<length;i++) {
npoints = ((vals[i]-xmin)/(xmax-xmin)) * range;
freq =((float)i/length)* (sr/2.);
printf("%6.2f",freq);
for(j=0;j<npoints;j++) printf("-");
printf("\n");
}
for(i=0;i<length;i++) printf("%d %f\n",i,vals[i]);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.