summaryrefslogtreecommitdiff
path: root/gr-analog/include/gnuradio/analog/agc3_cc.h
diff options
context:
space:
mode:
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 */