GNU Radio Manual and C++ API Reference 3.10.5.1
The Free & Open Software Radio Ecosystem
dvbt_symbol_inner_interleaver.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2015 Free Software Foundation, Inc.
4 *
5 * SPDX-License-Identifier: GPL-3.0-or-later
6 *
7 */
8
9#ifndef INCLUDED_DTV_DVBT_SYMBOL_INNER_INTERLEAVER_H
10#define INCLUDED_DTV_DVBT_SYMBOL_INNER_INTERLEAVER_H
11
12#include <gnuradio/block.h>
13#include <gnuradio/dtv/api.h>
15
16namespace gr {
17namespace dtv {
18
19/*!
20 * \brief Symbol interleaver.
21 * \ingroup dtv
22 *
23 * ETSI EN 300 744 Clause 4.3.4.2 \n
24 * One block is 12 groups x 126 datawords = 1512 datawords.
25 *
26 * Data Input format: \n
27 * 000000I0I1 - QPSK. \n
28 * 0000I0I1I2I3 - 16QAM. \n
29 * 00I0I1I2I3I4I5 - 64QAM. \n
30 * Data Output format: \n
31 * 000000Y0Y1 - QPSK. \n
32 * 0000Y0Y1Y2Y3 - 16QAM. \n
33 * 00Y0Y1Y2Y3Y4Y5 - 64QAM.
34 */
36{
37public:
38 typedef std::shared_ptr<dvbt_symbol_inner_interleaver> sptr;
39
40 /*!
41 * \brief Create a Symbol interleaver.
42 *
43 * \param ninput length of input stream. \n
44 * \param transmission transmission mode used \n
45 * \param direction interleave or deinterleave. \n
46 */
47 static sptr make(int ninput, dvbt_transmission_mode_t transmission, int direction);
48};
49
50} // namespace dtv
51} // namespace gr
52
53#endif /* INCLUDED_DTV_DVBT_SYMBOL_INNER_INTERLEAVER_H */
The abstract base class for all 'terminal' processing blocks.
Definition: gnuradio-runtime/include/gnuradio/block.h:63
Symbol interleaver.
Definition: dvbt_symbol_inner_interleaver.h:36
static sptr make(int ninput, dvbt_transmission_mode_t transmission, int direction)
Create a Symbol interleaver.
std::shared_ptr< dvbt_symbol_inner_interleaver > sptr
Definition: dvbt_symbol_inner_interleaver.h:38
#define DTV_API
Definition: gr-dtv/include/gnuradio/dtv/api.h:18
dvbt_transmission_mode_t
Definition: dvbt_config.h:21
GNU Radio logging wrapper.
Definition: basic_block.h:29