Compute intermediate samples of the derivative of a signal between signal samples x(k*Ts) More...
#include <gnuradio/filter/mmse_interp_differentiator_cc.h>
Public Member Functions | |
mmse_interp_differentiator_cc () | |
mmse_interp_differentiator_cc (mmse_interp_differentiator_cc &&)=default | |
unsigned | ntaps () const |
unsigned | nsteps () const |
gr_complex | differentiate (const gr_complex input[], float mu) const |
compute a single interpolated differentiated output value. More... | |
Protected Attributes | |
std::vector< kernel::fir_filter_ccf > | filters |
Compute intermediate samples of the derivative of a signal between signal samples x(k*Ts)
This implements a Minimum Mean Squared Error interpolating differentiator with 8 taps. It is suitable for signals where the derivative of a signal has a bandwidth of interest in the range (-Fs/4, Fs/4), where Fs is the samples rate.
Although mu, the fractional delay, is specified as a float, in the range [0.0, 1.0], it is actually quantized. That is, mu is quantized in the differentiate method to 128th's of a sample.
gr::filter::mmse_interp_differentiator_cc::mmse_interp_differentiator_cc | ( | ) |
|
default |
gr_complex gr::filter::mmse_interp_differentiator_cc::differentiate | ( | const gr_complex | input[], |
float | mu | ||
) | const |
compute a single interpolated differentiated output value.
input
must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
mu
must be in the range [0, 1] and specifies the fractional delay.
std::runtime_error | if mu is not in the range [0, 1]. |
unsigned gr::filter::mmse_interp_differentiator_cc::nsteps | ( | ) | const |
unsigned gr::filter::mmse_interp_differentiator_cc::ntaps | ( | ) | const |
|
protected |