GNU Radio C++ API
trellis_pccc_decoder_i.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_PCCC_DECODER_I_H
26
#define INCLUDED_TRELLIS_PCCC_DECODER_I_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_pccc_decoder_i
;
36
typedef
boost::shared_ptr<trellis_pccc_decoder_i>
trellis_pccc_decoder_i_sptr
;
37
38
TRELLIS_API
trellis_pccc_decoder_i_sptr
trellis_make_pccc_decoder_i
(
39
const
fsm
&
FSM1
,
int
ST10
,
int
ST1K
,
40
const
fsm
&
FSM2
,
int
ST20
,
int
ST2K
,
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_pccc_decoder_i
:
public
gr_block
52
{
53
fsm
d_FSM1;
54
int
d_ST10;
55
int
d_ST1K;
56
fsm
d_FSM2;
57
int
d_ST20;
58
int
d_ST2K;
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_pccc_decoder_i_sptr
trellis_make_pccc_decoder_i
(
66
const
fsm
&FSM1,
int
ST10,
int
ST1K,
67
const
fsm
&FSM2,
int
ST20,
int
ST2K,
68
const
interleaver
&INTERLEAVER,
69
int
blocklength,
70
int
repetitions,
71
trellis_siso_type_t
SISO_TYPE
72
);
73
74
trellis_pccc_decoder_i
(
75
const
fsm
&FSM1,
int
ST10,
int
ST1K,
76
const
fsm
&FSM2,
int
ST20,
int
ST2K,
77
const
interleaver
&INTERLEAVER,
78
int
blocklength,
79
int
repetitions,
80
trellis_siso_type_t
SISO_TYPE
81
);
82
83
public
:
84
fsm
FSM1
()
const
{
return
d_FSM1; }
85
fsm
FSM2
()
const
{
return
d_FSM2; }
86
int
ST10
()
const
{
return
d_ST10; }
87
int
ST1K
()
const
{
return
d_ST1K; }
88
int
ST20
()
const
{
return
d_ST20; }
89
int
ST2K
()
const
{
return
d_ST2K; }
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_pccc_decoder_i.h
Generated on Thu Jul 12 2012 00:06:24 for GNU Radio C++ API by
1.8.1.1