8 #ifndef INCLUDED_DPD_RLS_POSTDISTORTER_IMPL_H 9 #define INCLUDED_DPD_RLS_POSTDISTORTER_IMPL_H 22 std::vector<int> d_dpd_params;
23 gr_complexd d_pa_input, pa_input, error;
24 gr_complexd pa_input_smooth, pa_output_smooth;
25 gr_complexd sr1[10], sr2[10];
26 bool d_ack_predistorter_updated, ack_predistorter_updated;
27 const int K_a, L_a, K_b, M_b, L_b, M, M_bar;
28 const int sreg_len = 50;
30 const gr_complex* ptr_sreg = sreg;
31 std::vector<gr_complexd> taps;
33 int iteration, d_iter_limit;
36 double lambda, one_over_sqrt_lambda, eta, inv_sqrt_gamma_iMinus1;
37 cx_mat g_vec_iMinus1, g_vec_i, L_bar_iMinus1, w_i, w_iMinus1, A_mat, B_mat, g;
38 cx_fcolvec yy_cx_fcolvec;
39 cx_frowvec yy_cx_frowvec;
46 bool almost_equal(
double a,
double b,
double tol);
48 void givens_rotate(
const cx_mat& in, cx_mat& out);
50 void hgivens_rotate(
const cx_mat& in, cx_mat& out);
52 void extract_g_vecs(cx_mat& g,
53 cx_mat& g_vec_iMinus1,
63 void extract_postdistorted_y(
64 cx_fmat& y_in, cx_fmat& y,
int K_a,
int L_a,
int K_b,
int M_b,
int L_b,
int M);
66 void apply_rotations(
const cx_mat& A, cx_mat& B);
68 void gen_GMPvector(
const gr_complex*
const in,
75 cx_fcolvec& GMP_vector);
77 int work(
int noutput_items,
78 gr_vector_const_void_star& input_items,
79 gr_vector_void_star& output_items);
RLS based Algorithm implemented to estimate the coefficients of the behaviorial model (GMP) of the Po...
Definition: RLS_postdistorter.h:37
Definition: gain_phase_calibrate.h:14
Definition: RLS_postdistorter_impl.h:18