GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
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 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
10 * This file is part of GNSS-SDR.
11 *
12 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
13 * SPDX-License-Identifier: GPL-3.0-or-later
14 *
15 * -----------------------------------------------------------------------------
16 */
17
18#ifndef GNSS_SDR_PULSE_BLANKING_FILTER_H
19#define GNSS_SDR_PULSE_BLANKING_FILTER_H
20
22#include "pulse_blanking_cc.h"
23#include <gnuradio/blocks/file_sink.h>
24#ifdef GR_GREATER_38
25#include <gnuradio/filter/freq_xlating_fir_filter.h>
26#else
27#include <gnuradio/filter/freq_xlating_fir_filter_ccf.h>
28#endif
29#include <string>
30
31/** \addtogroup Input_Filter
32 * \{ */
33/** \addtogroup Input_filter_adapters
34 * \{ */
35
36
38
39class PulseBlankingFilter : public GNSSBlockInterface
40{
41public:
42 PulseBlankingFilter(const ConfigurationInterface* configuration,
43 std::string role, unsigned int in_streams,
44 unsigned int out_streams);
45
46 ~PulseBlankingFilter() = default;
47
48 inline std::string role() override
49 {
50 return role_;
51 }
52
53 //! Returns "Pulse_Blanking_Filter"
54 inline std::string implementation() override
55 {
56 return "Pulse_Blanking_Filter";
57 }
58
59 inline size_t item_size() override
60 {
61 return input_size_;
62 }
63
64 void connect(gr::top_block_sptr top_block) override;
65 void disconnect(gr::top_block_sptr top_block) override;
66 gr::basic_block_sptr get_left_block() override;
67 gr::basic_block_sptr get_right_block() override;
68
69private:
70 pulse_blanking_cc_sptr pulse_blanking_cc_;
71 gr::filter::freq_xlating_fir_filter_ccf::sptr freq_xlating_;
72 gr::blocks::file_sink::sptr file_sink_;
73 std::string dump_filename_;
74 std::string item_type_;
75 std::string role_;
76 size_t input_size_;
77 unsigned int in_streams_;
78 unsigned int out_streams_;
79 bool dump_;
80 bool xlat_;
81};
82
83
84/** \} */
85/** \} */
86#endif // GNSS_SDR_PULSE_BLANKING_FILTER_H
This abstract class represents an interface to configuration parameters.
This abstract class represents an interface to GNSS blocks.
std::string implementation() override
Returns "Pulse_Blanking_Filter".
This interface represents a GNSS block.
Implements a pulse blanking algorithm.