itpp_sci  1.0.0
it++ based simulation framework for scicoslab, scilab and scipy
sim_lsr.hpp
1 /*xxx
2 * \brief - SIM::lsr - SIM layer implementation of linear shift register
3 * \author maki
4 */
5 
6 
7 
8 #ifndef SIM_LSR_HPP
9 #define SIM_LSR_HPP
10 
11 #include <itpp/itbase.h>
12 
13 
14 using namespace itpp;
15 using namespace std;
16 
17 namespace SIM
18 {
19 
35 class lsr
36 {
37 private:
38  bvec y0;
39  bvec s0;
40  int symbol_size;
41  bvec memory;
42  bvec shift(const bvec &bvin);
43 
44 public:
45  lsr()
46  {
47 
48  };
49 
50  ~lsr()
51  {
52 
53  };
54 
60  void set_length(int L);
61 
68  void set_symbol_size(int W);
69 
74  void set_reset_state(const bvec &binit);
75 
80  void set_output(const bvec &yout);
81 
85  void set_state(const bvec &state);
86 
90  bvec get_state(void);
91 
95  bvec get_reset_state();
96 
100  bvec get_output();
101 
105  int get_length(void);
106 
110  int get_symbol_size();
111 
118  bmat process(const bvec &ce, const bmat &x);
119 
120 };
121 
122 }
123 #endif //SIM_lsr
~lsr()
Definition: sim_lsr.hpp:50
SIM layer implements low level simulation models with itpp base classes as operational types...
Definition: sim_amp.hpp:15
lsr()
Definition: sim_lsr.hpp:45
linear shift register Core function: SIM::lsr.process()
Definition: sim_lsr.hpp:35
Definition: _sci_assert.cpp:35