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< bool > | d_active |
unsigned int | d_taps_per_filter |
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.
gr::filter::kernel::filterbank::filterbank | ( | const std::vector< std::vector< float > > & | taps | ) |
Build the filterbank.
taps | (vector of vector of floats / list of list of floats) Populates the filters. |
gr::filter::kernel::filterbank::~filterbank | ( | ) |
void gr::filter::kernel::filterbank::print_taps | ( | ) |
Print all of the filterbank taps to screen.
|
virtual |
Update the filterbank's filter taps.
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
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |