GNU Radio 3.6.5.1 C++ API
pwr_squelch_cc.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_CC_H
24
#define INCLUDED_ANALOG_PWR_SQUELCH_CC_H
25
26
#include <
analog/api.h
>
27
#include <
analog/squelch_base_cc.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_cc
:
38
public
squelch_base_cc
,
virtual
public
gr_block
39
{
40
protected
:
41
virtual
void
update_state(
const
gr_complex
&in) = 0;
42
virtual
bool
mute()
const
= 0;
43
44
public
:
45
// gr::analog::pwr_squelch_cc::sptr
46
typedef
boost::shared_ptr<pwr_squelch_cc>
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
54
* \param gate
55
*/
56
static
sptr
make(
double
db,
double
alpha=0.0001,
57
int
ramp=0,
bool
gate=
false
);
58
59
virtual
std::vector<float> squelch_range()
const
= 0;
60
61
virtual
double
threshold()
const
= 0;
62
virtual
void
set_threshold(
double
db) = 0;
63
virtual
void
set_alpha(
double
alpha) = 0;
64
65
virtual
int
ramp()
const
= 0;
66
virtual
void
set_ramp(
int
ramp) = 0;
67
virtual
bool
gate()
const
= 0;
68
virtual
void
set_gate(
bool
gate) = 0;
69
virtual
bool
unmuted()
const
= 0;
70
};
71
72
}
/* namespace analog */
73
}
/* namespace gr */
74
75
#endif
/* INCLUDED_ANALOG_PWR_SQUELCH_CC_H */
gr-analog
include
analog
pwr_squelch_cc.h
Generated on Mon Aug 19 2013 15:37:31 for GNU Radio 3.6.5.1 C++ API by
1.8.1.2