GNU Radio 3.6.5 C++ API
|
Compute intermediate samples between signal samples x(k*Ts)This implements a Mininum Mean Squared Error interpolator with 8 taps. It is suitable for signals where the bandwidth of interest B = 1/(4*Ts) Where Ts is the time between samples. More...
#include <gri_mmse_fir_interpolator_cc.h>
Public Member Functions | |
gri_mmse_fir_interpolator_cc () | |
~gri_mmse_fir_interpolator_cc () | |
unsigned | ntaps () const |
unsigned | nsteps () const |
gr_complex | interpolate (const gr_complex input[], float mu) |
compute a single interpolated output value. | |
Protected Attributes | |
std::vector< gr_fir_ccf * > | filters |
Compute intermediate samples between signal samples x(k*Ts)
This implements a Mininum Mean Squared Error interpolator with 8 taps. It is suitable for signals where the bandwidth of interest B = 1/(4*Ts) Where Ts is the time between samples.
Although mu, the fractional delay, is specified as a float, it is actually quantized. 0.0 <= mu <= 1.0. That is, mu is quantized in the interpolate method to 32nd's of a sample.
For more information, in the GNU Radio source code, see:
gri_mmse_fir_interpolator_cc::gri_mmse_fir_interpolator_cc | ( | ) |
gri_mmse_fir_interpolator_cc::~gri_mmse_fir_interpolator_cc | ( | ) |
gr_complex gri_mmse_fir_interpolator_cc::interpolate | ( | const gr_complex | input[], |
float | mu | ||
) |
compute a single interpolated output value.
input
must have ntaps() valid entries and be 8-byte aligned. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
std::invalid_argument | if input is not 8-byte aligned. |
mu
must be in the range [0, 1] and specifies the fractional delay.
unsigned gri_mmse_fir_interpolator_cc::nsteps | ( | ) | const |
unsigned gri_mmse_fir_interpolator_cc::ntaps | ( | ) | const |
std::vector<gr_fir_ccf *> gri_mmse_fir_interpolator_cc::filters [protected] |