GNU Radio Manual and C++ API Reference 3.10.5.1
The Free & Open Software Radio Ecosystem
phase_modulator_fc.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2005,2006,2012 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_ANALOG_PHASE_MODULATOR_FC_H
12#define INCLUDED_ANALOG_PHASE_MODULATOR_FC_H
13
14#include <gnuradio/analog/api.h>
15#include <gnuradio/sync_block.h>
16
17namespace gr {
18namespace analog {
19
20/*!
21 * \brief Phase modulator block
22 * \ingroup modulators_blk
23 *
24 * \details
25 * output = complex(cos(in*sensitivity), sin(in*sensitivity))
26 *
27 * Input stream 0: floats
28 * Output stream 0: complex
29 */
31{
32public:
33 // gr::analog::phase_modulator_fc::sptr
34 typedef std::shared_ptr<phase_modulator_fc> sptr;
35
36 /* \brief Make a phase modulator block.
37 *
38 * \param sensitivity Phase change sensitivity of input amplitude.
39 */
40 static sptr make(double sensitivity);
41
42 virtual double sensitivity() const = 0;
43 virtual double phase() const = 0;
44
45 virtual void set_sensitivity(double s) = 0;
46 virtual void set_phase(double p) = 0;
47};
48
49} /* namespace analog */
50} /* namespace gr */
51
52#endif /* INCLUDED_ANALOG_PHASE_MODULATOR_FC_H */
Phase modulator block.
Definition: phase_modulator_fc.h:31
virtual double sensitivity() const =0
virtual void set_phase(double p)=0
virtual double phase() const =0
static sptr make(double sensitivity)
virtual void set_sensitivity(double s)=0
std::shared_ptr< phase_modulator_fc > sptr
Definition: phase_modulator_fc.h:34
synchronous 1:1 input to output with history
Definition: sync_block.h:26
#define ANALOG_API
Definition: gr-analog/include/gnuradio/analog/api.h:18
GNU Radio logging wrapper.
Definition: basic_block.h:29