From d857caa7f1a703731c69fdcdd1fdb6c7d0a99a7c Mon Sep 17 00:00:00 2001 From: Tom Rondeau <trondeau@vt.edu> Date: Sun, 9 Sep 2012 14:34:08 -0400 Subject: digital: Fixes LMS and CMA equalizers. filter: updated fir_filter_* by adding a method that allows the update of a single tap in the filter in a way that propagates to all of the aligned tap vectors. Mostly to support the adaptive equalizers. --- gr-digital/include/digital/cma_equalizer_cc.h | 2 ++ gr-digital/include/digital/lms_dd_equalizer_cc.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'gr-digital/include/digital') diff --git a/gr-digital/include/digital/cma_equalizer_cc.h b/gr-digital/include/digital/cma_equalizer_cc.h index f2ec636577..60c58db1e1 100644 --- a/gr-digital/include/digital/cma_equalizer_cc.h +++ b/gr-digital/include/digital/cma_equalizer_cc.h @@ -61,6 +61,8 @@ namespace gr { */ static sptr make(int num_taps, float modulus, float mu, int sps); + virtual void set_taps(const std::vector<gr_complex> &taps) = 0; + virtual std::vector<gr_complex> taps() const = 0; virtual float gain() const = 0; virtual void set_gain(float mu) = 0; virtual float modulus() const = 0; diff --git a/gr-digital/include/digital/lms_dd_equalizer_cc.h b/gr-digital/include/digital/lms_dd_equalizer_cc.h index ecac9ac476..8084396759 100644 --- a/gr-digital/include/digital/lms_dd_equalizer_cc.h +++ b/gr-digital/include/digital/lms_dd_equalizer_cc.h @@ -89,6 +89,8 @@ namespace gr { float mu, int sps, constellation_sptr cnst); + virtual void set_taps(const std::vector<gr_complex> &taps) = 0; + virtual std::vector<gr_complex> taps() const = 0; virtual float gain() const = 0; virtual void set_gain(float mu) = 0; }; -- cgit v1.2.3