Determination of orbits of artificial satellites.
by Dr. Petr Ivankov

Introduction

  • Astroframe Project Downloads (Source code, Tutorial, Installer).
  • Download containers
  • Download gravity field project - 445 Kb
  • Download atmosphere density model project - 207 Kb
  • Project Astroframe homepage
  • Download sample of motion model of artificial satellite - 103 Kb
  • Download sample of General linear method - 568 Kb
  • Download sample of Kalman filter - 4.33 Kb

Lots of engineering problems do not require advanced math or physics. However, they may be very complicated since they contain many different objects and links between them. This article is devoted to one such problem.

Artificial satellite trajectory

Background

Determination of orbits of satellites, in fact, is a statistical processing of measurements. As well as education of former centuries required knowledge of Greek and Latin languages, any specialist of determination of orbits should know the General linear method and Kalman filter. This article contains a profound description of the application of the General linear method and a brief description of the technology of Kalman filter.

Containers

Complicated applications require a lots of squares of objects and arrows. It is very difficult to understand such a picture. However, you can merge a set of squares of objects and arrows. You can also combine sets of squares into containers. Then, the result picture shall be clear and easy to understand. Determination of orbits requires equations of motions that require gravity and atmosphere models.

Artificial satellite motion model

In this picture, Gravity and Atmosphere use dynamic link libraries as it had been described in tutorual. It is convenient to merge these components to one container. For the creation of the container, the user should create a scenario and select the Tools/Container designer option of the main menu. After selecting the Tools/Container designer option, we have:

Properties

The right part of this form enables us to select public components by checking checkboxes. The left one enables us to set geometrical positions of public components. When these positions are set, you can save the container to the *.cont file. In this example, the public components are Atmosphere and Motion Equations. Then, we should create a palette button. To do this, you should place the *.cont to the Application path/cont directory, and create an icon of the button and place it in the application path. Then, you should create or edit the Containers.xml file. This file contains information about additional tabs of toolbar additional buttons and their icons and filenames of containers. The contents of this file are clear and omitted here.

  • Download a sample the container

Creation or edition of the Containers.xml file results in the appearing of new tabs and buttons, like it is presented on the following picture:

Picture with container

We have an additional button, and can put new components on the desktop.

Motion model

The motion model of an artificial satellite is a system of ordinary differential equations that describe the motion in a Greenwich reference frame:

Motion equations

where motion parameters are the coordinates and components of velocity respectively, ω is angular velocity of Earth, and Force components are components of the summary external force. The current model contains gravitational force and the aerodynamic one. Therefore, this model needs a gravity model and an atmosphere density one.

Description of the problem

The scenario of this problem is presented below:

Main scenario

This scenario contains the following ingredients:

  • Motion equations;
  • Model of measurements of distances, and radial velocities between satellite and ground-based interrogators;
  • Calculation of delay caused by finiteness of light velocity;
  • General linear method processing.

Note that the different measurements have no equal accuracy. The General linear method requires to use different weights for such measurements. A new component sigma was developed for this purpose. It enables us to create weighted selections. I've used the graph Graph component for the storage of the selection. It has been done since the user would be able to try this example without a database. Really, this scenario should use the connection to the database graph Database Graph

  • To try this sample, you should download and install the motion model;
  • Download this sample

Kalman filter

This section contains the technology of Kalman filter without any determination of orbits. Kalman filter uses operations with vectors and matrixes. The vector vector as matrix Matrix components has been developed for this purpose. A typical example of the usage of the Kalman filter is presented below:

Kalman filter

  • Download sample of Kalman filter - 4.33 Kb

This picture has all the necessary Kalman filter ingredients:

  • Covariance matrix;
  • Gain derivation;
  • Relationship to recursive Bayesian estimation.

The editor for the properties of the matrix is presented below:

Matrix properties

It links the elements of the matrix with external data. Operations with matrixes is being performed by a formula editor. As it had been noted in part 4, the editor is case sensitive. For example, the meaning of the formula ax may be different. If a and x are real numbers, then this formula means an ordinary product. If a and x are matrixes, then we have a matrix product. If a is a matrix and x is a vector, then ax is a matrix - vector product etc. In the following formulas of this situation:

Formula

a and h are matrixes and y and z are vectors. So having vector and matrix components, we can construct any modification of the Kalman filter.

Points of interests

There exists an opinion that deep research requires particular specialty. However, sir Isaac Newton was a great scientist and a master of the Mint. Indeed, my occupation of abstract algebra is not an obstacle for everyday engineering problems.