Orbit Propagator mit J2-Störung hat einen größeren Fehler im Vergleich zu einem einfachen 2-Körper-Propagator

Ich habe einen Bahnpropagator entwickelt, der die J2-Störung gemäß der gezeigten Formulierung berücksichtigt: Beschleunigungsgleichungmit Runge-Kutta 4. Ordnung, Zeitschritt von 1 Sekunde als Integrator. Formulierung wie abgebildet:

Formulierung

Mit J2 = 0,0010826, Re = 6,378137E+6 und mu = 3,986004418000000e+14.

Anschließend habe ich versucht, die Orbit-Ausbreitungsgenauigkeit mit dem SGP4-Propagator sowie dem 2-Body-Propagator zu vergleichen, und ich fand heraus, dass der Positionsfehler zwischen "SGP4" und "Orbit Propagator with J2" viel größer ist als der Positionsfehler zwischen "SGP4 " und "2-Body-Propagator".

Einige der Details der Bahnausbreitungssimulation sind:

  1. Für den SGP4-Propagator verwendetes TLE:Geben Sie hier die Bildbeschreibung ein

  2. Ausbreitungsdauer von 16 Stunden

  3. Da die Ausgabe von SGP4 im TEME-Frame erfolgt, wurde beim Vergleich des Ausbreitungsfehlers in einen J2000-Frame konvertiert.

  4. Die Anfangsposition und -geschwindigkeit für den "Orbit-Propagator mit J2" und den "2-Körper-Propagator" wird aus der Ausgangsposition und -geschwindigkeitsausgabe von SGP4 erhalten, die in einen J2000-Frame konvertiert wurden.

  5. SGP4 ist eine Funktion aus der Matlab Aerospace Toolbox

Der Positionsfehler in kartesischen Koordinaten in Bezug auf J2000 ist wie folgt:X j z

Ich habe den Eindruck, dass die Umlaufbahnausbreitung unter Berücksichtigung der J2-Störung genauer sein sollte als der 2-Körper-Propagator, und frage mich daher, ob ich irgendwo einen Fehler gemacht habe? Oder besteht die Möglichkeit, dass die Einführung von J2-Störungen zu mehr Fehlern führt? Jede Hilfe/Ratschlag/Austausch basierend auf Ihrer Erfahrung wird sehr geschätzt!

Cool! Nur ein Gedanke; Was passiert, wenn Sie das Vorzeichen Ihres ändern J 2 ? Was ist das Zeichen des J2 der Erde? Sie können auch Ihre Beschleunigungsgleichungen mit meinen vergleichen. Das Problem mit Ausdrücken des Gravitationspotentials besteht darin, dass es von einer Quelle zur anderen multiplikative Faktorvariationen geben kann, die einen Affenschlüssel in die Berechnung werfen können, wenn man nicht sehr sorgfältig liest und Zwischenschritte überprüft.
Du hast deinen Code nicht gezeigt, also gibt es keine Möglichkeit, es wirklich zu sagen. Eine Sache, die Sie möglicherweise falsch machen, ist die Verwendung des J2000-Rahmens. Der ECEF-Rahmen wird aufgrund von Präzession und Nutation mit einem Ergebnis von J2000 geneigt. Während Sie die Erdrotation nicht modellieren müssen, wenn Sie die Schwerkraft der Erde mit J2 modellieren, müssen Sie die Präzession und Nutation der Erde modellieren.
@uhoh Schau dir die Gleichungen des OP an. J 2 muss offensichtlich einheitenlos sein. J 2 ist positiv, ohne Einheit und hat einen Wert von etwa 10 3 , 0,0010826359 um genau zu sein.
Danke für Ihren Vorschlag. Ich habe meine Formulierung und einige zusätzliche Informationen hinzugefügt. Da ich kein Experte auf diesem Gebiet bin, werde ich mir etwas mehr Zeit nehmen, um die Modellierung der Präzession und Nutation der Erde zu studieren und zu sehen, ob ich den Fehler reduzieren kann.
Es scheint einen Fehler in Ihrem Korrekturterm für die Schwerkraft mit J2 (erste Gleichung) zu geben. Das (a/r) wird zweimal quadriert.
@NgPh Ich bin mir ziemlich sicher, dass der Ausdruck für die Gravitationsbeschleunigung korrekt ist. Normalerweise wird das nicht so geschrieben, aber es ist richtig. Ein typischerer Ausdruck für die J<sub>2</sub>-Störung (zB Gleichung (3) in dieser Masterarbeit ) ist
P = 3 2 μ J 2 A 2 R 5 ( ( 5 z 2 R 2 1 ) ( X X ^ + j j ^ ) + ( 5 z 2 R 2 3 ) z z ^ )
@NgPh Der Fehler im Potential wird in den Gravitationsbeschleunigungsgleichungen nicht repliziert.
Sie haben uns Ihren Code gezeigt. Hast du es Unit getestet? Ein netter Komponententest besteht darin, zu sehen, ob Sie die Gravitationsbeschleunigung auf der Erdoberfläche replizieren können. Einige der für einen solchen Komponententest erforderlichen Werte finden Sie in dieser Antwort unter Physics.SE . Dinge, die bei dieser Antwort nicht berücksichtigt werden, sind der Polarradius, der angesichts des Äquatorialradius und der Abflachung und Modifikation einfach ist μ die Masse der Atmosphäre auszuschließen, was nicht so einfach, aber noch machbar ist. Es ist immer gut, Ihren Code zu testen.
@ David Hammen, ich verstehe. Die 1. Gleichung (für das Potential v J 2 ) ist falsch, aber die Gleichungen für G ich richtig sind (dem stimme ich zu).
Nur zur Info, normalerweise posten wir einen Codeblock als Text, nicht als Screenshot. Dies hat mehrere Gründe. Kopieren Sie einfach Ihren Code, stellen Sie sicher, dass alle mindestens vier Leerzeichen eingerückt sind, und fügen Sie ihn so ein , wie ich es hier getan habe .
In Ihren Fehlerdiagrammen von 2body vs. SGP4 bemerke ich, dass die Fehler um 0 zu schwingen scheinen. Das ist seltsam für mich, da J2 Ihre Umlaufbahn zur Präzession bringen würde. Ich würde erwarten, dass der Fehler der X-Achse linear wächst. Sind Sie von Ihrer Plot-Routine überzeugt?

Antworten (1)

Danke an alle für eure Hilfe und Ratschläge!

Nach einiger Fehlersuche fand ich heraus, dass der große Positionsfehler des "Orbitpropagators mit J2-Störung" auf die schlechte Anfangsposition und -geschwindigkeit zurückzuführen ist.

Anscheinend ist die von der MATLAB Aerospace-Toolbox SGP4 generierte Anfangsposition und -geschwindigkeit zur TLE-Epochenzeit um einige Kilometer verschoben, daher der große Ausbreitungsfehler, wenn er im "Orbit-Propagator mit J2-Störung" verwendet wird.

Ich habe den SGP4-Code von David Vallado von hier heruntergeladen SGP4-Referenzcode und verwende das daraus generierte anfängliche PV für den "Orbit-Propagator mit J2-Störung" sowie den "2Body-Propagator". Der Positionsfehlervergleich in allen 3 Achsen sieht wie folgt aus:

X j z

Besonderer Dank geht an Dr. STGoh von NUS STAR.

Glückwunsch, schöne Arbeit!
@uhoh, haben wir eine Ahnung, dass die angezeigten numerischen Ergebnisse korrekt sind?
@NgPh Abgesehen davon ist keine Umlaufbahnausbreitung "richtig", aber wenn 2 Körper + J2 innerhalb weniger Kilometer 48 Stunden lang mit SGP4 übereinstimmen, ist das verdammt gut! Es ist bereits bekannt, dass TLE+SGP4 nur gut für etwa 2 Kilometer pro Tag ist ( space.stackexchange.com/a/29817/12102 und space.stackexchange.com/a/29783/12102 ). Es enthält Koeffizienten bis zu (glaube ich) 6. oder 8. Gravitationsordnung, breitet sich aber numerisch überhaupt nicht aus. Stattdessen entwickelt es nur die mittleren Orbitalelemente. Wir wissen also nicht, wie viel von der winzigen Meinungsverschiedenheit, die gezeigt wird, auf eines der beiden zurückzuführen ist.
@uhoh, dann schade. Nur der OP hat das Problem verstanden. Nur der OP kann die Lösung verstehen. Nur das OP kann die Plots erstellen. Diese Frage und ihre Antwort haben für die Space SE-Community keinen Wert. Wenn jedoch jemand die angezeigten numerischen Ergebnisse des OP für bare Münze nimmt, kann er Schlussfolgerungen ziehen (auf eigene Gefahr).
@NgPh Nun, ich würde nicht vermuten, zu wissen, was andere Leser aus der Arbeit des OP entnehmen können, aber alles, was ich sagen kann, ist Willkommen bei Stack Exchange! Wenn das OP möchte, dass jemand seine Arbeit überprüft, kann er eine neue Frage stellen.
@uho, ich wollte nur warnen, dass die Ergebnisse nicht überprüfbar sind. Machen Sie keine voreiligen Schlussfolgerungen (wie z. B. nur J2-Übereinstimmungen mit SPG4 bis zu x Tagen).
@NgPh Dieser Beitrag sollte herausfinden, warum der "Orbit Propagator mit J2-Störung" einen größeren Fehler aufweist als der einfache "2 Body Propagator", der SGP4 als Basis verwendet. Nach meinem Verständnis sollte die Berücksichtigung der J2-Störung im Vergleich zu 2 Körpern eine bessere Genauigkeit ergeben. Und die Antwort darauf war, dass ich eine Anfangsposition und -geschwindigkeit verwendet habe, die um einige Kilometer abweicht, daher der große Ausbreitungsfehler. Die numerische Genauigkeit des „Orbitpropagators mit J2-Störung“ wurde überhaupt nicht diskutiert und es wird nicht einmal eine Aussage über die Leistung getroffen.
Sie haben unerklärliche Ergebnisse beobachtet und SE nach dem Grund gefragt. Sie haben später eine Diskrepanz in den Einstellungen gefunden. Ich stimme Ihnen zu, dass es ausreicht, die ursprüngliche Frage zu schließen, unabhängig von Ihren neuen Ergebnissen . Ich stimme zu, dass ich auf der Grundlage der neuen Ergebnisse keine Schlussfolgerungen ziehen sollte (ich tue es nicht). Nichtsdestotrotz scheinen sie den Trend zu zeigen, dass die 2-Körper-Position in jeder Umlaufzeit nahe an die SGP4-Position herankommt. Auch die Amplitude der "Schwingungen" des 2body scheint in den neuesten Ergebnissen schneller zu wachsen. Möchten Sie erklären, warum?
@uhoh, mein Konzept eines Ortes wie SE besteht darin, Wissen zu teilen. Es wäre traurig, dass Stack Exchange als Ort zum Debuggen des Codes von jemandem verwendet wird. Techniken zum Prüfen/Debuggen, Vermeiden bekannter Fallstricke bei bestimmten Programmierungen/Argumentationen, ... andererseits sind Kenntnisse.
@NgPh Wenn wir Fragen posten, dann oft (aber nicht immer), weil wir die Antwort einfach nicht kennen. Vielleicht stellen sich 1% der Fragen zur Umlaufbahnsimulation hier als etwas Einfaches heraus (ich erinnere mich an eine gepatchte konische Frage, bei der das OP einfach vergessen hat, die Schwerkraft des Mars am Patchpunkt einzuschalten). Wir wissen nicht im Voraus , ob eine Frage von dieser 1%-Variante sein wird oder nicht. Der OP hat genau das Richtige getan. Sie fanden heraus, was das Problem war, es war kein Problem der Orbitalmechanik, also schrieben sie eine kurze Antwort, um alles zu informieren, was vor sich ging. Problem geschlossen.
@NgPh "...Es wäre traurig, dass Stack Exchange als Ort zum Debuggen des Codes von jemandem verwendet wird ..." Ja, wenn 30% aller Fragen das Debuggen von Code betreffen, müsste das beantwortet werden. Aber es gibt nichts Trauriges an einem einmaligen Phänomen. Es gibt keinen Grund für Sie, sie immer wieder zu bitten, Ihnen etwas mehr zu geben. Wenn Sie wirklich neugierig auf SGP4 vs. 2-Körper vs. 2-Körper+J2 sind, dann posten Sie eine neue SE-Frage zur Orbitalmechanik , fügen Sie hier einen Link für Hintergrundinformationen ein und lassen Sie jeden antworten. Das ist besser, als sich um einen brandneuen Benutzer zu kümmern und ihm möglicherweise das Gefühl zu geben, nicht willkommen zu sein
@ChiaJiunWei diese Kommentarkette ist etwas ungewöhnlich und überhaupt nicht der typische Empfang hier in Space SE; Ich denke das kannst du getrost ignorieren. Willkommen im Weltraum! :-)
@uhoh, ich bin nicht befugt zu qualifizieren, welche Kommentare "ungewöhnlich" sind. Aber falls Sie angedeutet haben, dass ich das, was das OP getan hat, herabgesetzt habe, dann liegen Sie falsch. Wenn Sie davon ausgehen, dass ich die Richtigkeit der neuen Ergebnisse des OP bestreite, liegen Sie falsch. Da Sie glauben, ich bitte um Erklärungen, liegen Sie vollkommen falsch. Ich mag keine Polemik, also höre ich hier auf, indem ich zu dem Schluss komme, dass Sie und ich nicht die gleiche Meinung darüber teilen, wie SE funktioniert, und das ist in Ordnung für mich.