GNU Radio v3.6.2-149-ga6d285d9 C++ API
Filters

Classes

class  gr_adaptive_fir_ccc
 Adaptive FIR filter with gr_complex input, gr_complex output and float taps. More...
class  gr_adaptive_fir_ccf
 Adaptive FIR filter with gr_complex input, gr_complex output and float taps. More...
class  gr_fft_filter_ccc
 Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps. More...
class  gr_fft_filter_fff
 Fast FFT filter with float input, float output and float taps. More...
class  gr_filter_delay_fc
 Filter-Delay Combination Block.The block takes one or two float stream and outputs a complex stream. If only one float stream is input, the real output is a delayed version of this input and the imaginary output is the filtered output. If two floats are connected to the input, then the real output is the delayed version of the first input, and the imaginary output is the filtered output. The delay in the real path accounts for the group delay introduced by the filter in the imaginary path. The filter taps needs to be calculated before initializing this block. More...
class  gr_fir_fcc_sse
 SSE version of gr_fir_fcc. More...
class  gr_fractional_interpolator_cc
 Interpolating mmse filter with gr_complex input, gr_complex output. More...
class  gr_fractional_interpolator_ff
 Interpolating mmse filter with float input, float output. More...
class  gr_hilbert_fc
 Hilbert transformer.real output is input appropriately delayed. imaginary output is hilbert filtered (90 degree phase shift) version of input. More...
class  gr_iir_filter_ffd
 IIR filter with float input, float output and double tapsThis filter uses the Direct Form I implementation, where fftaps contains the feed-forward taps, and fbtaps the feedback ones. More...
class  gr_single_pole_iir_filter_cc
 single pole IIR filter with complex input, complex outputThe input and output satisfy a difference equation of the form \f{ y[n] - (1-alpha) y[n-1] = alpha x[n] \f} More...
class  gr_single_pole_iir_filter_ff
 single pole IIR filter with float input, float outputThe input and output satisfy a difference equation of the form \f{ y[n] - (1-alpha) y[n-1] = alpha x[n] \f} More...
class  gri_fft_filter_ccc_generic
 Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps. More...
class  gri_fft_filter_ccc_sse
 Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps. More...
class  gr::filter::adaptive_fir_ccc
 Adaptive FIR filter with gr_complex input, gr_complex output and gr_complex tapsThis is a base class to implement an adaptive FIR filter. Generally, another block will inherit from this one to build a new type of adaptive filter such as an equalizer. More...
class  gr::filter::adaptive_fir_ccf
 Adaptive FIR filter with gr_complex input, gr_complex output and float tapsThis is a base class to implement an adaptive FIR filter. Generally, another block will inherit from this one to build a new type of adaptive filter such as an equalizer. More...
class  gr::filter::kernel::fft_filter_fff
 Fast FFT filter with float input, float output and float taps. More...
class  gr::filter::kernel::fft_filter_ccc
 Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps. More...
class  gr::filter::fractional_interpolator_cc
 Interpolating MMSE filter with complex input, complex output. More...
class  gr::filter::fractional_interpolator_ff
 Interpolating MMSE filter with float input, float output. More...
class  gr::filter::iir_filter_ffd
 IIR filter with float input, float output and double tapsThis filter uses the Direct Form I implementation, where fftaps contains the feed-forward taps, and fbtaps the feedback ones. More...
class  gr::filter::single_pole_iir_filter_cc
 single pole IIR filter with complex input, complex outputThe input and output satisfy a difference equation of the form \f{ y[n] - (1-alpha) y[n-1] = alpha x[n] \f} More...
class  gr::filter::single_pole_iir_filter_ff
 single pole IIR filter with float input, float outputThe input and output satisfy a difference equation of the form \f{ y[n] - (1-alpha) y[n-1] = alpha x[n] \f} More...
class  gr_dc_blocker_cc
 a computationally efficient controllable DC blocker More...
class  gr_dc_blocker_ff
 a computationally efficient controllable DC blocker More...
class  gr_pfb_arb_resampler_ccf
 Polyphase filterbank arbitrary resampler with gr_complex input, gr_complex output and float taps. More...
class  gr_pfb_arb_resampler_fff
 Polyphase filterbank arbitrary resampler with float input, float output and float taps. More...
class  gr_pfb_channelizer_ccf
 Polyphase filterbank channelizer with gr_complex input, gr_complex output and float taps. More...
class  gr_pfb_clock_sync_ccf
 Timing synchronizer using polyphase filterbanks. More...
class  gr_pfb_clock_sync_fff
 Timing synchronizer using polyphase filterbanks. More...
class  gr_pfb_decimator_ccf
 Polyphase filterbank bandpass decimator with gr_complex input, gr_complex output and float taps. More...
class  gr_pfb_interpolator_ccf
 Polyphase filterbank interpolator with gr_complex input, gr_complex output and float taps. More...
class  gr_pfb_synthesizer_ccf
 Polyphase synthesis filterbank with gr_complex input, gr_complex output and float taps. More...
