GNU Radio C++ API
trellis_sccc_decoder_b.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2004 Free Software Foundation, Inc.
4
*
5
* This file is part of GNU Radio
6
*
7
* GNU Radio is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 3, or (at your option)
10
* any later version.
11
*
12
* GNU Radio is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with GNU Radio; see the file COPYING. If not, write to
19
* the Free Software Foundation, Inc., 51 Franklin Street,
20
* Boston, MA 02110-1301, USA.
21
*/
22
23
// WARNING: this file is machine generated. Edits will be over written
24
25
#ifndef INCLUDED_TRELLIS_SCCC_DECODER_B_H
26
#define INCLUDED_TRELLIS_SCCC_DECODER_B_H
27
28
#include <
trellis_api.h
>
29
#include "
fsm.h
"
30
#include "
interleaver.h
"
31
#include <
gr_block.h
>
32
#include <vector>
33
#include "
siso_type.h
"
34
35
class
trellis_sccc_decoder_b
;
36
typedef
boost::shared_ptr<trellis_sccc_decoder_b>
trellis_sccc_decoder_b_sptr
;
37
38
TRELLIS_API
trellis_sccc_decoder_b_sptr
trellis_make_sccc_decoder_b
(
39
const
fsm
&
FSMo
,
int
STo0
,
int
SToK
,
40
const
fsm
&
FSMi
,
int
STi0
,
int
STiK
,
41
const
interleaver
&
INTERLEAVER
,
42
int
blocklength
,
43
int
repetitions
,
44
trellis_siso_type_t
SISO_TYPE
// perform "min-sum" or "sum-product" combining
45
);
46
47
48
/*!
49
* \ingroup coding_blk
50
*/
51
class
TRELLIS_API
trellis_sccc_decoder_b
:
public
gr_block
52
{
53
fsm
d_FSMo;
54
int
d_STo0;
55
int
d_SToK;
56
fsm
d_FSMi;
57
int
d_STi0;
58
int
d_STiK;
59
interleaver
d_INTERLEAVER;
60
int
d_blocklength;
61
int
d_repetitions;
62
trellis_siso_type_t
d_SISO_TYPE;
63
std::vector<float> d_buffer;
64
65
friend
TRELLIS_API
trellis_sccc_decoder_b_sptr
trellis_make_sccc_decoder_b
(
66
const
fsm
&FSMo,
int
STo0,
int
SToK,
67
const
fsm
&FSMi,
int
STi0,
int
STiK,
68
const
interleaver
&INTERLEAVER,
69
int
blocklength,
70
int
repetitions,
71
trellis_siso_type_t
SISO_TYPE
72
);
73
74
trellis_sccc_decoder_b
(
75
const
fsm
&FSMo,
int
STo0,
int
SToK,
76
const
fsm
&FSMi,
int
STi0,
int
STiK,
77
const
interleaver
&INTERLEAVER,
78
int
blocklength,
79
int
repetitions,
80
trellis_siso_type_t
SISO_TYPE
81
);
82
83
public
:
84
fsm
FSMo
()
const
{
return
d_FSMo; }
85
fsm
FSMi
()
const
{
return
d_FSMi; }
86
int
STo0
()
const
{
return
d_STo0; }
87
int
SToK
()
const
{
return
d_SToK; }
88
int
STi0
()
const
{
return
d_STi0; }
89
int
STiK
()
const
{
return
d_STiK; }
90
interleaver
INTERLEAVER
()
const
{
return
d_INTERLEAVER; }
91
int
blocklength
()
const
{
return
d_blocklength; }
92
int
repetitions
()
const
{
return
d_repetitions; }
93
trellis_siso_type_t
SISO_TYPE
()
const
{
return
d_SISO_TYPE; }
94
95
void
forecast
(
int
noutput_items,
96
gr_vector_int
&ninput_items_required);
97
int
general_work
(
int
noutput_items,
98
gr_vector_int
&ninput_items,
99
gr_vector_const_void_star
&input_items,
100
gr_vector_void_star
&output_items);
101
};
102
103
#endif
gr-trellis
src
lib
trellis_sccc_decoder_b.h
Generated on Mon Jul 8 2013 15:25:02 for GNU Radio C++ API by
1.8.4