GNU Radio 3.5.3.1 C++ API
trellis_pccc_encoder_bi.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_ENCODER_BI_H
26
#define INCLUDED_TRELLIS_PCCC_ENCODER_BI_H
27
28
#include <
trellis_api.h
>
29
#include <vector>
30
#include "
fsm.h
"
31
#include "
interleaver.h
"
32
#include <
gr_sync_block.h
>
33
34
class
trellis_pccc_encoder_bi
;
35
typedef
boost::shared_ptr<trellis_pccc_encoder_bi>
trellis_pccc_encoder_bi_sptr
;
36
37
TRELLIS_API
trellis_pccc_encoder_bi_sptr
trellis_make_pccc_encoder_bi
(
38
const
fsm
&
FSM1
,
int
ST1
,
39
const
fsm
&
FSM2
,
int
ST2
,
40
const
interleaver
&
INTERLEAVER
,
41
int
blocklength
42
);
43
44
/*!
45
* \brief SCCC encoder.
46
* \ingroup coding_blk
47
*/
48
class
TRELLIS_API
trellis_pccc_encoder_bi
:
public
gr_sync_block
49
{
50
private
:
51
friend
TRELLIS_API
trellis_pccc_encoder_bi_sptr
trellis_make_pccc_encoder_bi
(
52
const
fsm
&FSM1,
int
ST1,
53
const
fsm
&FSM2,
int
ST2,
54
const
interleaver
&INTERLEAVER,
55
int
blocklength
56
);
57
fsm
d_FSM1;
58
int
d_ST1;
59
fsm
d_FSM2;
60
int
d_ST2;
61
interleaver
d_INTERLEAVER;
62
int
d_blocklength;
63
std::vector<int> d_buffer;
64
trellis_pccc_encoder_bi
(
65
const
fsm
&FSM1,
int
ST1,
66
const
fsm
&FSM2,
int
ST2,
67
const
interleaver
&INTERLEAVER,
68
int
blocklength
69
);
70
71
public
:
72
fsm
FSM1
()
const
{
return
d_FSM1; }
73
int
ST1
()
const
{
return
d_ST1; }
74
fsm
FSM2
()
const
{
return
d_FSM2; }
75
int
ST2
()
const
{
return
d_ST2; }
76
interleaver
INTERLEAVER
()
const
{
return
d_INTERLEAVER; }
77
int
blocklength
()
const
{
return
d_blocklength; }
78
79
int
work
(
int
noutput_items,
80
gr_vector_const_void_star
&input_items,
81
gr_vector_void_star
&output_items);
82
};
83
84
#endif
gr-trellis
src
lib
trellis_pccc_encoder_bi.h
Generated by
1.8.1.1