¿Cómo calcular la posición actual de un satélite?

Quiero escribir un modelo SIMULINK que calcule la posición visible de los satélites para la hora actual.

Como entrada para el modelo tengo las coordenadas de una ubicación, la hora actual y los datos de efemérides/TLE de los satélites.

Como salida, quiero el ángulo y la distancia al satélite, desde la ubicación dada.

Hasta ahora, encontré el modelo SGP4 que es capaz de calcular predicciones para posiciones usando datos TLE y también encontré un sitio web que hace lo que necesito e incluso más. Desafortunadamente, no puedo encontrar ninguna información sobre cómo calculan eso.

Puede consultar el código fuente de los paquetes de Python de código abierto Skyfield o PyEphem, por ejemplo. Creo que ambos están en github y ambos son administrados por la misma persona. Cuanta más precisión desee, más complicado será el cálculo. Si aproximadamente un grado está bien, podría asumir que la Tierra es esférica y las matemáticas serían bastante fáciles, pero cuanto más realidad desee incluir, más trabajo se necesitará para llegar allí.
Gracias, eso suena genial, no necesito que los cálculos sean precisos. Voy a echar un vistazo a eso.

Respuestas (1)

Aquí hay información sobre un paquete Java de código abierto que tiene código para la propagación de TLE:

https://www.orekit.org/forge/projects/orekit/wiki/Tle

También contiene clases para todos los componentes que necesita para obtener su rango/ángulos al satélite. Mire las interfaces de marco topocéntricas en el javadoc; tiene interfaces para obtener el acimut/elevación/rango:

https://www.orekit.org/site-orekit-9.0/apidocs/index.html

Podría ser un poco más fácil integrar su Matlab/Simulink con Java sobre python.

(divulgación completa, no he usado el paquete, pero creo que es confiable)

El OP ya tiene un propagador SGP4 y está buscando una manera de calcular los ángulos de observación (elevación, azimut) desde una ubicación determinada en la Tierra. ¿Esto hace eso?
Sí lo hace. Es una biblioteca de propósito general, por lo que tiene mucho soporte para la conversión de cuadros y diferentes representaciones de estado. Actualicé la respuesta para responder realmente a la pregunta.
+1¡Se ve bien! Tampoco recomendaría usar python, pero los paquetes que mencioné son contenedores de código abierto para código compilado (en varios idiomas) que tendrían los algoritmos y, con suerte, comentarios y referencias. No tengo idea de lo que hay debajo del capó, pero debe haber algo.