SPUC
3.0
|
Template Lagrange interpolation via FIR Fitler. More...
#include <lagrange.h>
Public Member Functions | |
void | reset () |
Numeric | out () |
Get current output. More... | |
Numeric | check (long i) |
Clock in new sample & compute current output. More... | |
lagrange (void) | |
lagrange (long n, long b=0) | |
Constructor. More... | |
~lagrange (void) | |
Destructor. More... | |
void | set_size (long n) |
Set order of polynomial. More... | |
void | input (Numeric in) |
Input new sample (do nothing else) More... | |
Numeric | update (Numeric in, float_type offset) |
Numeric | fir (void) |
Calculate output for current coefficients. More... | |
Numeric | rephase (float_type offset) |
Rephase => recalculate coefficients and output for new offset (for upsampling) More... | |
void | calculate_coeff (float_type offset) |
Calculate coefficients given an offset. More... | |
void | print () |
Print out coefficients. More... | |
Public Attributes | |
long | num_taps |
std::vector< Coeff > | coeff |
Protected Types | |
typedef mixed_type< Numeric, Coeff >::dtype | sum_type |
Protected Attributes | |
std::vector< Numeric > | z |
Numeric | output |
quantiser< Numeric > | Q |
long | round_bits |
Template Lagrange interpolation via FIR Fitler.
This works best for float_type or complex<float_type> Coefficients are always real (i.e. no imaginary parts).
|
protected |
|
inline |
|
inline |
Constructor.
|
inline |
Destructor.
|
inline |
Calculate coefficients given an offset.
Referenced by SPUC::lagrange< SPUC::complex< float_type > >::rephase(), and SPUC::lagrange< SPUC::complex< float_type > >::update().
|
inline |
Clock in new sample & compute current output.
|
inline |
Calculate output for current coefficients.
Referenced by SPUC::lagrange< SPUC::complex< float_type > >::rephase(), and SPUC::lagrange< SPUC::complex< float_type > >::update().
|
inline |
Input new sample (do nothing else)
Referenced by SPUC::quad_data< float_type >::get_sample(), and SPUC::sim_qam< Numeric >::tx_step().
|
inline |
Get current output.
|
inline |
Print out coefficients.
|
inline |
Rephase => recalculate coefficients and output for new offset (for upsampling)
Referenced by SPUC::quad_data< float_type >::get_sample(), SPUC::sim_qam< Numeric >::tx_step(), and SPUC::resampler< SPUC::complex< CNumeric > >::update().
|
inline |
Referenced by SPUC::sim_qam< Numeric >::loop_end().
|
inline |
Set order of polynomial.
|
inline |
Update => Clock in new input sample, recalculate coefficients and determine output
Referenced by SPUC::resampler< SPUC::complex< CNumeric > >::update().
std::vector<Coeff> SPUC::lagrange< Numeric, Coeff >::coeff |
long SPUC::lagrange< Numeric, Coeff >::num_taps |
|
protected |
|
protected |
Referenced by SPUC::lagrange< SPUC::complex< float_type > >::fir().
|
protected |
|
protected |