diff --git a/grc/ieee802_11_ofdm_pilot.xml b/grc/ieee802_11_ofdm_pilot.xml deleted file mode 100644 index a87c250..0000000 --- a/grc/ieee802_11_ofdm_pilot.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - OFDM Pilot - ieee802_11_ofdm_pilot - IEEE802.11 - import ieee802_11 - ieee802_11.ofdm_pilot($debug) - - - Debug - debug - False - bool - - - - - - - in - complex - 48 - 1 - - - - out - complex - 64 - 1 - - - diff --git a/include/ieee802-11/ofdm_pilot.h b/include/ieee802-11/ofdm_pilot.h deleted file mode 100644 index fb9f6c7..0000000 --- a/include/ieee802-11/ofdm_pilot.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2013 Bastian Bloessl - * - * This program 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 of the License, or - * (at your option) any later version. - * - * This program 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, see . - */ -#ifndef INCLUDED_IEEE802_11_PILOT_H -#define INCLUDED_IEEE802_11_PILOT_H - -#include -#include - -namespace gr { -namespace ieee802_11 { - -class IEEE802_11_API ofdm_pilot : virtual public sync_block -{ -public: - - typedef boost::shared_ptr sptr; - static sptr make(bool debug = false); - -}; - -} // namespace ieee802_11 -} // namespace gr - -#endif /* INCLUDED_IEEE802_11_PILOT_H */ diff --git a/lib/ofdm_pilot.cc b/lib/ofdm_pilot.cc deleted file mode 100644 index 99e47c0..0000000 --- a/lib/ofdm_pilot.cc +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (C) 2013 Bastian Bloessl - * - * This program 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 of the License, or - * (at your option) any later version. - * - * This program 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, see . - */ -#include - -#include "utils.h" -#include - -using namespace gr::ieee802_11; - - -class ofdm_pilot_impl : public ofdm_pilot { - -static const int TONES = 48; -static const int FFT_SIZE = 64; - -public: - -ofdm_pilot_impl(bool debug) : - sync_block ("ofdm_pilot", - gr::io_signature::make(1, 1, TONES * sizeof(gr_complex)), - gr::io_signature::make(1, 1, FFT_SIZE * sizeof(gr_complex))), - d_offset(0), - d_debug(debug) { - -} - -~ofdm_pilot_impl() { - -} - -int work (int noutput_items, gr_vector_const_void_star& input_items, - gr_vector_void_star& output_items) { - - const gr_complex *in = (const gr_complex*)input_items[0]; - gr_complex *out = (gr_complex*)output_items[0]; - - int i = 0; - int count = 0; - const uint64_t nread = nitems_read(0); - std::vector tags; - - while (count < noutput_items) { - - get_tags_in_range(tags, 0, nread + count, nread + count + 1, pmt::string_to_symbol("ofdm_start")); - - if(tags.size()) { - d_offset = 0; - dout << "OFDM PILOT: start of OFDM frame" << std::endl; - } - - // guard band - memset(out, 0, 6 * sizeof(gr_complex)); - - // subcarriers -26 to -22 - memcpy(out + 6, in, 5 * sizeof(gr_complex)); - - // pilot 1 - out[11] = POLARITY[d_offset]; - - // subcarriers -20 to -8 - memcpy(out + 12, in + 5, 13 * sizeof(gr_complex)); - - // pilot 2 - out[25] = POLARITY[d_offset]; - - // subcarriers -6 to -1 - memcpy(out + 26, in + 18, 6 * sizeof(gr_complex)); - - // DC - out[32] = 0; - - // subcarriers 1 to 6 - memcpy(out + 33, in + 24, 6 * sizeof(gr_complex)); - - // pilot 3 - out[39] = POLARITY[d_offset]; - - // pubcarriers 8 to 20 - memcpy(out + 40, in + 30, 13 * sizeof(gr_complex)); - - // pilot 4 - out[53] = -POLARITY[d_offset]; - - // subcarriers 22 to 26 - memcpy(out + 54, in + 43, 5 * sizeof(gr_complex)); - - // guard band - memset(out + 59, 0, 5 * sizeof(gr_complex)); - - - count++; - out += FFT_SIZE; - in += TONES; - d_offset = (d_offset + 1) % 127; - } - - dout << "OFDM PILOT: produced items: " << noutput_items << std::endl; - - return noutput_items; -} - -private: - bool d_debug; - int d_offset; - static const gr_complex POLARITY[127]; -}; - -const gr_complex ofdm_pilot_impl::POLARITY[127] = { - 1, 1, 1, 1,-1,-1,-1, 1,-1,-1,-1,-1, 1, 1,-1, 1, - -1,-1, 1, 1,-1, 1, 1,-1, 1, 1, 1, 1, 1, 1,-1, 1, - 1, 1,-1, 1, 1,-1,-1, 1, 1, 1,-1, 1,-1,-1,-1, 1, - -1, 1,-1,-1, 1,-1,-1, 1, 1, 1, 1, 1,-1,-1, 1, 1, - -1,-1, 1,-1, 1,-1, 1, 1,-1,-1,-1, 1, 1,-1,-1,-1, - -1, 1,-1,-1, 1,-1, 1, 1, 1, 1,-1, 1,-1, 1,-1, 1, - -1,-1,-1,-1,-1, 1,-1, 1, 1,-1, 1,-1, 1, 1, 1,-1, - -1, 1,-1,-1,-1, 1, 1, 1,-1,-1,-1,-1,-1,-1,-1 }; - -ofdm_pilot::sptr -ofdm_pilot::make(bool debug) { - return gnuradio::get_initial_sptr(new ofdm_pilot_impl(debug)); -} -