trellis_siso_combined_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_COMBINED_F_H
00024 #define INCLUDED_TRELLIS_SISO_COMBINED_F_H
00025
00026 #include "fsm.h"
00027 #include "trellis_siso_type.h"
00028 #include "trellis_calc_metric.h"
00029 #include <gr_block.h>
00030
00031 class trellis_siso_combined_f;
00032 typedef boost::shared_ptr<trellis_siso_combined_f> trellis_siso_combined_f_sptr;
00033
00034 trellis_siso_combined_f_sptr trellis_make_siso_combined_f (
00035 const fsm &FSM,
00036 int K,
00037 int S0,
00038 int SK,
00039 bool POSTI,
00040 bool POSTO,
00041 trellis_siso_type_t d_SISO_TYPE,
00042 int D,
00043 const std::vector<float> &TABLE,
00044 trellis_metric_type_t TYPE
00045 );
00046
00047
00048
00049 class trellis_siso_combined_f : public gr_block
00050 {
00051 fsm d_FSM;
00052 int d_K;
00053 int d_S0;
00054 int d_SK;
00055 bool d_POSTI;
00056 bool d_POSTO;
00057 trellis_siso_type_t d_SISO_TYPE;
00058 int d_D;
00059 std::vector<float> d_TABLE;
00060 trellis_metric_type_t d_TYPE;
00061
00062
00063
00064 friend trellis_siso_combined_f_sptr trellis_make_siso_combined_f (
00065 const fsm &FSM,
00066 int K,
00067 int S0,
00068 int SK,
00069 bool POSTI,
00070 bool POSTO,
00071 trellis_siso_type_t d_SISO_TYPE,
00072 int D,
00073 const std::vector<float> &TABLE,
00074 trellis_metric_type_t TYPE);
00075
00076
00077 trellis_siso_combined_f (
00078 const fsm &FSM,
00079 int K,
00080 int S0,
00081 int SK,
00082 bool POSTI,
00083 bool POSTO,
00084 trellis_siso_type_t d_SISO_TYPE,
00085 int D,
00086 const std::vector<float> &TABLE,
00087 trellis_metric_type_t TYPE);
00088
00089
00090 public:
00091 fsm FSM () const { return d_FSM; }
00092 int K () const { return d_K; }
00093 int S0 () const { return d_S0; }
00094 int SK () const { return d_SK; }
00095 bool POSTI () const { return d_POSTI; }
00096 bool POSTO () const { return d_POSTO; }
00097 trellis_siso_type_t SISO_TYPE () const { return d_SISO_TYPE; }
00098 int D () const { return d_D; }
00099 std::vector<float> TABLE () const { return d_TABLE; }
00100 trellis_metric_type_t TYPE () const { return d_TYPE; }
00101 void forecast (int noutput_items,
00102 gr_vector_int &ninput_items_required);
00103 int general_work (int noutput_items,
00104 gr_vector_int &ninput_items,
00105 gr_vector_const_void_star &input_items,
00106 gr_vector_void_star &output_items);
00107 };
00108
00109 #endif