Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prediction of maximum elevation #62

Closed
bjorgan opened this issue Mar 8, 2017 · 1 comment
Closed

Prediction of maximum elevation #62

bjorgan opened this issue Mar 8, 2017 · 1 comment

Comments

@bjorgan
Copy link
Member

bjorgan commented Mar 8, 2017

Being able to calculate the maximum elevation of a pass could be useful: la1k/flyby#47, la1k/flyby#46. Function proposal:

/**
 * Predict time of maximum elevation of the current or next pass after start_time.
 * 
 * \param observer QTH coordinates
 * \param orbital_elements Orbital elements of satellite
 * \param start_time Start time from which to search for/identify the next pass
 * \return Time of maximum elevation
 **/
predict_julian_date_t predict_max_elevation(const predict_observer_t *observer, const predict_orbital_elements_t *orbital_elements, predict_julian_date_t start_time);

The maximum is bracketed by the numbers obtained from predict_next_aos() and predict_next_los() if start_time is not during a pass. If we are during the middle of a pass, the maximum could be before start_time.

The elevation function is well-behaved unless the satellite is geostationary or decayed. Find some numerical method for finding the maximum. Could also be aided by the elevation_rate-property in struct predict_observation, but note that the first derivative in some cases can be discontinuous or near discontinuous at the peak (when max elevation approaches 90 degrees). Numerical accuracy can be tested in the test framework by checking the elevation rate and other parameters, and by moving to each side of the predicted maximum.

Might probably first be implemented in flyby for quick solving of the mentioned issues, and could then be moved over to libpredict.

Not sure if "predict_max_elevation" is a name that will be descriptive enough for its purpose.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants