trellis_siso_f.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef INCLUDED_TRELLIS_SISO_F_H
00024 #define INCLUDED_TRELLIS_SISO_F_H
00025
00026 #include "fsm.h"
00027 #include "trellis_siso_type.h"
00028 #include <gr_block.h>
00029
00030 class trellis_siso_f;
00031 typedef boost::shared_ptr<trellis_siso_f> trellis_siso_f_sptr;
00032
00033 trellis_siso_f_sptr trellis_make_siso_f (
00034 const fsm &FSM,
00035 int K,
00036 int S0,
00037 int SK,
00038 bool POSTI,
00039 bool POSTO,
00040 trellis_siso_type_t d_SISO_TYPE
00041 );
00042
00043
00044
00045 class trellis_siso_f : public gr_block
00046 {
00047 fsm d_FSM;
00048 int d_K;
00049 int d_S0;
00050 int d_SK;
00051 bool d_POSTI;
00052 bool d_POSTO;
00053 trellis_siso_type_t d_SISO_TYPE;
00054
00055
00056
00057 friend trellis_siso_f_sptr trellis_make_siso_f (
00058 const fsm &FSM,
00059 int K,
00060 int S0,
00061 int SK,
00062 bool POSTI,
00063 bool POSTO,
00064 trellis_siso_type_t d_SISO_TYPE);
00065
00066
00067 trellis_siso_f (
00068 const fsm &FSM,
00069 int K,
00070 int S0,
00071 int SK,
00072 bool POSTI,
00073 bool POSTO,
00074 trellis_siso_type_t d_SISO_TYPE);
00075
00076
00077 public:
00078 fsm FSM () const { return d_FSM; }
00079 int K () const { return d_K; }
00080 int S0 () const { return d_S0; }
00081 int SK () const { return d_SK; }
00082 bool POSTI () const { return d_POSTI; }
00083 bool POSTO () const { return d_POSTO; }
00084 trellis_siso_type_t SISO_TYPE () const { return d_SISO_TYPE; }
00085 void forecast (int noutput_items,
00086 gr_vector_int &ninput_items_required);
00087 int general_work (int noutput_items,
00088 gr_vector_int &ninput_items,
00089 gr_vector_const_void_star &input_items,
00090 gr_vector_void_star &output_items);
00091 };
00092
00093 #endif