Compute intermediate samples between signal samples x(k*Ts) More...
#include <gnuradio/filter/mmse_fir_interpolator_cc.h>
| Public Member Functions | |
| mmse_fir_interpolator_cc () | |
| mmse_fir_interpolator_cc (mmse_fir_interpolator_cc &&)=default | |
| unsigned | ntaps () const | 
| unsigned | nsteps () const | 
| gr_complex | interpolate (const gr_complex input[], float mu) const | 
| compute a single interpolated output value. | |
| Protected Attributes | |
| std::vector< kernel::fir_filter_ccf > | filters | 
Compute intermediate samples between signal samples x(k*Ts)
This implements a Minimum 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:
| gr::filter::mmse_fir_interpolator_cc::mmse_fir_interpolator_cc | ( | ) | 
Referenced by mmse_fir_interpolator_cc().
| 
 | default | 
References mmse_fir_interpolator_cc().
| gr_complex gr::filter::mmse_fir_interpolator_cc::interpolate | ( | const gr_complex | input[], | 
| float | mu ) const | 
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 gr::filter::mmse_fir_interpolator_cc::nsteps | ( | ) | const | 
| unsigned gr::filter::mmse_fir_interpolator_cc::ntaps | ( | ) | const | 
| 
 | protected |