From 1bc6349e4714c5c4856b3abb95dc5f6b15c44281 Mon Sep 17 00:00:00 2001
From: Tom Rondeau <trondeau@vt.edu>
Date: Sun, 10 Mar 2013 16:35:53 -0400
Subject: blocks: removing gri_control_loop; using gr::blocks::control_loop
 now.

---
 gnuradio-core/src/lib/general/CMakeLists.txt      |   3 -
 gnuradio-core/src/lib/general/general.i           |   2 -
 gnuradio-core/src/lib/general/gri_control_loop.cc | 210 --------------------
 gnuradio-core/src/lib/general/gri_control_loop.h  | 231 ----------------------
 gnuradio-core/src/lib/general/gri_control_loop.i  |  57 ------
 5 files changed, 503 deletions(-)
 delete mode 100644 gnuradio-core/src/lib/general/gri_control_loop.cc
 delete mode 100644 gnuradio-core/src/lib/general/gri_control_loop.h
 delete mode 100644 gnuradio-core/src/lib/general/gri_control_loop.i

(limited to 'gnuradio-core/src')

diff --git a/gnuradio-core/src/lib/general/CMakeLists.txt b/gnuradio-core/src/lib/general/CMakeLists.txt
index a8ad8573b5..0eaf551675 100644
--- a/gnuradio-core/src/lib/general/CMakeLists.txt
+++ b/gnuradio-core/src/lib/general/CMakeLists.txt
@@ -54,7 +54,6 @@ list(APPEND gnuradio_core_sources
     ${CMAKE_CURRENT_SOURCE_DIR}/gr_random.cc
     ${CMAKE_CURRENT_SOURCE_DIR}/gr_reverse.cc
     ${CMAKE_CURRENT_SOURCE_DIR}/gri_add_const_ss_generic.cc
-    ${CMAKE_CURRENT_SOURCE_DIR}/gri_control_loop.cc
     ${CMAKE_CURRENT_SOURCE_DIR}/gri_debugger_hook.cc
     ${CMAKE_CURRENT_SOURCE_DIR}/malloc16.c
 )
