summaryrefslogtreecommitdiff
path: root/gr-analog/include/gnuradio/analog/agc3_cc.h
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2013-05-23 15:37:59 -0400
committerTom Rondeau <trondeau@vt.edu>2013-05-23 15:41:44 -0400
commit5bdd638f56775e50cce23ffe3bef241de53dcad1 (patch)
tree828e51ccef639e691abccb58116777949de28ad8 /gr-analog/include/gnuradio/analog/agc3_cc.h
parent58fbb1695f17bb44ecc0ef268e2640a1f7f71906 (diff)
analog: updated AGC loops to have same interface; can init gain, max_gain defaults to 2e16, reset using set_max_gain.
Diffstat (limited to 'gr-analog/include/gnuradio/analog/agc3_cc.h')
-rw-r--r--gr-analog/include/gnuradio/analog/agc3_cc.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gr-analog/include/gnuradio/analog/agc3_cc.h b/gr-analog/include/gnuradio/analog/agc3_cc.h
index 2bbe275055..7e97562a28 100644
--- a/gr-analog/include/gnuradio/analog/agc3_cc.h
+++ b/gr-analog/include/gnuradio/analog/agc3_cc.h
@@ -35,6 +35,10 @@ namespace gr {
* \ingroup level_controllers_blk
*
* \details
+ * Unlike the AGC2 loop, this uses an initial linear calculation
+ * at the beginning for very fast initial acquisition. Moves to
+ * IIR model for tracking purposes.
+ *
* For Power the absolute value of the complex number is used.
*/
class ANALOG_API agc3_cc : virtual public sync_block
@@ -51,17 +55,19 @@ namespace gr {
* \param reference reference value to adjust signal power to.
*/
static sptr make(float attack_rate = 1e-1, float decay_rate = 1e-2,
- float reference = 1.0);
+ float reference = 1.0, float gain = 1.0);
virtual float attack_rate() const = 0;
virtual float decay_rate() const = 0;
virtual float reference() const = 0;
virtual float gain() const = 0;
+ virtual float max_gain() const = 0;
virtual void set_attack_rate(float rate) = 0;
virtual void set_decay_rate(float rate) = 0;
virtual void set_reference(float reference) = 0;
virtual void set_gain(float gain) = 0;
+ virtual void set_max_gain(float max_gain) = 0;
};
} /* namespace analog */