summaryrefslogtreecommitdiff
path: root/gr-digital/swig
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2011-12-29 11:27:00 -0500
committerTom Rondeau <trondeau@vt.edu>2011-12-29 11:27:00 -0500
commit74c53aa4c5b9aeac590b803b12601bcc9c8b9b60 (patch)
treef56a0560b3246d8cbb9cf9690501424ec67248f6 /gr-digital/swig
parentceb18ce1c1342477d0704edfaa3e775830a999e4 (diff)
digital: added a probe (sink) for the new SNR estimators; also fixes up Makefiles and Swig files for SNR est blocks.
Diffstat (limited to 'gr-digital/swig')
-rw-r--r--gr-digital/swig/CMakeLists.txt1
-rw-r--r--gr-digital/swig/Makefile.am2
-rw-r--r--gr-digital/swig/digital_probe_mpsk_snr_est_c.i41
-rw-r--r--gr-digital/swig/digital_swig.i9
4 files changed, 53 insertions, 0 deletions
diff --git a/gr-digital/swig/CMakeLists.txt b/gr-digital/swig/CMakeLists.txt
index 136f9e43f0..6f2c2251ad 100644
--- a/gr-digital/swig/CMakeLists.txt
+++ b/gr-digital/swig/CMakeLists.txt
@@ -66,6 +66,7 @@ install(
digital_ofdm_insert_preamble.i
digital_ofdm_mapper_bcv.i
digital_ofdm_sampler.i
+ digital_probe_mpsk_snr_est_c.i
digital_gmskmod_bc.i
digital_cpmmod_bc.i
DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig
diff --git a/gr-digital/swig/Makefile.am b/gr-digital/swig/Makefile.am
index 8591c8d743..97b47fafa0 100644
--- a/gr-digital/swig/Makefile.am
+++ b/gr-digital/swig/Makefile.am
@@ -84,12 +84,14 @@ digital_swig_swiginclude_headers = \
digital_lms_dd_equalizer_cc.i \
digital_kurtotic_equalizer_cc.i \
digital_mpsk_receiver_cc.i \
+ digital_mpsk_snr_est_cc.i \
digital_ofdm_cyclic_prefixer.i \
digital_ofdm_frame_acquisition.i \
digital_ofdm_frame_sink.i \
digital_ofdm_insert_preamble.i \
digital_ofdm_mapper_bcv.i \
digital_ofdm_sampler.i \
+ digital_probe_mpsk_snr_est_c.i \
digital_gmskmod_bc.i \
digital_cpmmod_bc.i \
$(TOP_SWIG_DOC_IFILES)
diff --git a/gr-digital/swig/digital_probe_mpsk_snr_est_c.i b/gr-digital/swig/digital_probe_mpsk_snr_est_c.i
new file mode 100644
index 0000000000..fe3684a811
--- /dev/null
+++ b/gr-digital/swig/digital_probe_mpsk_snr_est_c.i
@@ -0,0 +1,41 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2011 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+GR_SWIG_BLOCK_MAGIC(digital,probe_mpsk_snr_est_c);
+
+digital_probe_mpsk_snr_est_c_sptr
+digital_make_probe_mpsk_snr_est_c(snr_est_type_t type,
+ double alpha);
+
+class digital_probe_mpsk_snr_est_c : public gr_sync_block
+{
+private:
+ void digital_probe_mpsk_snr_est_c(snr_est_type_t type,
+ double alpha);
+
+public:
+ double snr();
+ snr_est_type_t type() const;
+ double alpha() const;
+ void set_type(snr_est_type_t t);
+ void set_alpha(double alpha);
+};
diff --git a/gr-digital/swig/digital_swig.i b/gr-digital/swig/digital_swig.i
index 9182b2b097..bc50fc7279 100644
--- a/gr-digital/swig/digital_swig.i
+++ b/gr-digital/swig/digital_swig.i
@@ -24,6 +24,13 @@
//load generated python docstrings
%include "digital_swig_doc.i"
+enum snr_est_type_t {
+ SNR_EST_SIMPLE = 0, // Simple estimator (>= 7 dB)
+ SNR_EST_SKEW, // Skewness-base est (>= 5 dB)
+ SNR_EST_M2M4, // 2nd & 4th moment est (>= 1 dB)
+ SNR_EST_SVN // SVN-based est (>= 0dB)
+};
+
%include <gri_control_loop.i>
%{
@@ -48,6 +55,7 @@
#include "digital_ofdm_insert_preamble.h"
#include "digital_ofdm_mapper_bcv.h"
#include "digital_ofdm_sampler.h"
+#include "digital_probe_mpsk_snr_est_c.h"
#include "digital_cpmmod_bc.h"
#include "digital_gmskmod_bc.h"
%}
@@ -73,6 +81,7 @@
%include "digital_ofdm_insert_preamble.i"
%include "digital_ofdm_mapper_bcv.i"
%include "digital_ofdm_sampler.i"
+%include "digital_probe_mpsk_snr_est_c.i"
%include "digital_cpmmod_bc.i"
%include "digital_gmskmod_bc.i"