GNU Radio C++ API
trellis_sccc_decoder_combined_ci.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_COMBINED_CI_H
26
#define INCLUDED_TRELLIS_SCCC_DECODER_COMBINED_CI_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 "
calc_metric.h
"
34
#include "
siso_type.h
"
35
36
class
trellis_sccc_decoder_combined_ci
;
37
typedef
boost::shared_ptr<trellis_sccc_decoder_combined_ci>
trellis_sccc_decoder_combined_ci_sptr
;
38
39
TRELLIS_API
trellis_sccc_decoder_combined_ci_sptr
trellis_make_sccc_decoder_combined_ci
(
40
const
fsm
&
FSMo
,
int
STo0
,
int
SToK
,
41
const
fsm
&
FSMi
,
int
STi0
,
int
STiK
,
42
const
interleaver
&
INTERLEAVER
,
43
int
blocklength
,
44
int
repetitions
,
45
trellis_siso_type_t
SISO_TYPE
,
// perform "min-sum" or "sum-product" combining
46
int
D
,
47
const
std::vector<gr_complex> &
TABLE
,
48
trellis_metric_type_t
METRIC_TYPE
,
49
float
scaling
50
);
51
52
53
/*!
54
* \ingroup coding_blk
55
*/
56
class
TRELLIS_API
trellis_sccc_decoder_combined_ci
:
public
gr_block
57
{
58
fsm
d_FSMo;
59
int
d_STo0;
60
int
d_SToK;
61
fsm
d_FSMi;
62
int
d_STi0;
63
int
d_STiK;
64
interleaver
d_INTERLEAVER;
65
int
d_blocklength;
66
int
d_repetitions;
67
trellis_siso_type_t
d_SISO_TYPE;
68
int
d_D;
69
std::vector<gr_complex> d_TABLE;
70
trellis_metric_type_t
d_METRIC_TYPE;
71
float
d_scaling;
72
std::vector<float> d_buffer;
73
74
friend
TRELLIS_API
trellis_sccc_decoder_combined_ci_sptr
trellis_make_sccc_decoder_combined_ci
(
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
int
D,
82
const
std::vector<gr_complex> &TABLE,
83
trellis_metric_type_t
METRIC_TYPE,
84
float
scaling
85
);
86
87
trellis_sccc_decoder_combined_ci
(
88
const
fsm
&FSMo,
int
STo0,
int
SToK,
89
const
fsm
&FSMi,
int
STi0,
int
STiK,
90
const
interleaver
&INTERLEAVER,
91
int
blocklength,
92
int
repetitions,
93
trellis_siso_type_t
SISO_TYPE,
94
int
D,
95
const
std::vector<gr_complex> &TABLE,
96
trellis_metric_type_t
METRIC_TYPE,
97
float
scaling
98
);
99
100
public
:
101
fsm
FSMo
()
const
{
return
d_FSMo; }
102
fsm
FSMi
()
const
{
return
d_FSMi; }
103
int
STo0
()
const
{
return
d_STo0; }
104
int
SToK
()
const
{
return
d_SToK; }
105
int
STi0
()
const
{
return
d_STi0; }
106
int
STiK
()
const
{
return
d_STiK; }
107
interleaver
INTERLEAVER
()
const
{
return
d_INTERLEAVER; }
108
int
blocklength
()
const
{
return
d_blocklength; }
109
int
repetitions
()
const
{
return
d_repetitions; }
110
int
D
()
const
{
return
d_D; }
111
std::vector<gr_complex>
TABLE
()
const
{
return
d_TABLE; }
112
trellis_metric_type_t
METRIC_TYPE
()
const
{
return
d_METRIC_TYPE; }
113
trellis_siso_type_t
SISO_TYPE
()
const
{
return
d_SISO_TYPE; }
114
float
scaling
()
const
{
return
d_scaling; }
115
void
set_scaling (
float
scaling);
116
117
void
forecast
(
int
noutput_items,
118
gr_vector_int
&ninput_items_required);
119
int
general_work
(
int
noutput_items,
120
gr_vector_int
&ninput_items,
121
gr_vector_const_void_star
&input_items,
122
gr_vector_void_star
&output_items);
123
};
124
125
#endif
gr-trellis
src
lib
trellis_sccc_decoder_combined_ci.h
Generated on Mon Jul 8 2013 15:25:02 for GNU Radio C++ API by
1.8.4