summaryrefslogtreecommitdiff
path: root/gr-digital/include/digital_lms_dd_equalizer_cc.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/include/digital_lms_dd_equalizer_cc.h')
-rw-r--r--gr-digital/include/digital_lms_dd_equalizer_cc.h26
1 files changed, 17 insertions, 9 deletions
diff --git a/gr-digital/include/digital_lms_dd_equalizer_cc.h b/gr-digital/include/digital_lms_dd_equalizer_cc.h
index 56871fa678..a993776c03 100644
--- a/gr-digital/include/digital_lms_dd_equalizer_cc.h
+++ b/gr-digital/include/digital_lms_dd_equalizer_cc.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2011 Free Software Foundation, Inc.
+ * Copyright 2011,2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -24,15 +24,18 @@
#define INCLUDED_DIGITAL_LMS_DD_EQUALIZER_CC_H
#include <digital_api.h>
-#include <gr_adaptive_fir_ccc.h>
+#include <gr_sync_decimator.h>
+#include <filter/adaptive_fir.h>
#include <digital_constellation.h>
+#include <stdexcept>
class digital_lms_dd_equalizer_cc;
typedef boost::shared_ptr<digital_lms_dd_equalizer_cc> digital_lms_dd_equalizer_cc_sptr;
-DIGITAL_API digital_lms_dd_equalizer_cc_sptr digital_make_lms_dd_equalizer_cc (int num_taps,
- float mu, int sps,
- digital_constellation_sptr cnst);
+DIGITAL_API digital_lms_dd_equalizer_cc_sptr
+digital_make_lms_dd_equalizer_cc (int num_taps,
+ float mu, int sps,
+ digital_constellation_sptr cnst);
/*!
* \brief Least-Mean-Square Decision Directed Equalizer (complex in/out)
@@ -67,12 +70,14 @@ DIGITAL_API digital_lms_dd_equalizer_cc_sptr digital_make_lms_dd_equalizer_cc (i
* Prentice Hall, 1996.
*
*/
-class DIGITAL_API digital_lms_dd_equalizer_cc : public gr_adaptive_fir_ccc
+class DIGITAL_API digital_lms_dd_equalizer_cc :
+ public gr_sync_decimator, public gr::filter::kernel::adaptive_fir_ccc
{
private:
- friend DIGITAL_API digital_lms_dd_equalizer_cc_sptr digital_make_lms_dd_equalizer_cc (int num_taps,
- float mu, int sps,
- digital_constellation_sptr cnst);
+ friend DIGITAL_API digital_lms_dd_equalizer_cc_sptr
+ digital_make_lms_dd_equalizer_cc(int num_taps,
+ float mu, int sps,
+ digital_constellation_sptr cnst);
float d_mu;
std::vector<gr_complex> d_taps;
@@ -113,6 +118,9 @@ public:
}
}
+ int work(int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
};
#endif