GNU Radio Manual and C++ API Reference  3.10.9.1
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.

Parameters
taps(vector of vector of floats / list of list of floats) Populates the filters.

◆ filterbank() [2/2]

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

◆ ~filterbank()

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

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)
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.

◆ 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
protected

◆ d_fir_filters

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

◆ d_nfilts

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

◆ d_ntaps

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

◆ d_taps

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

◆ d_taps_per_filter

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

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