GNU Radio's DPD Package
RLS_postdistorter.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2020 Alekh Gupta
4  *
5  * SPDX-License-Identifier: GPL-3.0-or-later
6  */
7 
8 #ifndef INCLUDED_DPD_RLS_POSTDISTORTER_H
9 #define INCLUDED_DPD_RLS_POSTDISTORTER_H
10 
11 #include <gnuradio/sync_block.h>
12 #include <dpd/api.h>
13 
14 namespace gr {
15 namespace dpd {
16 
17 /*!
18  * \brief RLS based Algorithm implemented to estimate the coefficients of the
19  * behaviorial model (GMP) of the Power Amplifier and thus predistorter taps.
20  * \ingroup dpd
21  *
22  * \details
23  * It estimates the coefficients based on the PA_output and PA_input.
24  *
25  * It has two input ports, one for the PA_output (gain phase calibrated) and
26  * other for the PA_input (or predistorter output).
27  *
28  * The coefficients estimated are passed as messages through message output
29  * port 'taps'.
30  * Both Input ports are only for Complex Data Type.
31  *
32  * The Fast RLS Algorithm used in coefficient estimations is referenced from the
33  * publication: S. Pagadarai, R. Grover, S. J. Macmullan and A. M. Wyglinski,
34  * "Digital Predistortion of Power Amplifiers for Spectrally Agile Wireless
35  * Transmitters."
36  */
37 class DPD_API RLS_postdistorter : virtual public gr::sync_block
38 {
39 public:
40  typedef boost::shared_ptr<RLS_postdistorter> sptr;
41 
42  /*!
43  * \brief Make RLS_postdistorter block
44  *
45  * \param dpd_params The (K_a, L_a, K_b, L_b, M_b) int_vector denoting the
46  * GMP model parameters used for predistorter coefficients estimations.
47  * Total No. of coefficients = ((K_a * L_a) + (K_b * M_b * L_b))
48  * \param iter_limit Iteration limit or Max. number of iterations of training
49  * to be performed for predistorter DPD coefficients estimation.
50  *
51  *
52  */
53  static sptr make(const std::vector<int>& dpd_params, int iter_limit);
54 };
55 
56 } // namespace dpd
57 } // namespace gr
58 
59 #endif /* INCLUDED_DPD_RLS_POSTDISTORTER_H */
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
#define DPD_API
Definition: api.h:19
boost::shared_ptr< RLS_postdistorter > sptr
Definition: RLS_postdistorter.h:40