summaryrefslogtreecommitdiff
path: root/gr-digital/include/gnuradio/digital/symbol_sync_cc.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/include/gnuradio/digital/symbol_sync_cc.h')
-rw-r--r--gr-digital/include/gnuradio/digital/symbol_sync_cc.h40
1 files changed, 39 insertions, 1 deletions
diff --git a/gr-digital/include/gnuradio/digital/symbol_sync_cc.h b/gr-digital/include/gnuradio/digital/symbol_sync_cc.h
index 5e51c3cdf1..dc856ecaf6 100644
--- a/gr-digital/include/gnuradio/digital/symbol_sync_cc.h
+++ b/gr-digital/include/gnuradio/digital/symbol_sync_cc.h
@@ -97,6 +97,15 @@ namespace gr {
* Damping = 1.0f is a critically-damped loop.
* Damping > 1.0f is an over-damped loop.
*
+ * \param ted_gain
+ * Expected gain of the timing error detector, given the TED in use
+ * and the anticipated input amplitude, pulse shape, and Es/No.
+ * This value is the slope of the TED's S-curve at timing offset tau = 0.
+ * This value is normally computed by the user analytically or by
+ * simulation in a tool outside of GNURadio.
+ * This value must be correct for the loop filter gains to be computed
+ * properly from the desired input loop bandwidth and damping factor.
+ *
* \param max_deviation
* Maximum absolute deviation of the average clock period estimate
* from the user specified nominal clock period in samples per symbol.
@@ -126,7 +135,8 @@ namespace gr {
static sptr make(enum ted_type detector_type,
float sps,
float loop_bw,
- float damping_factor = 2.0f,
+ float damping_factor = 1.0f,
+ float ted_gain = 1.0f,
float max_deviation = 1.5f,
int osps = 1,
constellation_sptr slicer = constellation_sptr(),
@@ -157,6 +167,15 @@ namespace gr {
virtual float damping_factor() const = 0;
/*!
+ * \brief Returns the user provided expected gain of the Timing Error
+ * Detector.
+ *
+ * \details
+ * See the documenation for set_ted_gain() for more details.
+ */
+ virtual float ted_gain() const = 0;
+
+ /*!
* \brief Returns the PI filter proportional gain, alpha.
*
* \details
@@ -224,6 +243,25 @@ namespace gr {
virtual void set_damping_factor (float zeta) = 0;
/*!
+ * \brief Set the expected gain of the Timing Error Detector.
+ *
+ * \details
+ * Sets the expected gain of the timing error detector, given the TED in
+ * use and the anticipated input amplitude, pulse shape, and Es/No.
+ * This value is the slope of the TED's S-curve at timing offset tau = 0.
+ * This value is normally computed by the user analytically or by
+ * simulation in a tool outside of GNURadio.
+ * This value must be correct for the loop filter gains to be computed
+ * properly from the desired input loop bandwidth and damping factor.
+ *
+ * When a new ted_gain is set, the gains, alpha and beta,
+ * of the loop are automatcally recalculated.
+ *
+ * \param ted_gain expected gain of the timing error detector
+ */
+ virtual void set_ted_gain (float ted_gain) = 0;
+
+ /*!
* \brief Set the PI filter proportional gain, alpha.
*
* \details