Modern earth observation techniques require precise knowledge about the position and velocity of observed satellites or other objects in space. Computing the position analytically no longer provides the necessary accuracy owing to the lack of an analytical high accuracy orbital theory. In order to gain accuracy, it is common practice to compute an orbit by solving ordinary differential equations (ODEs). Solving this kind of mathematical equation leads to well-tested standard methods like Runge-Kutta-methods, Burlisch-Stoer, symplectic or power-series integrators. These solvers have been implemented using C++-templates to change the floating-point data type at compile time. Therefore multi-precision data types with a free-to-choose decimal precision can be used. Based on this approach, each numerical solver can operate with variable internal precision. This, for instance, makes it possible to reveal round-off errors or missing accuracies by simply increasing the precision of the underlying data type. It can be used to verify computed or measured results with hitherto unavailable numerical accuracy. Solving an ODE with high accuracy using a multi-precision library requires more CPU-cycles. This is why the implemented algorithm has been profiled and highly optimized to avoid wasting CPU-cycles on our testing platforms.
«
Modern earth observation techniques require precise knowledge about the position and velocity of observed satellites or other objects in space. Computing the position analytically no longer provides the necessary accuracy owing to the lack of an analytical high accuracy orbital theory. In order to gain accuracy, it is common practice to compute an orbit by solving ordinary differential equations (ODEs). Solving this kind of mathematical equation leads to well-tested standard methods like Runge-K...
»