A filter bank with generic taps. More...
#include <gnuradio/filter/filterbank.h>
Public Member Functions | |
filterbank (const std::vector< std::vector< float >> &taps) | |
filterbank (filterbank &&)=default | |
virtual | ~filterbank ()=default |
virtual void | set_taps (const std::vector< std::vector< float >> &taps) |
void | print_taps () |
std::vector< std::vector< float > > | taps () const |
Protected Attributes | |
std::vector< std::vector< float > > | d_taps |
unsigned int | d_nfilts |
unsigned int | d_ntaps |
std::vector< kernel::fir_filter_ccf > | d_fir_filters |
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. |
|
default |
|
virtualdefault |
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 |