summaryrefslogtreecommitdiff
path: root/gr-digital
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital')
-rw-r--r--gr-digital/grc/digital_cma_equalizer_cc.block.yml44
-rw-r--r--gr-digital/grc/digital_kurtotic_equalizer_cc.block.yml36
-rw-r--r--gr-digital/grc/digital_lms_dd_equalizer_cc.block.yml47
-rw-r--r--gr-digital/include/gnuradio/digital/CMakeLists.txt3
-rw-r--r--gr-digital/include/gnuradio/digital/cma_equalizer_cc.h64
-rw-r--r--gr-digital/include/gnuradio/digital/kurtotic_equalizer_cc.h51
-rw-r--r--gr-digital/include/gnuradio/digital/lms_dd_equalizer_cc.h87
-rw-r--r--gr-digital/lib/CMakeLists.txt3
-rw-r--r--gr-digital/lib/cma_equalizer_cc_impl.cc111
-rw-r--r--gr-digital/lib/cma_equalizer_cc_impl.h72
-rw-r--r--gr-digital/lib/kurtotic_equalizer_cc_impl.cc79
-rw-r--r--gr-digital/lib/kurtotic_equalizer_cc_impl.h97
-rw-r--r--gr-digital/lib/lms_dd_equalizer_cc_impl.cc120
-rw-r--r--gr-digital/lib/lms_dd_equalizer_cc_impl.h63
-rw-r--r--gr-digital/python/digital/bindings/CMakeLists.txt3
-rw-r--r--gr-digital/python/digital/bindings/cma_equalizer_cc_python.cc79
-rw-r--r--gr-digital/python/digital/bindings/docstrings/cma_equalizer_cc_pydoc_template.h45
-rw-r--r--gr-digital/python/digital/bindings/docstrings/kurtotic_equalizer_cc_pydoc_template.h35
-rw-r--r--gr-digital/python/digital/bindings/docstrings/lms_dd_equalizer_cc_pydoc_template.h41
-rw-r--r--gr-digital/python/digital/bindings/kurtotic_equalizer_cc_python.cc59
-rw-r--r--gr-digital/python/digital/bindings/lms_dd_equalizer_cc_python.cc70
-rw-r--r--gr-digital/python/digital/bindings/python_bindings.cc6
22 files changed, 0 insertions, 1215 deletions
diff --git a/gr-digital/grc/digital_cma_equalizer_cc.block.yml b/gr-digital/grc/digital_cma_equalizer_cc.block.yml
deleted file mode 100644
index 42d8b88c7d..0000000000
--- a/gr-digital/grc/digital_cma_equalizer_cc.block.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-id: digital_cma_equalizer_cc
-label: CMA Equalizer
-category: '[Core]/Deprecated'
-flags: [ python, cpp ]
-
-parameters:
-- id: num_taps
- label: Num. Taps
- dtype: int
-- id: modulus
- label: Modulus
- dtype: real
-- id: mu
- label: Gain
- dtype: real
-- id: sps
- label: Samples per Symbol
- dtype: int
-
-inputs:
-- domain: stream
- dtype: complex
-
-outputs:
-- domain: stream
- dtype: complex
-
-templates:
- imports: from gnuradio import digital
- make: digital.cma_equalizer_cc(${num_taps}, ${modulus}, ${mu}, ${sps})
- callbacks:
- - set_gain(${mu})
- - set_modulus(${modulus})
-
-cpp_templates:
- includes: [ '#include <gnuradio/digital/cma_equalizer_cc.h>' ]
- declarations: 'digital::cma_equalizer_cc::sptr ${id};'
- make: 'this->${id} = digital::cma_equalizer_cc::make(${num_taps}, ${modulus}, ${mu}, ${sps});'
- link: ['gnuradio-digital']
- callbacks:
- - set_gain(${mu})
- - set_modulus(${modulus})
-
-file_format: 1
diff --git a/gr-digital/grc/digital_kurtotic_equalizer_cc.block.yml b/gr-digital/grc/digital_kurtotic_equalizer_cc.block.yml
deleted file mode 100644
index 122991a2cb..0000000000
--- a/gr-digital/grc/digital_kurtotic_equalizer_cc.block.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-id: digital_kurtotic_equalizer_cc
-label: Kurtotic Equalizer
-category: '[Core]/Deprecated'
-flags: [ python, cpp ]
-
-parameters:
-- id: num_taps
- label: Num. Taps
- dtype: int
-- id: mu
- label: Mu
- dtype: real
-
-inputs:
-- domain: stream
- dtype: complex
-
-outputs:
-- domain: stream
- dtype: complex
-
-templates:
- imports: from gnuradio import digital
- make: digital.kurtotic_equalizer_cc(${num_taps}, ${mu})
- callbacks:
- - set_gain(${mu})
-
-cpp_templates:
- includes: ['#include <gnuradio/digital/kurtotic_equalizer_cc.h>']
- declarations: 'digital::kurtotic_equalizer_cc::sptr ${id};'
- make: 'this->${id} = digital::kurtotic_equalizer_cc::make(${num_taps}, ${mu});'
- link: ['gnuradio-digital']
- callbacks:
- - set_gain(${mu})
-
-file_format: 1
diff --git a/gr-digital/grc/digital_lms_dd_equalizer_cc.block.yml b/gr-digital/grc/digital_lms_dd_equalizer_cc.block.yml
deleted file mode 100644
index 8f8cb5c016..0000000000
--- a/gr-digital/grc/digital_lms_dd_equalizer_cc.block.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-id: digital_lms_dd_equalizer_cc
-label: LMS DD Equalizer
-category: '[Core]/Deprecated'
-flags: [ python, cpp ]
-
-parameters:
-- id: mu
- label: Gain
- dtype: real
-- id: num_taps
- label: Num. Taps
- dtype: int
-- id: sps
- label: Samples per Symbol
- dtype: int
-- id: cnst
- label: Constellation Object
- dtype: raw
-
-inputs:
-- domain: stream
- dtype: complex
-
-outputs:
-- domain: stream
- dtype: complex
-
-templates:
- imports: from gnuradio import digital
- make: digital.lms_dd_equalizer_cc(${num_taps}, ${mu}, ${sps}, ${cnst})
- callbacks:
- - set_gain(${mu})
-
-cpp_templates:
- includes: ['#include <gnuradio/digital/lms_dd_equalizer_cc.h>']
- declarations: 'digital::lms_dd_equalizer_cc::sptr ${id};'
- make: |-
- this->${id} = digital::lms_dd_equalizer_cc::make(
- ${num_taps},
- ${mu},
- ${sps},
- ${cnst});
- link: ['gnuradio-digital']
- callbacks:
- - set_gain(${mu})
-
-file_format: 1
diff --git a/gr-digital/include/gnuradio/digital/CMakeLists.txt b/gr-digital/include/gnuradio/digital/CMakeLists.txt
index 52e40fed3c..08abdb8ed9 100644
--- a/gr-digital/include/gnuradio/digital/CMakeLists.txt
+++ b/gr-digital/include/gnuradio/digital/CMakeLists.txt
@@ -20,7 +20,6 @@ install(FILES
chunks_to_symbols.h
clock_recovery_mm_cc.h
clock_recovery_mm_ff.h
- cma_equalizer_cc.h
constellation.h
constellation_decoder_cb.h
constellation_encoder_bc.h
@@ -51,10 +50,8 @@ install(FILES
hdlc_framer_pb.h
header_buffer.h
header_payload_demux.h
- kurtotic_equalizer_cc.h
lfsr.h
linear_equalizer.h
- lms_dd_equalizer_cc.h
map_bb.h
metric_type.h
modulate_vector.h
diff --git a/gr-digital/include/gnuradio/digital/cma_equalizer_cc.h b/gr-digital/include/gnuradio/digital/cma_equalizer_cc.h
deleted file mode 100644
index 4b48fef6ee..0000000000
--- a/gr-digital/include/gnuradio/digital/cma_equalizer_cc.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_DIGITAL_CMA_EQUALIZER_CC_H
-#define INCLUDED_DIGITAL_CMA_EQUALIZER_CC_H
-
-#include <gnuradio/digital/api.h>
-#include <gnuradio/sync_decimator.h>
-
-namespace gr {
-namespace digital {
-
-/*!
- * \brief Implements constant modulus adaptive filter on complex stream.
- * \ingroup equalizers_blk
- * \ingroup deprecated_blk
- *
- * \details
- * The error value and tap update equations (for p=2) can be found in:
- *
- * D. Godard, "Self-Recovering Equalization and Carrier Tracking
- * in Two-Dimensional Data Communication Systems," IEEE
- * Transactions on Communications, Vol. 28, No. 11, pp. 1867 -
- * 1875, 1980.
- */
-class DIGITAL_API cma_equalizer_cc : virtual public sync_decimator
-{
-protected:
- virtual gr_complex error(const gr_complex& out) = 0;
- virtual void update_tap(gr_complex& tap, const gr_complex& in) = 0;
-
-public:
- // gr::digital::cma_equalizer_cc::sptr
- typedef std::shared_ptr<cma_equalizer_cc> sptr;
-
- /*!
- * Make a CMA Equalizer block
- *
- * \param num_taps Number of taps in the equalizer (channel size)
- * \param modulus Modulus of the modulated signals
- * \param mu Gain of the update loop
- * \param sps Number of samples per symbol of the input signal
- */
- 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;
- virtual void set_modulus(float mod) = 0;
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_DIGITAL_CMA_EQUALIZER_CC_H */
diff --git a/gr-digital/include/gnuradio/digital/kurtotic_equalizer_cc.h b/gr-digital/include/gnuradio/digital/kurtotic_equalizer_cc.h
deleted file mode 100644
index 2cb58221e2..0000000000
--- a/gr-digital/include/gnuradio/digital/kurtotic_equalizer_cc.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_H
-#define INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_H
-
-#include <gnuradio/digital/api.h>
-#include <gnuradio/sync_decimator.h>
-
-namespace gr {
-namespace digital {
-
-/*!
- * \brief Implements a kurtosis-based adaptive equalizer on complex stream
- * \ingroup equalizers_blk
- * \ingroup deprecated_blk
- *
- * \details
- * Warning: This block does not yet work.
- *
- * "Y. Guo, J. Zhao, Y. Sun, "Sign kurtosis maximization based blind
- * equalization algorithm," IEEE Conf. on Control, Automation,
- * Robotics and Vision, Vol. 3, Dec. 2004, pp. 2052 - 2057."
- */
-class DIGITAL_API kurtotic_equalizer_cc : virtual public sync_decimator
-{
-protected:
- virtual gr_complex error(const gr_complex& out) = 0;
- virtual void update_tap(gr_complex& tap, const gr_complex& in) = 0;
-
-public:
- // gr::digital::kurtotic_equalizer_cc::sptr
- typedef std::shared_ptr<kurtotic_equalizer_cc> sptr;
-
- static sptr make(int num_taps, float mu);
-
- virtual float gain() const = 0;
- virtual void set_gain(float mu) = 0;
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_H */
diff --git a/gr-digital/include/gnuradio/digital/lms_dd_equalizer_cc.h b/gr-digital/include/gnuradio/digital/lms_dd_equalizer_cc.h
deleted file mode 100644
index 8a0ac765de..0000000000
--- a/gr-digital/include/gnuradio/digital/lms_dd_equalizer_cc.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_DIGITAL_LMS_DD_EQUALIZER_CC_H
-#define INCLUDED_DIGITAL_LMS_DD_EQUALIZER_CC_H
-
-#include <gnuradio/digital/api.h>
-#include <gnuradio/digital/constellation.h>
-#include <gnuradio/sync_decimator.h>
-
-namespace gr {
-namespace digital {
-
-/*!
- * \brief Least-Mean-Square Decision Directed Equalizer (complex in/out)
- * \ingroup equalizers_blk
- * \ingroup deprecated_blk
- *
- * \details
- * This block implements an LMS-based decision-directed equalizer.
- * It uses a set of weights, w, to correlate against the inputs,
- * u, and a decisions is then made from this output. The error in
- * the decision is used to update the weight vector.
- *
- * y[n] = conj(w[n]) u[n]
- * d[n] = decision(y[n])
- * e[n] = d[n] - y[n]
- * w[n+1] = w[n] + mu u[n] conj(e[n])
- *
- * Where mu is a gain value (between 0 and 1 and usually small,
- * around 0.001 - 0.01.
- *
- * This block uses the digital_constellation object for making the
- * decision from y[n]. Create the constellation object for
- * whatever constellation is to be used and pass in the object.
- * In Python, you can use something like:
- *
- * self.constellation = digital.constellation_qpsk()
- *
- * To create a QPSK constellation (see the digital_constellation
- * block for more details as to what constellations are available
- * or how to create your own). You then pass the object to this
- * block as an sptr, or using "self.constellation.base()".
- *
- * The theory for this algorithm can be found in Chapter 9 of:
- * S. Haykin, Adaptive Filter Theory, Upper Saddle River, NJ:
- * Prentice Hall, 1996.
- */
-class DIGITAL_API lms_dd_equalizer_cc : virtual public sync_decimator
-{
-protected:
- virtual gr_complex error(const gr_complex& out) = 0;
- virtual void update_tap(gr_complex& tap, const gr_complex& in) = 0;
-
-public:
- // gr::digital::lms_dd_equalizer_cc::sptr
- typedef std::shared_ptr<lms_dd_equalizer_cc> sptr;
-
- /*!
- * Make an LMS decision-directed equalizer
- *
- * \param num_taps Number of taps in the equalizer (channel size)
- * \param mu Gain of the update loop
- * \param sps Number of samples per symbol of the input signal
- * \param cnst A constellation derived from class
- * 'constellation'. Use base() method to get a shared pointer to
- * this base class type.
- */
- static sptr make(int num_taps, 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;
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_DIGITAL_LMS_DD_EQUALIZER_CC_H */
diff --git a/gr-digital/lib/CMakeLists.txt b/gr-digital/lib/CMakeLists.txt
index 89d7e60a27..6b449ad6e7 100644
--- a/gr-digital/lib/CMakeLists.txt
+++ b/gr-digital/lib/CMakeLists.txt
@@ -17,7 +17,6 @@ add_library(gnuradio-digital
clock_recovery_mm_cc_impl.cc
clock_recovery_mm_ff_impl.cc
clock_tracking_loop.cc
- cma_equalizer_cc_impl.cc
constellation.cc
constellation_decoder_cb_impl.cc
constellation_encoder_bc_impl.cc
@@ -48,9 +47,7 @@ add_library(gnuradio-digital
hdlc_framer_pb_impl.cc
header_buffer.cc
header_payload_demux_impl.cc
- kurtotic_equalizer_cc_impl.cc
linear_equalizer_impl.cc
- lms_dd_equalizer_cc_impl.cc
map_bb_impl.cc
meas_evm_cc_impl.cc
modulate_vector.cc
diff --git a/gr-digital/lib/cma_equalizer_cc_impl.cc b/gr-digital/lib/cma_equalizer_cc_impl.cc
deleted file mode 100644
index d0dc1e0961..0000000000
--- a/gr-digital/lib/cma_equalizer_cc_impl.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "cma_equalizer_cc_impl.h"
-#include <gnuradio/io_signature.h>
-
-namespace gr {
-namespace digital {
-
-using namespace filter::kernel;
-
-cma_equalizer_cc::sptr
-cma_equalizer_cc::make(int num_taps, float modulus, float mu, int sps)
-{
- return gnuradio::make_block_sptr<cma_equalizer_cc_impl>(num_taps, modulus, mu, sps);
-}
-
-cma_equalizer_cc_impl::cma_equalizer_cc_impl(int num_taps,
- float modulus,
- float mu,
- int sps)
- : sync_decimator("cma_equalizer_cc",
- io_signature::make(1, 1, sizeof(gr_complex)),
- io_signature::make(1, 1, sizeof(gr_complex)),
- sps),
- fir_filter_ccc(std::vector<gr_complex>(num_taps, gr_complex(0, 0))),
- d_new_taps(num_taps, gr_complex(0, 0)),
- d_updated(false),
- d_error(gr_complex(0, 0))
-{
- set_modulus(modulus);
- set_gain(mu);
- if (num_taps > 0)
- d_new_taps[0] = 1.0;
- fir_filter_ccc::set_taps(d_new_taps);
-
- set_history(num_taps);
-}
-
-cma_equalizer_cc_impl::~cma_equalizer_cc_impl() {}
-
-void cma_equalizer_cc_impl::set_taps(const std::vector<gr_complex>& taps)
-{
- d_new_taps = taps;
- d_updated = true;
-}
-
-std::vector<gr_complex> cma_equalizer_cc_impl::taps() const { return d_taps; }
-
-gr_complex cma_equalizer_cc_impl::error(const gr_complex& out)
-{
- gr_complex error = out * (norm(out) - d_modulus);
- float re = gr::clip(error.real(), 1.0);
- float im = gr::clip(error.imag(), 1.0);
- return gr_complex(re, im);
-}
-
-void cma_equalizer_cc_impl::update_tap(gr_complex& tap, const gr_complex& in)
-{
- // Hn+1 = Hn - mu*conj(Xn)*zn*(|zn|^2 - 1)
- tap -= d_mu * conj(in) * d_error;
-}
-
-int cma_equalizer_cc_impl::work(int noutput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items)
-{
- const gr_complex* in = (const gr_complex*)input_items[0];
- gr_complex* out = (gr_complex*)output_items[0];
-
- if (d_updated) {
- d_taps = d_new_taps;
- set_history(d_taps.size());
- d_updated = false;
- return 0; // history requirements may have changed.
- }
-
- int j = 0;
- size_t k, l = d_taps.size();
- for (int i = 0; i < noutput_items; i++) {
- out[i] = filter(&in[j]);
-
- // Adjust taps
- d_error = error(out[i]);
- for (k = 0; k < l; k++) {
- // Update tap locally from error.
- update_tap(d_taps[k], in[j + k]);
-
- // Update aligned taps in filter object.
- fir_filter_ccc::update_tap(d_taps[k], k);
- }
-
- j += decimation();
- }
-
- return noutput_items;
-}
-
-} /* namespace digital */
-} /* namespace gr */
diff --git a/gr-digital/lib/cma_equalizer_cc_impl.h b/gr-digital/lib/cma_equalizer_cc_impl.h
deleted file mode 100644
index 8f4264e0e8..0000000000
--- a/gr-digital/lib/cma_equalizer_cc_impl.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_DIGITAL_CMA_EQUALIZER_CC_IMPL_H
-#define INCLUDED_DIGITAL_CMA_EQUALIZER_CC_IMPL_H
-
-#include <gnuradio/digital/cma_equalizer_cc.h>
-#include <gnuradio/filter/fir_filter.h>
-#include <gnuradio/math.h>
-#include <stdexcept>
-
-namespace gr {
-namespace digital {
-
-class cma_equalizer_cc_impl : public cma_equalizer_cc, filter::kernel::fir_filter_ccc
-{
-private:
- std::vector<gr_complex> d_new_taps;
- bool d_updated;
- gr_complex d_error;
-
- float d_modulus;
- float d_mu;
-
-protected:
- gr_complex error(const gr_complex& out) override;
- void update_tap(gr_complex& tap, const gr_complex& in) override;
-
-public:
- cma_equalizer_cc_impl(int num_taps, float modulus, float mu, int sps);
- ~cma_equalizer_cc_impl() override;
-
- void set_taps(const std::vector<gr_complex>& taps) override;
- std::vector<gr_complex> taps() const override;
-
- float gain() const override { return d_mu; }
-
- void set_gain(float mu) override
- {
- if (mu < 0.0f || mu > 1.0f) {
- throw std::out_of_range(
- "cma_equalizer::set_gain: Gain value must be in [0,1]");
- }
- d_mu = mu;
- }
-
- float modulus() const override { return d_modulus; }
-
- void set_modulus(float mod) override
- {
- if (mod < 0)
- throw std::out_of_range(
- "cma_equalizer::set_modulus: Modulus value must be >= 0");
- d_modulus = mod;
- }
-
- int work(int noutput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items) override;
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_DIGITAL_CMA_EQUALIZER_CC_IMPL_H */
diff --git a/gr-digital/lib/kurtotic_equalizer_cc_impl.cc b/gr-digital/lib/kurtotic_equalizer_cc_impl.cc
deleted file mode 100644
index 002ee69f9f..0000000000
--- a/gr-digital/lib/kurtotic_equalizer_cc_impl.cc
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "kurtotic_equalizer_cc_impl.h"
-#include <gnuradio/io_signature.h>
-#include <volk/volk.h>
-
-namespace gr {
-namespace digital {
-
-kurtotic_equalizer_cc::sptr kurtotic_equalizer_cc::make(int num_taps, float mu)
-{
- return gnuradio::make_block_sptr<kurtotic_equalizer_cc_impl>(num_taps, mu);
-}
-
-kurtotic_equalizer_cc_impl::kurtotic_equalizer_cc_impl(int num_taps, float mu)
- : sync_decimator("kurtotic_equalizer_cc",
- io_signature::make(1, 1, sizeof(gr_complex)),
- io_signature::make(1, 1, sizeof(gr_complex)),
- 1),
- filter::kernel::fir_filter_ccc(std::vector<gr_complex>(num_taps, gr_complex(0, 0)))
-{
- set_gain(mu);
- if (num_taps > 0)
- d_taps[0] = 1.0;
- set_taps(d_taps);
-
- d_alpha_p = 0.01;
- d_alpha_q = 0.01;
- d_alpha_m = 0.01;
-
- d_p = 0.0f;
- d_m = 0.0f;
- d_q = gr_complex(0, 0);
- d_u = gr_complex(0, 0);
-
- const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex);
- set_alignment(std::max(1, alignment_multiple));
- set_history(num_taps + 1);
-}
-
-kurtotic_equalizer_cc_impl::~kurtotic_equalizer_cc_impl() {}
-
-int kurtotic_equalizer_cc_impl::work(int noutput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items)
-{
- gr_complex* in = (gr_complex*)input_items[0];
- gr_complex* out = (gr_complex*)output_items[0];
-
- int j = 0, k, l = d_taps.size();
- for (int i = 0; i < noutput_items; i++) {
- out[i] = filter(&in[j]);
-
- // Adjust taps
- d_error = error(out[i]);
- for (k = 0; k < l; k++) {
- update_tap(d_taps[l - k - 1], in[j + k]);
- }
-
- j += decimation();
- }
-
- return noutput_items;
-}
-
-} /* namespace digital */
-} /* namespace gr */
diff --git a/gr-digital/lib/kurtotic_equalizer_cc_impl.h b/gr-digital/lib/kurtotic_equalizer_cc_impl.h
deleted file mode 100644
index ff56a7b2bd..0000000000
--- a/gr-digital/lib/kurtotic_equalizer_cc_impl.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_IMPL_H
-#define INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_IMPL_H
-
-#include <gnuradio/digital/kurtotic_equalizer_cc.h>
-#include <gnuradio/filter/fir_filter.h>
-#include <gnuradio/math.h>
-#include <complex>
-#include <stdexcept>
-
-namespace gr {
-namespace digital {
-
-class kurtotic_equalizer_cc_impl : public kurtotic_equalizer_cc,
- filter::kernel::fir_filter_ccc
-{
-private:
- std::vector<gr_complex> d_new_taps;
- gr_complex d_error;
-
- float d_mu;
- float d_p, d_m;
- gr_complex d_q, d_u;
- float d_alpha_p, d_alpha_q, d_alpha_m;
-
- gr_complex sign(gr_complex x)
- {
- float re = (float)(x.real() >= 0.0f);
- float im = (float)(x.imag() >= 0.0f);
- return gr_complex(re, im);
- }
-
-protected:
- gr_complex error(const gr_complex& out) override
- {
- // p = E[|z|^2]
- // q = E[z^2]
- // m = E[|z|^4]
- // u = E[kurtosis(z)]
-
- float nrm = std::norm(out);
- gr_complex cnj = std::conj(out);
- float epsilon_f = 1e-12;
- gr_complex epsilon_c = gr_complex(1e-12, 1e-12);
-
- d_p = (1 - d_alpha_p) * d_p + (d_alpha_p)*nrm + epsilon_f;
- d_q = (1 - d_alpha_q) * d_q + (d_alpha_q)*out * out + epsilon_c;
- d_m = (1 - d_alpha_m) * d_m + (d_alpha_m)*nrm * nrm + epsilon_f;
- d_u = d_m - 2.0f * (d_p * d_p) - d_q * d_q;
-
- gr_complex F =
- (1.0f / (d_p * d_p * d_p)) *
- (sign(d_u) * (nrm * cnj - 2.0f * d_p * cnj - std::conj(d_q) * out) -
- std::abs(d_u) * cnj);
-
- float re = gr::clip(F.real(), 1.0);
- float im = gr::clip(F.imag(), 1.0);
- return gr_complex(re, im);
- }
-
- void update_tap(gr_complex& tap, const gr_complex& in) override
- {
- tap += d_mu * in * d_error;
- }
-
-public:
- kurtotic_equalizer_cc_impl(int num_taps, float mu);
- ~kurtotic_equalizer_cc_impl() override;
-
- float gain() const override { return d_mu; }
-
- void set_gain(float mu) override
- {
- if (mu < 0)
- throw std::out_of_range(
- "kurtotic_equalizer_cc_impl::set_gain: Gain value must be >= 0");
- d_mu = mu;
- }
-
- int work(int noutput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items) override;
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_IMPL_H */
diff --git a/gr-digital/lib/lms_dd_equalizer_cc_impl.cc b/gr-digital/lib/lms_dd_equalizer_cc_impl.cc
deleted file mode 100644
index ad40171964..0000000000
--- a/gr-digital/lib/lms_dd_equalizer_cc_impl.cc
+++ /dev/null
@@ -1,120 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "lms_dd_equalizer_cc_impl.h"
-#include <gnuradio/io_signature.h>
-#include <gnuradio/misc.h>
-#include <volk/volk.h>
-
-namespace gr {
-namespace digital {
-
-using namespace filter::kernel;
-
-lms_dd_equalizer_cc::sptr
-lms_dd_equalizer_cc::make(int num_taps, float mu, int sps, constellation_sptr cnst)
-{
- return gnuradio::make_block_sptr<lms_dd_equalizer_cc_impl>(num_taps, mu, sps, cnst);
-}
-
-lms_dd_equalizer_cc_impl::lms_dd_equalizer_cc_impl(int num_taps,
- float mu,
- int sps,
- constellation_sptr cnst)
- : sync_decimator("lms_dd_equalizer_cc",
- io_signature::make(1, 1, sizeof(gr_complex)),
- io_signature::make(1, 1, sizeof(gr_complex)),
- sps),
- fir_filter_ccc(std::vector<gr_complex>(num_taps, gr_complex(0, 0))),
- d_new_taps(num_taps, gr_complex(0, 0)),
- d_updated(false),
- d_cnst(cnst)
-{
- set_gain(mu);
- if (num_taps > 0)
- d_new_taps[0] = 1.0;
- fir_filter_ccc::set_taps(d_new_taps);
-
- const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex);
- set_alignment(std::max(1, alignment_multiple));
-
- set_history(num_taps);
-}
-
-lms_dd_equalizer_cc_impl::~lms_dd_equalizer_cc_impl() {}
-
-void lms_dd_equalizer_cc_impl::set_taps(const std::vector<gr_complex>& taps)
-{
- d_new_taps = taps;
- d_updated = true;
-}
-
-std::vector<gr_complex> lms_dd_equalizer_cc_impl::taps() const { return d_taps; }
-
-gr_complex lms_dd_equalizer_cc_impl::error(const gr_complex& out)
-{
- gr_complex decision, error;
- // The `map_to_points` function will treat `decision` as an array pointer.
- // This call is "safe" because `map_to_points` is limited by the
- // dimensionality of the constellation. This class calls the
- // `constellation` class default constructor, which initializes the
- // dimensionality value to `1`. Thus, Only the single `gr_complex` value
- // will be dereferenced.
- d_cnst->map_to_points(d_cnst->decision_maker(&out), &decision);
- error = decision - out;
- return error;
-}
-
-void lms_dd_equalizer_cc_impl::update_tap(gr_complex& tap, const gr_complex& in)
-{
- tap += d_mu * conj(in) * d_error;
-}
-
-int lms_dd_equalizer_cc_impl::work(int noutput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items)
-{
- const gr_complex* in = (const gr_complex*)input_items[0];
- gr_complex* out = (gr_complex*)output_items[0];
-
- if (d_updated) {
- d_taps = d_new_taps;
- set_history(d_taps.size());
- d_updated = false;
- return 0; // history requirements may have changed.
- }
-
- int j = 0;
- size_t k, l = d_taps.size();
- for (int i = 0; i < noutput_items; i++) {
- out[i] = filter(&in[j]);
-
- // Adjust taps
- d_error = error(out[i]);
- for (k = 0; k < l; k++) {
- // Update tap locally from error.
- update_tap(d_taps[k], in[j + k]);
-
- // Update aligned taps in filter object.
- fir_filter_ccc::update_tap(d_taps[k], k);
- }
-
- j += decimation();
- }
-
- return noutput_items;
-}
-
-} /* namespace digital */
-} /* namespace gr */
diff --git a/gr-digital/lib/lms_dd_equalizer_cc_impl.h b/gr-digital/lib/lms_dd_equalizer_cc_impl.h
deleted file mode 100644
index 4f5318b6a4..0000000000
--- a/gr-digital/lib/lms_dd_equalizer_cc_impl.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2011,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_DIGITAL_LMS_DD_EQUALIZER_CC_IMPL_H
-#define INCLUDED_DIGITAL_LMS_DD_EQUALIZER_CC_IMPL_H
-
-#include <gnuradio/digital/lms_dd_equalizer_cc.h>
-#include <gnuradio/filter/fir_filter.h>
-#include <stdexcept>
-
-namespace gr {
-namespace digital {
-
-class lms_dd_equalizer_cc_impl : public lms_dd_equalizer_cc,
- filter::kernel::fir_filter_ccc
-{
-private:
- std::vector<gr_complex> d_new_taps;
- bool d_updated;
- gr_complex d_error;
-
- float d_mu;
- constellation_sptr d_cnst;
-
-protected:
- gr_complex error(const gr_complex& out) override;
- void update_tap(gr_complex& tap, const gr_complex& in) override;
-
-public:
- lms_dd_equalizer_cc_impl(int num_taps, float mu, int sps, constellation_sptr cnst);
- ~lms_dd_equalizer_cc_impl() override;
-
- void set_taps(const std::vector<gr_complex>& taps) override;
- std::vector<gr_complex> taps() const override;
-
- float gain() const override { return d_mu; }
-
- void set_gain(float mu) override
- {
- if (mu < 0.0f || mu > 1.0f) {
- throw std::out_of_range(
- "lms_dd_equalizer_impl::set_mu: Gain value must in [0, 1]");
- } else {
- d_mu = mu;
- }
- }
-
- int work(int noutput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items) override;
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_DIGITAL_LMS_DD_EQUALIZER_CC_IMPL_H */
diff --git a/gr-digital/python/digital/bindings/CMakeLists.txt b/gr-digital/python/digital/bindings/CMakeLists.txt
index ade0e251a2..cf38af030d 100644
--- a/gr-digital/python/digital/bindings/CMakeLists.txt
+++ b/gr-digital/python/digital/bindings/CMakeLists.txt
@@ -15,7 +15,6 @@ list(APPEND digital_python_files
chunks_to_symbols_python.cc
clock_recovery_mm_cc_python.cc
clock_recovery_mm_ff_python.cc
- cma_equalizer_cc_python.cc
constellation_python.cc
constellation_decoder_cb_python.cc
constellation_encoder_bc_python.cc
@@ -52,10 +51,8 @@ list(APPEND digital_python_files
header_format_ofdm_python.cc
header_payload_demux_python.cc
interpolating_resampler_type_python.cc
- kurtotic_equalizer_cc_python.cc
lfsr_python.cc
linear_equalizer_python.cc
- lms_dd_equalizer_cc_python.cc
map_bb_python.cc
meas_evm_cc_python.cc
metric_type_python.cc
diff --git a/gr-digital/python/digital/bindings/cma_equalizer_cc_python.cc b/gr-digital/python/digital/bindings/cma_equalizer_cc_python.cc
deleted file mode 100644
index 3daa62ee82..0000000000
--- a/gr-digital/python/digital/bindings/cma_equalizer_cc_python.cc
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-/***********************************************************************************/
-/* This file is automatically generated using bindtool and can be manually edited */
-/* The following lines can be configured to regenerate this file during cmake */
-/* If manual edits are made, the following tags should be modified accordingly. */
-/* BINDTOOL_GEN_AUTOMATIC(0) */
-/* BINDTOOL_USE_PYGCCXML(0) */
-/* BINDTOOL_HEADER_FILE(cma_equalizer_cc.h) */
-/* BINDTOOL_HEADER_FILE_HASH(3d7ebc78bf6a6c712f19f13f3e20648a) */
-/***********************************************************************************/
-
-#include <pybind11/complex.h>
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-namespace py = pybind11;
-
-#include <gnuradio/digital/cma_equalizer_cc.h>
-// pydoc.h is automatically generated in the build directory
-#include <cma_equalizer_cc_pydoc.h>
-
-void bind_cma_equalizer_cc(py::module& m)
-{
-
- using cma_equalizer_cc = ::gr::digital::cma_equalizer_cc;
-
-
- py::class_<cma_equalizer_cc,
- gr::sync_decimator,
- gr::sync_block,
- gr::block,
- gr::basic_block,
- std::shared_ptr<cma_equalizer_cc>>(
- m, "cma_equalizer_cc", D(cma_equalizer_cc))
-
- .def(py::init(&cma_equalizer_cc::make),
- py::arg("num_taps"),
- py::arg("modulus"),
- py::arg("mu"),
- py::arg("sps"),
- D(cma_equalizer_cc, make))
-
-
- .def("set_taps",
- &cma_equalizer_cc::set_taps,
- py::arg("taps"),
- D(cma_equalizer_cc, set_taps))
-
-
- .def("taps", &cma_equalizer_cc::taps, D(cma_equalizer_cc, taps))
-
-
- .def("gain", &cma_equalizer_cc::gain, D(cma_equalizer_cc, gain))
-
-
- .def("set_gain",
- &cma_equalizer_cc::set_gain,
- py::arg("mu"),
- D(cma_equalizer_cc, set_gain))
-
-
- .def("modulus", &cma_equalizer_cc::modulus, D(cma_equalizer_cc, modulus))
-
-
- .def("set_modulus",
- &cma_equalizer_cc::set_modulus,
- py::arg("mod"),
- D(cma_equalizer_cc, set_modulus))
-
- ;
-}
diff --git a/gr-digital/python/digital/bindings/docstrings/cma_equalizer_cc_pydoc_template.h b/gr-digital/python/digital/bindings/docstrings/cma_equalizer_cc_pydoc_template.h
deleted file mode 100644
index ae3a5c5df9..0000000000
--- a/gr-digital/python/digital/bindings/docstrings/cma_equalizer_cc_pydoc_template.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-#include "pydoc_macros.h"
-#define D(...) DOC(gr, digital, __VA_ARGS__)
-/*
- This file contains placeholders for docstrings for the Python bindings.
- Do not edit! These were automatically extracted during the binding process
- and will be overwritten during the build process
- */
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_cma_equalizer_cc_0 = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_cma_equalizer_cc_1 = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_make = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_set_taps = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_taps = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_gain = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_set_gain = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_modulus = R"doc()doc";
-
-
-static const char* __doc_gr_digital_cma_equalizer_cc_set_modulus = R"doc()doc";
diff --git a/gr-digital/python/digital/bindings/docstrings/kurtotic_equalizer_cc_pydoc_template.h b/gr-digital/python/digital/bindings/docstrings/kurtotic_equalizer_cc_pydoc_template.h
deleted file mode 100644
index 135c9699e8..0000000000
--- a/gr-digital/python/digital/bindings/docstrings/kurtotic_equalizer_cc_pydoc_template.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-#include "pydoc_macros.h"
-#define D(...) DOC(gr, digital, __VA_ARGS__)
-/*
- This file contains placeholders for docstrings for the Python bindings.
- Do not edit! These were automatically extracted during the binding process
- and will be overwritten during the build process
- */
-
-
-static const char* __doc_gr_digital_kurtotic_equalizer_cc = R"doc()doc";
-
-
-static const char* __doc_gr_digital_kurtotic_equalizer_cc_kurtotic_equalizer_cc_0 =
- R"doc()doc";
-
-
-static const char* __doc_gr_digital_kurtotic_equalizer_cc_kurtotic_equalizer_cc_1 =
- R"doc()doc";
-
-
-static const char* __doc_gr_digital_kurtotic_equalizer_cc_make = R"doc()doc";
-
-
-static const char* __doc_gr_digital_kurtotic_equalizer_cc_gain = R"doc()doc";
-
-
-static const char* __doc_gr_digital_kurtotic_equalizer_cc_set_gain = R"doc()doc";
diff --git a/gr-digital/python/digital/bindings/docstrings/lms_dd_equalizer_cc_pydoc_template.h b/gr-digital/python/digital/bindings/docstrings/lms_dd_equalizer_cc_pydoc_template.h
deleted file mode 100644
index 88b45955a9..0000000000
--- a/gr-digital/python/digital/bindings/docstrings/lms_dd_equalizer_cc_pydoc_template.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-#include "pydoc_macros.h"
-#define D(...) DOC(gr, digital, __VA_ARGS__)
-/*
- This file contains placeholders for docstrings for the Python bindings.
- Do not edit! These were automatically extracted during the binding process
- and will be overwritten during the build process
- */
-
-
-static const char* __doc_gr_digital_lms_dd_equalizer_cc = R"doc()doc";
-
-
-static const char* __doc_gr_digital_lms_dd_equalizer_cc_lms_dd_equalizer_cc_0 =
- R"doc()doc";
-
-
-static const char* __doc_gr_digital_lms_dd_equalizer_cc_lms_dd_equalizer_cc_1 =
- R"doc()doc";
-
-
-static const char* __doc_gr_digital_lms_dd_equalizer_cc_make = R"doc()doc";
-
-
-static const char* __doc_gr_digital_lms_dd_equalizer_cc_set_taps = R"doc()doc";
-
-
-static const char* __doc_gr_digital_lms_dd_equalizer_cc_taps = R"doc()doc";
-
-
-static const char* __doc_gr_digital_lms_dd_equalizer_cc_gain = R"doc()doc";
-
-
-static const char* __doc_gr_digital_lms_dd_equalizer_cc_set_gain = R"doc()doc";
diff --git a/gr-digital/python/digital/bindings/kurtotic_equalizer_cc_python.cc b/gr-digital/python/digital/bindings/kurtotic_equalizer_cc_python.cc
deleted file mode 100644
index e9aa8d1778..0000000000
--- a/gr-digital/python/digital/bindings/kurtotic_equalizer_cc_python.cc
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-/***********************************************************************************/
-/* This file is automatically generated using bindtool and can be manually edited */
-/* The following lines can be configured to regenerate this file during cmake */
-/* If manual edits are made, the following tags should be modified accordingly. */
-/* BINDTOOL_GEN_AUTOMATIC(0) */
-/* BINDTOOL_USE_PYGCCXML(0) */
-/* BINDTOOL_HEADER_FILE(kurtotic_equalizer_cc.h) */
-/* BINDTOOL_HEADER_FILE_HASH(9d3ee736116dcbe107ddaccf5d2ed7f6) */
-/***********************************************************************************/
-
-#include <pybind11/complex.h>
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-namespace py = pybind11;
-
-#include <gnuradio/digital/kurtotic_equalizer_cc.h>
-// pydoc.h is automatically generated in the build directory
-#include <kurtotic_equalizer_cc_pydoc.h>
-
-void bind_kurtotic_equalizer_cc(py::module& m)
-{
-
- using kurtotic_equalizer_cc = ::gr::digital::kurtotic_equalizer_cc;
-
-
- py::class_<kurtotic_equalizer_cc,
- gr::sync_decimator,
- gr::sync_block,
- gr::block,
- gr::basic_block,
- std::shared_ptr<kurtotic_equalizer_cc>>(
- m, "kurtotic_equalizer_cc", D(kurtotic_equalizer_cc))
-
- .def(py::init(&kurtotic_equalizer_cc::make),
- py::arg("num_taps"),
- py::arg("mu"),
- D(kurtotic_equalizer_cc, make))
-
-
- .def("gain", &kurtotic_equalizer_cc::gain, D(kurtotic_equalizer_cc, gain))
-
-
- .def("set_gain",
- &kurtotic_equalizer_cc::set_gain,
- py::arg("mu"),
- D(kurtotic_equalizer_cc, set_gain))
-
- ;
-}
diff --git a/gr-digital/python/digital/bindings/lms_dd_equalizer_cc_python.cc b/gr-digital/python/digital/bindings/lms_dd_equalizer_cc_python.cc
deleted file mode 100644
index db74ff1d37..0000000000
--- a/gr-digital/python/digital/bindings/lms_dd_equalizer_cc_python.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-/***********************************************************************************/
-/* This file is automatically generated using bindtool and can be manually edited */
-/* The following lines can be configured to regenerate this file during cmake */
-/* If manual edits are made, the following tags should be modified accordingly. */
-/* BINDTOOL_GEN_AUTOMATIC(0) */
-/* BINDTOOL_USE_PYGCCXML(0) */
-/* BINDTOOL_HEADER_FILE(lms_dd_equalizer_cc.h) */
-/* BINDTOOL_HEADER_FILE_HASH(2a05788ef6fd117e807fabb019bf2cac) */
-/***********************************************************************************/
-
-#include <pybind11/complex.h>
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-namespace py = pybind11;
-
-#include <gnuradio/digital/lms_dd_equalizer_cc.h>
-// pydoc.h is automatically generated in the build directory
-#include <lms_dd_equalizer_cc_pydoc.h>
-
-void bind_lms_dd_equalizer_cc(py::module& m)
-{
-
- using lms_dd_equalizer_cc = ::gr::digital::lms_dd_equalizer_cc;
-
-
- py::class_<lms_dd_equalizer_cc,
- gr::sync_decimator,
- gr::sync_block,
- gr::block,
- gr::basic_block,
- std::shared_ptr<lms_dd_equalizer_cc>>(
- m, "lms_dd_equalizer_cc", D(lms_dd_equalizer_cc))
-
- .def(py::init(&lms_dd_equalizer_cc::make),
- py::arg("num_taps"),
- py::arg("mu"),
- py::arg("sps"),
- py::arg("cnst"),
- D(lms_dd_equalizer_cc, make))
-
-
- .def("set_taps",
- &lms_dd_equalizer_cc::set_taps,
- py::arg("taps"),
- D(lms_dd_equalizer_cc, set_taps))
-
-
- .def("taps", &lms_dd_equalizer_cc::taps, D(lms_dd_equalizer_cc, taps))
-
-
- .def("gain", &lms_dd_equalizer_cc::gain, D(lms_dd_equalizer_cc, gain))
-
-
- .def("set_gain",
- &lms_dd_equalizer_cc::set_gain,
- py::arg("mu"),
- D(lms_dd_equalizer_cc, set_gain))
-
- ;
-}
diff --git a/gr-digital/python/digital/bindings/python_bindings.cc b/gr-digital/python/digital/bindings/python_bindings.cc
index 2bb0070260..0cf304cf95 100644
--- a/gr-digital/python/digital/bindings/python_bindings.cc
+++ b/gr-digital/python/digital/bindings/python_bindings.cc
@@ -25,7 +25,6 @@ void bind_burst_shaper(py::module&);
void bind_chunks_to_symbols(py::module&);
void bind_clock_recovery_mm_cc(py::module&);
void bind_clock_recovery_mm_ff(py::module&);
-void bind_cma_equalizer_cc(py::module&);
void bind_constellation(py::module&);
void bind_constellation_decoder_cb(py::module&);
void bind_constellation_encoder_bc(py::module&);
@@ -62,10 +61,8 @@ void bind_header_format_default(py::module&);
void bind_header_format_ofdm(py::module&);
void bind_header_payload_demux(py::module&);
void bind_interpolating_resampler_type(py::module&);
-void bind_kurtotic_equalizer_cc(py::module&);
void bind_lfsr(py::module&);
void bind_linear_equalizer(py::module&);
-void bind_lms_dd_equalizer_cc(py::module&);
void bind_map_bb(py::module&);
void bind_meas_evm_cc(py::module&);
void bind_metric_type(py::module&);
@@ -133,7 +130,6 @@ PYBIND11_MODULE(digital_python, m)
bind_chunks_to_symbols(m);
bind_clock_recovery_mm_cc(m);
bind_clock_recovery_mm_ff(m);
- bind_cma_equalizer_cc(m);
bind_constellation(m);
bind_constellation_decoder_cb(m);
bind_constellation_encoder_bc(m);
@@ -170,10 +166,8 @@ PYBIND11_MODULE(digital_python, m)
bind_header_format_ofdm(m);
bind_header_payload_demux(m);
bind_interpolating_resampler_type(m);
- bind_kurtotic_equalizer_cc(m);
bind_lfsr(m);
bind_linear_equalizer(m);
- bind_lms_dd_equalizer_cc(m);
bind_map_bb(m);
bind_meas_evm_cc(m);
bind_metric_type(m);