summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnuradio-runtime/python/gnuradio/ctrlport/monitor.py2
-rw-r--r--gr-digital/include/gnuradio/digital/constellation.h23
-rw-r--r--grc/blocks/variable_constellation.xml51
-rw-r--r--grc/blocks/variable_constellation_rect.xml69
4 files changed, 142 insertions, 3 deletions
diff --git a/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py b/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py
index e067b9b0a6..8bb26d93a1 100644
--- a/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py
+++ b/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py
@@ -33,7 +33,7 @@ class monitor:
try:
# setup export prefs
gr.prefs().singleton().set_bool("ControlPort","on",True);
- if(tool == "gr-ctrlport-monitor"):
+ if(tool == "gr-perf-monitorx"):
gr.prefs().singleton().set_bool("ControlPort","edges_list",True);
gr.prefs().singleton().set_bool("PerfCounters","on",True);
gr.prefs().singleton().set_bool("PerfCounters","export",True);
diff --git a/gr-digital/include/gnuradio/digital/constellation.h b/gr-digital/include/gnuradio/digital/constellation.h
index f8b99bb9c5..6ee274dd04 100644
--- a/gr-digital/include/gnuradio/digital/constellation.h
+++ b/gr-digital/include/gnuradio/digital/constellation.h
@@ -154,7 +154,15 @@ namespace gr {
public:
typedef boost::shared_ptr<constellation_calcdist> sptr;
- // public constructor
+ /*!
+ * Make a general constellation object that calculates the Euclidean distance for hard decisions.
+ *
+ * \param constell List of constellation points (order of list matches pre_diff_code)
+ * \param pre_diff_code List of alphabet symbols (before applying any differential
+ * coding) (order of list matches constell)
+ * \param rotational_symmetry Number of rotations around unit circle that have the same representation.
+ * \param dimensionality Number of dimensions to the constellation.
+ */
static sptr make(std::vector<gr_complex> constell,
std::vector<int> pre_diff_code,
unsigned int rotational_symmetry,
@@ -236,7 +244,18 @@ namespace gr {
public:
typedef boost::shared_ptr<constellation_rect> sptr;
- // public constructor
+ /*!
+ * Make a rectangular constellation object.
+ *
+ * \param constell List of constellation points (order of list matches pre_diff_code)
+ * \param pre_diff_code List of alphabet symbols (before applying any differential
+ * coding) (order of list matches constell)
+ * \param rotational_symmetry Number of rotations around unit circle that have the same representation.
+ * \param real_sectors Number of sectors the real axis is split in to.
+ * \param imag_sectors Number of sectors the imag axis is split in to.
+ * \param width_real_sectors width of each real sector to calculate decision boundaries.
+ * \param width_imag_sectors width of each imag sector to calculate decision boundaries.
+ */
static constellation_rect::sptr make(std::vector<gr_complex> constell,
std::vector<int> pre_diff_code,
unsigned int rotational_symmetry,
diff --git a/grc/blocks/variable_constellation.xml b/grc/blocks/variable_constellation.xml
new file mode 100644
index 0000000000..7d23ede9be
--- /dev/null
+++ b/grc/blocks/variable_constellation.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Options Block:
+## options for window size,
+## and flow graph building.
+###################################################
+ -->
+<block>
+ <name>Constellation Object</name>
+ <key>variable_constellation</key>
+ <category>Modulators</category>
+ <import>from gnuradio import digital</import>
+ <var_make>self.$(id) = $(id) = digital.constellation_calcdist($const_points, $sym_map, $rot_sym, $dims).base()</var_make>
+ <make></make>
+ <!--<callback></callback>-->
+
+ <!-- Required to 'trick' GRC into using this as a proper variable-->
+ <param>
+ <name>Ignore Me</name>
+ <key>value</key>
+ <value>"ok"</value>
+ <type>raw</type>
+ <hide>all</hide>
+ </param>
+
+ <param>
+ <name>Symbol Map</name>
+ <key>sym_map</key>
+ <value>[0, 1, 3, 2]</value>
+ <type>int_vector</type>
+ </param>
+ <param>
+ <name>Constellation Points</name>
+ <key>const_points</key>
+ <value>[-1-1j, -1+1j, 1+1j, 1-1j]</value>
+ <type>complex_vector</type>
+ </param>
+ <param>
+ <name>Rotational Symmetry</name>
+ <key>rot_sym</key>
+ <value>4</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Dimensionality</name>
+ <key>dims</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+</block>
diff --git a/grc/blocks/variable_constellation_rect.xml b/grc/blocks/variable_constellation_rect.xml
new file mode 100644
index 0000000000..5c136ee324
--- /dev/null
+++ b/grc/blocks/variable_constellation_rect.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Options Block:
+## options for window size,
+## and flow graph building.
+###################################################
+ -->
+<block>
+ <name>Constellation Rect. Object</name>
+ <key>variable_constellation_rect</key>
+ <category>Modulators</category>
+ <import>from gnuradio import digital</import>
+ <var_make>self.$(id) = $(id) = digital.constellation_rect($const_points, $sym_map, $rot_sym, $real_sect, $imag_sect, $w_real_sect, $w_imag_sect).base()</var_make>
+ <make></make>
+ <!--<callback></callback>-->
+
+ <!-- Required to 'trick' GRC into using this as a proper variable-->
+ <param>
+ <name>Ignore Me</name>
+ <key>value</key>
+ <value>"ok"</value>
+ <type>raw</type>
+ <hide>all</hide>
+ </param>
+
+ <param>
+ <name>Symbol Map</name>
+ <key>sym_map</key>
+ <value>[0, 1, 3, 2]</value>
+ <type>int_vector</type>
+ </param>
+ <param>
+ <name>Constellation Points</name>
+ <key>const_points</key>
+ <value>[-1-1j, -1+1j, 1+1j, 1-1j]</value>
+ <type>complex_vector</type>
+ </param>
+ <param>
+ <name>Rotational Symmetry</name>
+ <key>rot_sym</key>
+ <value>4</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Real Sectors</name>
+ <key>real_sect</key>
+ <value>2</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Imaginary Sectors</name>
+ <key>imag_sect</key>
+ <value>2</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Width Real Sectors</name>
+ <key>w_real_sect</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Width Imaginary Sectors</name>
+ <key>w_imag_sect</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+</block>