OptimalFilterbank.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2010 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // dspsr/Signal/General/dsp/OptimalFilterbank.h
10 
11 #ifndef __OptimalFilterbank_h
12 #define __OptimalFilterbank_h
13 
14 #include "OptimalFFT.h"
15 #include "FilterbankBench.h"
16 
17 namespace dsp
18 {
20  class OptimalFilterbank : public OptimalFFT
21  {
22  public:
23 
24  static bool verbose;
25 
26  OptimalFilterbank (const std::string& library);
27 
28  void set_nchan (unsigned nchan);
29  double compute_cost (unsigned nfft, unsigned nfilt) const;
30  std::string get_library (unsigned nfft);
31 
32  protected:
33 
34  mutable Reference::To<FilterbankBench> fbench;
35  FTransform::Bench* new_bench () const;
36 
37  std::string library;
38  unsigned nchan;
39  };
40 
41 }
42 
43 #endif
Chooses the optimal FFT length for Filterbank and/or Convolution.
Definition: OptimalFilterbank.h:25
Contains all Baseband Data Reduction Library classes.
Definition: ASCIIObservation.h:17
std::string get_library(unsigned nfft)
Get the name of the FFT library to use for the given FFT length.
Definition: OptimalFilterbank.C:46
void set_nchan(unsigned nchan)
Set the number of channels into which the data will be divided.
Definition: OptimalFilterbank.C:25
Stores Filterbank benchmark data.
Definition: FilterbankBench.h:22
static std::string get_runtime()
double compute_cost(unsigned nfft, unsigned nfilt) const
Return the time required to execute in microseconds.
Definition: OptimalFilterbank.C:52

Generated using doxygen 1.8.17