SPUC
3.0
|
Template Class for Modeling a Finite Impulse Response filter. More...
#include <fir.h>
Public Types | |
typedef base_type< Numeric >::btype | Numeric_base |
typedef mixed_type< Numeric, Coeff >::dtype | sum_type |
Public Member Functions | |
void | settap (long i, Coeff tap) |
Set tap weights. More... | |
void | settaps (fir_coeff< Coeff > &c) |
long | number_of_taps () |
Coeff | gettap (long i) |
void | reset () |
Reset. More... | |
Coeff | coeff_sum () |
Get sum of coefficients. More... | |
void | normalize_gain () |
void | make_hpf () |
Numeric | out () |
Get current output. More... | |
Numeric | check (long i) |
Clock in new sample & compute current output. More... | |
void | set_round_bits (long x) |
~fir (void) | |
fir (void) | |
Constructor. More... | |
fir (long n, long rb=0) | |
Constructor. More... | |
fir (fir_coeff< Coeff > C) | |
Constructor. More... | |
void | set_size (long n) |
Set size of Filter. More... | |
long | get_size (void) |
fir (const char *file) | |
Constructor that gets coefficients from file (requires fir.cpp) More... | |
Numeric | clock (Numeric in) |
Update filter by inputting 1 sample and returning convolved output sample. More... | |
Numeric | update (Numeric in) |
Numeric | iir (Numeric in) |
int | read_taps (const char *file) |
void | print (void) |
void | settap (std::vector< Coeff > z) |
Public Attributes | |
std::vector< Coeff > | coeff |
std::vector< Numeric > | z |
Numeric | output |
quantiser< Numeric > | Q |
long | num_taps |
Friends | |
template<class N , class C > | |
std::vector< C > | get_taps (const fir< N, C > &x) |
template<class N , class C > | |
std::vector< N > | get_input (const fir< N, C > &y) |
Template Class for Modeling a Finite Impulse Response filter.
Template works for float_type, long, complex, etc Taps initialized to zeros.
typedef base_type<Numeric>::btype SPUC::fir< Numeric, Coeff >::Numeric_base |
typedef mixed_type<Numeric,Coeff>::dtype SPUC::fir< Numeric, Coeff >::sum_type |
Constructor.
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Constructor that gets coefficients from file (requires fir.cpp)
|
inline |
Clock in new sample & compute current output.
|
inline |
Update filter by inputting 1 sample and returning convolved output sample.
Referenced by main().
|
inline |
Get sum of coefficients.
Referenced by SPUC::fir< Numeric, Numeric >::normalize_gain().
|
inline |
|
inline |
|
inline |
Referenced by SPUC::iir_df< Numeric, Coeff >::update().
|
inline |
|
inline |
|
inline |
Referenced by SPUC::qam_tx< float_type >::loop_init(), and SPUC::quad_data< float_type >::quad_data().
|
inline |
Get current output.
|
inline |
Referenced by SPUC::iir_df< Numeric, Coeff >::print().
|
inline |
|
inline |
|
inline |
|
inline |
Set size of Filter.
Referenced by SPUC::fading_channel::fading_channel(), SPUC::lms_dfe< Numeric, Coeff >::lms_dfe(), and SPUC::mle< Numeric >::mle().
|
inline |
Set tap weights.
Referenced by SPUC::baud_eq_env< Numeric >::loop_init(), main(), and SPUC::lms_dfe< Numeric, Coeff >::reset().
|
inline |
|
inline |
|
friend |
|
friend |
std::vector<Coeff> SPUC::fir< Numeric, Coeff >::coeff |
Referenced by SPUC::fir_interp< SPUC::complex< CNumeric >, float_type >::clock(), SPUC::fir_decim< Numeric, Coeff >::decim(), SPUC::mle< Numeric >::ff_estimate(), SPUC::lms_dfe< Numeric, Coeff >::get_fb_tap(), SPUC::lms_dfe< Numeric, Coeff >::get_ff_tap(), SPUC::get_taps(), SPUC::iir_df< Numeric, Coeff >::iir_df(), SPUC::lms_dfe< Numeric, Coeff >::lms_dfe(), main(), SPUC::qpsk_variable< Numeric >::qpsk_variable(), SPUC::mle< Numeric >::set_cir(), SPUC::lms_dfe< Numeric, Coeff >::set_fb_tap(), SPUC::lms_dfe< Numeric, Coeff >::set_ff_tap(), SPUC::sim_qam< Numeric >::sim_qam(), and SPUC::mle< Numeric >::tap0().
long SPUC::fir< Numeric, Coeff >::num_taps |
Referenced by SPUC::fir< Numeric, Numeric >::coeff_sum(), SPUC::fir_decim< Numeric, Coeff >::decim(), SPUC::lms_dfe< Numeric, Coeff >::fb_size(), SPUC::lms_dfe< Numeric, Coeff >::ff_size(), SPUC::get_input(), SPUC::get_taps(), SPUC::fir< Numeric, Numeric >::iir(), SPUC::fir_decim< Numeric, Coeff >::input(), SPUC::fir< Numeric, Numeric >::make_hpf(), SPUC::fir< Numeric, Numeric >::normalize_gain(), SPUC::fir< Numeric, Numeric >::print(), SPUC::qpsk< Numeric >::qpsk(), SPUC::fir< Numeric, Numeric >::read_taps(), SPUC::fir< Numeric, Numeric >::reset(), SPUC::lms_dfe< Numeric, Coeff >::reset(), SPUC::mle< Numeric >::set_cir(), SPUC::fir_interp< SPUC::complex< CNumeric >, float_type >::set_rate(), SPUC::fir< Numeric, Numeric >::settap(), SPUC::fir< Numeric, Numeric >::settaps(), SPUC::sim_qam< Numeric >::sim_qam(), SPUC::lms_dfe< Numeric, Coeff >::update(), SPUC::fir< Numeric, Numeric >::update(), and SPUC::lms_dfe< Numeric, Coeff >::update_taps_lms().
Numeric SPUC::fir< Numeric, Coeff >::output |
std::vector<Numeric> SPUC::fir< Numeric, Coeff >::z |