eqlms_cccf
Variants: eqlms_cccf, eqlms_rrrf
Least mean-squares equalization object
Public Functions
eqlms_cccf | eqlms_cccf_create( |
eqlms_cccf | eqlms_cccf_create_rnyquist( |
eqlms_cccf | eqlms_cccf_create_lowpass( |
eqlms_cccf | eqlms_cccf_recreate( |
eqlms_cccf | eqlms_cccf_copy( |
int | eqlms_cccf_destroy( |
int | eqlms_cccf_reset( |
int | eqlms_cccf_print( |
float | eqlms_cccf_get_bw( |
int | eqlms_cccf_set_bw( |
unsigned int | eqlms_cccf_get_length( |
const float complex * | eqlms_cccf_get_coefficients( |
int | eqlms_cccf_copy_coefficients( |
void | eqlms_cccf_get_weights( |
int | eqlms_cccf_push( |
int | eqlms_cccf_push_block( |
int | eqlms_cccf_execute( |
int | eqlms_cccf_decim_execute( |
int | eqlms_cccf_execute_block( |
int | eqlms_cccf_step( |
int | eqlms_cccf_step_blind( |
int | eqlms_cccf_train( |
Interfaces
eqlms_cccf eqlms_cccf_create(
Create LMS EQ initialized with external coefficients
- _h : filter coefficients; set to NULL for {1,0,0...}, shape: (_n, 1)
- _n : filter length
eqlms_cccf eqlms_cccf_create_rnyquist(
Create LMS EQ initialized with square-root Nyquist prototype filter as initial set of coefficients. This is useful for applications where the baseline matched filter is a good starting point, but where equalization is needed to properly remove inter-symbol interference. The filter length is \(2 k m + 1\)
- _type : filter type (e.g. LIQUID_FIRFILT_RRC)
- _k : samples/symbol
- _m : filter delay (symbols)
- _beta : rolloff factor (0 < beta <= 1)
- _dt : fractional sample delay
eqlms_cccf eqlms_cccf_create_lowpass(
Create LMS EQ initialized with low-pass filter
- _n : filter length
- _fc : filter cut-off normalized to sample rate, 0 < _fc <= 0.5
eqlms_cccf eqlms_cccf_recreate(
Recreate LMS EQ initialized with external coefficients
- _q : old equalization object
- _h : filter coefficients; set to NULL for {1,0,0...}, shape: (_n, 1)
- _n : filter length
eqlms_cccf eqlms_cccf_copy(
Copy object including all internal objects and state
int eqlms_cccf_destroy(
Destroy equalizer object, freeing all internal memory
int eqlms_cccf_reset(
Reset equalizer object, clearing internal state
int eqlms_cccf_print(
Print equalizer internal state
float eqlms_cccf_get_bw(
Get equalizer learning rate
int eqlms_cccf_set_bw(
Set equalizer learning rate
- _q : equalizer object
- _lambda : learning rate, 0 < _lambda
unsigned int eqlms_cccf_get_length(
Get length of equalizer object (number of internal coefficients)
const float complex * eqlms_cccf_get_coefficients(
Get pointer to coefficients array
int eqlms_cccf_copy_coefficients(
Copy internal coefficients to external buffer
- _q : filter object
- _w : pointer to output coefficients array, shape: (_n, 1)
void eqlms_cccf_get_weights(
Get equalizer's internal coefficients
Warning: This method is deprecated. use eqlms_xxxt_copy_coefficients(...) instead
- _q : filter object
- _w : pointer to output coefficients array, shape: (_n, 1)
int eqlms_cccf_push(
Push sample into equalizer internal buffer
- _q : equalizer object
- _x : input sample
int eqlms_cccf_push_block(
Push block of samples into internal buffer of equalizer object
- _q : equalizer object
- _x : input sample array, shape: (_n, 1)
- _n : input sample array length
int eqlms_cccf_execute(
Execute internal dot product and return result
- _q : equalizer object
- _y : output sample
int eqlms_cccf_decim_execute(
Execute equalizer as decimator
- _q : equalizer object
- _x : input sample array, shape: (_k, 1)
- _y : output sample
- _k : down-sampling rate
int eqlms_cccf_execute_block(
Execute equalizer with block of samples using constant modulus algorithm, operating on a decimation rate of _k samples.
- _q : equalizer object
- _k : down-sampling rate
- _x : input sample array, shape: (_n, 1)
- _n : input sample array length
- _y : output sample array, shape: (_n, 1)
int eqlms_cccf_step(
Step through one cycle of equalizer training
- _q : equalizer object
- _d : desired output
- _d_hat : actual output
int eqlms_cccf_step_blind(
Step through one cycle of equalizer training (blind)
- _q : equalizer object
- _d_hat : actual output
int eqlms_cccf_train(
Train equalizer object on group of samples
Warning: This method is deprecated. method provides complexity with little benefit
- _q : equalizer object
- _w : input/output weights, shape: (_p, 1)
- _x : received sample vector, shape: (_n, 1)
- _d : desired output vector, shape: (_n, 1)
- _n : input, output vector length