You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
Being able to calculate the maximum elevation of a pass could be useful: la1k/flyby#47, la1k/flyby#46. Function proposal:
The maximum is bracketed by the numbers obtained from
predict_next_aos()
andpredict_next_los()
ifstart_time
is not during a pass. If we are during the middle of a pass, the maximum could be beforestart_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 instruct 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.
The text was updated successfully, but these errors were encountered: