NavList:
A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
Re: lunar distance solution by linear equations
From: Paul Hirose
Date: 2009 Feb 05, 16:39 -0800
From: Paul Hirose
Date: 2009 Feb 05, 16:39 -0800
I think the best way to explain my lunar distance algorithm is to work one iteration by hand. These are the input conditions: Estimated time 1999 Jan 26 22:21:04 Terrestrial Time (22:20:00 UTC) Estimated position N20°00' W70°00'. Observed angles: 68.323° Moon near limb to Jupiter center, refracted 66.027° Moon refracted upper limb altitude 45.243° Jupiter refracted center altitude Observed refracted angles to centers of bodies: 68.597° Moon to Jupiter, refracted 65.753° Moon refracted center altitude 45.243° Jupiter refracted center altitude With the USNO MICA program, predict the lunar distance and altitudes at the estimated time and position. Compare the prediction to the observed angles. Refracted lunar distance: 68.685° predicted 68.597° observed ------ .088° error in prediction Moon refracted altitude: 58.228° predicted 65.753° observed ------ -7.525° error in prediction Jupiter refracted altitude 49.914° predicted 45.243° observed ------ 4.671° error in prediction Change the time by 10 minutes and note the effect on the predicted observables. 68.750 new predicted separation angle 68.685 old predicted separation angle ------ .065 difference (.006 per minute of time) 60.524 new predicted Moon altitude 58.228 old predicted Moon altitude ------ 2.296 difference (.230 per minute of time) 47.859 new predicted Jupiter altitude 49.914 old predicted Jupiter altitude ------ -2.055 difference (-.205 per minute of time) Move latitude 5 degrees north and note the effect on the predicted observables (time is restored to its original value). 68.653 new predicted separation angle 68.685 old predicted separation angle ------ -.032 difference (-.006 per degree lat.) 57.697 new predicted Moon altitude 58.228 old predicted Moon altitude ------ -.531 difference (-.106 per degree lat.) 47.215 new predicted Jupiter altitude 49.914 old predicted Jupiter altitude ------ -2.699 difference (-.540 per degree lat.) Move longitude 5 degrees east and note the effect on the predicted observables (latitude is restored to its original value). 68.616 new predicted separation angle 68.685 old predicted separation angle ------ -.068 difference (-.014 per degree lon.) 62.990 new predicted Moon altitude 58.228 old predicted Moon altitude ------ 4.762 difference (.952 per degree lon.) 45.773 new predicted Jupiter altitude 49.914 old predicted Jupiter altitude ------ -4.141 difference (-.828 per degree lon.) Write linear equations for the increments in predicted lunar distance, Moon altitude, and Jupiter altitude in terms of increments to time, latitude, and longitude. The nine coefficients were obtained above. The constants on the right are the increments we desire, i.e., the changes to the predicted angles that will make them equal to the observed angles. .006 ∆time - .006 ∆lat - .014 ∆lon = -.088 .230 ∆time - .106 ∆lat + .952 ∆lon = 7.525 -.205 ∆time - .540 ∆lat - .828 ∆lon = -4.671 The approximate solution is: ∆time = +.027 minutes ∆lat = -3.0° ∆lon = +7.6° After applying the adjustments, time is 1999 Jan 26 22:21:06 Terrestrial Time (22:20:02 UTC) and position is N17°00' W62°24'. Predict the Moon and Jupiter positions for that time and place, and compare to the observations. Refracted lunar distance: 68.594 predicted 68.597 observed ------ -.002° error in prediction (was .088) Moon refracted altitude: 65.579 predicted 65.753 observed ------ -.174° error in prediction (was -7.525) Jupiter refracted altitude 44.720 predicted 45.243 observed ------ -.524° error in prediction (was 4.671) That's a good result, considering my rounded-off numbers. The program's algorithm is basically the same. It repeats this process until predictions of the three angles (lunar distance and both altitudes) all differ by less than the requested accuracy in two successive iterations. At that point the solution is complete. To automatically apply appropriate increments to the unknowns, I make the increments similar to the errors in the prediction. In this case the initial predicted lunar distance missed the observed angle by .088° (5.8'), so 5.8' would be converted to the equivalent time increment, allowing for the actual angular rate. Position is easier: the average altitude intercept of the bodies is the increment for latitude and longitude. A disadvantage of this method is that the three observable angles must behave in a fairly linear way when increments are applied to the unknowns. For example, if the Moon or target body is at a high altitude, that altitude can vary in a seriously nonlinear way with respect to time. The iteration might diverge in such a case. For that reason, there's a counter to abort the loop if it runs too many times. Also, I include a second "solver", also iterative, but with a more traditional algorithm which "clears" the lunar of refraction and parallax. I actually wrote that one first, being sceptical of the linear equation method. It's not as interesting, and this message is already too long, so I won't describe the algorithm. Anyway, the source code for everything is at my site. -- I block messages that contain attachments or HTML. --~--~---------~--~----~------------~-------~--~----~ Navigation List archive: www.fer3.com/arc To post, email NavList@fer3.com To , email NavList-@fer3.com -~----------~----~----~----~------~----~------~--~---