summaryrefslogtreecommitdiff
path: root/gr-digital/include
diff options
context:
space:
mode:
authorJosh Morman <mormjb@gmail.com>2020-06-02 09:37:58 -0400
committermormj <34754695+mormj@users.noreply.github.com>2020-11-16 13:10:53 -0500
commite5144a18d9f5280f62db4dd3c2426860b92b2631 (patch)
treece74d38bdfbd2c2ed5a106c2cac7914bc98660a7 /gr-digital/include
parentf1d64ccf38f669420387c1cc8787513538e40947 (diff)
digital: add constellation_encoder block
Diffstat (limited to 'gr-digital/include')
-rw-r--r--gr-digital/include/gnuradio/digital/CMakeLists.txt1
-rw-r--r--gr-digital/include/gnuradio/digital/constellation_decoder_cb.h2
-rw-r--r--gr-digital/include/gnuradio/digital/constellation_encoder_bc.h48
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 */