diff options
Diffstat (limited to 'gr-digital/include')
11 files changed, 18 insertions, 631 deletions
diff --git a/gr-digital/include/gnuradio/digital/CMakeLists.txt b/gr-digital/include/gnuradio/digital/CMakeLists.txt index 1b22265853..2b5aa8543c 100644 --- a/gr-digital/include/gnuradio/digital/CMakeLists.txt +++ b/gr-digital/include/gnuradio/digital/CMakeLists.txt @@ -48,7 +48,6 @@ install(FILES correlate_access_code_tag_bb.h correlate_access_code_bb_ts.h correlate_access_code_ff_ts.h - correlate_and_sync_cc.h costas_loop_cc.h cpmmod_bc.h crc32.h @@ -73,7 +72,6 @@ install(FILES map_bb.h metric_type.h modulate_vector.h - mpsk_receiver_cc.h mpsk_snr_est.h mpsk_snr_est_cc.h msk_timing_recovery_cc.h @@ -83,12 +81,7 @@ install(FILES ofdm_equalizer_base.h ofdm_equalizer_simpledfe.h ofdm_equalizer_static.h - ofdm_frame_acquisition.h ofdm_frame_equalizer_vcvc.h - ofdm_frame_sink.h - ofdm_insert_preamble.h - ofdm_mapper_bcv.h - ofdm_sampler.h ofdm_serializer_vcc.h ofdm_sync_sc_cfb.h header_format_base.h @@ -115,5 +108,4 @@ install(FILES simple_framer_sync.h header_payload_demux.h DESTINATION ${GR_INCLUDE_DIR}/gnuradio/digital - COMPONENT "digital_devel" ) diff --git a/gr-digital/include/gnuradio/digital/correlate_and_sync_cc.h b/gr-digital/include/gnuradio/digital/correlate_and_sync_cc.h deleted file mode 100644 index c0a9b8c579..0000000000 --- a/gr-digital/include/gnuradio/digital/correlate_and_sync_cc.h +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2013 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. - */ - - -#ifndef INCLUDED_DIGITAL_CORRELATE_AND_SYNC_CC_H -#define INCLUDED_DIGITAL_CORRELATE_AND_SYNC_CC_H - -#include <gnuradio/digital/api.h> -#include <gnuradio/sync_block.h> - -namespace gr { - namespace digital { - - /*! - * \brief Correlate to a preamble and send time/phase sync info - * \ingroup deprecated_blk - * - * \details - * Input: - * \li Stream of complex samples. - * - * Output: - * \li Output stream that just passes the input complex samples - * \li tag 'phase_est': estimate of phase offset - * \li tag 'timing_est': estimate of symbol timing offset - * \li tag 'corr_est': the correlation value of the estimates - * - * This block is designed to search for a preamble by correlation - * and uses the results of the correlation to get a time and phase - * offset estimate. These estimates are passed downstream as - * stream tags for use by follow-on synchronization blocks. - * - * The preamble is provided as a set of symbols along with a - * baseband matched filter which we use to create the filtered and - * upsampled symbol that we will receive over-the-air. - * - * The phase_est tag is used to adjust the phase estimation of any - * downstream synchronization blocks and is currently used by the - * gr::digital::costas_loop_cc block. - * - * The time_est tag is used to adjust the sampling timing - * estimation of any downstream synchronization blocks and is - * currently used by the gr::digital::pfb_clock_sync_ccf block. - */ - class DIGITAL_API correlate_and_sync_cc : virtual public sync_block - { - public: - typedef boost::shared_ptr<correlate_and_sync_cc> sptr; - - /*! - * Make a block that correlates against the \p symbols vector - * and outputs a phase and symbol timing estimate. - * - * \param symbols Set of symbols to correlate against (e.g., a - * preamble). - * \param filter Baseband matched filter (e.g., RRC) - * \param sps Samples per symbol - * \param nfilts Number of filters in the internal PFB - */ - static sptr make(const std::vector<gr_complex> &symbols, - const std::vector<float> &filter, - unsigned int sps, unsigned int nfilts=32); - - virtual std::vector<gr_complex> symbols() const = 0; - virtual void set_symbols(const std::vector<gr_complex> &symbols) = 0; - }; - - } // namespace digital -} // namespace gr - -#endif /* INCLUDED_DIGITAL_CORRELATE_AND_SYNC_CC_H */ diff --git a/gr-digital/include/gnuradio/digital/glfsr.h b/gr-digital/include/gnuradio/digital/glfsr.h index 445904969e..449eeaa618 100644 --- a/gr-digital/include/gnuradio/digital/glfsr.h +++ b/gr-digital/include/gnuradio/digital/glfsr.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2007,2012 Free Software Foundation, Inc. + * Copyright 2007,2012,2016 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -24,6 +24,7 @@ #define INCLUDED_DIGITAL_GLFSR_H #include <gnuradio/digital/api.h> +#include <boost/cstdint.hpp> namespace gr { namespace digital { @@ -38,25 +39,18 @@ namespace gr { class DIGITAL_API glfsr { private: - int d_shift_register; - int d_mask; + uint32_t d_shift_register; + uint32_t d_mask; public: - glfsr(int mask, int seed) { d_shift_register = seed; d_mask = mask; } + glfsr(uint32_t mask, uint32_t seed) { d_shift_register = seed; d_mask = mask; } ~glfsr(); - static int glfsr_mask(int degree); + static uint32_t glfsr_mask(unsigned int degree); - unsigned char next_bit() - { - unsigned char bit = d_shift_register & 1; - d_shift_register >>= 1; - if(bit) - d_shift_register ^= d_mask; - return bit; - } + uint8_t next_bit(); - int mask() const { return d_mask; } + uint32_t mask() const { return d_mask; } }; } /* namespace digital */ diff --git a/gr-digital/include/gnuradio/digital/glfsr_source_b.h b/gr-digital/include/gnuradio/digital/glfsr_source_b.h index 3491d73315..46ea38ebb5 100644 --- a/gr-digital/include/gnuradio/digital/glfsr_source_b.h +++ b/gr-digital/include/gnuradio/digital/glfsr_source_b.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2007,2012 Free Software Foundation, Inc. + * Copyright 2007,2012,2016 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -50,11 +50,11 @@ namespace gr { * register to feed back. * \param seed Initial setting for values in shift register. */ - static sptr make(int degree, bool repeat=true, - int mask=0, int seed=1); + static sptr make(unsigned int degree, bool repeat=true, + uint32_t mask=0x0, uint32_t seed=0x1); - virtual unsigned int period() const = 0; - virtual int mask() const = 0; + virtual uint32_t period() const = 0; + virtual uint32_t mask() const = 0; }; } /* namespace digital */ diff --git a/gr-digital/include/gnuradio/digital/glfsr_source_f.h b/gr-digital/include/gnuradio/digital/glfsr_source_f.h index 24c0713792..b86f83cd93 100644 --- a/gr-digital/include/gnuradio/digital/glfsr_source_f.h +++ b/gr-digital/include/gnuradio/digital/glfsr_source_f.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2007,2012 Free Software Foundation, Inc. + * Copyright 2007,2012,2016 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -50,11 +50,11 @@ namespace gr { * register to feed back. * \param seed Initial setting for values in shift register. */ - static sptr make(int degree, bool repeat=true, - int mask=0, int seed=1); + static sptr make(unsigned int degree, bool repeat=true, + uint32_t mask=0, uint32_t seed=1); - virtual unsigned int period() const = 0; - virtual int mask() const = 0; + virtual uint32_t period() const = 0; + virtual uint32_t mask() const = 0; }; } /* namespace digital */ diff --git a/gr-digital/include/gnuradio/digital/mpsk_receiver_cc.h b/gr-digital/include/gnuradio/digital/mpsk_receiver_cc.h deleted file mode 100644 index 0cb1a8ba7b..0000000000 --- a/gr-digital/include/gnuradio/digital/mpsk_receiver_cc.h +++ /dev/null @@ -1,148 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2007,2011,2012 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. - */ - -#ifndef INCLUDED_DIGITAL_MPSK_RECEIVER_CC_H -#define INCLUDED_DIGITAL_MPSK_RECEIVER_CC_H - -#include <gnuradio/digital/api.h> -#include <gnuradio/block.h> -#include <gnuradio/blocks/control_loop.h> - -namespace gr { - namespace digital { - - /*! - * \brief This block takes care of receiving M-PSK modulated - * signals through phase, frequency, and symbol synchronization. - * \ingroup synchronizers_blk - * \ingroup deprecated_blk - * - * \details - * It performs carrier frequency and phase locking as well as - * symbol timing recovery. It works with (D)BPSK, (D)QPSK, and - * (D)8PSK as tested currently. It should also work for OQPSK and - * PI/4 DQPSK. - * - * The phase and frequency synchronization are based on a Costas - * loop that finds the error of the incoming signal point compared - * to its nearest constellation point. The frequency and phase of - * the NCO are updated according to this error. There are - * optimized phase error detectors for BPSK and QPSK, but 8PSK is - * done using a brute-force computation of the constellation - * points to find the minimum. - * - * The symbol synchronization is done using a modified Mueller and - * Muller circuit from the paper: - * - * "G. R. Danesfahani, T. G. Jeans, "Optimisation of modified Mueller - * and Muller algorithm," Electronics Letters, Vol. 31, no. 13, 22 - * June 1995, pp. 1032 - 1033." - * - * This circuit interpolates the downconverted sample (using the - * NCO developed by the Costas loop) every mu samples, then it - * finds the sampling error based on this and the past symbols and - * the decision made on the samples. Like the phase error - * detector, there are optimized decision algorithms for BPSK and - * QPKS, but 8PSK uses another brute force computation against all - * possible symbols. The modifications to the M&M used here reduce - * self-noise. - * - */ - class DIGITAL_API mpsk_receiver_cc - : virtual public block, - virtual public blocks::control_loop - { - public: - // gr::digital::mpsk_receiver_cc::sptr - typedef boost::shared_ptr<mpsk_receiver_cc> sptr; - - /*! - * \brief Make a M-PSK receiver block. - * - * \param M modulation order of the M-PSK modulation - * \param theta any constant phase rotation from the real axis of the constellation - * \param loop_bw Loop bandwidth to set gains of phase/freq tracking loop - * \param fmin minimum normalized frequency value the loop can achieve - * \param fmax maximum normalized frequency value the loop can achieve - * \param mu initial parameter for the interpolator [0,1] - * \param gain_mu gain parameter of the M&M error signal to adjust mu (~0.05) - * \param omega initial value for the number of symbols between samples (~number of samples/symbol) - * \param gain_omega gain parameter to adjust omega based on the error (~omega^2/4) - * \param omega_rel sets the maximum (omega*(1+omega_rel)) and minimum (omega*(1+omega_rel)) omega (~0.005) - * - * The constructor also chooses which phase detector and - * decision maker to use in the work loop based on the value of - * M. - */ - static sptr make(unsigned int M, float theta, - float loop_bw, - float fmin, float fmax, - float mu, float gain_mu, - float omega, float gain_omega, float omega_rel); - - //! Returns the modulation order (M) currently set - virtual float modulation_order() const = 0; - - //! Returns current value of theta - virtual float theta() const = 0; - - //! Returns current value of mu - virtual float mu() const = 0; - - //! Returns current value of omega - virtual float omega() const = 0; - - //! Returns mu gain factor - virtual float gain_mu() const = 0; - - //! Returns omega gain factor - virtual float gain_omega() const = 0; - - //! Returns the relative omega limit - virtual float gain_omega_rel() const = 0; - - //! Sets the modulation order (M) currently - virtual void set_modulation_order(unsigned int M) = 0; - - //! Sets value of theta - virtual void set_theta(float theta) = 0; - - //! Sets value of mu - virtual void set_mu(float mu) = 0; - - //! Sets value of omega and its min and max values - virtual void set_omega(float omega) = 0; - - //! Sets value for mu gain factor - virtual void set_gain_mu(float gain_mu) = 0; - - //! Sets value for omega gain factor - virtual void set_gain_omega(float gain_omega) = 0; - - //! Sets the relative omega limit and resets omega min/max values - virtual void set_gain_omega_rel(float omega_rel) = 0; - }; - - } /* namespace digital */ -} /* namespace gr */ - -#endif /* INCLUDED_DIGITAL_MPSK_RECEIVER_CC_H */ diff --git a/gr-digital/include/gnuradio/digital/ofdm_frame_acquisition.h b/gr-digital/include/gnuradio/digital/ofdm_frame_acquisition.h deleted file mode 100644 index 164070e8ca..0000000000 --- a/gr-digital/include/gnuradio/digital/ofdm_frame_acquisition.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2006,2007,2011,2012 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. - */ - -#ifndef INCLUDED_DIGITAL_OFDM_FRAME_ACQUISITION_H -#define INCLUDED_DIGITAL_OFDM_FRAME_ACQUISITION_H - -#include <gnuradio/digital/api.h> -#include <gnuradio/block.h> -#include <vector> - -namespace gr { - namespace digital { - - /*! - * \brief take a vector of complex constellation points in from an - * FFT and performs a correlation and equalization. - * \ingroup ofdm_blk - * \ingroup deprecated_blk - * - * \details - * This block takes the output of an FFT of a received OFDM symbol - * and finds the start of a frame based on two known symbols. It - * also looks at the surrounding bins in the FFT output for the - * correlation in case there is a large frequency shift in the - * data. This block assumes that the fine frequency shift has - * already been corrected and that the samples fall in the middle - * of one FFT bin. - * - * It then uses one of those known symbols to estimate the channel - * response over all subcarriers and does a simple 1-tap - * equalization on all subcarriers. This corrects for the phase - * and amplitude distortion caused by the channel. - */ - class DIGITAL_API ofdm_frame_acquisition : virtual public block - { - public: - // gr::digital::ofdm_frame_acquisition::sptr - typedef boost::shared_ptr<ofdm_frame_acquisition> sptr; - - /*! - * Make an OFDM correlator and equalizer. - * - * \param occupied_carriers The number of subcarriers with data in the received symbol - * \param fft_length The size of the FFT vector (occupied_carriers + unused carriers) - * \param cplen The length of the cycle prefix - * \param known_symbol A vector of complex numbers representing a known symbol at the - * start of a frame (usually a BPSK PN sequence) - * \param max_fft_shift_len Set's the maximum distance you can look between bins for correlation - */ - static sptr make(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); - - /*! - * \brief Return an estimate of the SNR of the channel - */ - virtual float snr() = 0; - }; - - } /* namespace digital */ -} /* namespace gr */ - -#endif /* INCLUDED_DIGITAL_OFDM_FRAME_ACQUISITION_H */ diff --git a/gr-digital/include/gnuradio/digital/ofdm_frame_sink.h b/gr-digital/include/gnuradio/digital/ofdm_frame_sink.h deleted file mode 100644 index 52839b2acc..0000000000 --- a/gr-digital/include/gnuradio/digital/ofdm_frame_sink.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2007,2011,2012 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. - */ - -#ifndef INCLUDED_DIGITAL_OFDM_FRAME_SINK_H -#define INCLUDED_DIGITAL_OFDM_FRAME_SINK_H - -#include <gnuradio/digital/api.h> -#include <gnuradio/sync_block.h> -#include <gnuradio/msg_queue.h> - -namespace gr { - namespace digital { - - /*! - * \brief Takes an OFDM symbol in, demaps it into bits of 0's and - * 1's, packs them into packets, and sends to to a message queue - * sink. - * \ingroup ofdm_blk - * \ingroup deprecated_blk - * - * \details - * NOTE: The mod input parameter simply chooses a pre-defined - * demapper/slicer. Eventually, we want to be able to pass in a - * reference to an object to do the demapping and slicing for a - * given modulation type. - */ - class DIGITAL_API ofdm_frame_sink : virtual public sync_block - { - public: - // gr::digital::ofdm_frame_sink::sptr - typedef boost::shared_ptr<ofdm_frame_sink> sptr; - - /*! - * Make an OFDM frame sink block. - * - * \param sym_position vector of OFDM carrier symbols in complex space - * \param sym_value_out vector of bit mapped from the complex symbol space - * \param target_queue message queue for the packets to go into - * \param occupied_tones The number of subcarriers with data in the received symbol - * \param phase_gain gain of the phase tracking loop - * \param freq_gain gain of the frequency tracking loop - */ - static sptr make(const std::vector<gr_complex> &sym_position, - const std::vector<char> &sym_value_out, - msg_queue::sptr target_queue, - int occupied_tones, - float phase_gain=0.25, float freq_gain=0.25*0.25/4); - }; - - } /* namespace digital */ -} /* namespace gr */ - -#endif /* INCLUDED_GR_OFDM_FRAME_SINK_H */ diff --git a/gr-digital/include/gnuradio/digital/ofdm_insert_preamble.h b/gr-digital/include/gnuradio/digital/ofdm_insert_preamble.h deleted file mode 100644 index c811c9c88a..0000000000 --- a/gr-digital/include/gnuradio/digital/ofdm_insert_preamble.h +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2007,2011,2012 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 this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef INCLUDED_DIGITAL_OFDM_INSERT_PREAMBLE_H -#define INCLUDED_DIGITAL_OFDM_INSERT_PREAMBLE_H - -#include <gnuradio/digital/api.h> -#include <gnuradio/block.h> -#include <vector> - -namespace gr { - namespace digital { - - /*! - * \brief insert "pre-modulated" preamble symbols before each payload. - * \ingroup ofdm_blk - * \ingroup synchronizers_blk - * \ingroup deprecated_blk - * - * \details - * <pre> - * input 1: stream of vectors of gr_complex [fft_length] - * These are the modulated symbols of the payload. - * - * input 2: stream of char. The LSB indicates whether the corresponding - * symbol on input 1 is the first symbol of the payload or not. - * It's a 1 if the corresponding symbol is the first symbol, - * otherwise 0. - * - * N.B., this implies that there must be at least 1 symbol in the payload. - * - * output 1: stream of vectors of gr_complex [fft_length] - * These include the preamble symbols and the payload symbols. - * - * output 2: stream of char. The LSB indicates whether the corresponding - * symbol on input 1 is the first symbol of a packet (i.e., the - * first symbol of the preamble.) It's a 1 if the corresponding - * symbol is the first symbol, otherwise 0. - * </pre> - */ - class DIGITAL_API ofdm_insert_preamble : virtual public block - { - public: - // gr::digital::ofdm_insert_preamble::sptr - typedef boost::shared_ptr<ofdm_insert_preamble> sptr; - - /*! - * Make an OFDM preamble inserter block. - * - * \param fft_length length of each symbol in samples. - * \param preamble vector of symbols that represent the pre-modulated preamble. - */ - static sptr make(int fft_length, - const std::vector<std::vector<gr_complex> > &preamble); - - virtual void enter_preamble() = 0; - }; - - } /* namespace digital */ -} /* namespace gr */ - -#endif /* INCLUDED_DIGITAL_OFDM_INSERT_PREAMBLE_H */ diff --git a/gr-digital/include/gnuradio/digital/ofdm_mapper_bcv.h b/gr-digital/include/gnuradio/digital/ofdm_mapper_bcv.h deleted file mode 100644 index 392b7730a8..0000000000 --- a/gr-digital/include/gnuradio/digital/ofdm_mapper_bcv.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2006,2007,2011,2012 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. - */ - -#ifndef INCLUDED_DIGITAL_OFDM_MAPPER_BCV_H -#define INCLUDED_DIGITAL_OFDM_MAPPER_BCV_H - -#include <gnuradio/digital/api.h> -#include <gnuradio/sync_block.h> -#include <gnuradio/msg_queue.h> - -namespace gr { - namespace digital { - - /*! - * \brief take a stream of bytes in and map to a vector of complex - * constellation points suitable for IFFT input to be used in an - * ofdm modulator. - * \ingroup ofdm_blk - * \ingroup deprecated_blk - * - * \details - * Abstract class must be subclassed with specific mapping. - */ - class DIGITAL_API ofdm_mapper_bcv : virtual public sync_block - { - public: - // gr::digital::ofdm_mapper_bcv::sptr - typedef boost::shared_ptr<ofdm_mapper_bcv> sptr; - - /*! - * Make an OFDM mapper block. - * - * \param constellation vector of OFDM carrier symbols in complex space - * \param msgq_limit limit on number of messages the queue can store - * \param occupied_carriers The number of subcarriers with data in the received symbol - * \param fft_length The size of the FFT vector (occupied_carriers + unused carriers) - */ - static sptr make(const std::vector<gr_complex> &constellation, - unsigned msgq_limit, - unsigned occupied_carriers, - unsigned int fft_length); - - virtual msg_queue::sptr msgq() const = 0; - }; - - } /* namespace digital */ -} /* namespace gr */ - -#endif /* INCLUDED_DIGITAL_OFDM_MAPPER_BCV_H */ diff --git a/gr-digital/include/gnuradio/digital/ofdm_sampler.h b/gr-digital/include/gnuradio/digital/ofdm_sampler.h deleted file mode 100644 index da4410478b..0000000000 --- a/gr-digital/include/gnuradio/digital/ofdm_sampler.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2007,2011,2012 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. - */ - -#ifndef INCLUDED_DIGITAL_OFDM_SAMPLER_H -#define INCLUDED_DIGITAL_OFDM_SAMPLER_H - -#include <gnuradio/digital/api.h> -#include <gnuradio/sync_block.h> - -namespace gr { - namespace digital { - - /*! - * \brief does the rest of the OFDM stuff - * \ingroup ofdm_blk - * \ingroup deprecated_blk - */ - class DIGITAL_API ofdm_sampler : virtual public block - { - public: - // gr::digital::ofdm_sampler::sptr - typedef boost::shared_ptr<ofdm_sampler> sptr; - - /*! - * Make an OFDM sampler block. - * - * \param fft_length The size of the FFT vector (occupied_carriers + unused carriers) - * \param symbol_length Length of the full symbol (fft_length + CP length) - * \param timeout timeout in samples when we stop looking for a symbol after initial ack. - */ - static sptr make(unsigned int fft_length, - unsigned int symbol_length, - unsigned int timeout=1000); - }; - - } /* namespace digital */ -} /* namespace gr */ - -#endif /* INCLUDED_DIGITAL_OFDM_SAMPLER_H */ |