class  digital_pfb_clock_sync_ccf
 Timing synchronizer using polyphase filterbanks. More...
class  digital_pfb_clock_sync_fff
 Timing synchronizer using polyphase filterbanks. More...
class  dc_blocker_cc
 a computationally efficient controllable DC blocker More...
class  dc_blocker_ff
 a computationally efficient controllable DC blocker More...
class  gr::filter::pfb_arb_resampler_ccf
 Polyphase filterbank arbitrary resampler with gr_complex input, gr_complex output and float taps. More...
class  gr::filter::pfb_arb_resampler_fff
 Polyphase filterbank arbitrary resampler with float input, float output and float taps. More...
class  gr::filter::pfb_channelizer_ccf
 Polyphase filterbank channelizer with gr_complex input, gr_complex output and float taps. More...
class  gr::filter::pfb_decimator_ccf
 Polyphase filterbank bandpass decimator with gr_complex input, gr_complex output and float taps. More...
class  gr::filter::pfb_synthesizer_ccf
 Polyphase synthesis filterbank with gr_complex input, gr_complex output and float taps. More...
class  gr::filter::kernel::polyphase_filterbank
 Polyphase filterbank parent class. More...

Functions

static sptr gr::filter::fft_filter_ccc::make (int decimation, const std::vector< gr_complex > &taps, int nthreads=1)
 Fast FFT filter with gr_complex input, gr_complex output and gr_complex tapsThis block implements a complex decimating filter using the fast convolution method via an FFT. The decimation factor is an interger that is greater than or equal to 1.
static sptr gr::filter::fft_filter_fff::make (int decimation, const std::vector< float > &taps, int nthreads=1)
 Fast FFT filter with float input, float output and float tapsThis block implements a real-value decimating filter using the fast convolution method via an FFT. The decimation factor is an interger that is greater than or equal to 1.
static sptr gr::filter::filter_delay_fc::make (const std::vector< float > &taps)
 Filter-Delay Combination Block.The block takes one or two float stream and outputs a complex stream.
static sptr gr::filter::hilbert_fc::make (unsigned int ntaps)
 Hilbert transformer.real output is input appropriately delayed. imaginary output is hilbert filtered (90 degree phase shift) version of input.

Function Documentation

static sptr gr::filter::hilbert_fc::make ( unsigned int  ntaps) [static]

Hilbert transformer.real output is input appropriately delayed. imaginary output is hilbert filtered (90 degree phase shift) version of input.

static sptr gr::filter::filter_delay_fc::make ( const std::vector< float > &  taps) [static]

Filter-Delay Combination Block.The block takes one or two float stream and outputs a complex stream.

If only one float stream is input, the real output is a delayed version of this input and the imaginary output is the filtered output.

If two floats are connected to the input, then the real output is the delayed version of the first input, and the imaginary output is the filtered output.

The delay in the real path accounts for the group delay introduced by the filter in the imaginary path. The filter taps needs to be calculated before initializing this block.

static sptr gr::filter::fft_filter_ccc::make ( int  decimation,
const std::vector< gr_complex > &  taps,
int  nthreads = 1 
) [static]

Fast FFT filter with gr_complex input, gr_complex output and gr_complex tapsThis block implements a complex decimating filter using the fast convolution method via an FFT. The decimation factor is an interger that is greater than or equal to 1.

The filter takes a set of complex (or real) taps to use in the filtering operation. These taps can be defined as anything that satisfies the user's filtering needs. For standard filters such as lowpass, highpass, bandpass, etc., the filter.firdes and filter.optfir classes provide convenient generating methods.

This filter is implemented by using the FFTW package to perform the required FFTs. An optional argument, nthreads, may be passed to the constructor (or set using the set_nthreads member function) to split the FFT among N number of threads. This can improve performance on very large FFTs (that is, if the number of taps used is very large) if you have enough threads/cores to support it.

Parameters:
decimation>= 1
tapscomplex filter taps
nthreadsnumber of threads for the FFT to use
static sptr gr::filter::fft_filter_fff::make ( int  decimation,
const std::vector< float > &  taps,
int  nthreads = 1 
) [static]

Fast FFT filter with float input, float output and float tapsThis block implements a real-value decimating filter using the fast convolution method via an FFT. The decimation factor is an interger that is greater than or equal to 1.

The filter takes a set of real-valued taps to use in the filtering operation. These taps can be defined as anything that satisfies the user's filtering needs. For standard filters such as lowpass, highpass, bandpass, etc., the filter.firdes and filter.optfir classes provide convenient generating methods.

This filter is implemented by using the FFTW package to perform the required FFTs. An optional argument, nthreads, may be passed to the constructor (or set using the set_nthreads member function) to split the FFT among N number of threads. This can improve performance on very large FFTs (that is, if the number of taps used is very large) if you have enough threads/cores to support it.

Parameters:
decimation>= 1
tapsfloat filter taps
nthreadsnumber of threads for the FFT to use