GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
freedv_rx_ss.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2016-2019 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_VOCODER_FREEDV_RX_H
12 #define INCLUDED_VOCODER_FREEDV_RX_H
13 
14 #include <gnuradio/block.h>
15 #include <gnuradio/vocoder/api.h>
17 
18 namespace gr {
19 namespace vocoder {
20 
21 /*!
22  * \brief FreeDV demodulator
23  * \ingroup audio_blk
24  *
25  * Input: 16-bit short values of an audio signal with sampling rate 8 kHz.
26  *
27  * Output: 16-bit short values of an audio signal with sampling rate 8 kHz.
28  *
29  * See also gr::vocoder::freedv_tx_ss.
30  */
31 class VOCODER_API freedv_rx_ss : virtual public gr::block
32 {
33 public:
34  typedef std::shared_ptr<freedv_rx_ss> sptr;
35 
36  /*!
37  * \brief Make FreeDV modem demodulator block.
38  *
39  * \param mode Operating Mode designation
40  * \param squelch_thresh FreeDV modem squelch threshold value
41  * \param interleave_frames FreeDV 700D mode number of frames to average error
42  */
43  static sptr make(int mode = freedv_api::MODE_1600,
44  float squelch_thresh = -100.0,
45  int interleave_frames = 1);
46 
47  virtual void set_squelch_thresh(float squelch_thresh) = 0;
48  virtual float squelch_thresh() = 0;
49  virtual void set_squelch_en(bool squelch_enable) = 0;
50 };
51 
52 } /* namespace vocoder */
53 } /* namespace gr */
54 
55 #endif /* INCLUDED_VOCODER_FREEDV_RX_H */
The abstract base class for all 'terminal' processing blocks.
Definition: gnuradio-runtime/include/gnuradio/block.h:63
FreeDV demodulator.
Definition: freedv_rx_ss.h:32
virtual void set_squelch_en(bool squelch_enable)=0
static sptr make(int mode=freedv_api::MODE_1600, float squelch_thresh=-100.0, int interleave_frames=1)
Make FreeDV modem demodulator block.
virtual float squelch_thresh()=0
virtual void set_squelch_thresh(float squelch_thresh)=0
std::shared_ptr< freedv_rx_ss > sptr
Definition: freedv_rx_ss.h:34
#define VOCODER_API
Definition: gr-vocoder/include/gnuradio/vocoder/api.h:18
GNU Radio logging wrapper.
Definition: basic_block.h:29