Above: Spectrogram of the Horus Binary 4-FSK modem signal.
This repository contains:
In particular, this library provides a decoder for the 'Horus Binary' telemetry system, which is the primary tracking system used in Project Horus's High-Altitude Balloon launches.
The modem in this library can also decode the standard UKHAS RTTY telemetry used on many other high-altitude balloon flights.
For the latest information on how and why to use this library, please visit the wiki pages.
If you're looking for a way to decode telemetry from a Horus Binary (or even an old-school RTTY) High-Altitude Balloon payload, read the guides available here.
Written by:
This contains the demodulator portions of horuslib, which are written in C.
The library can be built and installed using:
$ git clone https://github.com/projecthorus/horusdemodlib.git
$ cd horusdemodlib && mkdir build && cd build
$ cmake ..
$ make
$ sudo make install
Refer to the install guide for a more complete guide, including what dependencies are required.
Unit tests for the various demodulators can be run using:
$ cd build
$ ctest
In most cases, you can update this library by running:
$ git pull
and then following the build steps above from the cd horusdemodlib
line.
The main demodulator API is horus_api.h. An example of it in use in a C program is available in horus_demod.c
A Python wrapper is also available (via the horusdemodlib Python library which is also part of this repository). An example of its use is available here.
The horusdemodlib Python library contains decoders for the different Project Horus telemetry formats, including:
It also contains a wrapper around the C library (mentioned above), which contains the Horus modem demodulators.
The easiest way to install horusdemodlib is via pypi:
$ pip install horusdemodlib
If you want to install directly from this repository, you can run:
$ pip install -r requirements.txt
$ pip install -e .
(Note - this has some issues relating to setuptools currently... use pip)
If you have installed horusdemodlib via pypi, then you can run (from within your venv, if you are using one):
$ pip install -U horusdemodlib
This will also install any new dependencies.
If you have installed 'directly', then you will need to run:
$ git stash
$ git pull
$ pip install -r requirements.txt
$ pip install -e .
(Note - this has some issues relating to setuptools currently... use pip)
Here are some links to projects and blog posts that use this code: