GNU Radio Manual and C++ API Reference  3.7.4.1
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
gr::filter::kernel::filterbank Class Reference

A filter bank with generic taps. More...

#include <gnuradio/filter/filterbank.h>

Public Member Functions

 filterbank (const std::vector< std::vector< float > > &taps)
 
 ~filterbank ()
 
virtual void set_taps (const std::vector< std::vector< float > > &taps)
 
void print_taps ()
 
std::vector< std::vector< float > > taps () const
 

Protected Attributes

unsigned int d_nfilts
 
unsigned int d_ntaps
 
std::vector
< kernel::fir_filter_ccf * > 
d_fir_filters
 
std::vector< std::vector< float > > d_taps
 
std::vector< boold_active
 
unsigned int d_taps_per_filter
 

Detailed Description

A filter bank with generic taps.

This block takes in a vector of N complex inputs, passes them through N FIR filters, and outputs a vector of N complex outputs.

The only advantage of using this block over N individual FIR filter blocks is that it places less of a load on the scheduler.

The number of filters cannot be changed dynamically, however filters can be deactivated (i.e. no processing is done for them) by passing a vector of filter taps containing all zeros to them. In this case their entry in the output vector is a zero.

Constructor & Destructor Documentation

gr::filter::kernel::filterbank::filterbank ( const std::vector< std::vector< float > > &  taps)

Build the filterbank.

Parameters
taps(vector of vector of floats / list of list of floats) Populates the filters.
gr::filter::kernel::filterbank::~filterbank ( )

Member Function Documentation

void gr::filter::kernel::filterbank::print_taps ( )

Print all of the filterbank taps to screen.

virtual void gr::filter::kernel::filterbank::set_taps ( const std::vector< std::vector< float > > &  taps)
virtual

Update the filterbank's filter taps.

Parameters
taps(vector of vector of floats / list of list of floats) The prototype filter to populate the filterbank.
std::vector<std::vector<float> > gr::filter::kernel::filterbank::taps ( ) const

Return a vector<vector<>> of the filterbank taps

Member Data Documentation

std::vector<bool> gr::filter::kernel::filterbank::d_active
protected
std::vector<kernel::fir_filter_ccf*> gr::filter::kernel::filterbank::d_fir_filters
protected
unsigned int gr::filter::kernel::filterbank::d_nfilts
protected
unsigned int gr::filter::kernel::filterbank::d_ntaps
protected
std::vector< std::vector<float> > gr::filter::kernel::filterbank::d_taps
protected
unsigned int gr::filter::kernel::filterbank::d_taps_per_filter
protected

The documentation for this class was generated from the following file: