trellis_viterbi_s.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_S_H
00026 #define INCLUDED_TRELLIS_VITERBI_S_H
00027
00028 #include "fsm.h"
00029 #include <gr_block.h>
00030
00031 class trellis_viterbi_s;
00032 typedef boost::shared_ptr<trellis_viterbi_s> trellis_viterbi_s_sptr;
00033
00034 trellis_viterbi_s_sptr trellis_make_viterbi_s (
00035 const fsm &FSM,
00036 int K,
00037 int S0,
00038 int SK);
00039
00040
00041
00042 class trellis_viterbi_s : public gr_block
00043 {
00044 fsm d_FSM;
00045 int d_K;
00046 int d_S0;
00047 int d_SK;
00048
00049
00050 friend trellis_viterbi_s_sptr trellis_make_viterbi_s (
00051 const fsm &FSM,
00052 int K,
00053 int S0,
00054 int SK);
00055
00056
00057 trellis_viterbi_s (
00058 const fsm &FSM,
00059 int K,
00060 int S0,
00061 int SK);
00062
00063
00064 public:
00065 fsm FSM () const { return d_FSM; }
00066 int K () const { return d_K; }
00067 int S0 () const { return d_S0; }
00068 int SK () const { return d_SK; }
00069
00070 void forecast (int noutput_items,
00071 gr_vector_int &ninput_items_required);
00072 int general_work (int noutput_items,
00073 gr_vector_int &ninput_items,
00074 gr_vector_const_void_star &input_items,
00075 gr_vector_void_star &output_items);
00076 };
00077
00078 #endif