11#ifndef INCLUDED_FILTER_FFT_FILTER_H 
   12#define INCLUDED_FILTER_FFT_FILTER_H 
   18#include <volk/volk_alloc.hh> 
   64    std::unique_ptr<fft::fft_real_fwd> d_fwdfft; 
 
   65    std::unique_ptr<fft::fft_real_rev> d_invfft; 
 
   67    std::vector<float> d_tail; 
 
   68    std::vector<float> d_taps; 
 
   69    volk::vector<gr_complex> d_xformed_taps; 
 
   71    void compute_sizes(
int ntaps);
 
   72    int tailsize()
 const { 
return d_ntaps - 1; }
 
  115    std::vector<float> 
taps() 
const;
 
  134    int filter(
int nitems, 
const float* input, 
float* output);
 
 
  177    std::unique_ptr<fft::fft_complex_fwd> d_fwdfft; 
 
  178    std::unique_ptr<fft::fft_complex_rev> d_invfft; 
 
  180    std::vector<gr_complex> d_tail; 
 
  181    std::vector<gr_complex> d_taps; 
 
  182    volk::vector<gr_complex> d_xformed_taps; 
 
  184    void compute_sizes(
int ntaps);
 
  185    int tailsize()
 const { 
return d_ntaps - 1; }
 
  228    std::vector<gr_complex> 
taps() 
const;
 
 
  290    std::unique_ptr<fft::fft_complex_fwd> d_fwdfft; 
 
  291    std::unique_ptr<fft::fft_complex_rev> d_invfft; 
 
  293    std::vector<gr_complex> d_tail; 
 
  294    std::vector<float> d_taps;      
 
  295    volk::vector<gr_complex> d_xformed_taps; 
 
  297    void compute_sizes(
int ntaps);
 
  298    int tailsize()
 const { 
return d_ntaps - 1; }
 
  341    std::vector<float> 
taps() 
const;
 
 
 
fft_filter_ccc(const fft_filter_ccc &)=delete
unsigned int ntaps() const
Returns the number of taps in the filter.
void set_nthreads(int n)
Set number of threads to use.
fft_filter_ccc(int decimation, const std::vector< gr_complex > &taps, int nthreads=1)
Construct an FFT filter for complex vectors with the given taps and decimation rate.
fft_filter_ccc(fft_filter_ccc &&)=default
fft_filter_ccc & operator=(fft_filter_ccc &&)=default
fft_filter_ccc & operator=(const fft_filter_ccc &)=delete
int filter(int nitems, const gr_complex *input, gr_complex *output)
Perform the filter operation.
int set_taps(const std::vector< gr_complex > &taps)
Set new taps for the filter.
std::vector< gr_complex > taps() const
Returns the taps.
int nthreads() const
Get number of threads being used.
fft_filter_ccf(fft_filter_ccf &&)=default
fft_filter_ccf & operator=(const fft_filter_ccf &)=delete
unsigned int ntaps() const
Returns the number of taps in the filter.
fft_filter_ccf & operator=(fft_filter_ccf &&)=default
void set_nthreads(int n)
Set number of threads to use.
int filter(int nitems, const gr_complex *input, gr_complex *output)
Perform the filter operation.
int set_taps(const std::vector< float > &taps)
Set new taps for the filter.
fft_filter_ccf(int decimation, const std::vector< float > &taps, int nthreads=1)
Construct an FFT filter for complex vectors with the given taps and decimation rate.
fft_filter_ccf(const fft_filter_ccf &)=delete
unsigned int filtersize() const
Returns the actual size of the filter.
int nthreads() const
Get number of threads being used.
std::vector< float > taps() const
Returns the taps.
fft_filter_fff & operator=(fft_filter_fff &&)=default
int nthreads() const
Get number of threads being used.
unsigned int ntaps() const
Returns the number of taps in the filter.
fft_filter_fff(const fft_filter_fff &)=delete
fft_filter_fff(fft_filter_fff &&)=default
fft_filter_fff & operator=(const fft_filter_fff &)=delete
fft_filter_fff(int decimation, const std::vector< float > &taps, int nthreads=1)
Construct an FFT filter for float vectors with the given taps and decimation rate.
void set_nthreads(int n)
Set number of threads to use.
int set_taps(const std::vector< float > &taps)
Set new taps for the filter.
std::vector< float > taps() const
Returns the taps.
int filter(int nitems, const float *input, float *output)
Perform the filter operation.
#define FILTER_API
Definition gr-filter/include/gnuradio/filter/api.h:18
std::complex< float > gr_complex
Definition gr_complex.h:15
Definition fft_filter.h:23
Definition dc_blocker_cc.h:18
GNU Radio logging wrapper.
Definition basic_block.h:29
std::shared_ptr< logger > logger_ptr
Definition logger.h:250