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 
18 namespace gr {
19 namespace satellites {
20 
21 /*!
22  * \brief 8APSK Costas Loop
23  * \ingroup satellites
24  *
25  */
26 class SATELLITES_API costas_loop_8apsk_cc : virtual public gr::sync_block,
27  virtual public blocks::control_loop
28 {
29 public:
30  typedef boost::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 */
boost::shared_ptr< costas_loop_8apsk_cc > sptr
Definition: costas_loop_8apsk_cc.h:30
Definition: ax100_decode.h:17
8APSK Costas Loop
Definition: costas_loop_8apsk_cc.h:26
#define SATELLITES_API
Definition: api.h:31