Satgen 629 Stuck in a Loop by GM4IHJ (BID SGEN629) 2001-04-14 The computation of a satellite orbit is a high speed, simple affair , in this age of microcomputers, provided all things human and nonhuman behave. But we should not forget that in the 370 or so years since Kepler produced the essential equation E = M + e*sin(E) , that mathematicians too numerous to mention , have strived to find new ways of solving it. Noting that simple arithmetic does not work. You have to use trial and error . You know M the mean anomaly of the orbit and you know e the orbital eccentricity. But you need to use ITERATION to solve for E. You start by guessing E and see if the two sides of the equation match. If not you alter your guess slightly , say increasing it. If that gets closer to balancing the equation you proceed to alter E a little more , till step by step it balances. If however the steps take you further from a balanced solution , you change round and start to decrease the value of E step by step till it balances. Doing this by computer you must use careful step sizes and set limits, so the process cannot overshoot. Normally this works . The equation runs into a balanced solution . But lets say the orbit the satellite adopts is not quite the one you intended. Your carefully selected sizes and limits , and , or your original guess for E at the start of the iterative process will fail to produce a smooth run into a solution and your software may crash or simply oscillate between unsatisfactory solutions, never achieving balance. The problem is at its worst . When the software is up in the satellite . Suddenly the software is asked to solve Keplers equation in order to check whether the satellites location requires a change of state. The program cannot revert to normal and will never work until the control steps and or limits on the calculation are changed. So the satellite is inoperable until new software is uploaded. All of which is quite unnecessary. The following BINARY SEARCH procedure first published by Roger SINNOTT in 1985 outlines a software fix that can be substituted for the iterative algoriths if the orbit eccentricity is anywhere between 0 and 0.95 . E0 =eccentricity : M = Mean anomaly P1=3.14159265 : E=P1/2 : D=P1/4 For I1 = 1 to 23 ( range may be increased >23 if required ) M1=E - E0*SIN(E) E= E + SGN(M-M1)*D : D=D/2 Next I1 This works for all eccentricities from 0 to 0.95 . But as eccentricity approaches 1 , the transfer from mean anomaly to eccentric anomaly and thereafter to true anomaly , becomes increasingly inaccurate and by eccentricity =1 the answers are meaningless. A method due to Karl Gauss is therefore preferred for orbits with eccentricity > 0.95. Orbits with this sort of eccentricity are of no interest to satellite communicators , so the Gaussian method should not be needed by radio amateurs.