21#ifndef INCLUDED_ADAPT_RLS_FILTER_CC_IMPL_H
22#define INCLUDED_ADAPT_RLS_FILTER_CC_IMPL_H
29#include <gnuradio/filter/fir_filter.h>
36 void init_internals();
40 arma::cx_fvec d_new_taps;
43 std::vector<gr_complex> d_new_taps;
44 std::vector<std::vector<gr_complex>> d_P;
49 float d_delta, d_lambda;
51 bool d_adapt, d_reset;
54 gr_complex
error(
const gr_complex& desired,
const gr_complex& out);
68 const std::vector<gr_complex>&
get_taps()
override;
69 void set_taps(
const std::vector<gr_complex>& new_taps)
override;
82 int work(
int noutput_items,
83 gr_vector_const_void_star& input_items,
84 gr_vector_void_star& output_items);
Definition: rls_filter_cc_impl.h:34
void set_lambda(float lambda) override
void update_tap(gr_complex &tap, const gr_complex &in)
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
~rls_filter_cc_impl()=default
void set_adapt(bool adapt) override
void set_delta(float delta) override
float get_delta() const override
unsigned get_skip() const override
float get_lambda() const override
void set_skip(unsigned skip) override
bool get_reset() const override
const std::vector< gr_complex > & get_taps() override
void set_taps(const std::vector< gr_complex > &new_taps) override
void set_reset(bool reset) override
bool get_adapt() const override
gr_complex error(const gr_complex &desired, const gr_complex &out)
rls_filter_cc_impl(bool firs_input, int num_taps, float mu, float eps, unsigned skip, unsigned decimation, bool adapt, bool reset)
Recursive Least Squares Adaptive Filter (complex in/out)
Definition: rls_filter_cc.h:38
Definition: iqrd_rls_filter_cc.h:28