The Inspector (GNU Radio module gr-inspector)
ofdm_synchronizer_cc.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2016 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * This is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3, or (at your option)
10  * any later version.
11  *
12  * This software is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this software; see the file COPYING. If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street,
20  * Boston, MA 02110-1301, USA.
21  */
22 
23 
24 #ifndef INCLUDED_INSPECTOR_OFDM_SYNCHRONIZER_CC_H
25 #define INCLUDED_INSPECTOR_OFDM_SYNCHRONIZER_CC_H
26 
27 #include <inspector/api.h>
28 #include <gnuradio/sync_block.h>
29 
30 namespace gr {
31  namespace inspector {
32 
33  /*!
34  * \brief OFDM frequency synchronizer and timing estimator
35  * \ingroup inspector
36  *
37  * \details
38  * This block can be inserted downstream to the OFDM parameter
39  * estimation block. It performs a frequency offset estimation and
40  * symbol timing estimation according to [1]. Frequency offsets smaller than the
41  * subcarrier spacing will be corrected to obtain orthogonality of
42  * the carriers. Output is a stream with stream tags at the estimated
43  * OFDM symbol beginnings (PMT symbol "symbol").
44  *
45  * Connect output of OFDM parameter estimator to message port and
46  * signal itself to the stream input.
47  *
48  * [1] J. J. van de Beek, M. Sandell, and P. O. Borjesson,
49  * “ML estimation of time and frequency offset in OFDM systems,”
50  * IEEE Transactions on Signal Processing, vol. 45, no. 7, pp.
51  * 1800–1805, 1997. [Online]. Available: http://pure.ltu.se/portal/files/1612155/Article.pdf.
52  */
53  class INSPECTOR_API ofdm_synchronizer_cc : virtual public gr::sync_block
54  {
55  public:
56  typedef boost::shared_ptr<ofdm_synchronizer_cc> sptr;
57 
58  /*!
59  * \brief Return a shared_ptr to a new instance of inspector::ofdm_synchronizer_cc.
60  *
61  * \param min_items Set minimum items required for each work call. Should be several FFT lengths.
62  */
63  static sptr make(int min_items);
64  };
65 
66  } // namespace inspector
67 } // namespace gr
68 
69 #endif /* INCLUDED_INSPECTOR_OFDM_SYNCHRONIZER_CC_H */
#define INSPECTOR_API
Definition: api.h:30
Definition: ofdm_bouzegzi_c.h:30
boost::shared_ptr< ofdm_synchronizer_cc > sptr
Definition: ofdm_synchronizer_cc.h:56
OFDM frequency synchronizer and timing estimator.
Definition: ofdm_synchronizer_cc.h:53