GNU Radio's SATELLITES Package
phase_unwrap.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 #ifndef INCLUDED_SATELLITES_PHASE_UNWRAP_H
11 #define INCLUDED_SATELLITES_PHASE_UNWRAP_H
12 
13 #include <gnuradio/sync_block.h>
14 #include <satellites/api.h>
15 
16 namespace gr {
17 namespace satellites {
18 
19 /*!
20  * \brief Unwraps a phase time series.
21  * \ingroup satellites
22  *
23  * \details
24  * The Phase Unwrap block unwraps a phase input by counting integer cycles. The
25  * integer number of cycles is given as an int64_t, so that overflows are
26  * impossible in most use cases. The output of the block is a vector of 12 bytes
27  * that contains the integer number of cycles in the first 8 bytes and the
28  * fractional phase in radians in the last 4 bytes.
29  */
30 class SATELLITES_API phase_unwrap : virtual public gr::sync_block
31 {
32 public:
33  typedef boost::shared_ptr<phase_unwrap> sptr;
34 
35  /*!
36  * \brief Build the Phase Unwrap block
37  */
38  static sptr make();
39 };
40 
41 } // namespace satellites
42 } // namespace gr
43 
44 #endif /* INCLUDED_SATELLITES_PHASE_UNWRAP_H */
#define SATELLITES_API
Definition: api.h:31
Unwraps a phase time series.
Definition: phase_unwrap.h:31
static sptr make()
Build the Phase Unwrap block.
boost::shared_ptr< phase_unwrap > sptr
Definition: phase_unwrap.h:33
Definition: ax100_decode.h:17