trellis_viterbi_combined_si.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
00024
00025 #ifndef INCLUDED_TRELLIS_VITERBI_COMBINED_SI_H
00026 #define INCLUDED_TRELLIS_VITERBI_COMBINED_SI_H
00027
00028 #include "fsm.h"
00029 #include <gr_block.h>
00030 #include "trellis_calc_metric.h"
00031
00032 class trellis_viterbi_combined_si;
00033 typedef boost::shared_ptr<trellis_viterbi_combined_si> trellis_viterbi_combined_si_sptr;
00034
00035 trellis_viterbi_combined_si_sptr trellis_make_viterbi_combined_si (
00036 const fsm &FSM,
00037 int K,
00038 int S0,
00039 int SK,
00040 int D,
00041 const std::vector<short> &TABLE,
00042 trellis_metric_type_t TYPE);
00043
00044
00045 class trellis_viterbi_combined_si : public gr_block
00046 {
00047 fsm d_FSM;
00048 int d_K;
00049 int d_S0;
00050 int d_SK;
00051 int d_D;
00052 std::vector<short> d_TABLE;
00053 trellis_metric_type_t d_TYPE;
00054
00055
00056 friend trellis_viterbi_combined_si_sptr trellis_make_viterbi_combined_si (
00057 const fsm &FSM,
00058 int K,
00059 int S0,
00060 int SK,
00061 int D,
00062 const std::vector<short> &TABLE,
00063 trellis_metric_type_t TYPE);
00064
00065
00066 trellis_viterbi_combined_si (
00067 const fsm &FSM,
00068 int K,
00069 int S0,
00070 int SK,
00071 int D,
00072 const std::vector<short> &TABLE,
00073 trellis_metric_type_t TYPE);
00074
00075
00076 public:
00077 fsm FSM () const { return d_FSM; }
00078 int K () const { return d_K; }
00079 int S0 () const { return d_S0; }
00080 int SK () const { return d_SK; }
00081 int D () const { return d_D; }
00082 std::vector<short> TABLE () const { return d_TABLE; }
00083 trellis_metric_type_t TYPE () const { return d_TYPE; }
00084
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