#include <RecInterpolator.hh>
Collaboration diagram for clRecInterpolator:
Public Types | |
enum | eFilterType { FILTER_TYPE_FFT = 0, FILTER_TYPE_FIR = 1, FILTER_TYPE_IIR = 2 } |
Public Member Functions | |
clRecInterpolator () | |
~clRecInterpolator () | |
bool | Initialize (long, long, const float *, float=0.0f, int=0) |
Initialize interpolator, interpolation factor must be powers of two. | |
bool | Initialize (long, long, const double *, double=0.0, int=0) |
bool | Initialize (long, long, const float *, float=0.0f, bool=false) |
bool | Initialize (long, long, const double *, double=0.0, bool=false) |
void | Uninitialize () |
Uninitialize interpolator. | |
void | Put (const float *, long) |
Feed data into interpolator. | |
void | Put (const double *, long) |
bool | Get (float *, long) |
Get data from interpolator. | |
bool | Get (double *, long) |
Private Member Functions | |
void | InitHalves (double) |
Private Attributes | |
bool | bInitialized |
int | iType |
Type filter; 0 = FFT, 1= FIR, 2 = IIR. | |
long | lFactor |
Interpolation factor. | |
long | lFilterSize |
Size of input buffer. | |
long | lSubRounds |
Number of recursive rounds. | |
long | lIntSize |
Size of recursion buffer. | |
bool | bpHalves [RECINT_MAX_SUB_ROUNDS] |
clDSPAlloc | IntBuf |
clFFTInterpolator | FFTIntBank [RECINT_MAX_SUB_ROUNDS] |
clFIRInterpolator | FIRIntBank [RECINT_MAX_SUB_ROUNDS] |
clIIRInterpolator | IIRIntBank [RECINT_MAX_SUB_ROUNDS] |
Data is interpolated and filtered in recursive manner in rounds of factor 2.
Definition at line 42 of file RecInterpolator.hh.
|
Definition at line 57 of file RecInterpolator.hh. |
|
Definition at line 59 of file RecInterpolator.cc. |
|
Definition at line 67 of file RecInterpolator.cc. References Uninitialize(). |
|
Definition at line 34 of file RecInterpolator.cc. Referenced by Initialize(). |
|
Initialize interpolator, interpolation factor must be powers of two. You can re-initialize interpolator without uninitializing first. The NULL pointer is used select correct overloaded function matching input datatype.
Definition at line 73 of file RecInterpolator.cc. References DSP_FILT_DEF_OVERLAPF, FFTIntBank, FIRIntBank, IIRIntBank, InitHalves(), clIIRMultiRate::Initialize(), clFIRMultiRate::Initialize(), clFFTMultiRate::Initialize(), lIntSize, RECINT_MAX_SUB_ROUNDS, clAlloc::Size(), and Uninitialize(). Referenced by Initialize(). |
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Definition at line 110 of file RecInterpolator.cc. References DSP_FILT_DEF_OVERLAP, FFTIntBank, FIRIntBank, IIRIntBank, InitHalves(), clIIRMultiRate::Initialize(), clFIRMultiRate::Initialize(), clFFTMultiRate::Initialize(), lIntSize, RECINT_MAX_SUB_ROUNDS, clAlloc::Size(), and Uninitialize(). |
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Definition at line 147 of file RecInterpolator.cc. References Initialize(). |
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Definition at line 159 of file RecInterpolator.cc. References Initialize(). |
|
Uninitialize interpolator.
Definition at line 171 of file RecInterpolator.cc. References FFTIntBank, FIRIntBank, clAlloc::Free(), IIRIntBank, clIIRInterpolator::Uninitialize(), clFIRInterpolator::Uninitialize(), and clFFTInterpolator::Uninitialize(). Referenced by Initialize(), and ~clRecInterpolator(). |
|
Feed data into interpolator.
Definition at line 195 of file RecInterpolator.cc. References FFTIntBank, FIRIntBank, clIIRInterpolator::Get(), clFIRInterpolator::Get(), clFFTInterpolator::Get(), IIRIntBank, lIntSize, clIIRInterpolator::Put(), clFIRInterpolator::Put(), and clFFTInterpolator::Put(). |
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Definition at line 234 of file RecInterpolator.cc. References FFTIntBank, FIRIntBank, clIIRInterpolator::Get(), clFIRInterpolator::Get(), clFFTInterpolator::Get(), IIRIntBank, lIntSize, clIIRInterpolator::Put(), clFIRInterpolator::Put(), and clFFTInterpolator::Put(). |
|
Get data from interpolator. Returns false if there's not enough data feeded into the interpolator.
Definition at line 273 of file RecInterpolator.cc. References FFTIntBank, FIRIntBank, clIIRInterpolator::Get(), clFIRInterpolator::Get(), clFFTInterpolator::Get(), and IIRIntBank. |
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Definition at line 288 of file RecInterpolator.cc. References FFTIntBank, FIRIntBank, clIIRInterpolator::Get(), clFIRInterpolator::Get(), clFFTInterpolator::Get(), and IIRIntBank. |
|
Definition at line 44 of file RecInterpolator.hh. |
|
Type filter; 0 = FFT, 1= FIR, 2 = IIR.
Definition at line 45 of file RecInterpolator.hh. |
|
Interpolation factor.
Definition at line 46 of file RecInterpolator.hh. |
|
Size of input buffer.
Definition at line 47 of file RecInterpolator.hh. |
|
Number of recursive rounds.
Definition at line 48 of file RecInterpolator.hh. |
|
Size of recursion buffer.
Definition at line 49 of file RecInterpolator.hh. Referenced by Initialize(), and Put(). |
|
Definition at line 50 of file RecInterpolator.hh. |
|
Definition at line 51 of file RecInterpolator.hh. |
|
Definition at line 52 of file RecInterpolator.hh. Referenced by Get(), Initialize(), Put(), and Uninitialize(). |
|
Definition at line 53 of file RecInterpolator.hh. Referenced by Get(), Initialize(), Put(), and Uninitialize(). |
|
Definition at line 54 of file RecInterpolator.hh. Referenced by Get(), Initialize(), Put(), and Uninitialize(). |