GNU Radio 3.4.0 C++ API
|
Mueller and Müller (M&M) based clock recovery block with float input, float output.This implements the Mueller and Müller (M&M) discrete-time error-tracking synchronizer. More...
#include <gr_clock_recovery_mm_ff.h>
Public Member Functions | |
~gr_clock_recovery_mm_ff () | |
void | forecast (int noutput_items, gr_vector_int &ninput_items_required) |
Estimate input requirements given output request. | |
int | general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) |
compute output items from input items | |
float | mu () const |
float | omega () const |
float | gain_mu () const |
float | gain_omega () const |
void | set_gain_mu (float gain_mu) |
void | set_gain_omega (float gain_omega) |
void | set_mu (float mu) |
void | set_omega (float omega) |
Protected Member Functions | |
gr_clock_recovery_mm_ff (float omega, float gain_omega, float mu, float gain_mu, float omega_relative_limit) | |
Friends | |
gr_clock_recovery_mm_ff_sptr | gr_make_clock_recovery_mm_ff (float omega, float gain_omega, float mu, float gain_mu, float omega_relative_limit) |
Mueller and Müller (M&M) based clock recovery block with float input, float output.
This implements the Mueller and Müller (M&M) discrete-time error-tracking synchronizer.
See "Digital Communication Receivers: Synchronization, Channel Estimation and Signal Processing" by Heinrich Meyr, Marc Moeneclaey, & Stefan Fechtel. ISBN 0-471-50275-8.
gr_clock_recovery_mm_ff::~gr_clock_recovery_mm_ff | ( | ) |
gr_clock_recovery_mm_ff::gr_clock_recovery_mm_ff | ( | float | omega, |
float | gain_omega, | ||
float | mu, | ||
float | gain_mu, | ||
float | omega_relative_limit | ||
) | [protected] |
void gr_clock_recovery_mm_ff::forecast | ( | int | noutput_items, |
gr_vector_int & | ninput_items_required | ||
) | [virtual] |
Estimate input requirements given output request.
noutput_items | number of output items to produce |
ninput_items_required | number of input items required on each input stream |
Given a request to product noutput_items
, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
Reimplemented from gr_block.
float gr_clock_recovery_mm_ff::gain_mu | ( | ) | const [inline] |
Referenced by set_gain_mu().
float gr_clock_recovery_mm_ff::gain_omega | ( | ) | const [inline] |
Referenced by set_gain_omega().
int gr_clock_recovery_mm_ff::general_work | ( | int | noutput_items, |
gr_vector_int & | ninput_items, | ||
gr_vector_const_void_star & | input_items, | ||
gr_vector_void_star & | output_items | ||
) | [virtual] |
compute output items from input items
noutput_items | number of output items to write on each output stream |
ninput_items | number of input items available on each input stream |
input_items | vector of pointers to the input items, one entry per input stream |
output_items | vector of pointers to the output items, one entry per output stream |
general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
Implements gr_block.
float gr_clock_recovery_mm_ff::mu | ( | ) | const [inline] |
Referenced by set_mu().
float gr_clock_recovery_mm_ff::omega | ( | ) | const [inline] |
Referenced by set_omega().
void gr_clock_recovery_mm_ff::set_gain_mu | ( | float | gain_mu | ) | [inline] |
References gain_mu().
void gr_clock_recovery_mm_ff::set_gain_omega | ( | float | gain_omega | ) | [inline] |
References gain_omega().
void gr_clock_recovery_mm_ff::set_mu | ( | float | mu | ) | [inline] |
References mu().
void gr_clock_recovery_mm_ff::set_omega | ( | float | omega | ) | [inline] |
References omega().
gr_clock_recovery_mm_ff_sptr gr_make_clock_recovery_mm_ff | ( | float | omega, |
float | gain_omega, | ||
float | mu, | ||
float | gain_mu, | ||
float | omega_relative_limit | ||
) | [friend] |