diff options
author | Josh Morman <jmorman@perspectalabs.com> | 2021-03-25 11:14:55 -0400 |
---|---|---|
committer | mormj <34754695+mormj@users.noreply.github.com> | 2021-04-21 14:02:57 -0400 |
commit | 65bd288a2804ef10c5ccac322cb5209907bb5d96 (patch) | |
tree | d8d5e689e4546be6ee494ad8c7bff6e59286dfd5 /gr-digital/include | |
parent | 50c48b3321d59ff6fa296d672a723787f32e5345 (diff) |
digital: remove deprecated equalizers
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
Diffstat (limited to 'gr-digital/include')
4 files changed, 0 insertions, 205 deletions
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 */ |