ODTK Initial OD

You don't have any information about the satellite's initial state, but you want to perform OD processing. You can perform an initial OD and LS run. You want to focus on initial estimation processes. You know the orbit type is a Molniya and then you can use the appropriate tracking data and derive the initial state from the tracking data. Here is the only information you have on the satellite:

Option Value
Epoch 01 Jul 2006 12:00:00.000 UTCG
SemiMajorAxis 26000 km
Eccentricity 0.7
Inclination 63.4

Create a New Scenario

Let's start by creating a new scenario and defining it's properties.

  1. Create a new scenario ().
  2. Rename the scenario Initial_OD.

Load Tracking Data

  1. Double-click Initial_OD in the Object Browser to open its properties.
  2. Expand the Measurements attribute under the Scenario heading.
  3. Double-click the Files value under Measurements.
  4. Click the Add button.
  5. Double-click the Filename value.
  6. Browse to the student files provided for this exercise (Typically, <install Directory>\AGI\ODTK 6\ODTK\UserData\TrackingData).
  7. Change the file type to GEOSC File (*.geosc, *.geos, *.dat).
  8. Select InitialOD.geosc.
  9. Click Open.

Set Up the Tracking Stations

Let's set up the tracking station.

  1. Select Initial_OD () in the Object Browser.
  2. Extend the File menu.
  3. Select the Import option.
  4. Select the Import Object option.
  5. Change the Files of Type to Tracking System Files (*.tso).
  6. Browse to the location of the tracking system database.
  7. Insert the Baseline.tso tracking system (). (Typically, <install Directory>\AGI\ODTK 6\ODTK\UserData\TrackingStations)
  8. Click Open.
  9. Locate the Measurement Statistics value.
  10. Double-click the Measurement Statistics value to view the tracking system.

Preview the Measurements

Let's take a quick look at the Measurements by Type graph in the Static Product builder.

  1. Click the Preview Measurements () button.
  2. Notice the Tracking ID of the satellite.
  3. Open the Static Product Builder ().
  4. Create a Measurements by Tracker graph.

Insert the OD Satellite

You know some of the properties of the OD satellite, let's take a moment and model the satellite in ODTK.

  1. Insert a new Satellite () named ODSat.
  2. Set the Tracking ID to 314314. This is the tracking ID found in the Measurement Statistics you just viewed.
  3. Set the Orbit State to Keplerian.
  4. Set the following options:
  5. Option Value
    Epoch 01 Jul 2006 12:00:00.000 UTCG
    SemiMajorAxis 26000 km
    Eccentricity 0.7
    Inclination 63.4
  6. Leave all other orbital elements to zero (0).
  7. Locate the Force Model value.
  8. Locate the Gravity value.
  9. Set the Degree and Order to 70.

Set the Filter

  1. Insert a new Filter () called InitODFilter.
  2. Open the Filter's () properties.
  3. Locate the ProcessControl value.
  4. Set the Start Time to 01 Jul 2006 12:00:00.000 UTCG.
  5. Locate the Output field.
  6. Locate the SmootherData value.

Run the Filter and Check the Residual Ratios

  1. Run () the Filter ().
  2. Open the Static Product Builder ().
  3. Click the Add a New Product ().
  4. Rename the Product to Residual Ratios.
  5. Set the Output to Residual Ratios.
  6. Set the Input to the filrun file.
  7. Run graph.

Create a Position Uncertainty Graph

  1. Bring the Static Product Builder to the front.
  2. Click the Add a New Product ().
  3. Rename the Product to Position Uncertainty.
  4. Set the Output to Position Uncertainty.
  5. Set the Input to the filrun file.
  6. Run graph.

Model the Initial OD Object

You can use an Initial Orbit Determination (IOD) object to help you set an initial state for a satellite if it is completely unknown. When using the IOD object, an algorithm is applied to the tracking data. ODTK provides three different methods of determining the initial state of a satellite. The table below explains the three algorithms methods available.

