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