Friday, March 16, 2012

Satellite Tracking with Propeller

Work continues to build a SGP4 object implementation on propeller.  Getting the mathematical expressions correct is at best painful.  I have been converting a C language implementation into spin little by little.  I have written some utilities to assist with that conversion and progress is more quick now and less error prone (I hope).  I use the FPU utilities provided to convert the math expressions into FPU assembly language and then run through my utility to convert that to spin.

I could really use some insights into how to validate the results.  I can of course always compare results against the version I am converting from, but who is to say that it is correct?  Ideally there would be a standard test kep set and a standard observation location that would create known results that could be validated.

The SGP4/SDP4 specification does speak to this a bit, but my understanding of it is not yet adequate to evaluate.  If anyone has insights here, I could use some advice.


  1. You might be able to save yourself some C to Spin conversion headaches, there are a couple of C/C++ compilers available already. Today I was playing with PropGCC ( has a getting started guide).

    The other one is Catalina (search around on the same forums and you'll find that too).

    I like the PropGCC toolset - it's very simple to get into and best of all it's all free and it's officially supported by Parallax too.

  2. I forgot to mention, there is a IEEE standard for floating point math operations... have a look on wikipedia for "IEEE 754". The PropGCC compiler (being a GCC variant is already IEEE 754 compliant by definition) should be able to convert floats into binary representations compatible with your FPU chip.

    1. Thanks Wardy. Much appreciate your feedback. Thanks for the pointers on the C compilers.