GNU Radio Manual and C++ API Reference  3.7.7
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
dvbt2_freqinterleaver_cc_impl.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_DVBT2_FREQINTERLEAVER_CC_IMPL_H
22 #define INCLUDED_DTV_DVBT2_FREQINTERLEAVER_CC_IMPL_H
23 
25 #include "dvb/dvb_defines.h"
26 
27 namespace gr {
28  namespace dtv {
29 
31  {
32  private:
33  int interleaved_items;
34  int num_data_symbols;
35  int Heven[32768];
36  int Hodd[32768];
37  int HevenP2[32768];
38  int HoddP2[32768];
39  int HevenFC[32768];
40  int HoddFC[32768];
41  int N_P2;
42  int C_P2;
43  int N_FC;
44  int C_FC;
45  int C_DATA;
46 
47  const static int bitperm1keven[9];
48  const static int bitperm1kodd[9];
49  const static int bitperm2keven[10];
50  const static int bitperm2kodd[10];
51  const static int bitperm4keven[11];
52  const static int bitperm4kodd[11];
53  const static int bitperm8keven[12];
54  const static int bitperm8kodd[12];
55  const static int bitperm16keven[13];
56  const static int bitperm16kodd[13];
57  const static int bitperm32k[14];
58 
59  public:
62 
63  int work(int noutput_items,
64  gr_vector_const_void_star &input_items,
65  gr_vector_void_star &output_items);
66  };
67 
68  } // namespace dtv
69 } // namespace gr
70 
71 #endif /* INCLUDED_DTV_DVBT2_FREQINTERLEAVER_CC_IMPL_H */
72 
Frequency interleaves a T2 frame.Input: T2 frame. Output: Frequency interleaved T2 frame...
Definition: dvbt2_freqinterleaver_cc.h:38
dvbt2_pilotpattern_t
Definition: dvbt2_config.h:91
std::vector< const void * > gr_vector_const_void_star
Definition: gnuradio-runtime/include/gnuradio/types.h:38
dvbt2_fftsize_t
Definition: dvbt2_config.h:55
dvbt2_version_t
Definition: dvbt2_config.h:102
Definition: dvbt2_freqinterleaver_cc_impl.h:30
std::vector< void * > gr_vector_void_star
Definition: gnuradio-runtime/include/gnuradio/types.h:37
dvbt2_freqinterleaver_cc_impl(dvbt2_extended_carrier_t carriermode, dvbt2_fftsize_t fftsize, dvbt2_pilotpattern_t pilotpattern, dvbt2_guardinterval_t guardinterval, int numdatasyms, dvbt2_papr_t paprmode, dvbt2_version_t version, dvbt2_preamble_t preamble)
Include this header to use the message passing features.
Definition: logger.h:129
dvbt2_preamble_t
Definition: dvbt2_config.h:47
GR_RUNTIME_API const std::string version()
return version string defined by cmake (GrVersion.cmake)
dvbt2_papr_t
Definition: dvbt2_config.h:77
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
just like gr::block::general_work, only this arranges to call consume_each for you ...
dvbt2_extended_carrier_t
Definition: dvbt2_config.h:42
dvbt2_guardinterval_t
Definition: dvbt2_config.h:67