Lunar Ephemeris Polynomials
The Lunar Ephemeris Polynomials are used in the Virtual AGC to determine the location of the moon with respect to the earth during a lunar mission. This lunar position is used for several critical aspects of guidance and navigation of the CSM throughout the mission.
First, the lunar position is used by the AGC to account for the gravitational force of the moon on the spacecraft when it is in or near the moon's sphere of influence or SOI. Secondly, the position of the moon is used to make corrections to the spacecrafts state vectors independent of ground assistance, using the spacecrafts optical system. Finally, the lunar position can be used as a sighting mark to align the spacecraft to the universal coordinate system.
Form of the Lunar Ephemeris
The lunar ephemeris are stored in the AGC using a set of 3 9th order Taylor series of the form:
<math>X(t) &= x_0+x_1t+x_2t^2+\cdots x_9t^9 </math>
Where X is the position of the moon with respect to the earth at a given time. There is a complete set of polynomials for each axis X,Y, and Z.
Time for the polynomials are expressed as the difference between the mission time and a predetermined time that was defined as a point midway through the lunar mission. This time, called TIMEMO is the zero intercept the polynomial expression.
Constraints of the AGC
Aspects of the AGC presented an interesting challenge to programmers. Given that the polynomials would be expressed as double precision numbers in the AGC that had to fall within the range of -1 to +1. In addition the input time and output distance would need to be scaled to the AGC defaults. And finally the calculations would need to be performed to maximize the accuracy of the Ephemeredes.
The scaling of the parameters is the most important aspect of the computation. The AGC measures distance primary in meters*2^-29, and time in cs(centiseconds)*2^-28. In order to produce accurate polynomials, the data that is used to produce them must be scaled the same as the AGC. Unfortunately, producing polynomials with this scaling does not produce polynomials within the +/-1 range.
Scaling the time and distance differently maximizes the accuracy of the resultant polynomials. The time is scaled to cs*2^-26 and the distance is scaled to meters*2^-31. This scaling produces polynomials that maintain a +/-1 result constraint. The change in scaling does however, reduces the accuracy of the distance, though but does not effect it significantly. The time scaling does however limit the effective time range to approximately 15 days.
Given the time range constrains and the computational constants at the time, the Ephemerids Data was centered to a time independent of the mission and time of launch. Assuming that the computation of the polynomials was not trivial at the time, and the that the polynomials were computed far ahead of mission with this constraint, the polynomials were based on point in time independent of other time related mission parameters. While most time commutations used the mission time based off the time of launch. The lunar ephemeris were based on a point during the mission. This point was selected in such a way that placed the negative extreme –(2^-26)/2 cs at a point slightly prior to the launch time. This method maximizes the time range that the polynomials are valid, and allows for changes in the launch time without the need to recompute the polynomials.
Modern Method of Computing Polynomials
Computing the polynomials can be accomplished using freely available data and any number of mathematical computational software.
The first step is to obtain data on the location of the moon over the period of time of a lunar mission. This data is avalible via the JPL Horizons system [1]. The following is an example header of the output.
Ephemeris / WWW_USER Thu Jun 14 08:22:42 2007 Pasadena, USA / Horizons ******************************************************************************* Target body name: Moon (301) {source: DE405} Center body name: Earth (399) {source: DE405} Center-site name: BODY CENTER ******************************************************************************* Start time : A.D. 1968-Oct-01 00:00:00.0000 CT Stop time : A.D. 1968-Oct-30 00:00:00.0000 CT Step-size : 30 minutes ******************************************************************************* Center geodetic : .000000000,.000000000,.00000000 {E-lon(deg),Lat(deg),Alt(km)} Center cylindric: .000000000,.000000000,.00000000 {E-lon(deg),Dxy(km),Dz(km)} Center radii : 6378.1 x 6378.1 x 6356.8 km {Equator, meridian, pole} Output units : KM-S Output format : 01 Reference frame : ICRF/J2000.0 Output type : LT+S CORRECTED cartesian states Coordinate systm: Earth Mean Equator and Equinox of Reference Epoch ******************************************************************************* JDCT , , X, Y, Z, *******************************************************************************
For the paremters selected the one that is required is to use Earth Mean Equator and Equinox of Reference Epoch coordinate system. This cooresonds to the universal coordinate system of the AGC.
The Data will then need to be scaled to the AGC so that the resultant polynomials are valid. First time is scaled and putinto the reference based on TIMEMO such that:
<math>t=(t_d-t_m)8.64E6*2^-^2^6</math>
where td is the Julian Date Data and tm is the Julian Date of the mission center point, also to be used for TIMEMO. In addition the posistion vector data is put in the form
<math>X=X_d1000*2^-^3^1</math>
Where Xd is the position data in all three axis.
Then from the data a set of polynomials can be determined used the least squres method. The resultant values are then stored in twos complement octal in earsable memory, without any additional scaling.
Apollo 7 Example
Based on the mission parameters, the following time parameters are chosen.
<math>TEPHEM(T_0) = 2440140 JD</math>
<math>TIMEMO(T_m) = 2440147 JD</math>
First a set of lunar state vectors for the time period during the mission is obtained from JPL’s horizions system.
Time Date X Y Z 2440146.958 A.D. 1968-Oct-17 11:00:00.0000 -3.24E+05 1.82E+05 1.05E+05 2440146.979 A.D. 1968-Oct-17 11:30:00.0000 -3.25E+05 1.81E+05 1.05E+05 2440147 A.D. 1968-Oct-17 12:00:00.0000 -3.26E+05 1.79E+05 1.04E+05 2440147.021 A.D. 1968-Oct-17 12:30:00.0000 -3.27E+05 1.78E+05 1.03E+05 2440147.042 A.D. 1968-Oct-17 13:00:00.0000 -3.27E+05 1.76E+05 1.02E+05 2440147.063 A.D. 1968-Oct-17 13:30:00.0000 -3.28E+05 1.75E+05 1.01E+05
Then Scale the Data to AGC units
T X Y Z -0.0053644 -0.16661 0.051274 0.031029 -0.0026822 -0.16684 0.05054 0.030633 0 -0.16708 0.049805 0.030236 0.0026822 -0.1673 0.049069 0.029838 0.0053644 -0.16753 0.048331 0.029439
Then compute the polynomials using this data and a mathmatical computation progrma like MATLAB or SCILAB
X:6.12E-05 0.001038 0.003757 0.001445 -0.02612 -0.06537 0.073265 0.274565 -0.08484 -0.16703 Y:0.000405 0.001618 -0.00098 -0.01307 -0.01811 0.045006 0.143104 -0.08255 -0.27456 0.049719 Z:0.00022 0.000865 -0.0006 -0.00716 -0.00944 0.025724 0.076849 -0.04998 -0.14834 0.030188