GNU Radio 3.7.1 C++ API
pwr_squelch_ff.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2006,2012 Free Software Foundation, Inc.
4
*
5
* This file is part of GNU Radio
6
*
7
* GNU Radio 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
* GNU Radio 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 GNU Radio; 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
#ifndef INCLUDED_ANALOG_PWR_SQUELCH_FF_H
24
#define INCLUDED_ANALOG_PWR_SQUELCH_FF_H
25
26
#include <
gnuradio/analog/api.h
>
27
#include <
gnuradio/analog/squelch_base_ff.h
>
28
#include <cmath>
29
30
namespace
gr {
31
namespace
analog {
32
33
/*!
34
* \brief gate or zero output when input power below threshold
35
* \ingroup level_controllers_blk
36
*/
37
class
ANALOG_API
pwr_squelch_ff
:
38
public
squelch_base_ff
,
virtual
public
block
39
{
40
protected
:
41
virtual
void
update_state(
const
float
&in) = 0;
42
virtual
bool
mute()
const
= 0;
43
44
public
:
45
// gr::analog::pwr_squelch_ff::sptr
46
typedef
boost::shared_ptr<pwr_squelch_ff>
sptr
;
47
48
/*!
49
* \brief Make power-based squelch block.
50
*
51
* \param db threshold (in dB) for power squelch
52
* \param alpha Gain of averaging filter
53
* \param ramp sets response characteristic.
54
* \param gate if true, no output if no squelch tone.
55
* if false, output 0's if no squelch tone.
56
*/
57
static
sptr
make(
double
db,
double
alpha=0.0001,
58
int
ramp=0,
bool
gate=
false
);
59
60
virtual
std::vector<float> squelch_range()
const
= 0;
61
62
virtual
double
threshold()
const
= 0;
63
virtual
void
set_threshold(
double
db) = 0;
64
virtual
void
set_alpha(
double
alpha) = 0;
65
66
virtual
int
ramp()
const
= 0;
67
virtual
void
set_ramp(
int
ramp) = 0;
68
virtual
bool
gate()
const
= 0;
69
virtual
void
set_gate(
bool
gate) = 0;
70
virtual
bool
unmuted()
const
= 0;
71
};
72
73
}
/* namespace analog */
74
}
/* namespace gr */
75
76
#endif
/* INCLUDED_ANALOG_PWR_SQUELCH_FF_H */
gr-analog
include
gnuradio
analog
pwr_squelch_ff.h
Generated on Wed Oct 2 2013 01:55:46 for GNU Radio 3.7.1 C++ API by
1.8.4