GNU Radio Manual and C++ API Reference  3.7.9.2
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
dvbt_inner_coder.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2015 Free Software Foundation, Inc.
4  *
5  * This is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This software is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this software; see the file COPYING. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 #ifndef INCLUDED_DTV_DVBT_INNER_CODER_H
22 #define INCLUDED_DTV_DVBT_INNER_CODER_H
23 
24 #include <gnuradio/dtv/api.h>
25 #include <gnuradio/block.h>
28 
29 namespace gr {
30  namespace dtv {
31 
32  /*!
33  * \brief Inner coder with Puncturing.
34  * \ingroup dtv
35  *
36  * ETSI EN 300 744 Clause 4.3.3 \n
37  * Mother convolutional code with rate 1/2. \n
38  * k=1, n=2, K=6. \n
39  * Generator polynomial G1=171(OCT), G2=133(OCT). \n
40  * Punctured to obtain rates of 2/3, 3/4, 5/6, 7/8. \n
41  * Data Input format: Packed bytes (each bit is data). \n
42  * MSB - first, LSB last. \n
43  * Data Output format: \n
44  * 000000X0X1 - QPSK. \n
45  * 0000X0X1X2X3 - 16QAM. \n
46  * 00X0X1X2X3X4X5 - 64QAM.
47  */
48  class DTV_API dvbt_inner_coder : virtual public block
49  {
50  public:
51  typedef boost::shared_ptr<dvbt_inner_coder> sptr;
52 
53  /*!
54  * \brief Create an Inner coder with Puncturing.
55  *
56  * \param ninput length of input. \n
57  * \param noutput lenght of output. \n
58  * \param constellation type of constellation. \n
59  * \param hierarchy type of hierarchy used. \n
60  * \param coderate coderate used.
61  */
62  static sptr make(int ninput, int noutput, dvb_constellation_t constellation, dvbt_hierarchy_t hierarchy, dvb_code_rate_t coderate);
63  };
64 
65  } // namespace dtv
66 } // namespace gr
67 
68 #endif /* INCLUDED_DTV_DVBT_INNER_CODER_H */
69 
dvb_constellation_t
Definition: dvb_config.h:81
#define DTV_API
Definition: gr-dtv/include/gnuradio/dtv/api.h:30
Include this header to use the message passing features.
Definition: logger.h:131
Inner coder with Puncturing.ETSI EN 300 744 Clause 4.3.3 Mother convolutional code with rate 1/2...
Definition: dvbt_inner_coder.h:48
dvbt_hierarchy_t
Definition: dvbt_config.h:26
The abstract base class for all 'terminal' processing blocks.A signal processing flow is constructed ...
Definition: block.h:60
dvb_code_rate_t
Definition: dvb_config.h:31
boost::shared_ptr< dvbt_inner_coder > sptr
Definition: dvbt_inner_coder.h:51