diff options
Diffstat (limited to 'gr-digital/include/digital_lms_dd_equalizer_cc.h')
-rw-r--r-- | gr-digital/include/digital_lms_dd_equalizer_cc.h | 26 |
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 |