Merge remote branch 'bitshark/burx_support' into wip/burx_support
[debian/gnuradio] / gnuradio-core / src / lib / general / gr_clock_recovery_mm_cc.h
index c9a50358caf29fd18c0f16e51fd10f5687d86f32..04227a14542c8790f56c535f412607e71d4d364b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * GNU Radio is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
+ * the Free Software Foundation; either version 3, or (at your option)
  * any later version.
  *
  * GNU Radio is distributed in the hope that it will be useful,
@@ -25,6 +25,7 @@
 
 #include <gr_block.h>
 #include <gr_complex.h>
+#include <gr_math.h>
 
 class gri_mmse_fir_interpolator_cc;
 
@@ -38,7 +39,7 @@ gr_make_clock_recovery_mm_cc (float omega, float gain_omega, float mu, float gai
 
 /*!
  * \brief Mueller and Müller (M&M) based clock recovery block with complex input, complex output.
- * \ingroup block
+ * \ingroup sync_blk
  *
  * This implements the Mueller and Müller (M&M) discrete-time error-tracking synchronizer.
  * The complex version here is based on:
@@ -69,6 +70,7 @@ class gr_clock_recovery_mm_cc : public gr_block
     d_omega = omega;
     d_min_omega = omega*(1.0 - d_omega_relative_limit);
     d_max_omega = omega*(1.0 + d_omega_relative_limit);
+    d_omega_mid = 0.5*(d_min_omega+d_max_omega);
   }
 
 protected:
@@ -82,6 +84,7 @@ protected:
   float                                d_min_omega;            // minimum allowed omega
   float                                d_max_omega;            // maximum allowed omeg
   float                                d_omega_relative_limit; // used to compute min and max omega
+  float                         d_omega_mid;
   float                         d_gain_mu;
   gr_complex                    d_last_sample;
   gri_mmse_fir_interpolator_cc         *d_interp;