OpenWareLaboratory
|
Signal Generator that generates an arbitrary number of in-between points, interpolated between two (linear, cosine) or more (cubic, hermite) reference points. More...
Static Public Member Functions | |
static InterpolatingSignalGenerator< im > * | create () |
static InterpolatingSignalGenerator< im > * | create (size_t period) |
static void | destroy (InterpolatingSignalGenerator< im > *obj) |
Static Protected Member Functions | |
static InterpolatingSignalGenerator< im > * | allocate (size_t len) |
Protected Attributes | |
float | inc = 0 |
float | mu = 0 |
CircularFloatBuffer * | points |
Signal Generator that generates an arbitrary number of in-between points, interpolated between two (linear, cosine) or more (cubic, hermite) reference points.
Can be used e.g. to convert a block rate signal to audio rate.
Definition at line 15 of file InterpolatingSignalGenerator.h.
|
inline |
Definition at line 25 of file InterpolatingSignalGenerator.h.
|
inlinestaticprotected |
Definition at line 20 of file InterpolatingSignalGenerator.h.
References CircularBuffer< float >::create(), and InterpolatingSignalGenerator< im >::points.
|
static |
Referenced by InterpolatingSignalGenerator< im >::create().
InterpolatingSignalGenerator< NO_INTERPOLATION > * InterpolatingSignalGenerator< NO_INTERPOLATION >::create | ( | ) |
Definition at line 76 of file InterpolatingSignalGenerator.h.
InterpolatingSignalGenerator< LINEAR_INTERPOLATION > * InterpolatingSignalGenerator< LINEAR_INTERPOLATION >::create | ( | ) |
Definition at line 105 of file InterpolatingSignalGenerator.h.
InterpolatingSignalGenerator< COSINE_INTERPOLATION > * InterpolatingSignalGenerator< COSINE_INTERPOLATION >::create | ( | ) |
Definition at line 134 of file InterpolatingSignalGenerator.h.
InterpolatingSignalGenerator< CUBIC_3P_INTERPOLATION > * InterpolatingSignalGenerator< CUBIC_3P_INTERPOLATION >::create | ( | ) |
Definition at line 163 of file InterpolatingSignalGenerator.h.
InterpolatingSignalGenerator< CUBIC_4P_INTERPOLATION > * InterpolatingSignalGenerator< CUBIC_4P_INTERPOLATION >::create | ( | ) |
Definition at line 192 of file InterpolatingSignalGenerator.h.
InterpolatingSignalGenerator< CUBIC_4P_SMOOTH_INTERPOLATION > * InterpolatingSignalGenerator< CUBIC_4P_SMOOTH_INTERPOLATION >::create | ( | ) |
Definition at line 221 of file InterpolatingSignalGenerator.h.
InterpolatingSignalGenerator< HERMITE_INTERPOLATION > * InterpolatingSignalGenerator< HERMITE_INTERPOLATION >::create | ( | ) |
Definition at line 250 of file InterpolatingSignalGenerator.h.
|
inlinestatic |
Definition at line 53 of file InterpolatingSignalGenerator.h.
References InterpolatingSignalGenerator< im >::create(), and InterpolatingSignalGenerator< im >::setPeriod().
|
inlinestatic |
Definition at line 58 of file InterpolatingSignalGenerator.h.
References CircularBuffer< float >::destroy(), and InterpolatingSignalGenerator< im >::points.
float InterpolatingSignalGenerator< im >::generate | ( | ) |
float InterpolatingSignalGenerator< NO_INTERPOLATION >::generate | ( | ) |
Definition at line 70 of file InterpolatingSignalGenerator.h.
float InterpolatingSignalGenerator< LINEAR_INTERPOLATION >::generate | ( | ) |
Definition at line 81 of file InterpolatingSignalGenerator.h.
References Interpolator::linear().
float InterpolatingSignalGenerator< COSINE_INTERPOLATION >::generate | ( | ) |
Definition at line 110 of file InterpolatingSignalGenerator.h.
References Interpolator::cosine().
float InterpolatingSignalGenerator< CUBIC_3P_INTERPOLATION >::generate | ( | ) |
Definition at line 139 of file InterpolatingSignalGenerator.h.
References Interpolator::cubic().
float InterpolatingSignalGenerator< CUBIC_4P_INTERPOLATION >::generate | ( | ) |
Definition at line 168 of file InterpolatingSignalGenerator.h.
References Interpolator::cubic().
float InterpolatingSignalGenerator< CUBIC_4P_SMOOTH_INTERPOLATION >::generate | ( | ) |
Definition at line 197 of file InterpolatingSignalGenerator.h.
References Interpolator::cubicSmooth().
float InterpolatingSignalGenerator< HERMITE_INTERPOLATION >::generate | ( | ) |
Definition at line 226 of file InterpolatingSignalGenerator.h.
References Interpolator::hermite().
void InterpolatingSignalGenerator< im >::generate | ( | FloatArray | output | ) |
void InterpolatingSignalGenerator< NO_INTERPOLATION >::generate | ( | FloatArray | output | ) |
Definition at line 65 of file InterpolatingSignalGenerator.h.
References FloatArray::setAll().
void InterpolatingSignalGenerator< LINEAR_INTERPOLATION >::generate | ( | FloatArray | output | ) |
Definition at line 91 of file InterpolatingSignalGenerator.h.
References SimpleArray< T >::getData(), SimpleArray< T >::getSize(), and Interpolator::linear().
void InterpolatingSignalGenerator< COSINE_INTERPOLATION >::generate | ( | FloatArray | output | ) |
Definition at line 120 of file InterpolatingSignalGenerator.h.
References Interpolator::cosine(), SimpleArray< T >::getData(), and SimpleArray< T >::getSize().
void InterpolatingSignalGenerator< CUBIC_3P_INTERPOLATION >::generate | ( | FloatArray | output | ) |
Definition at line 149 of file InterpolatingSignalGenerator.h.
References Interpolator::cubic(), SimpleArray< T >::getData(), and SimpleArray< T >::getSize().
void InterpolatingSignalGenerator< CUBIC_4P_INTERPOLATION >::generate | ( | FloatArray | output | ) |
Definition at line 178 of file InterpolatingSignalGenerator.h.
References Interpolator::cubic(), SimpleArray< T >::getData(), and SimpleArray< T >::getSize().
void InterpolatingSignalGenerator< CUBIC_4P_SMOOTH_INTERPOLATION >::generate | ( | FloatArray | output | ) |
Definition at line 207 of file InterpolatingSignalGenerator.h.
References Interpolator::cubicSmooth(), SimpleArray< T >::getData(), and SimpleArray< T >::getSize().
void InterpolatingSignalGenerator< HERMITE_INTERPOLATION >::generate | ( | FloatArray | output | ) |
Definition at line 236 of file InterpolatingSignalGenerator.h.
References SimpleArray< T >::getData(), SimpleArray< T >::getSize(), and Interpolator::hermite().
|
inline |
Get period in samples.
Definition at line 31 of file InterpolatingSignalGenerator.h.
References InterpolatingSignalGenerator< im >::inc.
|
inline |
Reset interpolator to a fixed value.
Sets all reference points to x
.
Definition at line 46 of file InterpolatingSignalGenerator.h.
References InterpolatingSignalGenerator< im >::mu, InterpolatingSignalGenerator< im >::points, and CircularBuffer< DataType, IndexType >::setAll().
|
inline |
Set period in samples.
Definition at line 27 of file InterpolatingSignalGenerator.h.
References InterpolatingSignalGenerator< im >::inc.
Referenced by InterpolatingSignalGenerator< im >::create().
|
inline |
Update the interpolator with a new reference point.
update() must be called once every period.
Definition at line 38 of file InterpolatingSignalGenerator.h.
References InterpolatingSignalGenerator< im >::mu, InterpolatingSignalGenerator< im >::points, and CircularBuffer< DataType, IndexType >::write().
|
protected |
Definition at line 19 of file InterpolatingSignalGenerator.h.
Referenced by InterpolatingSignalGenerator< im >::getPeriod(), and InterpolatingSignalGenerator< im >::setPeriod().
|
protected |
Definition at line 18 of file InterpolatingSignalGenerator.h.
Referenced by InterpolatingSignalGenerator< im >::set(), and InterpolatingSignalGenerator< im >::update().
|
protected |
Definition at line 17 of file InterpolatingSignalGenerator.h.
Referenced by InterpolatingSignalGenerator< im >::allocate(), InterpolatingSignalGenerator< im >::destroy(), InterpolatingSignalGenerator< im >::set(), and InterpolatingSignalGenerator< im >::update().