GNU Radio Manual and C++ API Reference
3.9.1.0
The Free & Open Software Radio Ecosystem
peak_detector2_fb.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2007,2013,2015 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_GR_PEAK_DETECTOR2_FB_H
12
#define INCLUDED_GR_PEAK_DETECTOR2_FB_H
13
14
#include <
gnuradio/blocks/api.h
>
15
#include <
gnuradio/sync_block.h
>
16
17
namespace
gr
{
18
namespace
blocks {
19
20
/*!
21
* \brief Detect the peak of a signal
22
* \ingroup peak_detectors_blk
23
*
24
* \details
25
* If a peak is detected, this block outputs a 1, or it outputs
26
* 0's. A separate debug output may be connected, to view the
27
* internal estimated mean described below.
28
*/
29
class
BLOCKS_API
peak_detector2_fb
:
virtual
public
sync_block
30
{
31
public
:
32
// gr::blocks::peak_detector2_fb::sptr
33
typedef
std::shared_ptr<peak_detector2_fb>
sptr
;
34
35
/*!
36
* Build a peak detector block with float in, byte out.
37
*
38
* \param threshold_factor_rise The threshold factor determines
39
* when a peak is present. An average of the input signal
40
* is calculated (through a single-pole autoregressive
41
* filter) and when the value of the input signal goes
42
* over threshold_factor_rise*average, we assume we are
43
* in the neighborhood of a peak. The block will then
44
* find the position of the maximum within a window of
45
* look_ahead samples starting at the point where the
46
* threshold was crossed upwards.
47
* \param look_ahead The look-ahead value is used when the
48
* threshold is crossed upwards to locate the peak within
49
* this range.
50
* \param alpha One minus the pole of a single-pole
51
* autoregressive filter that evaluates the average of
52
* the input signal.
53
*/
54
static
sptr
55
make(
float
threshold_factor_rise = 7,
int
look_ahead = 1000,
float
alpha = 0.001);
56
57
/*! \brief Set the threshold factor value for the rise time
58
* \param thr new threshold factor
59
*/
60
virtual
void
set_threshold_factor_rise(
float
thr) = 0;
61
62
/*! \brief Set the look-ahead factor
63
* \param look new look-ahead factor
64
*/
65
virtual
void
set_look_ahead(
int
look) = 0;
66
67
/*! \brief Set the running average alpha
68
* \param alpha new alpha for running average
69
*/
70
virtual
void
set_alpha(
float
alpha) = 0;
71
72
/*! \brief Get the threshold factor value for the rise time
73
* \return threshold factor
74
*/
75
virtual
float
threshold_factor_rise() = 0;
76
77
/*! \brief Get the look-ahead factor value
78
* \return look-ahead factor
79
*/
80
virtual
int
look_ahead() = 0;
81
82
/*! \brief Get the alpha value of the running average
83
* \return alpha
84
*/
85
virtual
float
alpha() = 0;
86
};
87
88
}
/* namespace blocks */
89
}
/* namespace gr */
90
91
#endif
/* INCLUDED_GR_PEAK_DETECTOR2_FB_H */
api.h
BLOCKS_API
#define BLOCKS_API
Definition:
gr-blocks/include/gnuradio/blocks/api.h:18
gr::blocks::peak_detector2_fb::sptr
std::shared_ptr< peak_detector2_fb > sptr
Definition:
peak_detector2_fb.h:33
gr::sync_block
synchronous 1:1 input to output with history
Definition:
sync_block.h:25
sync_block.h
gr::blocks::peak_detector2_fb
Detect the peak of a signal.
Definition:
peak_detector2_fb.h:29
gr
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition:
basic_block.h:29
gr-blocks
include
gnuradio
blocks
peak_detector2_fb.h
Generated by
1.8.17