Commit Graph

135 Commits

Author SHA1 Message Date
Bastian Bloessl abed50bf7f change logging 2023-08-04 13:09:57 +02:00
Ryan Volz 965e2d474f Fix endian.h not available on Windows by defining htole16 no-op 2023-07-28 14:51:27 +02:00
Ryan Volz 1b88193094 Fix Windows build error from non-const array size 2023-07-28 14:51:27 +02:00
Ryan Volz 83c02a1b66 Use alignas to specify alignment, for Windows compatibility. 2023-07-28 14:51:27 +02:00
Ryan Volz 3898a21350 Switch to MSVC-style packing pragmas so it will compile on Windows.
gcc and clang accept this style as well.
2023-07-28 14:51:27 +02:00
Itaru OGAWA 56d8c5c19f Fix for insufficient initialization for generic decoder. 2022-09-02 08:37:58 +02:00
Bastian Bloessl 5e02723e67 parse_mac: add missing include 2022-06-07 12:52:53 +02:00
Benjamin Menkuec a0e81851b0 add missing include boost/format.hpp 2022-05-02 19:37:16 +02:00
Bastian Bloessl 0c0fca8ec9 decode_mac: add include 2021-11-24 17:47:04 +01:00
Bastian Bloessl dec30cbed4 chunks_to_symbols: remove unused include 2021-11-24 17:25:12 +01:00
Bastian Bloessl c19b0ad2b5 Merge branch 'maint-3.8' into maint-3.9 2021-08-05 16:30:57 +02:00
Anton Ottosson ef5fd6c595 Fix format_mac_address function in parse_mac.cc
Apparently the stream manipulator `std::setw` applies only to the next string written to the stream. Hence the function `format_mac_address` in parse_mac.cc only formatted the first pair of hexadecimal digits correctly. This went unnoticed until now because it only makes a difference for numbers below 0x10.
2021-08-03 17:35:32 +02:00
Bastian Bloessl afe85e2c71 python bindings 2021-07-20 12:19:04 +02:00
Bastian Bloessl cd0bb1fafd start porting to 3.9 2021-07-20 12:19:04 +02:00
Bastian Bloessl 4d1befbc05 fix formatting 2021-07-19 08:50:53 +02:00
Anton Ottosson 24f72aaf08 Uniform metadata keys.
This commit makes all metadata keys follow similar formatting: all lowercase, with spaces (as opposed to underlines or other conventions).
2021-07-19 08:14:08 +02:00
Anton Ottosson e620d48c81 Make metadata pipeline more uniform and GR-like.
The Frame Equalizer used to propagate metadata as a dictionary stored in a single tag. Now it instead propagates each entry as a separate tag, which is more in line with how standard GNU Radio blocks do it (see for example PDU to Tagged Stream block). This is also how the Extract CSI block does it.

