Helper library for decoding Satellite Signals.
- Viterbi27 Decode / Encode (wrapper from libcorrect)
- CCSDS ReedSolomon Decode (wrapper from libcorrect)
- ReedSolomon [De]Interleaver
- Correlator for Sync Word
- Packet Phase Ambiguity Fixer (For 0, 90, 180, 270 degrees and IQ Inversion)
- Working on Windows
If you don't want to worry about installing libcorrect
and running all steps manually, just make sure you have your OS development tools (gcc / clang) and run:
make libcorrect
sudo make libcorrect-install
make
sudo make install
This should install both libSatHelper and libcorrect.
TODO: Now we use libcorrect instead libfec.
OLD:
For windows it should be compiled using Microsoft Visual C++ compiler (it should work with mingw, but not tested). First you need to compile the modified [libfec](https://github.com/racerxdl/libfec) that can compile in mingw32 and generate the msvc libraries (everything described on libfec's readme). After that create a folder named `winfec` and copy the `fec.h`, `libfec.lib`, `libfec.exp`. Then you shoud be able to compile `libSatHelper.dll` in Visual Studio. The Solution was made in Visual Studio 2015
Now libSatHelper has golang wrappers. It's currently under test with SatHelperApp but so far it seens to be working pretty well. By default you can use it as a normal Go Library by running
go get github.com/opensatelliteproject/libsathelper
Just make sure you have libSatHelper
installed in your OS (your Go app will be linked to it).
One thing to notice for devs, I included the SWIG generated SatHelper_wrap.cxx
and SatHelper.go
, these are automatically generated by swig, you can update them (in case you want to change) by running:
make updatego