summaryrefslogtreecommitdiff
path: root/gnuradio-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r--gnuradio-core/src/lib/general/gr_costas_loop_cc.cc12
-rw-r--r--gnuradio-core/src/lib/general/gr_costas_loop_cc.h22
-rw-r--r--gnuradio-core/src/lib/general/gr_costas_loop_cc.i7
3 files changed, 40 insertions, 1 deletions
diff --git a/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc b/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
index f9178b7a1..4e0f7e067 100644
--- a/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
@@ -85,6 +85,18 @@ gr_costas_loop_cc::phase_detector_2(gr_complex sample) const
return (sample.real()*sample.imag());
}
+void
+gr_costas_loop_cc::set_alpha(float alpha)
+{
+ d_alpha = alpha;
+}
+
+void
+gr_costas_loop_cc::set_beta(float beta)
+{
+ d_beta = beta;
+}
+
int
gr_costas_loop_cc::work (int noutput_items,
gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/general/gr_costas_loop_cc.h b/gnuradio-core/src/lib/general/gr_costas_loop_cc.h
index ff40e6608..ba4e69c88 100644
--- a/gnuradio-core/src/lib/general/gr_costas_loop_cc.h
+++ b/gnuradio-core/src/lib/general/gr_costas_loop_cc.h
@@ -95,7 +95,7 @@ class gr_costas_loop_cc : public gr_sync_block
*/
float phase_detector_4(gr_complex sample) const; // for QPSK
- /*! \breif the phase detector circuit for second-order loops
+ /*! \brief the phase detector circuit for second-order loops
* \param a complex sample
* \return the phase error
*/
@@ -106,6 +106,26 @@ class gr_costas_loop_cc : public gr_sync_block
public:
+ /*! \brief set the first order gain
+ * \param alpha
+ */
+ void set_alpha(float alpha);
+
+ /*! \brief get the first order gain
+ *
+ */
+ float alpha() const { return d_alpha; }
+
+ /*! \brief set the second order gain
+ * \param beta
+ */
+ void set_beta(float beta);
+
+ /*! \brief get the second order gain
+ *
+ */
+ float beta() const { return d_beta; }
+
int work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items);
diff --git a/gnuradio-core/src/lib/general/gr_costas_loop_cc.i b/gnuradio-core/src/lib/general/gr_costas_loop_cc.i
index 841a86b28..39f49dd4f 100644
--- a/gnuradio-core/src/lib/general/gr_costas_loop_cc.i
+++ b/gnuradio-core/src/lib/general/gr_costas_loop_cc.i
@@ -34,4 +34,11 @@ class gr_costas_loop_cc : public gr_sync_block
private:
gr_costas_loop_cc (float alpha, float beta,
float max_freq, float min_freq, int order);
+
+ public:
+ void set_alpha(float alpha);
+ float alpha();
+ void set_beta(float beta);
+ float beta();
+
};