GNU Radio Manual and C++ API Reference 3.7.14.0
The Free & Open Software Radio Ecosystem
encoder_si.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2004,2012 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_ENCODER_SI_H
26#define INCLUDED_TRELLIS_ENCODER_SI_H
27
30#include <gnuradio/sync_block.h>
31
32namespace gr {
33 namespace trellis {
34
35 /*!
36 * \brief Convolutional encoder.
37 * \ingroup trellis_coding_blk
38 */
39 class TRELLIS_API encoder_si : virtual public sync_block
40 {
41 public:
42 // gr::trellis::encoder_si::sptr
43 typedef boost::shared_ptr<encoder_si> sptr;
44
45 static sptr make(const fsm &FSM, int ST);
46
47 static sptr make(const fsm &FSM, int ST, int K);
48
49 virtual fsm FSM() const = 0;
50 virtual int ST() const = 0;
51 virtual int K() const = 0;
52 virtual void set_FSM(const fsm &FSM) =0;
53 virtual void set_ST(int ST) =0;
54 virtual void set_K(int K) =0;
55 };
56
57 } /* namespace trellis */
58} /* namespace gr */
59
60#endif /* INCLUDED_TRELLIS_ENCODER_SI_H */
synchronous 1:1 input to output with history
Definition: sync_block.h:38
Convolutional encoder.
Definition: encoder_si.h:40
virtual void set_K(int K)=0
virtual fsm FSM() const =0
static sptr make(const fsm &FSM, int ST)
virtual int ST() const =0
virtual void set_ST(int ST)=0
boost::shared_ptr< encoder_si > sptr
Definition: encoder_si.h:43
virtual void set_FSM(const fsm &FSM)=0
virtual int K() const =0
static sptr make(const fsm &FSM, int ST, int K)
Finite State Machine Specification class.
Definition: fsm.h:44
#define TRELLIS_API
Definition: gr-trellis/include/gnuradio/trellis/api.h:30
Include this header to use the message passing features.
Definition: basic_block.h:45