GNU Radio's ADAPT Package
gr::adapt::lms_filter_cc Class Referenceabstract

Least Mean Squares Adaptive Filter (complex in/out) More...

#include <lms_filter_cc.h>

Inheritance diagram for gr::adapt::lms_filter_cc:

Public Types

typedef boost::shared_ptr< lms_filter_ccsptr
 

Public Member Functions

virtual void set_taps (const std::vector< gr_complex > &taps)=0
 
virtual const std::vector< gr_complex > & get_taps ()=0
 
virtual float get_mu () const =0
 
virtual void set_mu (float mu)=0
 
virtual unsigned get_skip () const =0
 
virtual void set_skip (unsigned skip)=0
 
virtual bool get_adapt () const =0
 
virtual void set_adapt (bool adapt)=0
 
virtual bool get_bypass () const =0
 
virtual void set_bypass (bool bypass)=0
 
virtual bool get_reset () const =0
 
virtual void set_reset (bool reset)=0
 

Static Public Member Functions

static sptr make (bool first_input, int num_taps, float mu, unsigned skip, unsigned decimation, bool adapt, bool bypass, bool reset)
 

Protected Member Functions

virtual gr_complex error (const gr_complex &desired, const gr_complex &out)=0
 
virtual void update_tap (gr_complex &tap, const gr_complex &in)=0
 

Detailed Description

Least Mean Squares Adaptive Filter (complex in/out)

This block implements a complex LMS-based adaptive filter [1].

[1] Widrow, Bernard, John McCool, and Michael Ball. "The complex LMS algorithm." Proceedings of the IEEE 63.4 (1975): 719-720.

Member Typedef Documentation

◆ sptr

typedef boost::shared_ptr<lms_filter_cc> gr::adapt::lms_filter_cc::sptr

Member Function Documentation

◆ error()

virtual gr_complex gr::adapt::lms_filter_cc::error ( const gr_complex &  desired,
const gr_complex &  out 
)
protectedpure virtual

◆ get_adapt()

virtual bool gr::adapt::lms_filter_cc::get_adapt ( ) const
pure virtual

◆ get_bypass()

virtual bool gr::adapt::lms_filter_cc::get_bypass ( ) const
pure virtual

◆ get_mu()

virtual float gr::adapt::lms_filter_cc::get_mu ( ) const
pure virtual

◆ get_reset()

virtual bool gr::adapt::lms_filter_cc::get_reset ( ) const
pure virtual

◆ get_skip()

virtual unsigned gr::adapt::lms_filter_cc::get_skip ( ) const
pure virtual

◆ get_taps()

virtual const std::vector< gr_complex > & gr::adapt::lms_filter_cc::get_taps ( )
pure virtual

◆ make()

static sptr gr::adapt::lms_filter_cc::make ( bool  first_input,
int  num_taps,
float  mu,
unsigned  skip,
unsigned  decimation,
bool  adapt,
bool  bypass,
bool  reset 
)
static

Make an LMS adaptive filter

Parameters
first_inputSpecifies whether first input is reference or error signal (bool)
num_tapsNumber of taps in the filter (int)
muGain of the update loop (float)
skipSpecifies how many samples are skipped between successive filter updates (unsigned)
decimationDecimation rate of the filter (unsigned)
adaptControls whether filter taps are being updated (bool)
bypassBypass filter (bool)
resetReset filter taps (bool)

◆ set_adapt()

virtual void gr::adapt::lms_filter_cc::set_adapt ( bool  adapt)
pure virtual

◆ set_bypass()

virtual void gr::adapt::lms_filter_cc::set_bypass ( bool  bypass)
pure virtual

◆ set_mu()

virtual void gr::adapt::lms_filter_cc::set_mu ( float  mu)
pure virtual

◆ set_reset()

virtual void gr::adapt::lms_filter_cc::set_reset ( bool  reset)
pure virtual

◆ set_skip()

virtual void gr::adapt::lms_filter_cc::set_skip ( unsigned  skip)
pure virtual

◆ set_taps()

virtual void gr::adapt::lms_filter_cc::set_taps ( const std::vector< gr_complex > &  taps)
pure virtual

◆ update_tap()

virtual void gr::adapt::lms_filter_cc::update_tap ( gr_complex &  tap,
const gr_complex &  in 
)
protectedpure virtual

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