This modification also removes a lot of unnecessary variables and type conversions (from and to pmt types) in the Decode MAC block.
2021-07-19 08:14:08 +02:00
Bastian Bloessl a2491b5474 clang format, similar to GNU Radio 2021-07-17 10:07:21 +02:00
Bastian Bloessl 5f7e102e3d cs: coding style 2021-07-17 09:55:17 +02:00
Anton Ottosson 7e3107282a Added Extract CSI block.
This block takes PDU messages as input, looks for a "csi" entry in the meta dictionary, and if found outputs a complex CSI vector on a stream output. The meta is also sent along as stream tags.
2021-07-14 19:34:12 +02:00
Anton Ottosson 51f7d6b284 Changes in response to discussion with bastibl.
We will not parse the frame body and put it in the metadata. Instead `print_ascii` has been restored for debug output. `format_mac` has been made more complete, with correct hex formatting.
2021-07-13 22:02:43 +02:00
Anton Ottosson 45fd47b6ec Small fix to last commit
If we cannot determine the length of the mac frame body, we should probably not attempt to parse it.
2021-07-13 02:58:23 +02:00
Anton Ottosson 844424404d Parse MAC writes to meta and propagates PDU.
This commit extends the Parse MAC block so that it puts the parsed fields in the metadata dictionary of the incoming PDU and also propagates it on a message output. It does not modify the cdr of the PDU. The 'fer' output has been removed, and instead 'Lost frames' and 'Instantanteous FER' are put in the metadata dictionary.
2021-07-13 02:47:44 +02:00
Anton Ottosson 228d1b1bcc Add beta and csi to decode_mac PDU output.
Also changed to using `std::vector<gr_complex>` type because it was becoming more and more inconvenient to use c-style arrays.
2021-07-09 21:54:38 +02:00
Anton Ottosson 4a3f387d6d Skip guard bands and null subcarrier in get_csi(). Add beta and csi metadata to stream tag from frame equalizer. 2021-07-09 19:34:29 +02:00
Anton Ottosson 0b095e0ff7 Add base::get_csi() to expose d_H. 2021-07-08 23:39:52 +02:00
Anton Ottosson 8ca5dcedde Make d_H inherited from base class.
All equalizer classes had their own private `d_H` vector, despite all being derived from a common `base` class. Now `d_H` is instead a protected member of `base`, and thus accessible to the derived equalizer classes.
2021-07-08 21:51:53 +02:00
Bastian Bloessl 0f659b4d50 boost 1.73 fix 2020-08-12 11:49:06 +02:00
mychele 7a2cbdb8d8 Fix d_prev_pilots for symbols 0 and 1 in frame_equalizer_impl.cc 2020-07-29 09:42:55 -07:00
Bastian Bloessl 99f1a4564f cmake: fix sse2 detection 2019-12-17 18:12:36 +01:00
Bastian Bloessl c3e8688859 rename includes to match GR naming scheme 2019-12-17 18:12:31 +01:00
Bastian Bloessl f66f1eea8a delete obsolete blocks 2019-06-06 13:05:02 +02:00
Bastian Bloessl 9393abbf65 port to 3.8 2019-06-06 12:03:43 +02:00
Bastian Bloessl 4cddc2b740 no custom moving avg 2018-10-04 10:06:47 +02:00
Bastian Bloessl d730126586 log4cpp now mandatory 2018-10-04 10:04:50 +02:00
Bastian Bloessl b83d008fc8 Merge branch 'master' into next 2018-04-10 17:48:07 +01:00
Bastian Bloessl 08787e1ddb mac: make max frame size configurable 2018-04-10 17:47:31 +01:00
Bastian Bloessl df0d480c59 Merge branch 'master' into next 2017-08-09 22:38:55 +01:00
Bastian Bloessl 26a0c2c87e equalizer: make interleaver pattern a constant 2017-08-09 22:38:39 +01:00
Bastian Bloessl d90b28c55b mapper: make scrambler init a class variable 2017-08-09 22:38:34 +01:00
Bastian Bloessl 6dc42c7f43 sync: more logging 2017-08-09 22:38:31 +01:00
Bastian Bloessl 7b119ba59e Merge branch 'master' into next 2017-03-06 12:49:53 +01:00
Bastian Bloessl 21bcc8b639 equalizer: exclude guards from SNR calculation
Thanks to Stephen Wolfe for reporting
2017-03-06 12:48:05 +01:00
Stephen Wolfe 528536e3f2 viterbi decoder: add viterbi decoder base class
Add a viterbi decoder base class that viterbi decoder
implementations can inherit from.
2016-11-07 15:00:30 -05:00
Stephen Wolfe 9cf628359b viterbi decoder: separate viterbi implementations
reorganizes viterbi decoder source so that each implementation
resides in a separate file.
2016-11-04 14:57:32 -04:00
Stephen Wolfe c6502ae022 non-x86 support: Only use SSE2 when supported
Add generic version of viterbi decoder that does not utilize x86
intrinsics to provide support for other architectures such as ARM.
2016-11-03 11:32:02 -04:00
Bastian Bloessl 1ef58db9c6 Merge branch 'master' into next
# Conflicts:
#	lib/utils.h
2016-09-20 14:35:34 +02:00
Bastian Bloessl 84c9ff3e0d utils: fix macro 2016-09-20 14:32:59 +02:00
Bastian Bloessl c1d50c7ff2 log4cpp is mandatory for GNU Radio 2016-09-15 11:01:13 +02:00
Bastian Bloessl 0bd2e30f55 fix frequency offset calculation 2016-09-05 15:41:27 +02:00