Try   HackMD
tags: GSoC GSoC-2021 Libre-Space

Improving SatNOGS TX capabilities

The final report for the GSoC 2021 program

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →


Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →


Project Summary

The purpose of this project was to improve the capabilities of the SatNOGS transmitter (TX). More specifically, SatNOGS is an Open Source global network of satellite ground-stations and is a project of the Libre Space Foundation. SatNOGS consists of subgroups and projects (see librespacefoundation/satnogs on GitLab) so that its management is more efficient and the needs of users are more easily met.
My contribution, under the GSoC 2021 program, was made to the out-of-tree module of GNU Radio gr-satnogs which is the implementation of SatNOGS within GNU Radio. During the 10 weeks of the GSoC 2021 program, I was able to complete the initial plan for the project.
The following is what was implemented:

  • Implementation of the NanoCom AX.100 Mode 5 encoder
  • Implementation of the NanoCom AX.100 Mode 6 encoder
  • Implementation of the Reed-Muller RM (1, 6) encoder and decoder
  • Modify gr-satnogs libfec so that there is support for convolutional coding
  • Adding utilities for better processing of sequences by bits (packed_to_unpacked and unpacked_to_packed utilities)
  • Implementation of convolutional encoder and decoder
  • Implementation of the Unified SPUTNIX protocol (USP) encoder

The following tasks are work in progress:

Note that according to the proposal, the purpose was to implement the NanoCom AX.100 Mode 5 and Mode 6 encoders and on top of that, I implement thw USP encoder and decoder. This goal was achieved successfully without any problems.

List of Commits

It is worth noting that in each task that was completed, all the commits were squashed into one so that there is consistency in the different versions of the final project.

Others