From 6dc42c7f4375f633c4efda7cf1e88c6c98ac4b54 Mon Sep 17 00:00:00 2001 From: Bastian Bloessl Date: Wed, 9 Aug 2017 22:37:00 +0100 Subject: [PATCH 1/3] sync: more logging --- lib/sync_long.cc | 1 + lib/sync_short.cc | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/sync_long.cc b/lib/sync_long.cc index 3d795e0..1765d26 100644 --- a/lib/sync_long.cc +++ b/lib/sync_long.cc @@ -104,6 +104,7 @@ int general_work (int noutput, gr_vector_int& ninput_items, if(d_offset == SYNC_LENGTH) { search_frame_start(); + mylog(boost::format("LONG: frame start at %1%") % d_frame_start); d_offset = 0; d_count = 0; d_state = COPY; diff --git a/lib/sync_short.cc b/lib/sync_short.cc index 1754242..dde1401 100644 --- a/lib/sync_short.cc +++ b/lib/sync_short.cc @@ -73,7 +73,7 @@ int general_work (int noutput_items, gr_vector_int& ninput_items, d_copied = 0; d_freq_offset = arg(in_abs[i]) / 16; d_plateau = 0; - insert_tag(nitems_written(0), d_freq_offset); + insert_tag(nitems_written(0), d_freq_offset, nitems_read(0) + i); dout << "SHORT Frame!" << std::endl; break; } @@ -99,7 +99,7 @@ int general_work (int noutput_items, gr_vector_int& ninput_items, d_copied = 0; d_plateau = 0; d_freq_offset = arg(in_abs[o]) / 16; - insert_tag(nitems_written(0) + o, d_freq_offset); + insert_tag(nitems_written(0) + o, d_freq_offset, nitems_read(0) + o); dout << "SHORT Frame!" << std::endl; break; } @@ -128,8 +128,8 @@ int general_work (int noutput_items, gr_vector_int& ninput_items, return 0; } -void insert_tag(uint64_t item, double freq_offset) { - mylog(boost::format("frame start at %1%") % item); +void insert_tag(uint64_t item, double freq_offset, uint64_t input_item) { + mylog(boost::format("frame start at in: %2% out: %1%") % item % input_item); const pmt::pmt_t key = pmt::string_to_symbol("wifi_start"); const pmt::pmt_t value = pmt::from_double(freq_offset); From d90b28c55bf3f1f9628520757be73d0ac17b4b86 Mon Sep 17 00:00:00 2001 From: Bastian Bloessl Date: Wed, 9 Aug 2017 22:37:24 +0100 Subject: [PATCH 2/3] mapper: make scrambler init a class variable --- lib/mapper.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/mapper.cc b/lib/mapper.cc index 73b1c42..c30c2cb 100644 --- a/lib/mapper.cc +++ b/lib/mapper.cc @@ -33,6 +33,7 @@ mapper_impl(Encoding e, bool debug) : d_symbols_offset(0), d_symbols(NULL), d_debug(debug), + d_scrambler(1), d_ofdm(e) { message_port_register_in(pmt::mp("in")); @@ -98,10 +99,9 @@ int general_work(int noutput, gr_vector_int& ninput_items, generate_bits(psdu, data_bits, frame); // scrambling - static uint8_t scrambler = 1; - scramble(data_bits, scrambled_data, frame, scrambler++); - if(scrambler > 127) { - scrambler = 1; + scramble(data_bits, scrambled_data, frame, d_scrambler++); + if(d_scrambler > 127) { + d_scrambler = 1; } // reset tail bits @@ -172,6 +172,7 @@ void set_encoding(Encoding encoding) { } private: + uint8_t d_scrambler; bool d_debug; char* d_symbols; int d_symbols_offset; From 26a0c2c87e92ee88f99d1e9e435e0e33e3da7182 Mon Sep 17 00:00:00 2001 From: Bastian Bloessl Date: Wed, 9 Aug 2017 22:37:42 +0100 Subject: [PATCH 3/3] equalizer: make interleaver pattern a constant --- lib/frame_equalizer_impl.cc | 2 +- lib/frame_equalizer_impl.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/frame_equalizer_impl.cc b/lib/frame_equalizer_impl.cc index 97a1a53..dbe7288 100644 --- a/lib/frame_equalizer_impl.cc +++ b/lib/frame_equalizer_impl.cc @@ -337,7 +337,7 @@ frame_equalizer_impl::parse_signal(uint8_t *decoded_bits) { return true; } -int +const int frame_equalizer_impl::interleaver_pattern[48] = { 0, 3, 6, 9,12,15,18,21, 24,27,30,33,36,39,42,45, diff --git a/lib/frame_equalizer_impl.h b/lib/frame_equalizer_impl.h index 86ea4dc..e5f9e65 100644 --- a/lib/frame_equalizer_impl.h +++ b/lib/frame_equalizer_impl.h @@ -79,7 +79,7 @@ private: constellation_16qam::sptr d_16qam; constellation_64qam::sptr d_64qam; - static int interleaver_pattern[48]; + static const int interleaver_pattern[48]; }; } // namespace ieee802_11