61 #include <gsl/gsl_errno.h>
62 #include <gsl/gsl_fft_real.h>
63 #include <gsl/gsl_fft_halfcomplex.h>
77 gsl_fft_halfcomplex_wavetable *
fft_hc = NULL;
110 gsl_fft_real_workspace_free (
fft_work);
117 gsl_fft_real_wavetable_free (
fft_real);
122 fft_work = gsl_fft_real_workspace_alloc (n);
123 fft_real = gsl_fft_real_wavetable_alloc (n);
127 st_report(
"FFT: Function returned %d", ret);
135 bw = (fr * (double)n * 2.0);
138 st_report(
"Freqres = %f MHz / Chan, BW = %f MHz", fr, fr * (
double)n);
189 double min = 999999999.9;
212 int i, n, nc, fft_indx;
214 double f, freeD, wireD, fft_freq;
224 st_fail(
"Count out of range: 0x%x", nc);
231 _doTCur(
"Click the Left Mouse Button on Desired Freq");
246 st_report(
"MHz-1 Selected: %7.4f uS", fft_freq);
247 st_report(
"Freq Selected: %7.4f MHz", f /= 1e6);
248 st_report(
"Free Space Distance: %7.4f Meters", freeD);
249 st_report(
"Coaxial Wire Distance: %7.4f Meters", wireD);
266 fft_hc = gsl_fft_halfcomplex_wavetable_alloc(n);
270 gsl_fft_halfcomplex_wavetable_free(
fft_hc);
273 for(i=0;i<n;i++,f1++)
291 _doTCur(
"Click the Left Mouse Button on Left Freq");
295 _doTCur(
"Click the Left Mouse Button on Right Freq");
301 for(i=start;i<end;i++)
308 st_fail(
"Ending freq < Starting");
321 fft_hc = gsl_fft_halfcomplex_wavetable_alloc(n);
325 gsl_fft_halfcomplex_wavetable_free(
fft_hc);
328 for(i=0;i<n;i++,f1++)
349 st_fail(
"Missing arg for 'fft /a xx.x xx.x'");
359 st_fail(
"Missing arg for 'fft /a xx.x xx.x'");
380 st_report(
"Reseting fft plot axis to defaults");
struct LP_IMAGE_INFO * h0
int sock_write(struct SOCK *s, char *message, int l)
struct PARSE_STACK * args
gsl_fft_real_wavetable * fft_real
#define SPEED_OF_LIGHT_COAX
gsl_fft_halfcomplex_wavetable * fft_hc
double fft_data[MAX_CHANS]
#define LAST_PLOT_SPEC_FFT
float ydata[MAX_FFT_LENGTH]
float xdata[MAX_FFT_LENGTH]
int findExactFFTFreq(double mx)
gsl_fft_real_workspace * fft_work