GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
catv_trellis_enc_bb.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2016,2017 Free Software Foundation, Inc.
4  *
5  * SPDX-License-Identifier: GPL-3.0-or-later
6  *
7  */
8 
9 #ifndef INCLUDED_DTV_CATV_TRELLIS_ENC_BB_H
10 #define INCLUDED_DTV_CATV_TRELLIS_ENC_BB_H
11 
12 #include <gnuradio/block.h>
13 #include <gnuradio/dtv/api.h>
15 
16 namespace gr {
17 namespace dtv {
18 
19 /*!
20  * \brief Trellis Encoder. 14/15 (64QAM) or 19/20 (256QAM) code rate.
21  * \ingroup dtv
22  *
23  * Input: Scrambled FEC Frame packets of 60 * 128 (64QAM) or 88 * 128 (256QAM) 7-bit
24  * symbols with 42-bit (64QAM) or 40-bit (256QAM) FSYNC word.\n Output: Four 7-bit symbols
25  * (28 bits) Trellis encoded to 30 bits (64QAM, 14/15 code rate) or 38 data bits Trellis
26  * encoded to 40 bits (256QAM, 19/20 code rate).
27  */
28 class DTV_API catv_trellis_enc_bb : virtual public gr::block
29 {
30 public:
31  typedef std::shared_ptr<catv_trellis_enc_bb> sptr;
32 
33  /*!
34  * \brief Create an ITU-T J.83B Trellis Encoder.
35  *
36  * \param constellation 64QAM or 256QAM constellation.
37  */
38  static sptr make(catv_constellation_t constellation);
39 };
40 
41 } // namespace dtv
42 } // namespace gr
43 
44 #endif /* INCLUDED_DTV_CATV_TRELLIS_ENC_BB_H */
The abstract base class for all 'terminal' processing blocks.
Definition: gnuradio-runtime/include/gnuradio/block.h:63
Trellis Encoder. 14/15 (64QAM) or 19/20 (256QAM) code rate.
Definition: catv_trellis_enc_bb.h:29
std::shared_ptr< catv_trellis_enc_bb > sptr
Definition: catv_trellis_enc_bb.h:31
static sptr make(catv_constellation_t constellation)
Create an ITU-T J.83B Trellis Encoder.
#define DTV_API
Definition: gr-dtv/include/gnuradio/dtv/api.h:18
catv_constellation_t
Definition: catv_config.h:14
GNU Radio logging wrapper.
Definition: basic_block.h:29