summaryrefslogtreecommitdiff
path: root/gr-digital/include/digital
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2012-09-09 14:34:08 -0400
committerTom Rondeau <trondeau@vt.edu>2012-09-09 14:40:31 -0400
commitd857caa7f1a703731c69fdcdd1fdb6c7d0a99a7c (patch)
tree871ca65b4ca1399ff2bb993360d6e434e1917e4f /gr-digital/include/digital
parent43eaedf41a4281370cb71cf0bddf891d3867698c (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.h2
-rw-r--r--gr-digital/include/digital/lms_dd_equalizer_cc.h2
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;
};