GNU Radio's DPD Package
stream_to_gmp_vector.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_STREAM_TO_GMP_VECTOR_H
9 #define INCLUDED_DPD_STREAM_TO_GMP_VECTOR_H
10 
11 #include <gnuradio/sync_block.h>
12 #include <dpd/api.h>
13 
14 namespace gr {
15 namespace dpd {
16 
17 /*!
18  * \brief Converts a stream of single complex data items into corresponding
19  * GMP vectors based on GMP model parameters using input items history.
20  * \ingroup dpd
21  *
22  * \details
23  * Both Input and Output items are complex.
24  * GMP vectors are shift-structured vectors.
25  * Input is a single item but output is of order, say M (length of GMP vector
26  * based on parameters).
27  *
28  */
29 class DPD_API stream_to_gmp_vector : virtual public gr::sync_block
30 {
31 public:
32  typedef boost::shared_ptr<stream_to_gmp_vector> sptr;
33 
34  /*!
35  * \brief Make stream_to_gmp_vector block
36  *
37  * \param dpd_params The (K_a, L_a, K_b, L_b, M_b) int_vector denoting
38  * the GMP model parameters used to determine the order and generate
39  * the GMP vector corresponding to each input data item.
40  *
41  */
42  static sptr make(const std::vector<int>& dpd_params);
43 };
44 
45 } // namespace dpd
46 } // namespace gr
47 
48 #endif /* INCLUDED_DPD_STREAM_TO_GMP_VECTOR_H */
Definition: gain_phase_calibrate.h:14
boost::shared_ptr< stream_to_gmp_vector > sptr
Definition: stream_to_gmp_vector.h:32
#define DPD_API
Definition: api.h:19
Converts a stream of single complex data items into corresponding GMP vectors based on GMP model para...
Definition: stream_to_gmp_vector.h:29