GNU Radio 3.7.1 C++ API
|
Implements constant modulus adaptive filter on complex stream. More...
#include <cma_equalizer_cc.h>
Public Types | |
typedef boost::shared_ptr < cma_equalizer_cc > | sptr |
Public Member Functions | |
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 |
Static Public Member Functions | |
static sptr | make (int num_taps, float modulus, float mu, int sps) |
Protected Member Functions | |
virtual gr_complex | error (const gr_complex &out)=0 |
virtual void | update_tap (gr_complex &tap, const gr_complex &in)=0 |
Implements constant modulus adaptive filter on complex stream.
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.
virtual gr_complex gr::digital::cma_equalizer_cc::error | ( | const gr_complex & | out | ) | [protected, pure virtual] |
virtual float gr::digital::cma_equalizer_cc::gain | ( | ) | const [pure virtual] |
static sptr gr::digital::cma_equalizer_cc::make | ( | int | num_taps, |
float | modulus, | ||
float | mu, | ||
int | sps | ||
) | [static] |
Make a CMA Equalizer block
num_taps | Numer of taps in the equalizer (channel size) |
modulus | Modulus of the modulated signals |
mu | Gain of the update loop |
sps | Number of samples per symbol of the input signal |
virtual float gr::digital::cma_equalizer_cc::modulus | ( | ) | const [pure virtual] |
virtual void gr::digital::cma_equalizer_cc::set_gain | ( | float | mu | ) | [pure virtual] |
virtual void gr::digital::cma_equalizer_cc::set_modulus | ( | float | mod | ) | [pure virtual] |
virtual void gr::digital::cma_equalizer_cc::set_taps | ( | const std::vector< gr_complex > & | taps | ) | [pure virtual] |
virtual std::vector<gr_complex> gr::digital::cma_equalizer_cc::taps | ( | ) | const [pure virtual] |
virtual void gr::digital::cma_equalizer_cc::update_tap | ( | gr_complex & | tap, |
const gr_complex & | in | ||
) | [protected, pure virtual] |