OptimalFFT.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2009 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // dspsr/Signal/General/dsp/OptimalFFT.h
10 
11 #ifndef __OptimalFFT_h
12 #define __OptimalFFT_h
13 
14 #include "FTransformBench.h"
15 
16 namespace dsp
17 {
19  class OptimalFFT : public Reference::Able
20  {
21  public:
22 
23  static bool verbose;
24 
25  OptimalFFT ();
26 
28  void set_simultaneous (bool flag);
29 
30  unsigned get_nfft (unsigned nfilt) const;
31 
33  virtual void set_nchan (unsigned nchan);
34 
36  virtual double compute_cost (unsigned nfft, unsigned nfilt) const;
37 
39  virtual std::string get_library (unsigned nfft);
40 
41  protected:
42 
44 
45  virtual FTransform::Bench* new_bench () const;
46 
47  unsigned nchan;
48  bool simultaneous;
49  };
50 
51 }
52 
53 #endif
virtual void set_nchan(unsigned nchan)
Set the number of channels into which the data will be divided.
Definition: OptimalFFT.C:24
Contains all Baseband Data Reduction Library classes.
Definition: ASCIIObservation.h:17
Chooses the optimal FFT length for Filterbank and/or Convolution.
Definition: OptimalFFT.h:24
void set_simultaneous(bool flag)
Set true when convolution is performed during filterbank synthesis.
Definition: OptimalFFT.C:30
virtual double compute_cost(unsigned nfft, unsigned nfilt) const
Return the time required to execute in microseconds.
Definition: OptimalFFT.C:148
unsigned get_nfft(unsigned nfilt) const
Definition: OptimalFFT.C:80
virtual std::string get_library(unsigned nfft)
Get the name of the FFT library to use for the given FFT length.
Definition: OptimalFFT.C:136
void set_path(const std::string &path)
static std::string get_runtime()

Generated using doxygen 1.8.17