GNU Radio's SATELLITES Package
costas_loop_8apsk_cc.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2022 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
11#ifndef INCLUDED_SATELLITES_COSTAS_LOOP_8APSK_CC_H
12#define INCLUDED_SATELLITES_COSTAS_LOOP_8APSK_CC_H
13
14#include <gnuradio/blocks/control_loop.h>
15#include <gnuradio/sync_block.h>
16#include <satellites/api.h>
17
18namespace gr {
19namespace satellites {
20
21/*!
22 * \brief 8APSK Costas Loop
23 * \ingroup satellites
24 *
25 */
26class SATELLITES_API costas_loop_8apsk_cc : virtual public gr::sync_block,
27 virtual public blocks::control_loop
28{
29public:
30 typedef std::shared_ptr<costas_loop_8apsk_cc> sptr;
31
32 /*!
33 * Make an 8APSK Costas Loop block.
34 *
35 * \param loop_bw internal 2nd order loop bandwidth
36 */
37 static sptr make(float loop_bw);
38
39 /*!
40 * Returns the current value of the loop error.
41 */
42 virtual float error() const = 0;
43};
44
45} // namespace satellites
46} // namespace gr
47
48#endif /* INCLUDED_SATELLITES_COSTAS_LOOP_8APSK_CC_H */
#define SATELLITES_API
Definition api.h:31
8APSK Costas Loop
Definition costas_loop_8apsk_cc.h:28
static sptr make(float loop_bw)
virtual float error() const =0
std::shared_ptr< costas_loop_8apsk_cc > sptr
Definition costas_loop_8apsk_cc.h:30
Definition ax100_decode.h:17