GNU Radio C++ API Reference: gr::filter::kernel::filterbank Class Reference

| GNU Radio C++ API Reference 3.10.12.0 The Free & Open Software Radio Ecosystem |

Loading...
Searching...
No Matches
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_ccf > | d_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.

References taps().

Referenced by filterbank().

## ◆ filterbank() [2/2]

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

References filterbank().

## ◆ ~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.

References taps().

## ◆ taps()

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

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

Referenced by filterbank(), and set_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:

- filterbank.h