diff options
author | Josh Morman <mormjb@gmail.com> | 2020-06-02 09:37:58 -0400 |
---|---|---|
committer | mormj <34754695+mormj@users.noreply.github.com> | 2020-11-16 13:10:53 -0500 |
commit | e5144a18d9f5280f62db4dd3c2426860b92b2631 (patch) | |
tree | ce74d38bdfbd2c2ed5a106c2cac7914bc98660a7 /gr-digital/include | |
parent | f1d64ccf38f669420387c1cc8787513538e40947 (diff) |
digital: add constellation_encoder block
Diffstat (limited to 'gr-digital/include')
3 files changed, 50 insertions, 1 deletions
diff --git a/gr-digital/include/gnuradio/digital/CMakeLists.txt b/gr-digital/include/gnuradio/digital/CMakeLists.txt index 66824e178a..52e40fed3c 100644 --- a/gr-digital/include/gnuradio/digital/CMakeLists.txt +++ b/gr-digital/include/gnuradio/digital/CMakeLists.txt @@ -23,6 +23,7 @@ install(FILES cma_equalizer_cc.h constellation.h constellation_decoder_cb.h + constellation_encoder_bc.h constellation_receiver_cb.h constellation_soft_decoder_cf.h corr_est_cc.h diff --git a/gr-digital/include/gnuradio/digital/constellation_decoder_cb.h b/gr-digital/include/gnuradio/digital/constellation_decoder_cb.h index f53f9fdd79..b6c1eecdd6 100644 --- a/gr-digital/include/gnuradio/digital/constellation_decoder_cb.h +++ b/gr-digital/include/gnuradio/digital/constellation_decoder_cb.h @@ -24,7 +24,7 @@ namespace digital { * * \details * Decode a constellation's points from a complex space to - * (unpacked) bits based on the map of the \p consetllation + * (unpacked) bits based on the map of the \p constellation * object. */ class DIGITAL_API constellation_decoder_cb : virtual public block diff --git a/gr-digital/include/gnuradio/digital/constellation_encoder_bc.h b/gr-digital/include/gnuradio/digital/constellation_encoder_bc.h new file mode 100644 index 0000000000..aa0039c169 --- /dev/null +++ b/gr-digital/include/gnuradio/digital/constellation_encoder_bc.h @@ -0,0 +1,48 @@ +/* -*- c++ -*- */ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +#ifndef INCLUDED_DIGITAL_CONSTELLATION_ENCODER_BC_H +#define INCLUDED_DIGITAL_CONSTELLATION_ENCODER_BC_H + +#include <gnuradio/digital/api.h> +#include <gnuradio/digital/constellation.h> +#include <gnuradio/sync_interpolator.h> + +namespace gr { +namespace digital { + +/*! + * \brief Constellation Encoder + * \ingroup symbol_coding_blk + * + * \details + * Encode upacked bits into a constellation's complex space + * bits based on the map of the \p constellation object. + */ +class DIGITAL_API constellation_encoder_bc : virtual public sync_interpolator +{ +public: + // gr::digital::constellation_encoder_bc::sptr + typedef std::shared_ptr<constellation_encoder_bc> sptr; + + /*! + * \brief Make constellation decoder block. + * + * \param constellation A constellation derived from class + * 'constellation'. Use base() method to get a shared pointer to + * this base class type. + */ + static sptr make(constellation_sptr constellation); +}; + +} /* namespace digital */ +} /* namespace gr */ + +#endif /* INCLUDED_DIGITAL_CONSTELLATION_ENCODER_BC_H */ |