GNU Radio Manual and C++ API Reference  v3.9.2.0-89-gb7c7001e
The Free & Open Software Radio Ecosystem
kurtotic_equalizer_cc.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2011,2012 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_H
12 #define INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_H
13 
14 #include <gnuradio/digital/api.h>
16 
17 namespace gr {
18 namespace digital {
19 
20 /*!
21  * \brief Implements a kurtosis-based adaptive equalizer on complex stream
22  * \ingroup equalizers_blk
23  * \ingroup deprecated_blk
24  *
25  * \details
26  * Warning: This block does not yet work.
27  *
28  * "Y. Guo, J. Zhao, Y. Sun, "Sign kurtosis maximization based blind
29  * equalization algorithm," IEEE Conf. on Control, Automation,
30  * Robotics and Vision, Vol. 3, Dec. 2004, pp. 2052 - 2057."
31  */
33 {
34 protected:
35  virtual gr_complex error(const gr_complex& out) = 0;
36  virtual void update_tap(gr_complex& tap, const gr_complex& in) = 0;
37 
38 public:
39  // gr::digital::kurtotic_equalizer_cc::sptr
40  typedef std::shared_ptr<kurtotic_equalizer_cc> sptr;
41 
42  static sptr make(int num_taps, float mu);
43 
44  virtual float gain() const = 0;
45  virtual void set_gain(float mu) = 0;
46 };
47 
48 } /* namespace digital */
49 } /* namespace gr */
50 
51 #endif /* INCLUDED_DIGITAL_KURTOTIC_EQUALIZER_CC_H */
Implements a kurtosis-based adaptive equalizer on complex stream.
Definition: kurtotic_equalizer_cc.h:33
virtual float gain() const =0
virtual void set_gain(float mu)=0
std::shared_ptr< kurtotic_equalizer_cc > sptr
Definition: kurtotic_equalizer_cc.h:40
static sptr make(int num_taps, float mu)
virtual void update_tap(gr_complex &tap, const gr_complex &in)=0
virtual gr_complex error(const gr_complex &out)=0
synchronous N:1 input to output with history
Definition: sync_decimator.h:26
#define DIGITAL_API
Definition: gr-digital/include/gnuradio/digital/api.h:18
std::complex< float > gr_complex
Definition: gr_complex.h:15
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition: basic_block.h:29