Finite Impulse Response (FIR) filter design functions. More...
#include <gnuradio/filter/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, WIN_BARTLETT = 6, WIN_FLATTOP = 7 } |
Static Public Member Functions | |
static std::vector< float > | window (win_type type, int ntaps, double beta) |
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. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. Window type determines maximum attenuation and passband ripple. More... | |
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. 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. The window type determines maximum attentuation and passband ripple. More... | |
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. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. The window determines maximum attenuation and passband ripple. More... | |
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. 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. The window determines maximum attenuation and passband ripple. More... | |
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. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. The window determines maximum attenuation and passband ripple. More... | |
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. 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 determines maximum attenuation and passband ripple. More... | |
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 the "window method" to design a complex band-pass FIR filter. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. The window type determines maximum attenuation and passband ripple. More... | |
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. 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 determines maximum attenuation and passband ripple. More... | |
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. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. Window type determines maximum attenuation and passband ripple. More... | |
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. 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 determines maximum attenuation and passband ripple. More... | |
static std::vector< float > | hilbert (unsigned int ntaps=19, win_type windowtype=WIN_RECTANGULAR, double beta=6.76) |
design a Hilbert Transform Filter More... | |
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?) More... | |
static std::vector< float > | gaussian (double gain, double spb, double bt, int ntaps) |
design a Gaussian filter More... | |
Finite Impulse Response (FIR) filter design functions.
|
static |
Use "window method" to design a band-pass FIR filter. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. The window determines maximum attenuation and passband ripple.
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). |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
Use "window method" to design a band-pass FIR filter. 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 determines maximum attenuation and passband ripple.
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 |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
Use "window method" to design a band-reject FIR filter. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. Window type determines maximum attenuation and passband ripple.
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) |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
Use "window method" to design a band-reject FIR filter. 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 determines maximum attenuation and passband ripple.
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 |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
Use the "window method" to design a complex band-pass FIR filter. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. The window type determines maximum attenuation and passband ripple.
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) |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
Use "window method" to design a complex band-pass FIR filter. 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 determines maximum attenuation and passband ripple.
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 |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
design a Gaussian filter
gain | overall gain of filter (typically 1.0) |
spb | symbol rate, must be a factor of sample rate |
bt | bandwidth to bitrate ratio |
ntaps | number of taps |
|
static |
Use "window method" to design a high-pass FIR filter. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. The window determines maximum attenuation and passband ripple.
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) |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
Use "window method" to design a high-pass FIR filter. 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. The window determines maximum attenuation and passband ripple.
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 |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
design a Hilbert Transform Filter
ntaps | number of taps, must be odd |
windowtype | one kind of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
Use "window method" to design a low-pass FIR filter. The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps. Window type determines maximum attenuation and passband ripple.
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) |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
static |
Use "window method" to design a low-pass FIR filter. 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. The window type determines maximum attentuation and passband ripple.
gain | overall gain of filter (typically 1.0) |
sampling_freq | sampling freq (Hz) |
cutoff_freq | beginning of transition band (Hz) |
transition_width | width of transition band (Hz) |
attenuation_dB | required stopband attenuation |
window | one of firdes::win_type |
beta | parameter for Kaiser window |
|
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 |