The Inspector (GNU Radio module gr-inspector)
signal_extractor_c.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_SIGNAL_EXTRACTOR_C_H
25 #define INCLUDED_INSPECTOR_SIGNAL_EXTRACTOR_C_H
26 
27 #include <inspector/api.h>
28 #include <gnuradio/sync_block.h>
29 
30 namespace gr {
31  namespace inspector {
32 
33  /*!
34  * \brief Extractor block to extract signal samples out of bundled message passed from Signal Separator block.
35  * \ingroup inspector
36  *
37  * \details
38  * Signal Extractor block is able to extract signal samples for specified
39  * signal out of message passed by Signal Separator block. These messages
40  * contain the samples of all detected signals. This block only passes the
41  * ones beloging to the specified signal number as a complex stream. This
42  * way, custom signal chains can be appended after the inspector blocks.
43  *
44  * If the resample option is used, the block will try to resample the
45  * input samples based on the message input from the map port to the
46  * desired output sample rate. An oversampling factor can be taken
47  * into account, if the input samples are oversampled by the
48  * signal separator.
49  */
50  class INSPECTOR_API signal_extractor_c : virtual public gr::sync_block
51  {
52  public:
53  typedef boost::shared_ptr<signal_extractor_c> sptr;
54 
55  /*!
56  * \brief Return a new Extractor block instance
57  *
58  * \param signal Output Signal number (beginning with 0) for desired sample
59  * \param resample Enable resampling of samples
60  * \param rate Desired output sample rate if resample is enabled
61  * \param osf Oversampling factor of the input signal (relative to map input)
62  */
63  static sptr make(int signal, bool resample = false,
64  float rate = 1.0, float osf = 1.0);
65  virtual void set_signal(int signal) = 0;
66  };
67 
68  } // namespace inspector
69 } // namespace gr
70 
71 #endif /* INCLUDED_INSPECTOR_SIGNAL_EXTRACTOR_C_H */
#define INSPECTOR_API
Definition: api.h:30
boost::shared_ptr< signal_extractor_c > sptr
Definition: signal_extractor_c.h:53
Definition: ofdm_bouzegzi_c.h:30
Extractor block to extract signal samples out of bundled message passed from Signal Separator block...
Definition: signal_extractor_c.h:50