GNU Radio's SATELLITES Package
kurtosis.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2025 Daniel Estevez <daniel@destevez.net>.
4 *
5 * This file is part of gr-satellites
6 *
7 * SPDX-License-Identifier: GPL-3.0-or-later
8 */
9
10#ifndef INCLUDED_SATELLITES_KURTOSIS_H
11#define INCLUDED_SATELLITES_KURTOSIS_H
12
13#include <gnuradio/sync_decimator.h>
14#include <satellites/api.h>
15
16namespace gr {
17namespace satellites {
18
19/*!
20 * \brief Estimates the Kurtosis of a complex signal
21 * \ingroup satellites
22 *
23 * \details
24 * This block computes an unbiased estimate of the Kurtosis of a complex
25 * signal for each block of M input samples. The block supports vectors,
26 * in which case the Kurtosis is computed component-wise. This can be used
27 * to compute spectral Kurtosis, for instance.
28 */
29class SATELLITES_API kurtosis : virtual public gr::sync_decimator
30{
31public:
32 typedef std::shared_ptr<kurtosis> sptr;
33
34 /*!
35 * \brief Build the Kurtosis block.
36 *
37 * \param block_size The block size to use to compute the Kurtosis estimate
38 * \param vlen Vector length
39 */
40 static sptr make(size_t block_size, size_t vlen = 1);
41};
42
43} // namespace satellites
44} // namespace gr
45
46#endif /* INCLUDED_SATELLITES_KURTOSIS_H */
#define SATELLITES_API
Definition: api.h:31
Estimates the Kurtosis of a complex signal.
Definition: kurtosis.h:30
std::shared_ptr< kurtosis > sptr
Definition: kurtosis.h:32
static sptr make(size_t block_size, size_t vlen=1)
Build the Kurtosis block.
Definition: ax100_decode.h:17