GNU Radio 3.6.5 C++ API

gr::filter::firdes Class Reference

Finite Impulse Response (FIR) filter design functions. More...

#include <firdes.h>

List of all members.

Public Types

enum  win_type {
  WIN_HAMMING = 0, WIN_HANN = 1, WIN_BLACKMAN = 2, WIN_RECTANGULAR = 3,
  WIN_KAISER = 4, WIN_BLACKMAN_hARRIS = 5, WIN_BLACKMAN_HARRIS = 5
}

Static Public Member Functions

static std::vector< float > low_pass (double gain, double sampling_freq, double cutoff_freq, double transition_width, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a low-pass FIR filter
static std::vector< float > low_pass_2 (double gain, double sampling_freq, double cutoff_freq, double transition_width, double attenuation_dB, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a low-pass FIR filter
static std::vector< float > high_pass (double gain, double sampling_freq, double cutoff_freq, double transition_width, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a high-pass FIR filter
static std::vector< float > high_pass_2 (double gain, double sampling_freq, double cutoff_freq, double transition_width, double attenuation_dB, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a high-pass FIR filter
static std::vector< float > band_pass (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a band-pass FIR filter
static std::vector< float > band_pass_2 (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, double attenuation_dB, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a band-pass FIR filter
static std::vector< gr_complexcomplex_band_pass (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a complex band-pass FIR filter
static std::vector< gr_complexcomplex_band_pass_2 (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, double attenuation_dB, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a complex band-pass FIR filter
static std::vector< float > band_reject (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a band-reject FIR filter
static std::vector< float > band_reject_2 (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, double attenuation_dB, win_type window=WIN_HAMMING, double beta=6.76)
 use "window method" to design a band-reject FIR filter
static std::vector< float > hilbert (unsigned int ntaps=19, win_type windowtype=WIN_RECTANGULAR, double beta=6.76)
 design a Hilbert Transform Filter
static std::vector< float > root_raised_cosine (double gain, double sampling_freq, double symbol_rate, double alpha, int ntaps)
 design a Root Cosine FIR Filter (do we need a window?)
static std::vector< float > gaussian (double gain, double spb, double bt, int ntaps)
 design a Gaussian filter
static std::vector< float > window (win_type type, int ntaps, double beta)

Detailed Description

Finite Impulse Response (FIR) filter design functions.


Member Enumeration Documentation

Enumerator:
WIN_HAMMING 
WIN_HANN 
WIN_BLACKMAN 
WIN_RECTANGULAR 
WIN_KAISER 
WIN_BLACKMAN_hARRIS 
WIN_BLACKMAN_HARRIS 

Member Function Documentation

static std::vector<float> gr::filter::firdes::band_pass ( double  gain,
double  sampling_freq,
double  low_cutoff_freq,
double  high_cutoff_freq,
double  transition_width,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a band-pass FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) low_cutoff_freq: center of transition band (Hz) high_cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<float> gr::filter::firdes::band_pass_2 ( double  gain,
double  sampling_freq,
double  low_cutoff_freq,
double  high_cutoff_freq,
double  transition_width,
double  attenuation_dB,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a band-pass FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) low_cutoff_freq: center of transition band (Hz) high_cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). attenuation_dB out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuation --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<float> gr::filter::firdes::band_reject ( double  gain,
double  sampling_freq,
double  low_cutoff_freq,
double  high_cutoff_freq,
double  transition_width,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a band-reject FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) low_cutoff_freq: center of transition band (Hz) high_cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<float> gr::filter::firdes::band_reject_2 ( double  gain,
double  sampling_freq,
double  low_cutoff_freq,
double  high_cutoff_freq,
double  transition_width,
double  attenuation_dB,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a band-reject FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) low_cutoff_freq: center of transition band (Hz) high_cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). attenuation_dB out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuation --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<gr_complex> gr::filter::firdes::complex_band_pass ( double  gain,
double  sampling_freq,
double  low_cutoff_freq,
double  high_cutoff_freq,
double  transition_width,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a complex band-pass FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) low_cutoff_freq: center of transition band (Hz) high_cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<gr_complex> gr::filter::firdes::complex_band_pass_2 ( double  gain,
double  sampling_freq,
double  low_cutoff_freq,
double  high_cutoff_freq,
double  transition_width,
double  attenuation_dB,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a complex band-pass FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) low_cutoff_freq: center of transition band (Hz) high_cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). attenuation_dB out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuation --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<float> gr::filter::firdes::gaussian ( double  gain,
double  spb,
double  bt,
int  ntaps 
) [static]

design a Gaussian filter

gain: overall gain of filter (typically 1.0) symbols per bit: symbol rate, must be a factor of sample rate ntaps: number of taps

static std::vector<float> gr::filter::firdes::high_pass ( double  gain,
double  sampling_freq,
double  cutoff_freq,
double  transition_width,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a high-pass FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<float> gr::filter::firdes::high_pass_2 ( double  gain,
double  sampling_freq,
double  cutoff_freq,
double  transition_width,
double  attenuation_dB,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a high-pass FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). attenuation_dB out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuation --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<float> gr::filter::firdes::hilbert ( unsigned int  ntaps = 19,
win_type  windowtype = WIN_RECTANGULAR,
double  beta = 6.76 
) [static]

design a Hilbert Transform Filter

ntaps: Number of taps, must be odd window_type: What kind of window to use beta: Only used for Kaiser

static std::vector<float> gr::filter::firdes::low_pass ( double  gain,
double  sampling_freq,
double  cutoff_freq,
double  transition_width,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a low-pass FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<float> gr::filter::firdes::low_pass_2 ( double  gain,
double  sampling_freq,
double  cutoff_freq,
double  transition_width,
double  attenuation_dB,
win_type  window = WIN_HAMMING,
double  beta = 6.76 
) [static]

use "window method" to design a low-pass FIR filter

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) cutoff_freq: center of transition band (Hz) transition_width: width of transition band (Hz). attenuation_dB required stopband attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuatin --> more taps window_type: What kind of window to use. Determines maximum attenuation and passband ripple. beta: parameter for Kaiser window

static std::vector<float> gr::filter::firdes::root_raised_cosine ( double  gain,
double  sampling_freq,
double  symbol_rate,
double  alpha,
int  ntaps 
) [static]

design a Root Cosine FIR Filter (do we need a window?)

gain: overall gain of filter (typically 1.0) sampling_freq: sampling freq (Hz) symbol rate: symbol rate, must be a factor of sample rate alpha: excess bandwidth factor ntaps: number of taps

static std::vector<float> gr::filter::firdes::window ( win_type  type,
int  ntaps,
double  beta 
) [static]

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