GNU Radio 3.7.1 C++ API
gr::digital::cma_equalizer_cc Class Reference

Implements constant modulus adaptive filter on complex stream. More...

#include <cma_equalizer_cc.h>

Inheritance diagram for gr::digital::cma_equalizer_cc:

List of all members.

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_complextaps () 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

Detailed Description

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.


Member Typedef Documentation


Member Function Documentation

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

Parameters:
num_tapsNumer of taps in the equalizer (channel size)
modulusModulus of the modulated signals
muGain of the update loop
spsNumber 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]

The documentation for this class was generated from the following file: