Wie berechnet man die aktuelle Position eines Satelliten?

Ich möchte ein SIMULINK-Modell schreiben, das die sichtbare Position von Satelliten für die aktuelle Zeit berechnet.

Als Input für das Modell habe ich die Koordinaten eines Ortes, die aktuelle Zeit und die Ephemeriden/TLE-Daten von Satelliten.

Als Ausgabe möchte ich den Winkel und die Entfernung zum Satelliten vom angegebenen Standort aus.

Bisher habe ich das SGP4-Modell gefunden, das Vorhersagen für Positionen mit TLE-Daten berechnen kann, und ich habe auch eine Website gefunden , die das tut, was ich brauche, und noch mehr. Leider finde ich keine Informationen darüber, wie sie das berechnen.

Sie können sich beispielsweise den Quellcode der Open-Source-Python-Pakete Skyfield oder PyEphem ansehen . Ich glaube, beide sind auf Github und beide werden von derselben Person verwaltet. Je mehr Genauigkeit Sie wünschen, desto komplizierter wird die Berechnung. Wenn ungefähr ein Grad in Ordnung ist, könnten Sie davon ausgehen, dass die Erde kugelförmig ist und die Mathematik ziemlich einfach wäre, aber je mehr Realität Sie einbeziehen möchten, desto mehr Arbeit ist erforderlich, um dorthin zu gelangen.
Danke, das klingt großartig, ich brauche die Berechnungen nicht, um genau zu sein. Ich werde mir das mal ansehen.

Antworten (1)

Hier finden Sie Informationen zu einem Open-Source-Java-Paket, das Code für die TLE-Weitergabe enthält:

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

Es enthält auch Klassen für alle Komponenten, die Sie benötigen, um Ihre Reichweite/Winkel zum Satelliten zu bringen. Schauen Sie sich die topozentrischen Frame-Schnittstellen im Javadoc an; Es hat Schnittstellen, um Azimut/Höhe/Bereich zu erhalten:

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

Es könnte etwas einfacher sein, Ihr Matlab/Simulink mit Java über Python zu integrieren.

(vollständige Offenlegung, ich habe das Paket nicht verwendet, aber ich halte es für zuverlässig)

Das OP verfügt bereits über einen SGP4-Propagator und sucht nach einer Möglichkeit, die Blickwinkel (Höhe, Azimut) von einem bestimmten Ort auf der Erde aus zu berechnen. Tut das das?
Ja tut es. Es ist eine Allzweckbibliothek, daher bietet sie viel Unterstützung für die Frame-Konvertierung und verschiedene Zustandsdarstellungen. Ich habe die Antwort aktualisiert, um die Frage tatsächlich zu beantworten.
+1Sieht gut aus! Ich würde die Verwendung von Python auch nicht empfehlen, aber die von mir erwähnten Pakete sind Open-Source-Wrapper für kompilierten Code (in verschiedenen Sprachen), die die Algorithmen und hoffentlich Kommentare und Referenzen enthalten würden. Keine Ahnung, was unter der Haube steckt, aber irgendwas muss da sein.