@@ -82,7 +81,6 @@ install(FILES
     ${CMAKE_CURRENT_SOURCE_DIR}/gr_reverse.h
     ${CMAKE_CURRENT_SOURCE_DIR}/gr_test_types.h
     ${CMAKE_CURRENT_SOURCE_DIR}/gri_add_const_ss.h
-    ${CMAKE_CURRENT_SOURCE_DIR}/gri_control_loop.h
     ${CMAKE_CURRENT_SOURCE_DIR}/gri_debugger_hook.h
     ${CMAKE_CURRENT_SOURCE_DIR}/gri_lfsr_15_1_0.h
     ${CMAKE_CURRENT_SOURCE_DIR}/gri_lfsr_32k.h
@@ -99,7 +97,6 @@ if(ENABLE_PYTHON)
 install(FILES
     ${CMAKE_CURRENT_SOURCE_DIR}/general.i
     ${CMAKE_CURRENT_SOURCE_DIR}/gr_constants.i
-    ${CMAKE_CURRENT_SOURCE_DIR}/gri_control_loop.i
     DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig
     COMPONENT "core_swig"
 )
diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i
index dabdb1bddf..bcf4392bb4 100644
--- a/gnuradio-core/src/lib/general/general.i
+++ b/gnuradio-core/src/lib/general/general.i
@@ -22,7 +22,6 @@
 
 %{
 
-#include <gri_control_loop.h>
 #include <gr_nop.h>
 #include <gr_null_sink.h>
 #include <gr_null_source.h>
@@ -50,7 +49,6 @@
 #include <gr_vector_map.h>
 %}
 
-%include "gri_control_loop.i"
 %include "gr_nop.i"
 %include "gr_null_sink.i"
 %include "gr_null_source.i"
diff --git a/gnuradio-core/src/lib/general/gri_control_loop.cc b/gnuradio-core/src/lib/general/gri_control_loop.cc
deleted file mode 100644
index bb3c4a3263..0000000000
--- a/gnuradio-core/src/lib/general/gri_control_loop.cc
+++ /dev/null
@@ -1,210 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gri_control_loop.h>
-#include <gr_math.h>
-#include <stdexcept>
-
-#define M_TWOPI (2.0f*M_PI)
-
-gri_control_loop::gri_control_loop(float loop_bw,
-				   float max_freq, float min_freq)
-  : d_phase(0), d_freq(0), d_max_freq(max_freq), d_min_freq(min_freq)
-{
-  // Set the damping factor for a critically damped system
-  d_damping = sqrtf(2.0f)/2.0f;
-
-  // Set the bandwidth, which will then call update_gains()
-  set_loop_bandwidth(loop_bw);
-}
-
-gri_control_loop::~gri_control_loop()
-{
-}
-
-void
-gri_control_loop::update_gains()
-{
-  float denom = (1.0 + 2.0*d_damping*d_loop_bw + d_loop_bw*d_loop_bw);
-  d_alpha = (4*d_damping*d_loop_bw) / denom;
-  d_beta = (4*d_loop_bw*d_loop_bw) / denom;
-}
-
-void
-gri_control_loop::advance_loop(float error)
-{
-  d_freq = d_freq + d_beta * error;
-  d_phase = d_phase + d_freq + d_alpha * error;
-}
-
-
-void
-gri_control_loop::phase_wrap()
-{
-  while(d_phase>M_TWOPI)
-    d_phase -= M_TWOPI;
-  while(d_phase<-M_TWOPI)
-    d_phase += M_TWOPI;
-}
-
-void
-gri_control_loop::frequency_limit()
-{
-  if (d_freq > d_max_freq)
-    d_freq = d_max_freq;
-  else if (d_freq < d_min_freq)
-    d_freq = d_min_freq;
-}
-
-/*******************************************************************
-    SET FUNCTIONS
-*******************************************************************/
-
-void
-gri_control_loop::set_loop_bandwidth(float bw)
-{
-  if(bw < 0) {
-    throw std::out_of_range ("gri_control_loop: invalid bandwidth. Must be >= 0.");
-  }
-
-  d_loop_bw = bw;
-  update_gains();
-}
-
-void
-gri_control_loop::set_damping_factor(float df)
-{
-  if(df < 0 || df > 1.0) {
-    throw std::out_of_range ("gri_control_loop: invalid damping factor. Must be in [0,1].");
-  }
-
-  d_damping = df;
-  update_gains();
-}
-
-void
-gri_control_loop::set_alpha(float alpha)
-{
-  if(alpha < 0 || alpha > 1.0) {
-    throw std::out_of_range ("gri_control_loop: invalid alpha. Must be in [0,1].");
-  }
-  d_alpha = alpha;
-}
-
-void
-gri_control_loop::set_beta(float beta)
-{
-  if(beta < 0 || beta > 1.0) {
-    throw std::out_of_range ("gri_control_loop: invalid beta. Must be in [0,1].");
-  }
-  d_beta = beta;
-}
-
-void
-gri_control_loop::set_frequency(float freq)
-{
-  if(freq > d_max_freq)
-    d_freq = d_min_freq;
-  else if(freq < d_min_freq)
-    d_freq = d_max_freq;
-  else
-    d_freq = freq;
-}
-
-void
-gri_control_loop::set_phase(float phase)
-{
-  d_phase = phase;
-  while(d_phase>M_TWOPI)
-    d_phase -= M_TWOPI;
-  while(d_phase<-M_TWOPI)
-    d_phase += M_TWOPI;
-}
-
-void
-gri_control_loop::set_max_freq(float freq)
-{
-  d_max_freq = freq;
-}
-
-void
-gri_control_loop::set_min_freq(float freq)
-{
-  d_min_freq = freq;
-}
-
-/*******************************************************************
-    GET FUNCTIONS
-*******************************************************************/
-
-
-float
-gri_control_loop::get_loop_bandwidth() const
-{
-  return d_loop_bw;
-}
-
-float
-gri_control_loop::get_damping_factor() const
-{
-  return d_damping;
-}
-
-float
-gri_control_loop::get_alpha() const
-{
-  return d_alpha;
-}
-
-float
-gri_control_loop::get_beta() const
-{
-  return d_beta;
-}
-
-float
-gri_control_loop::get_frequency() const
-{
-  return d_freq;
-}
-
-float
-gri_control_loop::get_phase() const
-{
-  return d_phase;
-}
-
-float
-gri_control_loop::get_max_freq() const
-{
-  return d_max_freq;
-}
-
-float
-gri_control_loop::get_min_freq() const
-{
-  return d_min_freq;
-}
diff --git a/gnuradio-core/src/lib/general/gri_control_loop.h b/gnuradio-core/src/lib/general/gri_control_loop.h
deleted file mode 100644
index 46aa6ae243..0000000000
--- a/gnuradio-core/src/lib/general/gri_control_loop.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef GRI_CONTROL_LOOP
-#define GRI_CONTROL_LOOP
-
-#include <gr_core_api.h>
-
-class GR_CORE_API gri_control_loop
-{
- protected:
-  float d_phase, d_freq;
-  float d_max_freq, d_min_freq;
-  float d_damping, d_loop_bw;
-  float d_alpha, d_beta;
-
- public:
-  gri_control_loop() {};
-  gri_control_loop(float loop_bw, float max_freq, float min_freq);
-  virtual ~gri_control_loop();
-
-  /*! \brief update the system gains from the loop bandwidth and damping factor
-   *
-   *  This function updates the system gains based on the loop
-   *  bandwidth and damping factor of the system.
-   *  These two factors can be set separately through their own
-   *  set functions.
-   */
-  void update_gains();
-
-  /*! \brief update the system gains from the loop bandwidth and damping factor
-   *
-   *  This function updates the system gains based on the loop
-   *  bandwidth and damping factor of the system.
-   *  These two factors can be set separately through their own
-   *  set functions.
-   */
-  void advance_loop(float error);
-
-  /*! \brief Keep the phase between -2pi and 2pi
-   *
-   * This function keeps the phase between -2pi and 2pi. If the phase
-   * is greater than 2pi by d, it wraps around to be -2pi+d; similarly if
-   * it is less than -2pi by d, it wraps around to 2pi-d.
-   *
-   * This function should be called after advance_loop to keep the phase
-   * in a good operating region. It is set as a separate method in case
-   * another way is desired as this is fairly heavy-handed.
-   */
-  void phase_wrap();
-
-  /*! \brief Keep the frequency between d_min_freq and d_max_freq
-   *
-   * This function keeps the frequency between d_min_freq and d_max_freq.
-   * If the frequency is greater than d_max_freq, it is set to d_max_freq.
-   * If the frequency is less than d_min_freq, it is set to d_min_freq.
-   *
-   * This function should be called after advance_loop to keep the frequency
-   * in the specified region. It is set as a separate method in case
-   * another way is desired as this is fairly heavy-handed.
-   */
-  void frequency_limit();
-
-  /*******************************************************************
-    SET FUNCTIONS
-  *******************************************************************/
-
-  /*!
-   * \brief Set the loop bandwidth
-   *
-   * Set the loop filter's bandwidth to \p bw. This should be between
-   * 2*pi/200 and 2*pi/100  (in rads/samp). It must also be a positive
-   * number.
-   *
-   * When a new damping factor is set, the gains, alpha and beta, of the loop
-   * are recalculated by a call to update_gains().
-   *
-   * \param bw    (float) new bandwidth
-   *
-   */
-  void set_loop_bandwidth(float bw);
-
-  /*!
-   * \brief Set the loop damping factor
-   *
-   * Set the loop filter's damping factor to \p df. The damping factor
-   * should be sqrt(2)/2.0 for critically damped systems.
-   * Set it to anything else only if you know what you are doing. It must
-   * be a number between 0 and 1.
-   *
-   * When a new damping factor is set, the gains, alpha and beta, of the loop
-   * are recalculated by a call to update_gains().
-   *
-   * \param df    (float) new damping factor
-   *
-   */
-  void set_damping_factor(float df);
-
-  /*!
-   * \brief Set the loop gain alpha
-   *
-   * Set's the loop filter's alpha gain parameter.
-   *
-   * This value should really only be set by adjusting the loop bandwidth
-   * and damping factor.
-   *
-   * \param alpha    (float) new alpha gain
-   *
-   */
-  void set_alpha(float alpha);
-
-  /*!
-   * \brief Set the loop gain beta
-   *
-   * Set's the loop filter's beta gain parameter.
-   *
-   * This value should really only be set by adjusting the loop bandwidth
-   * and damping factor.
-   *
-   * \param beta    (float) new beta gain
-   *
-   */
-  void set_beta(float beta);
-
-  /*!
-   * \brief Set the control loop's frequency.
-   *
-   * Set's the control loop's frequency. While this is normally updated by the
-   * inner loop of the algorithm, it could be useful to manually initialize,
-   * set, or reset this under certain circumstances.
-   *
-   * \param freq    (float) new frequency
-   *
-   */
-  void set_frequency(float freq);
-
-  /*!
-   * \brief Set the control loop's phase.
-   *
-   * Set's the control loop's phase. While this is normally updated by the
-   * inner loop of the algorithm, it could be useful to manually initialize,
-   * set, or reset this under certain circumstances.
-   *
-   * \param phase    (float) new phase
-   *
-   */
-  void set_phase(float phase);
-
-  /*!
-   * \brief Set the control loop's maximum frequency.
-   *
-   * Set the maximum frequency the control loop can track. 
-   *
-   * \param freq    (float) new max frequency
-   */
-  void set_max_freq(float freq);
-
-  /*!
-   * \brief Set the control loop's minimum frequency.
-   *
-   * Set the minimum frequency the control loop can track. 
-   *
-   * \param freq    (float) new min frequency
-   */
-  void set_min_freq(float freq);
-
-  /*******************************************************************
-    GET FUNCTIONS
-  *******************************************************************/
-
-  /*!
-   * \brief Returns the loop bandwidth
-   */
-  float get_loop_bandwidth() const;
-
-  /*!
-   * \brief Returns the loop damping factor
-   */
-  float get_damping_factor() const;
-
-  /*!
-   * \brief Returns the loop gain alpha
-   */
-  float get_alpha() const;
-
-  /*!
-   * \brief Returns the loop gain beta
-   */
-  float get_beta() const;
-
-  /*!
-   * \brief Get the control loop's frequency estimate
-   */
-  float get_frequency() const;
-
-  /*!
-   * \brief Get the control loop's phase estimate
-   */
-  float get_phase() const;
-
-  /*!
-   * \brief Get the control loop's maximum frequency.
-   */
-  float get_max_freq() const;
-
-  /*!
-   * \brief Get the control loop's minimum frequency.
-   */
-  float get_min_freq() const;
-};
-
-#endif /* GRI_CONTROL_LOOP */
diff --git a/gnuradio-core/src/lib/general/gri_control_loop.i b/gnuradio-core/src/lib/general/gri_control_loop.i
deleted file mode 100644
index 8a23207e50..0000000000
--- a/gnuradio-core/src/lib/general/gri_control_loop.i
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-
-class gri_control_loop
-{
- public:
-  gri_control_loop(float loop_bw, float max_freq, float min_freq);
-  virtual ~gri_control_loop();
-
-  void update_gains();
-  void advance_loop(float error);
-  void phase_wrap();
-  void frequency_limit();
-
-  /*******************************************************************
-    SET FUNCTIONS
-  *******************************************************************/
-
-  void set_loop_bandwidth(float bw);
-  void set_damping_factor(float df);
-  void set_alpha(float alpha);
-  void set_beta(float beta);
-  void set_frequency(float freq);
-  void set_phase(float phase);
-
-
-  /*******************************************************************
-    GET FUNCTIONS
-  *******************************************************************/
-
-  float get_loop_bandwidth() const;
-  float get_damping_factor() const;
-  float get_alpha() const;
-  float get_beta() const;
-  float get_frequency() const;
-  float get_phase() const;
-};
-- 
cgit v1.2.3