GNU Radio's IRIDIUM Package
fft_burst_tagger.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2020 Free Software Foundation, Inc.
4 *
5 * This is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3, or (at your option)
8 * any later version.
9 *
10 * This software is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this software; see the file COPYING. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street,
18 * Boston, MA 02110-1301, USA.
19 */
20
21#ifndef INCLUDED_IRIDIUM_FFT_BURST_TAGGER_H
22#define INCLUDED_IRIDIUM_FFT_BURST_TAGGER_H
23
24#include <gnuradio/sync_block.h>
25#include <iridium/api.h>
26
27namespace gr {
28namespace iridium {
29
30/*!
31 * \brief <+description of block+>
32 * \ingroup iridium
33 *
34 */
35class IRIDIUM_API fft_burst_tagger : virtual public gr::sync_block
36{
37public:
38 typedef std::shared_ptr<fft_burst_tagger> sptr;
39
40 /*!
41 * \brief Return a shared_ptr to a new instance of iridium::fft_burst_tagger.
42 *
43 * To avoid accidental use of raw pointers, iridium::fft_burst_tagger's
44 * constructor is in a private implementation
45 * class. iridium::fft_burst_tagger::make is the public interface for
46 * creating new instances.
47 */
48 static sptr make(double center_frequency,
49 int fft_size,
50 int sample_rate,
51 int burst_pre_len,
52 int burst_post_len,
53 int burst_width,
54 int max_bursts = 0,
55 int max_burst_len = 0,
56 float threshold = 7,
57 int history_size = 512,
58 bool offline = false,
59 bool debug = false);
60
61 virtual uint64_t get_n_tagged_bursts() = 0;
62 virtual uint64_t get_sample_count() = 0;
63};
64
65} // namespace iridium
66} // namespace gr
67
68#endif /* INCLUDED_IRIDIUM_FFT_BURST_TAGGER_H */
#define IRIDIUM_API
Definition api.h:19
<+description of block+>
Definition fft_burst_tagger.h:36
virtual uint64_t get_n_tagged_bursts()=0
std::shared_ptr< fft_burst_tagger > sptr
Definition fft_burst_tagger.h:38
virtual uint64_t get_sample_count()=0
static sptr make(double center_frequency, int fft_size, int sample_rate, int burst_pre_len, int burst_post_len, int burst_width, int max_bursts=0, int max_burst_len=0, float threshold=7, int history_size=512, bool offline=false, bool debug=false)
Return a shared_ptr to a new instance of iridium::fft_burst_tagger.
Definition burst_downmix.h:28
Definition burst_downmix.h:27