GNU Radio Manual and C++ API Reference
The Free & Open Software Radio Ecosystem
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 (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_ccfd_fir_filters
std::vector< bool > d_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

◆ filterbank() [1/2]

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.

◆ filterbank() [2/2]

gr::filter::kernel::filterbank::filterbank ( filterbank &&  )

◆ ~filterbank()

virtual gr::filter::kernel::filterbank::~filterbank ( )

Member Function Documentation

◆ print_taps()

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

Print all of the filterbank taps to screen.

◆ set_taps()

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

Update the filterbank's filter taps.

taps(vector of vector of floats / list of list of floats) The prototype filter to populate the filterbank.

◆ taps()

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

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

Member Data Documentation

◆ d_active

std::vector<bool> gr::filter::kernel::filterbank::d_active

◆ d_fir_filters

std::vector<kernel::fir_filter_ccf> gr::filter::kernel::filterbank::d_fir_filters

◆ d_nfilts

unsigned int gr::filter::kernel::filterbank::d_nfilts

◆ d_ntaps

unsigned int gr::filter::kernel::filterbank::d_ntaps

◆ d_taps

std::vector<std::vector<float> > gr::filter::kernel::filterbank::d_taps

◆ d_taps_per_filter

unsigned int gr::filter::kernel::filterbank::d_taps_per_filter

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