summaryrefslogtreecommitdiff
path: root/gr-analog/include
diff options
context:
space:
mode:
Diffstat (limited to 'gr-analog/include')
-rw-r--r--gr-analog/include/analog/CMakeLists.txt4
-rw-r--r--gr-analog/include/analog/agc.h16
-rw-r--r--gr-analog/include/analog/agc2.h18
-rw-r--r--gr-analog/include/analog/agc2_cc.h12
-rw-r--r--gr-analog/include/analog/agc2_ff.h12
-rw-r--r--gr-analog/include/analog/agc_cc.h8
-rw-r--r--gr-analog/include/analog/agc_ff.h8
-rw-r--r--gr-analog/include/analog/api.h2
-rw-r--r--gr-analog/include/analog/cpm.h37
-rw-r--r--gr-analog/include/analog/ctcss_squelch_ff.h10
-rw-r--r--gr-analog/include/analog/feedforward_agc_cc.h11
-rw-r--r--gr-analog/include/analog/frequency_modulator_fc.h5
-rw-r--r--gr-analog/include/analog/pll_carriertracking_cc.h5
-rw-r--r--gr-analog/include/analog/pll_freqdet_cf.h5
-rw-r--r--gr-analog/include/analog/pll_refout_cc.h5
-rw-r--r--gr-analog/include/analog/pwr_squelch_cc.h5
-rw-r--r--gr-analog/include/analog/pwr_squelch_ff.h5
-rw-r--r--gr-analog/include/analog/quadrature_demod_cf.h6
-rw-r--r--gr-analog/include/analog/rail_ff.h6
-rw-r--r--gr-analog/include/analog/sincos.h38
20 files changed, 151 insertions, 67 deletions
diff --git a/gr-analog/include/analog/CMakeLists.txt b/gr-analog/include/analog/CMakeLists.txt
index 3c18c949ab..0343abcd85 100644
--- a/gr-analog/include/analog/CMakeLists.txt
+++ b/gr-analog/include/analog/CMakeLists.txt
@@ -26,7 +26,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py "
#!${PYTHON_EXECUTABLE}
import sys, os, re
-sys.path.append('${GR_CORE_PYTHONPATH}')
+sys.path.append('${GR_RUNTIME_PYTHONPATH}')
os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
@@ -106,7 +106,7 @@ install(FILES
quadrature_demod_cf.h
rail_ff.h
sig_source_waveform.h
- simple_squelch_cc.h
+ simple_squelch_cc.h
DESTINATION ${GR_INCLUDE_DIR}/gnuradio/analog
COMPONENT "analog_devel"
)
diff --git a/gr-analog/include/analog/agc.h b/gr-analog/include/analog/agc.h
index 92d777fa19..c304ba8f3e 100644
--- a/gr-analog/include/analog/agc.h
+++ b/gr-analog/include/analog/agc.h
@@ -39,6 +39,14 @@ namespace gr {
class ANALOG_API agc_cc
{
public:
+ /*!
+ * Construct a complex value AGC loop implementation object.
+ *
+ * \param rate the update rate of the loop.
+ * \param reference reference value to adjust signal power to.
+ * \param gain initial gain value.
+ * \param max_gain maximum gain value (0 for unlimited).
+ */
agc_cc(float rate = 1e-4, float reference = 1.0,
float gain = 1.0, float max_gain = 0.0)
: _rate(rate), _reference(reference),
@@ -90,6 +98,14 @@ namespace gr {
class ANALOG_API agc_ff
{
public:
+ /*!
+ * Construct a floating point value AGC loop implementation object.
+ *
+ * \param rate the update rate of the loop.
+ * \param reference reference value to adjust signal power to.
+ * \param gain initial gain value.
+ * \param max_gain maximum gain value (0 for unlimited).
+ */
agc_ff(float rate = 1e-4, float reference = 1.0,
float gain = 1.0, float max_gain = 0.0)
: _rate(rate), _reference(reference), _gain(gain),
diff --git a/gr-analog/include/analog/agc2.h b/gr-analog/include/analog/agc2.h
index 75a203e9fc..8d1958d293 100644
--- a/gr-analog/include/analog/agc2.h
+++ b/gr-analog/include/analog/agc2.h
@@ -39,6 +39,15 @@ namespace gr {
class ANALOG_API agc2_cc
{
public:
+ /*!
+ * Construct a comple value AGC loop implementation object.
+ *
+ * \param attack_rate the update rate of the loop when in attack mode.
+ * \param decay_rate the update rate of the loop when in decay mode.
+ * \param reference reference value to adjust signal power to.
+ * \param gain initial gain value.
+ * \param max_gain maximum gain value (0 for unlimited).
+ */
agc2_cc(float attack_rate = 1e-1, float decay_rate = 1e-2,
float reference = 1.0,
float gain = 1.0, float max_gain = 0.0)
@@ -99,6 +108,15 @@ namespace gr {
class ANALOG_API agc2_ff
{
public:
+ /*!
+ * Construct a floating point value AGC loop implementation object.
+ *
+ * \param attack_rate the update rate of the loop when in attack mode.
+ * \param decay_rate the update rate of the loop when in decay mode.
+ * \param reference reference value to adjust signal power to.
+ * \param gain initial gain value.
+ * \param max_gain maximum gain value (0 for unlimited).
+ */
agc2_ff(float attack_rate = 1e-1, float decay_rate = 1e-2,
float reference = 1.0,
float gain = 1.0, float max_gain = 0.0)
diff --git a/gr-analog/include/analog/agc2_cc.h b/gr-analog/include/analog/agc2_cc.h
index c922ccd4da..7f3a7c24bd 100644
--- a/gr-analog/include/analog/agc2_cc.h
+++ b/gr-analog/include/analog/agc2_cc.h
@@ -31,7 +31,8 @@ namespace gr {
namespace analog {
/*!
- * \brief high performance Automatic Gain Control class
+ * \brief high performance Automatic Gain Control class with
+ * attack and decay rates.
* \ingroup level_blk
*
* For Power the absolute value of the complex number is used.
@@ -42,6 +43,15 @@ namespace gr {
// gr::analog::agc2_cc::sptr
typedef boost::shared_ptr<agc2_cc> sptr;
+ /*!
+ * Build a complex value AGC loop block with attack and decay rates.
+ *
+ * \param attack_rate the update rate of the loop when in attack mode.
+ * \param decay_rate the update rate of the loop when in decay mode.
+ * \param reference reference value to adjust signal power to.
+ * \param gain initial gain value.
+ * \param max_gain maximum gain value (0 for unlimited).
+ */
static sptr make(float attack_rate = 1e-1, float decay_rate = 1e-2,
float reference = 1.0,
float gain = 1.0, float max_gain = 0.0);
diff --git a/gr-analog/include/analog/agc2_ff.h b/gr-analog/include/analog/agc2_ff.h
index 27dd6d92e5..4bb7b0f646 100644
--- a/gr-analog/include/analog/agc2_ff.h
+++ b/gr-analog/include/analog/agc2_ff.h
@@ -31,7 +31,8 @@ namespace gr {
namespace analog {
/*!
- * \brief high performance Automatic Gain Control class
+ * \brief high performance Automatic Gain Control class with
+ * attack and decay rates.
*
* \ingroup level_blk
* Power is approximated by absolute value
@@ -42,6 +43,15 @@ namespace gr {
// gr::analog::agc2_ff::sptr
typedef boost::shared_ptr<agc2_ff> sptr;
+ /*!
+ * Build a floating point AGC loop block with attack and decay rates.
+ *
+ * \param attack_rate the update rate of the loop when in attack mode.
+ * \param decay_rate the update rate of the loop when in decay mode.
+ * \param reference reference value to adjust signal power to.
+ * \param gain initial gain value.
+ * \param max_gain maximum gain value (0 for unlimited).
+ */
static sptr make(float attack_rate = 1e-1, float decay_rate = 1e-2,
float reference = 1.0,
float gain = 1.0, float max_gain = 0.0);
diff --git a/gr-analog/include/analog/agc_cc.h b/gr-analog/include/analog/agc_cc.h
index b2b1a9b430..0e59f8593b 100644
--- a/gr-analog/include/analog/agc_cc.h
+++ b/gr-analog/include/analog/agc_cc.h
@@ -42,6 +42,14 @@ namespace gr {
// gr::analog::agc_cc::sptr
typedef boost::shared_ptr<agc_cc> sptr;
+ /*!
+ * Build a complex value AGC loop block.
+ *
+ * \param rate the update rate of the loop.
+ * \param reference reference value to adjust signal power to.
+ * \param gain initial gain value.
+ * \param max_gain maximum gain value (0 for unlimited).
+ */
static sptr make(float rate = 1e-4, float reference = 1.0,
float gain = 1.0, float max_gain = 0.0);
diff --git a/gr-analog/include/analog/agc_ff.h b/gr-analog/include/analog/agc_ff.h
index 30d1ae1fd9..6046d6f645 100644
--- a/gr-analog/include/analog/agc_ff.h
+++ b/gr-analog/include/analog/agc_ff.h
@@ -42,6 +42,14 @@ namespace gr {
// gr::analog::agc_ff::sptr
typedef boost::shared_ptr<agc_ff> sptr;
+ /*!
+ * Build a floating point AGC loop block.
+ *
+ * \param rate the update rate of the loop.
+ * \param reference reference value to adjust signal power to.
+ * \param gain initial gain value.
+ * \param max_gain maximum gain value (0 for unlimited).
+ */
static sptr make(float rate = 1e-4, float reference = 1.0,
float gain = 1.0, float max_gain = 0.0);
diff --git a/gr-analog/include/analog/api.h b/gr-analog/include/analog/api.h
index b7dee46933..2459ace614 100644
--- a/gr-analog/include/analog/api.h
+++ b/gr-analog/include/analog/api.h
@@ -22,7 +22,7 @@
#ifndef INCLUDED_ANALOG_API_H
#define INCLUDED_ANALOG_API_H
-#include <gruel/attributes.h>
+#include <attributes.h>
#ifdef gnuradio_analog_EXPORTS
# define ANALOG_API __GR_ATTR_EXPORT
diff --git a/gr-analog/include/analog/cpm.h b/gr-analog/include/analog/cpm.h
index d22e02321c..aff0dd19eb 100644
--- a/gr-analog/include/analog/cpm.h
+++ b/gr-analog/include/analog/cpm.h
@@ -28,6 +28,9 @@
namespace gr {
namespace analog {
+ /*! \brief Return the taps for an interpolating FIR filter
+ * (gr::filter::interp_fir_filter_fff).
+ */
class ANALOG_API cpm
{
public:
@@ -40,25 +43,30 @@ namespace gr {
GENERIC = 999
};
- /*! \brief Return the taps for an interpolating FIR filter (gr_interp_fir_filter_fff).
+ /*! \brief Return the taps for an interpolating FIR filter
+ * (gr::filter::interp_fir_filter_fff).
*
- * These taps represent the phase response \f$g(k)\f$ for use in a CPM modulator,
- * see also gr_cpmmod_bc.
+ * These taps represent the phase response \f$g(k)\f$ for use in
+ * a CPM modulator, see also gr_cpmmod_bc.
*
- * \param type The CPM type (Rectangular, Raised Cosine, Spectral Raised Cosine,
- * Tamed FM or Gaussian).
+ * \param type The CPM type (Rectangular, Raised Cosine,
+ * Spectral Raised Cosine, Tamed FM or Gaussian).
* \param samples_per_sym Samples per symbol.
* \param L The length of the phase response in symbols.
- * \param beta For Spectral Raised Cosine, this is the rolloff factor. For Gaussian
- * phase responses, this the 3dB-time-bandwidth product. For all other
- * cases, it is ignored.
+ * \param beta For Spectral Raised Cosine, this is the rolloff
+ * factor. For Gaussian phase responses, this the
+ * 3dB-time-bandwidth product. For all other cases,
+ * it is ignored.
*
- * Output: returns a vector of length \a K = \p samples_per_sym x \p L.
- * This can be used directly in an interpolating FIR filter such as
- * gr_interp_fir_filter_fff with interpolation factor \p samples_per_sym.
+ * Output: returns a vector of length \a K = \p samples_per_sym
+ * x \p L. This can be used directly in an
+ * interpolating FIR filter such as
+ * gr_interp_fir_filter_fff with interpolation factor \p
+ * samples_per_sym.
*
- * All phase responses are normalised s.t. \f$ \sum_{k=0}^{K-1} g(k) = 1\f$; this will cause
- * a maximum phase change of \f$ h \cdot \pi\f$ between two symbols, where \a h is the
+ * All phase responses are normalised s.t. \f$ \sum_{k=0}^{K-1}
+ * g(k) = 1\f$; this will cause a maximum phase change of \f$ h
+ * \cdot \pi\f$ between two symbols, where \a h is the
* modulation index.
*
* The following phase responses can be generated:
@@ -77,7 +85,8 @@ namespace gr {
* [1]: Anderson, Aulin and Sundberg; Digital Phase Modulation
*/
static std::vector<float>
- phase_response(cpm_type type, unsigned samples_per_sym, unsigned L, double beta=0.3);
+ phase_response(cpm_type type, unsigned samples_per_sym,
+ unsigned L, double beta=0.3);
};
} // namespace analog
} // namespace gr
diff --git a/gr-analog/include/analog/ctcss_squelch_ff.h b/gr-analog/include/analog/ctcss_squelch_ff.h
index f880299173..b63876714d 100644
--- a/gr-analog/include/analog/ctcss_squelch_ff.h
+++ b/gr-analog/include/analog/ctcss_squelch_ff.h
@@ -31,7 +31,7 @@ namespace gr {
namespace analog {
/*!
- * \brief gate or zero output if ctcss tone not present
+ * \brief gate or zero output if CTCSS tone not present
* \ingroup level_blk
*/
class ANALOG_API ctcss_squelch_ff :
@@ -47,6 +47,14 @@ namespace gr {
/*!
* \brief Make CTCSS tone squelch block.
+ *
+ * \param rate gain of the internal frequency filters.
+ * \param freq frequency value to use as the squelch tone.
+ * \param level threshold level for the squelch tone.
+ * \param len length of the frequency filters.
+ * \param ramp sets response characteristic.
+ * \param gate if true, no output if no squelch tone.
+ * if false, output 0's if no squelch tone.
*/
static sptr make(int rate, float freq, float level,
int len, int ramp, bool gate);
diff --git a/gr-analog/include/analog/feedforward_agc_cc.h b/gr-analog/include/analog/feedforward_agc_cc.h
index 9e259a4eba..743b9b3a3b 100644
--- a/gr-analog/include/analog/feedforward_agc_cc.h
+++ b/gr-analog/include/analog/feedforward_agc_cc.h
@@ -30,7 +30,8 @@ namespace gr {
namespace analog {
/*!
- * \brief Non-causal AGC which computes required gain based on max absolute value over nsamples
+ * \brief Non-causal AGC which computes required gain based on max
+ * absolute value over nsamples
* \ingroup level_blk
*/
class ANALOG_API feedforward_agc_cc : virtual public gr_sync_block
@@ -38,7 +39,13 @@ namespace gr {
public:
// gr::analog::feedforward_agc_cc::sptr
typedef boost::shared_ptr<feedforward_agc_cc> sptr;
-
+
+ /*!
+ * Build a complex valued feed-forward AGC loop block.
+ *
+ * \param nsamples number of samples to look ahead.
+ * \param reference reference value to adjust signal power to.
+ */
static sptr make(int nsamples, float reference);
};
diff --git a/gr-analog/include/analog/frequency_modulator_fc.h b/gr-analog/include/analog/frequency_modulator_fc.h
index 8706d513a6..67be1ff00e 100644
--- a/gr-analog/include/analog/frequency_modulator_fc.h
+++ b/gr-analog/include/analog/frequency_modulator_fc.h
@@ -41,6 +41,11 @@ namespace gr {
// gr::analog::frequency_modulator_fc::sptr
typedef boost::shared_ptr<frequency_modulator_fc> sptr;
+ /*!
+ * Build a frequency modulator block.
+ *
+ * \param sensitivity radians/sample = amplitude * sensitivity
+ */
static sptr make(double sensitivity);
virtual void set_sensitivity(float sens) = 0;
diff --git a/gr-analog/include/analog/pll_carriertracking_cc.h b/gr-analog/include/analog/pll_carriertracking_cc.h
index 3596429d49..0812d650f0 100644
--- a/gr-analog/include/analog/pll_carriertracking_cc.h
+++ b/gr-analog/include/analog/pll_carriertracking_cc.h
@@ -24,6 +24,7 @@
#define INCLUDED_ANALOG_PLL_CARRIERTRACKING_CC_H
#include <analog/api.h>
+#include <blocks/control_loop.h>
#include <gr_sync_block.h>
namespace gr {
@@ -45,7 +46,9 @@ namespace gr {
* and should be set around pi/200 -- 2pi/100. \sa
* pll_freqdet_cf, pll_carriertracking_cc
*/
- class ANALOG_API pll_carriertracking_cc : virtual public gr_sync_block
+ class ANALOG_API pll_carriertracking_cc
+ : virtual public gr_sync_block,
+ virtual public blocks::control_loop
{
public:
// gr::analog::pll_carriertracking_cc::sptr
diff --git a/gr-analog/include/analog/pll_freqdet_cf.h b/gr-analog/include/analog/pll_freqdet_cf.h
index 613e85263f..8ffbc5968e 100644
--- a/gr-analog/include/analog/pll_freqdet_cf.h
+++ b/gr-analog/include/analog/pll_freqdet_cf.h
@@ -24,6 +24,7 @@
#define INCLUDED_ANALOG_PLL_FREQDET_CF_H
#include <analog/api.h>
+#include <blocks/control_loop.h>
#include <gr_sync_block.h>
namespace gr {
@@ -44,7 +45,9 @@ namespace gr {
* around pi/200 -- 2pi/100.
* \sa pll_refout_cc, pll_carriertracking_cc
*/
- class ANALOG_API pll_freqdet_cf : virtual public gr_sync_block
+ class ANALOG_API pll_freqdet_cf
+ : virtual public gr_sync_block,
+ virtual public blocks::control_loop
{
public:
// gr::analog::pll_freqdet_cf::sptr
diff --git a/gr-analog/include/analog/pll_refout_cc.h b/gr-analog/include/analog/pll_refout_cc.h
index a18d177e6e..1ba907262e 100644
--- a/gr-analog/include/analog/pll_refout_cc.h
+++ b/gr-analog/include/analog/pll_refout_cc.h
@@ -24,6 +24,7 @@
#define INCLUDED_ANALOG_PLL_REFOUT_CC_H
#include <analog/api.h>
+#include <blocks/control_loop.h>
#include <gr_sync_block.h>
namespace gr {
@@ -45,7 +46,9 @@ namespace gr {
* and should be set around pi/200 -- 2pi/100. \sa
* pll_freqdet_cf, pll_carriertracking_cc
*/
- class ANALOG_API pll_refout_cc : virtual public gr_sync_block
+ class ANALOG_API pll_refout_cc
+ : virtual public gr_sync_block,
+ virtual public blocks::control_loop
{
public:
// gr::analog::pll_refout_cc::sptr
diff --git a/gr-analog/include/analog/pwr_squelch_cc.h b/gr-analog/include/analog/pwr_squelch_cc.h
index 79364a86b5..e3f6fb67fc 100644
--- a/gr-analog/include/analog/pwr_squelch_cc.h
+++ b/gr-analog/include/analog/pwr_squelch_cc.h
@@ -50,8 +50,9 @@ namespace gr {
*
* \param db threshold (in dB) for power squelch
* \param alpha Gain of averaging filter
- * \param ramp
- * \param gate
+ * \param ramp sets response characteristic.
+ * \param gate if true, no output if no squelch tone.
+ * if false, output 0's if no squelch tone.
*/
static sptr make(double db, double alpha=0.0001,
int ramp=0, bool gate=false);
diff --git a/gr-analog/include/analog/pwr_squelch_ff.h b/gr-analog/include/analog/pwr_squelch_ff.h
index 6fdebec746..f8f7b4aac2 100644
--- a/gr-analog/include/analog/pwr_squelch_ff.h
+++ b/gr-analog/include/analog/pwr_squelch_ff.h
@@ -50,8 +50,9 @@ namespace gr {
*
* \param db threshold (in dB) for power squelch
* \param alpha Gain of averaging filter
- * \param ramp
- * \param gate
+ * \param ramp sets response characteristic.
+ * \param gate if true, no output if no squelch tone.
+ * if false, output 0's if no squelch tone.
*/
static sptr make(double db, double alpha=0.0001,
int ramp=0, bool gate=false);
diff --git a/gr-analog/include/analog/quadrature_demod_cf.h b/gr-analog/include/analog/quadrature_demod_cf.h
index 916d8b2ece..fc29e494da 100644
--- a/gr-analog/include/analog/quadrature_demod_cf.h
+++ b/gr-analog/include/analog/quadrature_demod_cf.h
@@ -42,6 +42,12 @@ namespace gr {
// gr::analog::quadrature_demod_cf::sptr
typedef boost::shared_ptr<quadrature_demod_cf> sptr;
+ /* \brief Make a quadrature demodulator block.
+ *
+ * \param gain Gain setting to adjust the output amplitude. Set
+ * based on converting the phase difference between
+ * samples to a nominal output value.
+ */
static sptr make(float gain);
virtual void set_gain(float gain) = 0;
diff --git a/gr-analog/include/analog/rail_ff.h b/gr-analog/include/analog/rail_ff.h
index e51b2fc935..120ca2815b 100644
--- a/gr-analog/include/analog/rail_ff.h
+++ b/gr-analog/include/analog/rail_ff.h
@@ -39,6 +39,12 @@ namespace gr {
// gr::analog::rail_ff::sptr
typedef boost::shared_ptr<rail_ff> sptr;
+ /*!
+ * Build a rail block.
+ *
+ * \param lo the low value to clip to.
+ * \param hi the high value to clip to.
+ */
static sptr make(float lo, float hi);
virtual float lo() const = 0;
diff --git a/gr-analog/include/analog/sincos.h b/gr-analog/include/analog/sincos.h
deleted file mode 100644
index 38b9d96da0..0000000000
--- a/gr-analog/include/analog/sincos.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002,2004,2012 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 INCLUDED_ANALOG_SINCOS_H
-#define INCLUDED_ANALOG_SINCOS_H
-
-#include <analog/api.h>
-
-namespace gr {
- namespace analog {
-
- // compute sine and cosine at the same time
- ANALOG_API void sincos(double x, double *sin, double *cos);
- ANALOG_API void sincosf(float x, float *sin, float *cos);
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_SINCOS_H */