Option Definition
HerrickGibbs Allows the selection of three measurements from one facility from one pass in which to base the calculation of a state vector
GoodingAnglesOnly IOD method uses three sets of angles-only measurements to determine the orbit of a geocentric spacecraft. In ODTK the angle set may be ground based azimuth and elevation, ground based RA and DEC, or space based RA and DEC. Measurements may come from a single or multiple tracking stations (or satellites). Measurements are not limited to a specific range in orbital arc, although white noise and twobody dynamic considerations may apply in choosing the measurement sets
GPSNavSolution The IOD solution uses RINEX GPS observations as inputs. The method of the solution is to compute user S/C Position and Clock Phase estimates using an analytical NAV solution algorithm developed by Yang and Chen for several points around the time of interest and then using LaGrange interpolation on the position estimates to compute the velocity estimates.
  1. Select ODSat () in the Object Browser.
  2. Insert an Initial Orbit Determination () object as a child of ODSat.
  3. Open the Initial Orbit Determination's () properties.
  4. Locate the Method attribute.
  5. Ensure the Method value is HerrickGibbs.
  6. Set HULA-A as the SelectedFacility.

Measurements

  1. Double-click the SelectedMeasurements value.
  2. When the measurements list appears, click the Add... button.
  3. The tracking station used here is the one that has the first pass. You want three data points in the same pass, but not at a low elevation angle and spaced a couple of minutes apart. Trying different measurements and method sites can help get a better IOD.

  4. Hold CTRL to multi-select the following measurements:
  5. Click OK to accept the measurements.
  6. Click Apply.
  7. Run the IOD ().

Push the new Initial State to the Satellite

  1. Set the Output as Keplerian.
  2. Click the Transfer to Satellite () button to push the new initial state to the satellite.
  3. Run the Filter () again.

Create a Filter Graph

  1. Open the Static Product Builder ().
  2. Click the Add a New Product ().
  3. Rename the Product to Residual Ratios.
  4. Set the Output to Residual Ratios.
  5. Set the Input to the filrun file.
  6. Run graph.

The residual ratios have improved, and many now fall within 3-sigma, but many do not, the initial state is, however, based on position information from only one tracking facility. Let's see if, using the new data, you can generate acceptable data based on the tracking data from all four tracking facilities in the network.

Create a Position Uncertainty Graph

  1. Bring the Static Product Builder to the front.
  2. Click the Add a New Product ().
  3. Rename the Product to Position Uncertainty.
  4. Set the Output to Position Uncertainty.
  5. Set the Input to the filrun file.
  6. Run graph.
  7. Compare the new results to the results you received earlier.

Set up a Least Squares

Although many of the residual ratios now fall within an acceptable range, the IOD algorithms all assume a simple two-body force model. ODTK also provides a Least Squares object that can help refine the vector further. The Least Squares object will actually use all of the tracking data measurements to generate an initial state.

  1. Select ODSat () in the Object Browser.
  2. Insert a Least Squares () object as a child of ODSat.
  3. Run the Least Squares ().

Check the Least Squares Result

  1. Take a look at the Message Viewer and notice how the RMS decreases iteration after iteration.
  2. Open the Static Product Builder ().
  3. Click the Add a New Product ().
  4. Rename the Product to Least Squares Residual.
  5. Set the Output to Least Squares Residual.
  6. Set the Input to the lsrun file.
  7. Run graph.

Push the New Initial State to the Satellite

  1. Open the Least Squares () properties.
  2. Set the Output as Keplerian.
  3. Double-check against the existing row initial state.
  4. Click the Transfer to Satellite button to push the new initial state to the satellite.
  5. Run the filter () again.

Create a Filter Graphs

  1. Open the Static Product Builder ().
  2. Create a Residual Ratios graph. Ensure the input is set to filrun. Notice that the results are now within +/- 3 Sigma bounds.
  3. Create a Position Uncertainty graph. Ensure the input is set to filrun. Notice how the results vary over time especially in the first half.

Add a Smoother

  1. Add a Smoother () object.
  2. Open the Smoother's properties.
  3. Set the Input File to the *.rough file created by the previous Filter run.
  4. Run the smoother.

Create a Filter Graphs

Create a Position Uncertainty Graph

  1. Open the Static Product Builder ().
  2. Click the Add a New Product ().
  3. Rename the Product to Position Uncertainty.
  4. Set the Output to Position Uncertainty.
  5. Set the Input to the filrun file.
  6. Run graph.

Create a Velocity Uncertainty Graph

  1. Bring the Static Product Builder to the front.
  2. Click the Add a New Product ().
  3. Rename the Product to Velocity Uncertainty.
  4. Set the Output to Velocity Uncertainty.
  5. Set the Input to the filrun file.
  6. Run graph.

Validate the Results

By setting the FilterDifferencingControl value to true in the Smoother, you enable the consistency check. By running the position/velocity check, you see that it is not passed in the first half of the time span. Try to refine the initial state by using the InitialStateTool in the LaunchPad. Check the differences.

ODTK 6.5