|
dsplib 1.1.0
C++ DSP library for MATLAB-like coding
|
Polyphase FFT synthesis filter bank. More...
#include <subband.h>
Public Member Functions | |
| ChannelSynthesizer (const ChannelSynthesizer &)=delete | |
| ChannelSynthesizer (span_real filter, int num_bands, int decim_factor) | |
| Construct ChannelSynthesizer. | |
| ChannelSynthesizer (std::shared_ptr< const arr_real > filter, int num_bands, int decim_factor) | |
| Construct ChannelSynthesizer. | |
| ChannelSynthesizer (int num_bands, int decim_factor, int num_taps) | |
| Construct ChannelSynthesizer. | |
| arr_real | process (span_cmplx x) |
| Filter bank processing (synthesis) | |
| arr_real | operator() (span_cmplx x) |
| int | frame_len () const noexcept |
| Processing frame size. | |
Polyphase FFT synthesis filter bank.
Ideally ChannelSynthesizer(Channelizer(x)) == x.
remove num_taps if filter is calculated
params order (bands, decim, ntaps/coeffs)
|
explicit |
Construct ChannelSynthesizer.
| filter | Multirate FIR coeffs [num_bands * ntaps] |
| num_bands | Number of frequency bands |
| decim_factor | Decimation factor [1 : M-1] |
|
explicit |
Construct ChannelSynthesizer.
Use this function to save memory if multiple Channelizer/ChannelSynthesizer objects can exist at the same time
| filter | Pointer to multirate FIR coeffs |
| num_bands | Number of frequency bands |
| decim_factor | Decimation factor [1 : M-1] |
|
explicit |
Construct ChannelSynthesizer.
The filter will be calculated using the design_multirate_fir(1, num_bands, ceil(num_taps / 2.0))
| num_bands | Number of frequency bands |
| decim_factor | Decimation factor [1 : M-1] |
| num_taps | Number of filter coefficients per frequency band (expected to be even) |
|
noexcept |
Processing frame size.
| arr_real dsplib::ChannelSynthesizer::process | ( | span_cmplx | x | ) |
Filter bank processing (synthesis)
| x | Input subband signal [num_bands] |