GNU Radio 3.7.1 C++ API
|
Finite Impulse Response (FIR) filter design functions. More...
#include <firdes.h>
Public Types | |
enum | win_type { WIN_NONE = -1, 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_complex > | 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) |
use "window method" to design a complex band-pass FIR filter | |
static std::vector< gr_complex > | 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) |
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) |
Finite Impulse Response (FIR) filter design functions.
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] |