GNU Radio's DPD Package
gr::dpd::LMS_postdistorter Class Reference

LMS based Algorithm implemented to estimate the coefficients of the behaviorial model (GMP) of the Power Amplifier and thus predistorter taps. More...

#include <LMS_postdistorter.h>

Inheritance diagram for gr::dpd::LMS_postdistorter:
gr::dpd::LMS_postdistorter_impl

Public Types

typedef boost::shared_ptr< LMS_postdistortersptr
 

Static Public Member Functions

static sptr make (const std::vector< int > &dpd_params, int iter_limit, std::string method)
 Make LMS_postdistorter. More...
 

Detailed Description

LMS based Algorithm implemented to estimate the coefficients of the behaviorial model (GMP) of the Power Amplifier and thus predistorter taps.

It estimates the coefficients based on the PA_output and PA_input. It uses the LMS (Least Mean Squares) Algorithm with two methods options, namely, Newton based and EMA based methods.

It has two input ports, one for the PA_output (gain phase calibrated) and other for the PA_input (or predistorter output).

The coefficients estimated are passed as messages through message output port 'taps'. Both Input ports are only for Complex Data Type.

Member Typedef Documentation

◆ sptr

Member Function Documentation

◆ make()

static sptr gr::dpd::LMS_postdistorter::make ( const std::vector< int > &  dpd_params,
int  iter_limit,
std::string  method 
)
static

Make LMS_postdistorter.

Parameters
dpd_paramsThe (K_a, L_a, K_b, L_b, M_b) int_vector denoting the GMP model parameters used for predistorter 'taps' estimation. Total No. of coefficients = ((K_a * L_a) + (K_b * M_b * L_b))
iter_limitIteration limit or Max. number of iterations of training to be performed for predistorter DPD coefficients estimation.
methodMethod of LMS algorithm used for coefficients estimation, i.e., Newton or EMA based method.

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