Proposal: On-orbit verification for SatNOGS orbit determination

Dear all,

We at the Technical University Berlin are looking for experiments related to amateur radio for our next satellite TUBIN. This satellite will be launched in the second half of 2020.

We have seen the SOCIS 2019 project about SatNOGS orbit determination and we thought it might be interesting that we at TU Berlin provide support for the operational verification. I wanted to write this idea on the Orekit forum first because we have talked about OD during the Orekit Day and I felt that there is an interest for reference data for OD verification on LEO satellites (not only for SatNOGS).

Here is what we could provide:

  • Reference PV data from our on-board GPS (10m, 0.1 m/s accuracy).
  • Reference PV data from laser ranging OD (even more accurate than GPS).
  • The means to the SatNOGS community to trigger our onboard UHF transceiver so that they can measure the Doppler shift when the satellite is passing over their ground station. We have had a Digipeater system on some of our previous satellites, it will not take us long to develop it for TUBIN. A Digipeater allows a ground station operator to trigger the onboard UHF transceiver to transmit either immediately (i.e. transponder) or with a delay (say, for a future ground station pass some minutes or hours later).
  • Flight dynamics support. We are no experts in flight dynamics, but we are happy Orekit users and would be eager to contribute to the SatNOGS orbit determination and its verification.

Such an experiment would help our application for a frequency allocation in the amateur band. This is why we would like to write a joint proposal Orekit - SatNOGS - TU Berlin.

Best regards
Clément Jonglez

PS: we could maybe even start the SatNOGS verification with TechnoSat, which is in orbit since 2017, is referenced on SatNOGS ( and is being tracked by laser ranging ground stations (example of orbit determination using the Orekit Python wrapper: )

Hi Clément,

This are very good news.
The SOCIS project has already started, the student selected is @noeljanes . A project has been set up on the forge for him at We have already exchanged a few mails directly but this did not appear on the forum. He is currently experimenting on the Max Valier satellite, with data provided by SatNOGS team.

I think it would be better if we moved our private mail discussion (between Noël and myself) on the forum so everyone in the community can contribute to it.


This sounds like a great idea. Having more reference data sets is never a bad thing :slight_smile:

Hi Clément,

That’s a great idea. The orbit determination would work better if you could collect raw data instead of just position and velocity solutions. The data you want is pseudoranges from the GPS receiver and normal point or full rate data from the satellite laser ranging. GPS carrier phase data would be nice too from the GPS receiver if you can get it. That could help validate the integer ambiguity resolution code added to Orekit in version 10.0.

Which GPS receiver and antennas are you using?


Yeah if their downlink bandwidth can support sending that too without impacting their primary mission that would be awesome.

Dear all,

Thank you for your fast feedbacks.

@luc I will take a look at the forge.
Who should I ping at SatNOGS to talk about this proposal?

@evan.ward On TUBIN we will fly a Phoenix receiver from GSOC. It provides both pseudorange and carrier phase in addition to the PV solutions. Our driver and telemetry allow downloading the pseudorange and carrier phase data.
The antenna is a S67-1575-20 from Sensor Systems inc., it is recommended by GSOC for use with the Phoenix receiver.


1 Like

Dear all,

We are finalizing the GPS driver. Can you confirm if the following telemetry resolution will be sufficient to perform OD from GPS raw data (@evan.ward) ?

  • Timestamp: 10 microsecond
  • Position solution: 1 cm
  • Velocity solution: 0.01 mm/s
  • Clock offset: 10 nanosecond
  • Pseudorange: 1 cm
  • Carrier-phase: 0.5 cy (could be improved down to 0.001 cy if needed, but this takes more bandwidth)
  • Range rate: 1 m/s (could be improved down to 1 cm/s if needed, but this takes more bandwidth)


There is always a trade off between OD accuracy and the effort it takes to achieve it. The particular trade off that is right for your mission depends on what your accuracy requirements are and the resources you have available. Resolution is only part of it. I would recommend running some OD simulations or putting the whole satellite in a GPS simulator. That said the best OD in the world is about cm level accurate.

1 Like

For our usage at Technical University Berlin, we are fine with the PV solution from the GPS, and for verifying the GPS performance, we will use the laser ranging OD, which we already have working with good accuracy.

I was more thinking about having reference data for Orekit verification purposes, for instance you mentioned the integer ambiguity resolution code.

For integer ambiguity, a target around 0.01 cycle would be perfect.

1 Like

Okay thanks, I increased the accuracy of the carrier-phase TM down to 0.001 cy. (since I had to increase the variable size to int64_t, why not taking the maximum accuracy? :wink: )

1 Like