Skip to content
/ cggtts Public

CGGTTS for remote clock comparison 📡 🛰️

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

gwbres/cggtts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CGGTTS

Rust package to parse and generate CGGTTS data.

crates.io Rust crates.io crates.io

CGGTTS is a file format designed to describe the state of a local clock with respect to spacecraft that belong to GNSS constellation, ie., a GNSS timescale.
Exchanging CGGTTS files allows direct clock comparison between two remote sites, by comparing how the clock behaves with respect to a specific spacecraft (ie., on board clock).
This is called the common view time transfer technique. Although it is more accurate to say CGGTTS is just the comparison method, what you do from the final results is up to end application. Usually, the final end goal is to have the B site track the A site and replicate the remote clock. It is for example, one option to generate a UTC replica.

CGGTTS is specified by the Bureau International des Poids & des Mesures (BIPM): CGGTTS 2E specifications

This library only supports revision 2E, and will reject other revisions.

Set of tools

  • cggtts is the main library. Compile it with the scheduler option to unlock full support of CGGTTS data production
  • cggtts-cli is an application to analyze one or compare two CGGTTS files.
    Download its latest release from the github portal.

Ecosystem

The CGGTTS solutions solver that is integrated to the RINEX toolbox is the goto application to generate CGGTTS files from all this framework.

The RINEX Wiki pages explain how you can resolve CGGTTS solutions using this toolbox.

This crate heavily relies on Hifitime for accurate Epoch representation and Timescales knowledge. Check out Christopher's amazing libraries right here.

CGGTTS track scheduling

If you compiled the crate with the scheduler feature, you can access the Scheduler structure that helps you generate synchronous CGGTTS tracks.

Synchronous CGGTTS is convenient because it allows direct exchange of CGGTTS files and therefore, direct remote clocks comparison.

The Scheduler structure works according to the BIPM definitions but we allow for a different tracking duration. The default being 980s, you can use shorter tracking duration and faster CGGTTS generation. You can only modify the tracking duration if you can do so on both remote clocks, so they share the same production parameters at all times.

System Time delays

A built in API allows accurate system delay description as defined in CGGTTS.

CGGTTS-CLI

A command line application is developed to process one or two CGGTTS file for clock comparison.