GNSS-SDR  0.0.13
An Open Source GNSS Software Defined Receiver
pulse_blanking_filter.h
Go to the documentation of this file.
1 /*!
2  * \file pulse_blanking_filter.h
3  * \brief Instantiates the GNSS-SDR pulse blanking filter
4  * \author Javier Arribas 2017
5  * Antonio Ramos 2017
6  *
7  * -----------------------------------------------------------------------------
8  *
9  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
10  *
11  * GNSS-SDR is a software defined Global Navigation
12  * Satellite Systems receiver
13  *
14  * This file is part of GNSS-SDR.
15  *
16  * SPDX-License-Identifier: GPL-3.0-or-later
17  *
18  * -----------------------------------------------------------------------------
19  */
20 
21 #ifndef GNSS_SDR_PULSE_BLANKING_FILTER_H
22 #define GNSS_SDR_PULSE_BLANKING_FILTER_H
23 
24 #include "gnss_block_interface.h"
25 #include "pulse_blanking_cc.h"
26 #include <gnuradio/blocks/file_sink.h>
27 #ifdef GR_GREATER_38
28 #include <gnuradio/filter/freq_xlating_fir_filter.h>
29 #else
30 #include <gnuradio/filter/freq_xlating_fir_filter_ccf.h>
31 #endif
32 #include <string>
33 
35 
37 {
38 public:
39  PulseBlankingFilter(const ConfigurationInterface* configuration,
40  std::string role, unsigned int in_streams,
41  unsigned int out_streams);
42 
43  ~PulseBlankingFilter() = default;
44 
45  inline std::string role() override
46  {
47  return role_;
48  }
49 
50  //! Returns "Pulse_Blanking_Filter"
51  inline std::string implementation() override
52  {
53  return "Pulse_Blanking_Filter";
54  }
55 
56  inline size_t item_size() override
57  {
58  return input_size_;
59  }
60 
61  void connect(gr::top_block_sptr top_block) override;
62  void disconnect(gr::top_block_sptr top_block) override;
63  gr::basic_block_sptr get_left_block() override;
64  gr::basic_block_sptr get_right_block() override;
65 
66 private:
67  pulse_blanking_cc_sptr pulse_blanking_cc_;
68  gr::filter::freq_xlating_fir_filter_ccf::sptr freq_xlating_;
69  gr::blocks::file_sink::sptr file_sink_;
70  std::string dump_filename_;
71  std::string input_item_type_;
72  std::string output_item_type_;
73  std::string role_;
74  size_t input_size_;
75  unsigned int in_streams_;
76  unsigned int out_streams_;
77  bool dump_;
78  bool xlat_;
79 };
80 
81 #endif // GNSS_SDR_PULSE_BLANKING_FILTER_H
Implements a pulse blanking algorithm.
This interface represents a GNSS block.
This abstract class represents an interface to configuration parameters.
std::string implementation() override
Returns "Pulse_Blanking_Filter".
This abstract class represents an interface to GNSS blocks.