diff options
author | Tom Rondeau <trondeau@vt.edu> | 2012-09-09 14:34:08 -0400 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2012-09-09 14:40:31 -0400 |
commit | d857caa7f1a703731c69fdcdd1fdb6c7d0a99a7c (patch) | |
tree | 871ca65b4ca1399ff2bb993360d6e434e1917e4f /gr-digital/include/digital | |
parent | 43eaedf41a4281370cb71cf0bddf891d3867698c (diff) |
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.
Diffstat (limited to 'gr-digital/include/digital')
-rw-r--r-- | gr-digital/include/digital/cma_equalizer_cc.h | 2 | ||||
-rw-r--r-- | gr-digital/include/digital/lms_dd_equalizer_cc.h | 2 |
2 files changed, 4 insertions, 0 deletions
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; }; |