BER Calculation of AX100 Mode 6 from GomSpace

Hello to all

These days, I am working on the implementation of the Mode 6 Encoder for the
AX100 modem of GomSpace. At the moment, the implementation is considered ready
and a merge request has been made to gr-satnogs.

In order to test the effectiveness of the implementation, a GNURadio flowgraph
was created that calculates both the Frame Error Rate (FER) and the Bit Error
Rate (BER) using the AX100 Mode 6 Encoder and Decoder. The calculation of FER
and BER is done with the gr-satnogs block BER Calculator.

The result of BER Calculator producing and sending 10000 frames is the following:

Frames sent     : 10000
Frames received : 0
Frames lost     : 0
Frames invalid  : 2230
FER             : 1
BER estimation  : 1

which is not desirable and states that BER Calculator did not receive the same
frames as the ones it sent.
Note that both the encoding process and the decoding process are done correctly.
The problem occurs in the decoder as it not only returns the decoded frame,
but also adds an AX.25 Header at the beginning.

So, in order for the decoding process to return the same frame as the one it
received without further additions, the corresponding modification of the decoder
must be done. For this very reason, I would like to know if there are any
objections from the community to this change.

My opinion on this issue, is to drop the AX.25 part for the following reasons:

  1. It is fixed
  2. It might contain errors, due to the fact that the AX.25 part is not protected by any FEC.

For backwards compatibility the satnogs-decoders can rely on the version metadata that each frame contains.

If you’re dropping the ax.25 header we need to ensure that we can identify the source of the data (spacecraft identifier or whatever).

I don’t think we need to refer to the frame version number just to accomplish the distinction of the frames. We currently don’t have access inside *-decoders to the metadata of the frames but this is just a coding issue I think.