11#ifndef INCLUDED_DIGITAL_LINEAR_EQUALIZER_H 
   12#define INCLUDED_DIGITAL_LINEAR_EQUALIZER_H 
   34    typedef std::shared_ptr<linear_equalizer> 
sptr;
 
   63         adaptive_algorithm_sptr alg,
 
   64         bool adapt_after_training = 
true,
 
   65         std::vector<gr_complex> training_sequence = std::vector<gr_complex>(),
 
   66         const std::string& training_start_tag = 
"");
 
   69    virtual std::vector<gr_complex> 
taps() 
const = 0;
 
   93        unsigned int num_inputs,
 
   94        unsigned int max_num_outputs,
 
   95        std::vector<unsigned int> training_start_samples = std::vector<unsigned int>(0),
 
   96        bool history_included = 
false,
 
   98        unsigned short* state = 
nullptr) = 0;
 
 
Linear Equalizer block provides linear equalization using a specified adaptive algorithm.
Definition linear_equalizer.h:31
std::shared_ptr< linear_equalizer > sptr
Definition linear_equalizer.h:34
virtual void set_taps(const std::vector< gr_complex > &taps)=0
virtual int equalize(const gr_complex *input_samples, gr_complex *output_symbols, unsigned int num_inputs, unsigned int max_num_outputs, std::vector< unsigned int > training_start_samples=std::vector< unsigned int >(0), bool history_included=false, gr_complex *taps=nullptr, unsigned short *state=nullptr)=0
Public "work" function - equalize a block of input samples.
virtual std::vector< gr_complex > taps() const =0
static sptr make(unsigned num_taps, unsigned sps, adaptive_algorithm_sptr alg, bool adapt_after_training=true, std::vector< gr_complex > training_sequence=std::vector< gr_complex >(), const std::string &training_start_tag="")
Return a shared_ptr to a new instance of gr::digital::linear_equalizer.
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
Definition adaptive_algorithm.h:22
GNU Radio logging wrapper.
Definition basic_block.h:29