GNU Radio 3.7.1 C++ API
gr::filter::pfb_synthesizer_ccf Class Reference

Polyphase synthesis filterbank with gr_complex input, gr_complex output and float taps. More...

#include <pfb_synthesizer_ccf.h>

Inheritance diagram for gr::filter::pfb_synthesizer_ccf:

List of all members.

Public Types

typedef boost::shared_ptr
< pfb_synthesizer_ccf
sptr

Public Member Functions

virtual void set_taps (const std::vector< float > &taps)=0
virtual void print_taps ()=0
virtual std::vector
< std::vector< float > > 
taps () const =0
virtual void set_channel_map (const std::vector< int > &map)=0
virtual std::vector< int > channel_map () const =0

Static Public Member Functions

static sptr make (unsigned int numchans, const std::vector< float > &taps, bool twox=false)

Detailed Description

Polyphase synthesis filterbank with gr_complex input, gr_complex output and float taps.


Member Typedef Documentation


Member Function Documentation

virtual std::vector<int> gr::filter::pfb_synthesizer_ccf::channel_map ( ) const [pure virtual]

Gets the current channel map.

static sptr gr::filter::pfb_synthesizer_ccf::make ( unsigned int  numchans,
const std::vector< float > &  taps,
bool  twox = false 
) [static]

Build the polyphase synthesis filterbank.

Parameters:
numchans(unsigned integer) Specifies the number of channels M
taps(vector/list of floats) The prototype filter to populate the filterbank.
twox(bool) use 2x oversampling or not (default is no)

Print all of the filterbank taps to screen.

virtual void gr::filter::pfb_synthesizer_ccf::set_channel_map ( const std::vector< int > &  map) [pure virtual]

Set the channel map. Channels are numbers as: N/2+1 | ... | N-1 | 0 | 1 | 2 | ... | N/2 <------------------- 0 --------------------> freq

So input stream 0 goes to channel 0, etc. Setting a new channel map allows the user to specify where in frequency he/she wants the input stream to go. This is especially useful to avoid putting signals into the channels on the edge of the spectrum which can either wrap around (in the case of odd number of channels) and be affected by filter rolloff in the transmitter.

The map must be at least the number of streams being sent to the block. Less and the algorithm will not have enough data to properly setup the buffers. Any more channels specified will be ignored.

virtual void gr::filter::pfb_synthesizer_ccf::set_taps ( const std::vector< float > &  taps) [pure virtual]

Resets the filterbank's filter taps with the new prototype filter

Parameters:
taps(vector/list of floats) The prototype filter to populate the filterbank.
virtual std::vector<std::vector<float> > gr::filter::pfb_synthesizer_ccf::taps ( ) const [pure virtual]

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


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