Using a Broadcast Ephemeris
|Top Previous Next|
FreeFlyer also allows the user to propagate a Spacecraft using a Broadcast Ephemeris. Broadcast Ephemerides are set up differently than the other supported ephemeris formats discussed on the Setting up an Ephemeris page.
Broadcast Ephemerides are read from Rinex Navigation files, which are ASCII files of GPS Broadcast Ephemeris data conforming to the RINEX standard. These files contain position, velocity, and clock information for all the satellites of the GPS constellation. The time system is GPS Time, and positions and velocities are in the ECEF reference frame, which FreeFlyer converts into the MJ2000 frame.
FreeFlyer can propagate a Spacecraft or a Formation from Rinex Navigation files using the BroadcastEphemeris propagator and can read and write Rinex Navigation files using the RinexNavFile object, but does not generate Broadcast Ephemeris data when propagating spacecraft.
For more information on Rinex Navigation files, also known as GPS Broadcast Ephemerides, including an example and instructions on how to obtain historical examples, see the Rinex Nav File page of the Ephemerides and AHF section of the Appendix.
Note: Due to its discontinuous nature, Broadcast Ephemeris data should not be used to propagate Spacecraft objects that are used for event detection. Instead, the Broadcast Ephemeris should be used to set the initial state of the Spacecraft and then an integration-based propagator, such as an RK89 or Cowell integrator, should be used to propagate it.
Configuring a Spacecraft to use a Broadcast Ephemeris
To configure a Spacecraft to use a Broadcast Ephemeris, double-click the Spacecraft in the Object Browser and then select the Propagator page from the menu on the left. Once the Propagator page has been selected, use the "Motion Source" radio buttons to select propagation via Broadcast Ephemeris. The Broadcast Ephemeris Definition panel of the Propagator page is shown below.
Propagator Object Editor
Choose a Rinex Navigation file from the file browser and choose the step size on the Broadcast Ephemeris Definition panel. The Spacecraft PRN refers to the Spacecraft.SatelliteID property, which is set on the Orbit Determination - General page of the Spacecraft object editor. Note that the PRN must match one of the PRNs in the Rinex Navigation file. Finally, you must add a GPSReceiver on the Orbit Determination - Receivers page of the Spacecraft object editor before propagating the Spacecraft with a Broadcast Ephemeris.
To create a Spacecraft with a BroadcastEphemeris propagator via FreeFlyer script, use the following syntax:
The Spacecraft.LoadRinexNavFile method will also create a Sensor and attach it to the Spacecraft.
To set the propagation step size via FreeFlyer script, use type casting to access the BroadcastEphemeris propagator:
Note: As of FreeFlyer 7.3, the default timing precision mode is nanosecond precision mode. For older Mission Plans that have not yet been converted from millisecond precision mode, the syntax for working with times such as step sizes is different. A sample is shown below; see the timing precision mode page for more information.
Working with Broadcast Ephemeris propagator
Once a Spacecraft has been set up to use a Broadcast Ephemeris, you can access information about the GPS Broadcast Ephemeris data via FreeFlyer script. There are two ways to access GPS Broadcast Ephemeris information:
Via the BroadcastEphemeris Propagator Object
Properties of the BroadcastEphemeris object will give the Time of Ephemeris of the initial and final ephems, the number of ephems, as well as the file name and step size.
Via the RinexNavFile Object
Properties of the RinexNavFile object will give information on the PRNs, Comments, and ephems contained in the file, as well as extensive information regarding the almanac and timing characteristics used in writing the file.