GNU Radio 3.6.5 C++ API

FIR filter combined with frequency translation with short input, gr_complex output and gr_complex taps. More...
#include <gr_freq_xlating_fir_filter_scc.h>
Public Member Functions  
virtual  ~gr_freq_xlating_fir_filter_scc () 
void  set_center_freq (double center_freq) 
void  set_taps (const std::vector< gr_complex > &taps) 
int  work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) 
just like gr_block::general_work, only this arranges to call consume_each for you  
Protected Member Functions  
virtual void  build_composite_fir () 
gr_freq_xlating_fir_filter_scc (int decimation, const std::vector< gr_complex > &taps, double center_freq, double sampling_freq)  
Protected Attributes  
std::vector< gr_complex >  d_proto_taps 
gr_fir_scc *  d_composite_fir 
gr_rotator  d_r 
double  d_center_freq 
double  d_sampling_freq 
bool  d_updated 
Friends  
GR_CORE_API gr_freq_xlating_fir_filter_scc_sptr  gr_make_freq_xlating_fir_filter_scc (int decimation, const std::vector< gr_complex > &taps, double center_freq, double sampling_freq) 
FIR filter combined with frequency translation with short input, gr_complex output and gr_complex taps.
This class efficiently combines a frequency translation (typically "down conversion") with a FIR filter (typically lowpass) and decimation. It is ideally suited for a "channel selection filter" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.
virtual gr_freq_xlating_fir_filter_scc::~gr_freq_xlating_fir_filter_scc  (  )  [virtual] 
gr_freq_xlating_fir_filter_scc::gr_freq_xlating_fir_filter_scc  (  int  decimation, 
const std::vector< gr_complex > &  taps,  
double  center_freq,  
double  sampling_freq  
)  [protected] 
Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.
virtual void gr_freq_xlating_fir_filter_scc::build_composite_fir  (  )  [protected, virtual] 
void gr_freq_xlating_fir_filter_scc::set_center_freq  (  double  center_freq  ) 
void gr_freq_xlating_fir_filter_scc::set_taps  (  const std::vector< gr_complex > &  taps  ) 
int gr_freq_xlating_fir_filter_scc::work  (  int  noutput_items, 
gr_vector_const_void_star &  input_items,  
gr_vector_void_star &  output_items  
)  [virtual] 
just like gr_block::general_work, only this arranges to call consume_each for you
The user must override work to define the signal processing code
Implements gr_sync_block.
GR_CORE_API gr_freq_xlating_fir_filter_scc_sptr gr_make_freq_xlating_fir_filter_scc  (  int  decimation, 
const std::vector< gr_complex > &  taps,  
double  center_freq,  
double  sampling_freq  
)  [friend] 
Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.
double gr_freq_xlating_fir_filter_scc::d_center_freq [protected] 
gr_rotator gr_freq_xlating_fir_filter_scc::d_r [protected] 
double gr_freq_xlating_fir_filter_scc::d_sampling_freq [protected] 
bool gr_freq_xlating_fir_filter_scc::d_updated [protected] 