GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
dvbt2_paprtr_cc.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2015,2017 Free Software Foundation, Inc.
4  *
5  * SPDX-License-Identifier: GPL-3.0-or-later
6  *
7  */
8 
9 #ifndef INCLUDED_DTV_DVBT2_PAPRTR_CC_H
10 #define INCLUDED_DTV_DVBT2_PAPRTR_CC_H
11 
12 #include <gnuradio/dtv/api.h>
15 #include <gnuradio/sync_block.h>
16 
17 namespace gr {
18 namespace dtv {
19 
20 /*!
21  * \brief Peak to Average Power Ratio (PAPR) reduction.
22  * \ingroup dtv
23  *
24  * Input: A T2 frame of OFDM symbols. \n
25  * Output: A T2 frame of PAPR reduced OFDM symbols.
26  */
27 class DTV_API dvbt2_paprtr_cc : virtual public gr::sync_block
28 {
29 public:
30  typedef std::shared_ptr<dvbt2_paprtr_cc> sptr;
31 
32  /*!
33  * \brief Create a PAPR reducer.
34  *
35  * \param carriermode number of carriers (normal or extended).
36  * \param fftsize OFDM IFFT size.
37  * \param pilotpattern DVB-T2 pilot pattern (PP1 - PP8).
38  * \param guardinterval OFDM ISI guard interval.
39  * \param numdatasyms number of OFDM symbols in a T2 frame.
40  * \param paprmode PAPR reduction mode.
41  * \param version DVB-T2 specification version.
42  * \param vclip PAPR clipping level.
43  * \param iterations PAPR algorithm number of iterations.
44  * \param vlength input and output vector length.
45  */
46  static sptr make(dvbt2_extended_carrier_t carriermode,
47  dvbt2_fftsize_t fftsize,
48  dvbt2_pilotpattern_t pilotpattern,
49  dvb_guardinterval_t guardinterval,
50  int numdatasyms,
51  dvbt2_papr_t paprmode,
53  float vclip,
54  int iterations,
55  unsigned int vlength);
56 };
57 
58 } // namespace dtv
59 } // namespace gr
60 
61 #endif /* INCLUDED_DTV_DVBT2_PAPRTR_CC_H */
Peak to Average Power Ratio (PAPR) reduction.
Definition: dvbt2_paprtr_cc.h:28
static sptr make(dvbt2_extended_carrier_t carriermode, dvbt2_fftsize_t fftsize, dvbt2_pilotpattern_t pilotpattern, dvb_guardinterval_t guardinterval, int numdatasyms, dvbt2_papr_t paprmode, dvbt2_version_t version, float vclip, int iterations, unsigned int vlength)
Create a PAPR reducer.
std::shared_ptr< dvbt2_paprtr_cc > sptr
Definition: dvbt2_paprtr_cc.h:30
synchronous 1:1 input to output with history
Definition: sync_block.h:26
#define DTV_API
Definition: gr-dtv/include/gnuradio/dtv/api.h:18
dvbt2_fftsize_t
Definition: dvbt2_config.h:43
dvbt2_version_t
Definition: dvbt2_config.h:80
dvb_guardinterval_t
Definition: dvb_config.h:102
dvbt2_pilotpattern_t
Definition: dvbt2_config.h:69
dvbt2_extended_carrier_t
Definition: dvbt2_config.h:30
dvbt2_papr_t
Definition: dvbt2_config.h:55
GNU Radio logging wrapper.
Definition: basic_block.h:29
GR_RUNTIME_API const std::string version()
return version string defined by cmake (GrVersion.cmake)