SPUC
3.0
|
Template Class for Farrow implementation of a ploynomial interpolation using a FIR filter. More...
#include <farrow.h>
Public Member Functions | |
Numeric | out () |
Get current output. More... | |
Numeric | check (long i) |
Clock in new sample & compute current output. More... | |
farrow (char order) | |
Need to cover different orders! More... | |
void | reset (void) |
reset More... | |
~farrow (void) | |
void | input (Numeric in) |
Only input new sample. More... | |
Numeric | update (Numeric in, float_type offset) |
Numeric | fir (float_type offset) |
Calculate output for current coefficients. Offset is between 0 and 1. More... | |
Numeric | rephase (float_type offset) |
Rephase => recalculate coefficients and output for new offset (for upsampling) More... | |
void | calculate_coeff2 (void) |
Calculate coefficients for linear (not tested) More... | |
void | calculate_coeff3 (void) |
Calculate coefficients for square. More... | |
void | calculate_coeff3a (void) |
Calculate coefficients for parabolic. More... | |
void | calculate_coeff4 (void) |
Calculate coefficients for 4th order. More... | |
Public Attributes | |
long | num_taps |
std::vector< Numeric > | coeff |
Protected Attributes | |
std::vector< Numeric > | z |
Numeric | output |
Template Class for Farrow implementation of a ploynomial interpolation using a FIR filter.
Farrow implementation of a polynomial interpolation This covers 3 (orders) cases of interpolation
|
inline |
Need to cover different orders!
|
inline |
|
inline |
Calculate coefficients for linear (not tested)
Referenced by SPUC::farrow< float_type >::rephase(), and SPUC::farrow< float_type >::update().
|
inline |
Calculate coefficients for square.
|
inline |
Calculate coefficients for parabolic.
Referenced by SPUC::farrow< float_type >::rephase(), and SPUC::farrow< float_type >::update().
|
inline |
Calculate coefficients for 4th order.
Referenced by SPUC::farrow< float_type >::rephase(), and SPUC::farrow< float_type >::update().
|
inline |
Clock in new sample & compute current output.
|
inline |
Calculate output for current coefficients. Offset is between 0 and 1.
Referenced by SPUC::farrow< float_type >::rephase(), and SPUC::farrow< float_type >::update().
|
inline |
Only input new sample.
Referenced by SPUC::farrow_upsampler::need_sample().
|
inline |
Get current output.
|
inline |
Rephase => recalculate coefficients and output for new offset (for upsampling)
Referenced by SPUC::farrow_upsampler::output().
|
inline |
reset
|
inline |
: Update => Clock in new input sample, recalculate coefficients and determine output
std::vector<Numeric> SPUC::farrow< Numeric >::coeff |
long SPUC::farrow< Numeric >::num_taps |
|
protected |
|
protected |