itpp_sci  1.0.0
it++ based simulation framework for scicoslab, scilab and scipy
sim_qam_mod.hpp
1 /*xxx
2 * \brief - SIM::qam_mod - SIM layer implementation of QAM modulator
3 * \author maki
4 */
5 
6 
7 
8 #ifndef SIM_QAM_MOD_HPP
9 #define SIM_QAM_MOD_HPP
10 
11 #include <itpp/itbase.h>
12 #include <itpp/itcomm.h>
13 
14 #include <complex>
15 #include "sim\_sim_extension.hpp"
16 
17 
18 using namespace itpp;
19 using namespace std;
20 
21 namespace SIM
22 {
23 
28 class qam_mod : public itpp::QAM
29 {
30 private:
31  complexd y0;
32  int M;
33  double scale;
34 
35 public:
37  {
38  y0 = complexd(0, 0); // this is very likely not valid, but better than trash
39  };
40 
42  {
43  };
44 
48  void set_size(int m);
49 
53  void set_scale(double s);
54 
58  void set_output(complexd yout);
59 
63  int get_size();
64 
68  double get_scale();
69 
73  complexd get_output();
74 
80  cvec process(const bvec &ce, const ivec &x);
81 
82 };
83 
84 
85 }
86 #endif //SIM_qam_mod
qam_mod()
Definition: sim_qam_mod.hpp:36
QAM modulator Core function: SIM::qam_mod.process() .
Definition: sim_qam_mod.hpp:28
SIM layer implements low level simulation models with itpp base classes as operational types...
Definition: sim_amp.hpp:15
~qam_mod()
Definition: sim_qam_mod.hpp:41
Definition: _sci_assert.cpp:35