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.
The readme says that if you run the loopback example, then "If everything works as intended you should see some decoded packets on the console". For this to be true out of the box, the debug option on the Parse MAC block must be enabled.
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.
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.
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.
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.