diff options
Diffstat (limited to 'gr-digital/lib/cma_equalizer_cc_impl.h')
-rw-r--r-- | gr-digital/lib/cma_equalizer_cc_impl.h | 72 |
1 files changed, 0 insertions, 72 deletions
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 */ |