diff options
Diffstat (limited to 'gr-digital/swig')
-rw-r--r-- | gr-digital/swig/CMakeLists.txt | 6 | ||||
-rw-r--r-- | gr-digital/swig/Makefile.am | 6 | ||||
-rw-r--r-- | gr-digital/swig/digital_ofdm_cyclic_prefixer.i | 34 | ||||
-rw-r--r-- | gr-digital/swig/digital_ofdm_frame_acquisition.i | 49 | ||||
-rw-r--r-- | gr-digital/swig/digital_ofdm_frame_sink.i | 41 | ||||
-rw-r--r-- | gr-digital/swig/digital_ofdm_insert_preamble.i | 35 | ||||
-rw-r--r-- | gr-digital/swig/digital_ofdm_mapper_bcv.i | 46 | ||||
-rw-r--r-- | gr-digital/swig/digital_ofdm_sampler.i | 35 | ||||
-rw-r--r-- | gr-digital/swig/digital_swig.i | 12 |
9 files changed, 264 insertions, 0 deletions
diff --git a/gr-digital/swig/CMakeLists.txt b/gr-digital/swig/CMakeLists.txt index 3df218d6e..4f4e51e33 100644 --- a/gr-digital/swig/CMakeLists.txt +++ b/gr-digital/swig/CMakeLists.txt @@ -54,6 +54,12 @@ install( 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 DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig 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" |