GNU Radio 3.3.0 C++ API
gri_mmse_fir_interpolator_cc Class Reference

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>

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

gri_mmse_fir_interpolator_cc::gri_mmse_fir_interpolator_cc ( )
gri_mmse_fir_interpolator_cc::~gri_mmse_fir_interpolator_cc ( )

Member Function Documentation

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.

Exceptions:
std::invalid_argumentif input is not 8-byte aligned.

mu must be in the range [0, 1] and specifies the fractional delay.

Returns:
the interpolated input value.
unsigned gri_mmse_fir_interpolator_cc::nsteps ( ) const
unsigned gri_mmse_fir_interpolator_cc::ntaps ( ) const

Member Data Documentation


The documentation for this class was generated from the following file: