Abrufen von Daten, wann ein Satellit Manöver aus historischen TLE-Daten (Python) durchgeführt hat?

Ich habe mich kürzlich mit der Orbitalmechanik vertraut gemacht und versuche, einige Analysen zu diesem Thema durchzuführen. Da ich keine fachliche Expertise habe, stehe ich an einem Scheideweg bei dem Versuch zu entscheiden, wie man anhand der historischen TLE-Daten dieses Satelliten, aus denen wir die Orbitalelemente extrahieren können, feststellen kann, ob ein Satellit eine Manöver- / Rendezvous-Operation durchgeführt hat.

Grundsätzlich habe ich als Input historische TLE-Daten für einen Satelliten seit dem Start. Ich bin in der Lage, bei Bedarf alle Orbitalparameter zu extrahieren und / oder zu berechnen. Als Ausgabe möchte ich, dass es die Daten ausspuckt, an denen der Satellit Manöver durchgeführt hat. Ich bin dieses Problem folgendermaßen angegangen: Ich nehme eine Teilmenge von Parametern, die aus den TLE-Daten (als Zeitreihendaten) extrahiert werden, und berechne langfristige standardisierte Anomalien für jeden dieser Parameter. Filtern Sie dann Daten heraus, an denen einer dieser Parameter Werte größer als 1,5 oder kleiner als -1,5 hatte.

Aber es gibt zwei Probleme, mit denen ich konfrontiert bin: Erstens bin ich mir nicht sicher, welche Parameter-Teilmenge ich gewählt habe. Und zweitens bin ich mir nicht sicher, ob dies der richtige Weg ist, dieses Problem anzugehen. Gibt es eine ausgeklügelte Methode, mit der die Leute mein Problem lösen?

Was mich interessiert, ist herauszufinden, an welchen Tagen ein Satellit Manöver durchgeführt hat.

Antworten (1)

Für die Verbreitung von Python und TLE mit SGP4 ist eine sehr praktische Option https://rhodesmill.org/skyfield/

Wie Sie wahrscheinlich bereits wissen, ist ein TLE ein seltsames Tier. Es enthält nicht wirklich orbitale Elemente, sondern wurde mit einem einzigen Zweck konstruiert; in SGP4 eingespeist werden , damit dies für mindestens ein paar Tage um die Epoche des TLE herum vernünftige Positionsinformationen generiert. Siehe @Tristans Antwort auf Ist die SGP4-Ausbreitung in der Nähe der für die TLE-Generierung ausgewählten Epoche unbedingt genauer? und Antworten auf Wie erhalte ich UTC der Epochenzeit in einem Satelliten-TLE (Zwei-Linien-Element)? und Wie funktioniert SGP4? mehr dazu.

SGP4 enthält Annäherungen für mehrere Effekte jenseits der Kepler-Umlaufbahnen, einschließlich eines bescheidenen "klumpigen Schwerkraft" -Modells für die Erde, des kontinuierlichen atmosphärischen Widerstands und der Gravitationsstörungen von Sonne und Mond. Weitere Informationen zu letzterem finden Sie in den Antworten zu SGP 4 für geostationäre Satelliten und Wie berücksichtigen "Deep Space" -Korrekturen in SGP4 die Schwerkraft von Sonne und Mond? und SGP4 im Systems Tool Kit (STK); Wie überprüfe ich, ob die SDP4-Deep-Space-Korrektur implementiert ist? und vielleicht Unterschiede zwischen SGP8 und dem Standard-SGP4? Wird es jemals in der Praxis verwendet?

Daraus möchte ich Sie überzeugen, dass eine direkte Interpretation der Zahlenwerte in den TLEs mit Vorsicht zu genießen ist. Große, plötzliche Änderungen der mittleren Anomalie (insbesondere zu höheren Umlaufbahnen) oder der Neigung von einem TLE zum nächsten könnten tatsächlich auf ein Vortriebsmanöver hindeuten, aber kleinere Änderungen könnten auf eine Änderung der atmosphärischen Temperatur und Dichte in LEO aufgrund von Sonnenaktivität oder sogar a hinweisen Mischung aus verrauschten individuellen Positions- und Geschwindigkeitsmessungen von Satellitenverfolgung (Radar, visuell/Teleskop).

Daher denke ich, dass es sehr schwierig sein wird, ein Vortriebsmanöver mit Sicherheit zu kennzeichnen und es von alltäglichem Lärm in TLEs zu unterscheiden, es sei denn, es ist groß oder es sei denn, eine Gruppe von TLEs ist mit einer folgenden Gruppe von TLEs unvereinbar.

Zu diesem Zweck können Sie für jedes TLE SGP4 verwenden, um eine Position und Geschwindigkeit zu den Epochendaten und -zeiten mehrerer TLEs davor und danach vorherzusagen, sagen wir innerhalb eines Intervalls von wenigen Tagen oder Wochen um die Epoche des gegebenen TLE. Wenn Sie eine klare Inkonsistenz über mehrere TLEs hinweg sehen, die eine weitere Untersuchung rechtfertigen könnte.

Weitere Hintergrundinformationen, bevor Sie damit beginnen, finden Sie unter

Danke für das Lob! Ich möchte hinzufügen: Es gibt ein paar Dinge, die Sie beobachten können – wenn Sie progressive TLEs grafisch darstellen und nach schrittweisen Änderungen über der normalen Variation suchen. Zunächst einmal: Kümmern Sie sich nicht um die mittlere Anomalie in der Epoche. Es ist eine Funktion der Zeit, auf der die TLE basiert. Wenn die Exzentrizität sehr gering ist, würde ich mich auch nicht mit dem Argument des Perigäums beschäftigen, da es bei Störungen wild schwingen wird. Suchen Sie nach Änderungen in Neigung, RAAN (für Neigung ungleich Null), Exzentrizität und mittlerer Bewegung. Beachten Sie, dass es bei den meisten davon natürliche Schwankungen gibt, achten Sie also auf schrittweise Änderungen.
Um ein bisschen Klarstellung hinzuzufügen: RAAN ist für die Neigung das, was das Perigäum für die Exzentrizität ist. Wenn Inklination und Exzentrizität klein sind, werden RAAN und Argument des Perigäums jeweils sehr instabil und werden bei sehr kleinen Änderungen des Zustandsvektors wild schwingen.
Vielen Dank für die ausführliche Antwort. Schätze es sehr! @Tristan Aber ich habe immer noch keine klare Vorstellung von einigen Aspekten der Antwort. Grundsätzlich ist mein Endziel, diesen Prozess zu automatisieren. Angesichts eines beliebigen Satelliten von Interesse und all seiner historischen TLEs möchte ich die Daten wissen, an denen er Manöver durchgeführt hat. Nun kann sich der Abfragesatellit in jeder Umlaufbahn mit beliebiger Exzentrizität oder Neigung befinden. Gibt es eine standardisierte automatisierte Methode, mit der ich diese Anomalien in Python dynamisch berechnen kann?
Vielen Dank für die ausführliche Antwort. Schätze es sehr! @uhoh Es ist sicherlich keine praktikable Option für mich, ein Diagramm zu beobachten und manuell nach schrittweisen Änderungen über der normalen Variation zu suchen, da dies für mein Projekt eine dynamische Funktion sein muss. Es wäre hilfreich, wenn ich eine bestimmte Teilmenge von Umlaufbahnparametern kennen könnte, die ich überwachen kann, was eine Änderung der Umlaufbahn (oder wie ich es nenne, ein "Manöver") fast garantiert. Ich weiß, dass es sich um eine sehr vage und verallgemeinerte Problemstellung handelt, aber ich könnte etwas Fachwissen dazu gebrauchen.
@aashayshah Sie haben also Informationen darüber erhalten, welche Werte zu beachten sind. Was Sie jetzt suchen, ist, wie Sie bei einer gegebenen zeitvariablen Reihe von Werten programmatisch bestimmen können, wie die Position einer anomalen Variation erkannt werden kann. Es ist nach Mitternacht hier, also gebe ich Ihnen, anstatt eine Antwort einzugeben, einen Hinweis -> An diesem Punkt ist es keine Weltraumforschungsfrage mehr, sondern nur eine Programmierfrage: Wie schreiben Sie ein Programm, um eine Unebenheit auf einem anderen zu finden? glatter Zeitreihenplot, gegeben tabellierte Daten?
@Tristan bezogen: Sehen so Stationshaltemanöver aus oder sind es nur Datenstörungen? (SOHO via Horizons) (siehe 2. und 3. Unterschied) und Erkennung von Vortriebsmanövern in einer Tabelle von Zustandsvektoren (derzeit unbeantwortet) und etwas verwandt: Unraveling Cassini's „wollknäuel“ orbit um Saturn, tabellarische Darstellung von Vortriebsmanövern? Ich denke, es wäre in Ordnung, dies hier in SE zu beenden; OP sucht eine besondere Art von Beule ...
@aashayshah siehe meinen Kommentar oben