diff options
author | Martin Braun <martin.braun@kit.edu> | 2013-04-19 12:58:35 +0200 |
---|---|---|
committer | Martin Braun <martin.braun@kit.edu> | 2013-05-11 13:50:34 +0200 |
commit | 7be24afbf8857a5e827fb536a80d7a83e7b6aa31 (patch) | |
tree | c76cafea7b2d33b0f0de615242d2d48004bc4f79 /gr-digital/lib/packet_header_ofdm.cc | |
parent | 728c6e2138d5eb4f0814dcd3d03c65e628746eab (diff) |
digital: OFDM passes all tests
Diffstat (limited to 'gr-digital/lib/packet_header_ofdm.cc')
-rw-r--r-- | gr-digital/lib/packet_header_ofdm.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gr-digital/lib/packet_header_ofdm.cc b/gr-digital/lib/packet_header_ofdm.cc index 6d40fcfffa..9758ee696a 100644 --- a/gr-digital/lib/packet_header_ofdm.cc +++ b/gr-digital/lib/packet_header_ofdm.cc @@ -90,15 +90,18 @@ namespace gr { if (!packet_header_default::header_parser(in, tags)) { return false; } - int packet_len = 0; // # of bytes in this frame + int packet_len = 0; // # of symbols in this frame for (unsigned i = 0; i < tags.size(); i++) { if (pmt::pmt_equal(tags[i].key, d_len_tag_key)) { - packet_len = pmt::pmt_to_long(tags[i].value); + // Convert bytes to complex symbols: + packet_len = pmt::pmt_to_long(tags[i].value) * 8 / d_bits_per_payload_sym; + if (pmt::pmt_to_long(tags[i].value) * 8 % d_bits_per_payload_sym) { + packet_len++; + } + tags[i].value = pmt::pmt_from_long(packet_len); break; } } - // Convert bytes to complex symbols: - packet_len = packet_len * 8 / d_bits_per_payload_sym; // frame_len == # of OFDM symbols in this frame int frame_len = packet_len / d_syms_per_set; |