summaryrefslogtreecommitdiff
path: root/gr-digital/swig
diff options
context:
space:
mode:
authorTom Rondeau2011-10-12 19:02:47 -0400
committerTom Rondeau2011-10-12 19:03:05 -0400
commit60b3bd32aa145522a1eaf9978e594ed13b9a6bc5 (patch)
tree8e9c02913a91678bb61eb5a6572544a959d49842 /gr-digital/swig
parent0e16a28047d07afc6e4d31839d804dca0d0de31e (diff)
downloadgnuradio-60b3bd32aa145522a1eaf9978e594ed13b9a6bc5.tar.gz
gnuradio-60b3bd32aa145522a1eaf9978e594ed13b9a6bc5.tar.bz2
gnuradio-60b3bd32aa145522a1eaf9978e594ed13b9a6bc5.zip
digital: moved over all c++ blocks to gr-digital. Benchmark tx/rx still working.
Diffstat (limited to 'gr-digital/swig')
-rw-r--r--gr-digital/swig/Makefile.am6
-rw-r--r--gr-digital/swig/digital_ofdm_cyclic_prefixer.i34
-rw-r--r--gr-digital/swig/digital_ofdm_frame_acquisition.i49
-rw-r--r--gr-digital/swig/digital_ofdm_frame_sink.i41
-rw-r--r--gr-digital/swig/digital_ofdm_insert_preamble.i35
-rw-r--r--gr-digital/swig/digital_ofdm_mapper_bcv.i46
-rw-r--r--gr-digital/swig/digital_ofdm_sampler.i35
-rw-r--r--gr-digital/swig/digital_swig.i12
8 files changed, 258 insertions, 0 deletions
diff --git a/gr-digital/swig/Makefile.am b/gr-digital/swig/Makefile.am
index abc24be19..1afa44743 100644
--- a/gr-digital/swig/Makefile.am
+++ b/gr-digital/swig/Makefile.am
@@ -71,6 +71,12 @@ digital_swig_swiginclude_headers = \
digital_lms_dd_equalizer_cc.i \
digital_kurtotic_equalizer_cc.i \
digital_mpsk_receiver_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_gmskmod_bc.i \
digital_cpmmod_bc.i
diff --git a/gr-digital/swig/digital_ofdm_cyclic_prefixer.i b/gr-digital/swig/digital_ofdm_cyclic_prefixer.i
new file mode 100644
index 000000000..56d1629a8
--- /dev/null
+++ b/gr-digital/swig/digital_ofdm_cyclic_prefixer.i
@@ -0,0 +1,34 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,2009,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,ofdm_cyclic_prefixer)
+
+digital_ofdm_cyclic_prefixer_sptr
+digital_make_ofdm_cyclic_prefixer (size_t input_size, size_t output_size);
+
+class digital_ofdm_cyclic_prefixer : public gr_sync_interpolator
+{
+ protected:
+ digital_ofdm_cyclic_prefixer (size_t input_size, size_t output_size);
+
+ public:
+};
diff --git a/gr-digital/swig/digital_ofdm_frame_acquisition.i b/gr-digital/swig/digital_ofdm_frame_acquisition.i
new file mode 100644
index 000000000..b61297bde
--- /dev/null
+++ b/gr-digital/swig/digital_ofdm_frame_acquisition.i
@@ -0,0 +1,49 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,2007,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.
+ */
+
+#include <vector>
+
+GR_SWIG_BLOCK_MAGIC(digital,ofdm_frame_acquisition);
+
+digital_ofdm_frame_acquisition_sptr
+digital_make_ofdm_frame_acquisition (unsigned int occupied_carriers,
+ unsigned int fft_length,
+ unsigned int cplen,
+ const std::vector<gr_complex> &known_symbol,
+ unsigned int max_fft_shift_len=4);
+
+class digital_ofdm_frame_acquisition : public gr_sync_decimator
+{
+ protected:
+ digital_ofdm_frame_acquisition (unsigned int occupied_carriers,
+ unsigned int fft_length,
+ unsigned int cplen,
+ const std::vector<gr_complex> &known_symbol,
+ unsigned int max_fft_shift_len);
+
+ public:
+ float snr() { return d_snr_est; }
+ int general_work(int noutput_items,
+ gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
diff --git a/gr-digital/swig/digital_ofdm_frame_sink.i b/gr-digital/swig/digital_ofdm_frame_sink.i
new file mode 100644
index 000000000..cd3fa1422
--- /dev/null
+++ b/gr-digital/swig/digital_ofdm_frame_sink.i
@@ -0,0 +1,41 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2007,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,ofdm_frame_sink);
+
+digital_ofdm_frame_sink_sptr
+digital_make_ofdm_frame_sink(const std::vector<gr_complex> &sym_position,
+ const std::vector<unsigned char> &sym_value_out,
+ gr_msg_queue_sptr target_queue, unsigned int occupied_tones,
+ float phase_gain=0.25, float freq_gain=0.25*0.25/4);
+
+class digital_ofdm_frame_sink : public gr_sync_block
+{
+ protected:
+ digital_ofdm_frame_sink(const std::vector<gr_complex> &sym_position,
+ const std::vector<unsigned char> &sym_value_out,
+ gr_msg_queue_sptr target_queue, unsigned int occupied_tones,
+ float phase_gain, float freq_gain);
+
+ public:
+ ~digital_ofdm_frame_sink();
+};
diff --git a/gr-digital/swig/digital_ofdm_insert_preamble.i b/gr-digital/swig/digital_ofdm_insert_preamble.i
new file mode 100644
index 000000000..5f7b16369
--- /dev/null
+++ b/gr-digital/swig/digital_ofdm_insert_preamble.i
@@ -0,0 +1,35 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2007,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,ofdm_insert_preamble);
+
+digital_ofdm_insert_preamble_sptr
+digital_make_ofdm_insert_preamble(int fft_length,
+ const std::vector<std::vector<gr_complex> > &preamble);
+
+
+class digital_ofdm_insert_preamble : public gr_block
+{
+ protected:
+ digital_ofdm_insert_preamble(int fft_length,
+ const std::vector<std::vector<gr_complex> > &preamble);
+};
diff --git a/gr-digital/swig/digital_ofdm_mapper_bcv.i b/gr-digital/swig/digital_ofdm_mapper_bcv.i
new file mode 100644
index 000000000..4e9aaba7d
--- /dev/null
+++ b/gr-digital/swig/digital_ofdm_mapper_bcv.i
@@ -0,0 +1,46 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,2007,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,ofdm_mapper_bcv);
+
+digital_ofdm_mapper_bcv_sptr
+digital_make_ofdm_mapper_bcv (const std::vector<gr_complex> &constellation,
+ unsigned int msgq_limit,
+ unsigned int bits_per_symbol,
+ unsigned int fft_length) throw(std::exception);
+
+
+class digital_ofdm_mapper_bcv : public gr_sync_block
+{
+ protected:
+ digital_ofdm_mapper_bcv (const std::vector<gr_complex> &constellation,
+ unsigned int msgq_limit,
+ unsigned int bits_per_symbol,
+ unsigned int fft_length);
+
+ public:
+ gr_msg_queue_sptr msgq();
+
+ int work(int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
diff --git a/gr-digital/swig/digital_ofdm_sampler.i b/gr-digital/swig/digital_ofdm_sampler.i
new file mode 100644
index 000000000..91056c320
--- /dev/null
+++ b/gr-digital/swig/digital_ofdm_sampler.i
@@ -0,0 +1,35 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2007,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,ofdm_sampler)
+
+ digital_ofdm_sampler_sptr digital_make_ofdm_sampler (unsigned int fft_length,
+ unsigned int symbol_length,
+ unsigned int timeout=1000);
+
+class digital_ofdm_sampler : public gr_sync_block
+{
+ private:
+ digital_ofdm_sampler (unsigned int fft_length,
+ unsigned int symbol_length,
+ unsigned int timeout);
+};
diff --git a/gr-digital/swig/digital_swig.i b/gr-digital/swig/digital_swig.i
index 2e3a3242e..3e3a63b61 100644
--- a/gr-digital/swig/digital_swig.i
+++ b/gr-digital/swig/digital_swig.i
@@ -38,6 +38,12 @@
#include "digital_kurtotic_equalizer_cc.h"
#include "digital_lms_dd_equalizer_cc.h"
#include "digital_mpsk_receiver_cc.h"
+#include "digital_ofdm_cyclic_prefixer.h"
+#include "digital_ofdm_frame_acquisition.h"
+#include "digital_ofdm_frame_sink.h"
+#include "digital_ofdm_insert_preamble.h"
+#include "digital_ofdm_mapper_bcv.h"
+#include "digital_ofdm_sampler.h"
#include "digital_cpmmod_bc.h"
#include "digital_gmskmod_bc.h"
%}
@@ -56,6 +62,12 @@
%include "digital_kurtotic_equalizer_cc.i"
%include "digital_lms_dd_equalizer_cc.i"
%include "digital_mpsk_receiver_cc.i"
+%include "digital_ofdm_cyclic_prefixer.i"
+%include "digital_ofdm_frame_acquisition.i"
+%include "digital_ofdm_frame_sink.i"
+%include "digital_ofdm_insert_preamble.i"
+%include "digital_ofdm_mapper_bcv.i"
+%include "digital_ofdm_sampler.i"
%include "digital_cpmmod_bc.i"
%include "digital_gmskmod_bc.i"