GNU Radio Manual and C++ API Reference 3.7.14.0
The Free & Open Software Radio Ecosystem
pccc_decoder_combined_fs.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 overwritten
24
25#ifndef INCLUDED_TRELLIS_PCCC_DECODER_COMBINED_FS_H
26#define INCLUDED_TRELLIS_PCCC_DECODER_COMBINED_FS_H
27
33#include <gnuradio/block.h>
34#include <vector>
35
36namespace gr {
37 namespace trellis {
38
39 /*!
40 * \ingroup trellis_coding_blk
41 */
43 {
44 public:
45 // gr::trellis::pccc_decoder_combined_fs::sptr
46 typedef boost::shared_ptr<pccc_decoder_combined_fs> sptr;
47
48 static sptr make(const fsm &FSMo, int STo0, int SToK,
49 const fsm &FSMi, int STi0, int STiK,
50 const interleaver &INTERLEAVER,
51 int blocklength,
52 int repetitions,
53 siso_type_t SISO_TYPE,
54 int D,
55 const std::vector<float> &TABLE,
57 float scaling);
58
59 virtual fsm FSM1() const = 0;
60 virtual fsm FSM2() const = 0;
61 virtual int ST10() const = 0;
62 virtual int ST1K() const = 0;
63 virtual int ST20() const = 0;
64 virtual int ST2K() const = 0;
65 virtual interleaver INTERLEAVER() const = 0;
66 virtual int blocklength() const = 0;
67 virtual int repetitions() const = 0;
68 virtual int D() const = 0;
69 virtual std::vector<float> TABLE() const = 0;
71 virtual siso_type_t SISO_TYPE() const = 0;
72 virtual float scaling() const = 0;
73 virtual void set_scaling(float scaling) = 0;
74 };
75
76 } /* namespace trellis */
77} /* namespace gr */
78
79#endif /* INCLUDED_TRELLIS_PCCC_DECODER_COMBINED_FS_H */
The abstract base class for all 'terminal' processing blocks.
Definition: block.h:66
Finite State Machine Specification class.
Definition: fsm.h:44
INTERLEAVER class.
Definition: gr-trellis/include/gnuradio/trellis/interleaver.h:38
Definition: pccc_decoder_combined_fs.h:43
static sptr make(const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, int blocklength, int repetitions, siso_type_t SISO_TYPE, int D, const std::vector< float > &TABLE, digital::trellis_metric_type_t METRIC_TYPE, float scaling)
virtual int blocklength() const =0
virtual digital::trellis_metric_type_t METRIC_TYPE() const =0
virtual siso_type_t SISO_TYPE() const =0
virtual std::vector< float > TABLE() const =0
virtual int repetitions() const =0
boost::shared_ptr< pccc_decoder_combined_fs > sptr
Definition: pccc_decoder_combined_fs.h:46
virtual interleaver INTERLEAVER() const =0
virtual float scaling() const =0
virtual void set_scaling(float scaling)=0
#define TRELLIS_API
Definition: gr-trellis/include/gnuradio/trellis/api.h:30
trellis_metric_type_t
Definition: metric_type.h:29
siso_type_t
Definition: siso_type.h:29
Include this header to use the message passing features.
Definition: basic_block.h:45