dsplib 1.1.0
C++ DSP library for MATLAB-like coding
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dsplib::Channelizer Class Reference

Polyphase FFT analysis filter bank. More...

#include <subband.h>

Public Member Functions

 Channelizer (const Channelizer &)=delete
 
 Channelizer (span_real filter, int num_bands, int decim_factor)
 Construct Channelizer.
 
 Channelizer (std::shared_ptr< const arr_real > filter, int num_bands, int decim_factor)
 Construct Channelizer.
 
 Channelizer (int num_bands, int decim_factor, int num_taps)
 Construct Channelizer.
 
arr_cmplx process (span_real x)
 Filter bank processing (analysis)
 
arr_cmplx operator() (span_real x)
 
int frame_len () const noexcept
 Processing frame size.
 

Detailed Description

Polyphase FFT analysis filter bank.

Separates a broadband input signal into multiple narrow subbands

See also
Matlab dsp.Channelizer
Todo:
Add Range parameter [OneSided, Twosided, Centered]

Constructor & Destructor Documentation

◆ Channelizer() [1/3]

dsplib::Channelizer::Channelizer ( span_real  filter,
int  num_bands,
int  decim_factor 
)
explicit

Construct Channelizer.

Parameters
filterMultirate FIR coeffs [num_bands * ntaps]
num_bandsNumber of frequency bands
decim_factorDecimation factor [1 : M-1]

◆ Channelizer() [2/3]

dsplib::Channelizer::Channelizer ( std::shared_ptr< const arr_real filter,
int  num_bands,
int  decim_factor 
)
explicit

Construct Channelizer.

Use this function to save memory if multiple Channelizer/ChannelSynthesizer objects can exist at the same time

Parameters
filterPointer to multirate FIR coeffs
num_bandsNumber of frequency bands
decim_factorDecimation factor [1 : M-1]

◆ Channelizer() [3/3]

dsplib::Channelizer::Channelizer ( int  num_bands,
int  decim_factor,
int  num_taps 
)
explicit

Construct Channelizer.

The filter will be calculated using the design_multirate_fir(1, num_bands, ceil(num_taps / 2.0))

Parameters
num_bandsNumber of frequency bands
decim_factorDecimation factor [1 : M-1]
num_tapsNumber of filter coefficients per frequency band (expected to be even)

Member Function Documentation

◆ frame_len()

int dsplib::Channelizer::frame_len ( ) const
noexcept

Processing frame size.

Returns
int frame len

◆ process()

arr_cmplx dsplib::Channelizer::process ( span_real  x)

Filter bank processing (analysis)

Parameters
xInput broadband signal [num_bands / decim_factor]
Returns
arr_cmplx Subband signal [num_bands]

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