Wie bedeutend ist die Wahl/der Fehler des Orbitpropagators, wenn man eine einjährige Satellitenabdeckungssimulation in Betracht zieht, und welche ist die geeignetste?

Ich denke derzeit über ein Projekt nach, um die (Erdbeobachtungs-) Abdeckung von 1 oder mehreren Satelliten im Laufe eines Jahres zu simulieren. Der Punkt wäre zu vergleichen, wie unterschiedliche Umlaufbahnen zu unterschiedlichen Bedeckungsgraden führen, sowohl der Erdoberfläche als auch der dort platzierten Objekte.

Der Code dafür würde mit Golang geschrieben werden, um die Effizienz/Geschwindigkeit der Berechnung gegenüber anderen Sprachen wie Python zu erhöhen. Da es nicht viele Orbitalpropagatoren für Golang gibt, würde dies bedeuten, meinen eigenen Orbitpropagationsalgorithmus (sowohl kinetisch als auch kinematisch) zu schreiben oder einen der wenigen verfügbaren zu verwenden, wie z. B. das SGP4-basierte Paket go-satellite. Es wäre auch eine Mehrfachverarbeitung beteiligt.

Daher versuche ich zu überlegen, welche Umlaufbahnausbreitungsmethode für diese Art von Simulation nützlich wäre. Angesichts der Tatsache, dass die Simulation ein ganzes Jahr simulieren würde, würden sich wahrscheinlich Fehler für jede von mir gewählte Ausbreitungsmethode ansammeln. Die Genauigkeit sollte jedoch für kurzfristige Analysen hoch und für langfristige Analysen angemessen sein. Mich interessiert auch, welche Art von CPU-Ressourcenanforderungen für die verschiedenen Propagator-Modelle/Methoden/Algorithmen erforderlich sind - ich würde idealerweise keinen Supercomputing-Cluster benötigen.

Daher lautet meine Frage, wie der Titel schon sagt: Wie wichtig ist die Wahl, die ich im Umlaufbahnausbreitungsmodell für diese Art von Simulation treffe, was wäre wirklich die Bedeutung / Größe des Fehlers und welche Ausbreitungsmethode eignet sich am besten für diese Art von Ding?

Antworten (2)

Ich bin kein Experte und dies ist keine Expertenantwort, aber diese Punkte können hilfreich sein.

Denken Sie nicht einmal daran, SGP4 zu verwenden, laut meinen Kommentaren unter dieser Frage und Wikipedia ist es eine clevere Annäherung aus den 1980er Jahren, um innerhalb weniger Wochen nach einer bestimmten TLE-Epoche ungefähre Zustandsvektoren zu erhalten. Es ist ein Approximator, der auf der Evolution von Orbitalelementen basiert, kein echter Propagator.

Orbitale Integration für ein Jahr ist numerisch ziemlich einfach. Es ist überhaupt kein schwieriges Problem, die meisten Dinge ändern sich langsam, es sei denn, Sie verwenden ein Gravitationsmodell wirklich hoher Ordnung. Sie könnten sogar einen einfachen RK45 mit variabler Schrittweite , einige RKs höherer Ordnung und einige vorgefertigte numerische Integratoren, die in Golang verfügbar sind, implementieren und sie vergleichen, und ich denke, Sie werden feststellen, dass ein paar Minuten auf einem Laptop alles sind, was Sie brauchen, um ein Jahr lang zu laufen der Umlaufbahnausbreitung, es sei denn, Sie haben ein kompliziertes physikalisches Modell für all die kleinen Beschleunigungen neben dem zentralen Feld der Erde.

Wenn man bedenkt, dass Laptops Gigaflops sind und Golang in der Geschwindigkeit C-ähnlich ist; B. 10.000 Flops pro Schritt bei einer Schrittweite von 10 Sekunden, würde ein Jahr Ausbreitung bei 1 Gigaflop nur 30 Sekunden benötigen. Ein Gigaflop pro Laptop kann jedoch optimistisch sein, da es sich um parallelisierte Berechnungen (z. B. Arrays) handelt, und um dies zu nutzen, möchten Sie möglicherweise mehrere Fälle parallel ausführen, wenn Sie wirklich wenig Zeit haben.

Aber achten Sie darauf, Ihre numerische Integrationstechnik mit einem symplektischen Integrator zu vergleichen . Weitere Informationen dazu finden Sie in all den wunderbaren Antworten auf Was bedeutet „symplektisch“ in Bezug auf numerische Integratoren, und werden sie von SciPys Odeint verwendet?

Wenn Sie allgemeine relativistische Effekte einbeziehen möchten, die klein sind, aber überprüft werden sollten, lesen Sie die Antworten auf Wie berechnet man die Planeten und Monde jenseits der Gravitationskraft von Newton?

Das eigentliche Problem, das Sie haben, liegt im Modell für all diese kleineren Beschleunigungen.

Für eine längere Diskussion darüber sowie eine großartige Diskussion über die Vielfalt numerischer Integratoren und wie Sie sie implementieren können, empfehle ich jedem enthusiastisch, sich Satellite Orbits anzusehen ; Models, Methods, Applications von Oliver Montenbruck und Eberhard Gill, Springer, 2000, das auch in Google Books zu finden ist und hier und hier diskutiert wird . Siehe auch Antworten auf Ist bei der Berechnung der zukünftigen Umlaufbahn eines künstlichen Erdsatelliten die Schwerkraft des Mondes signifikant oder unbedeutend?

  1. Schwerkraftmodell; wie klumpig von einem Gravitationsfeld werden Sie verwenden? Nur J2 oder mehrere Terme niedriger Ordnung oder ein größerer Satz von sphärischen Harmonischen für das Geopotential?
  2. Modell ziehen; Luftwiderstand ist wirklich schwer genau zu modellieren. Sie können einige einfache Luftwiderstandsbeiwerte von TLEs ähnlich geformter Objekte erhalten, aber denken Sie daran, dass die Aktivität der Sonne die Atmosphäre erwärmt und die Dichte in LEO-Höhen erhöht, und daher ist der Luftwiderstand grundsätzlich unvorhersehbar . Unabhängig davon, wie gut Ihr Modell ist, müssen Sie mehrere Fälle mit unterschiedlichen Mustern der Sonnenaktivität durchführen, um zu sehen, wie stark sie die Höhe der Umlaufbahn und damit die Phase und damit die Bodenspur ändern.
  3. Sonne und Mond: Ihre Gravitationseffekte werden gering sein, und Sie können wahrscheinlich einfache Modelle für diese hinzufügen, indem Sie ihre Bewegung in Ihre Simulation aufnehmen.
  4. Photonendruck des Sonnenlichts: Dieser wird klein, aber nicht nicht vorhanden sein.

Ich denke, andere können Antworten oder Kommentare posten, die vorhandene Software empfehlen, die Sie ausführen können, um ein Gefühl für das Problem zu bekommen und auch Ihre Berechnungen damit zu überprüfen.

Die Vermehrung für ein ganzes Jahr ist extrem schwierig, richtig hinzubekommen. Es gibt Möglichkeiten, dies zu tun, aber Sie sollten nicht versuchen, sie selbst neu abzuleiten oder neu zu implementieren. Bevor ich sie jedoch beschreibe, habe ich einen anderen Vorschlag: Überhaupt nicht propagieren .

Wenn Sie eine Konstellation von Satelliten entwerfen, die eine Mission zu erfüllen haben, werden die Betreiber dieser Satelliten Positionsmanöver durchführen und Treibstoff ausgeben, um ihre zugewiesenen Umlaufbahnen aufrechtzuerhalten. Der Versuch, diese Manöver zusätzlich zu den störenden Kräften zu modellieren, wäre sogar noch schwieriger, aber Sie müssen das nicht, weil der ganze Sinn der Manöver darin besteht, die Wirkung der Kräfte aufzuheben .

Zum Beispiel driften Satelliten in geostationären Umlaufbahnen aufgrund der Klumpigkeit der Erde allmählich nach Osten oder Westen in Unterpunktlänge, aber niemand lässt das ein ganzes Jahr lang aufsummieren, es sei denn, der Satellit ist tot. Um in ihren zugewiesenen Boxen zu bleiben, führen alle aktiven, sogenannten stationären Satelliten regelmäßig (ungefähr wöchentlich) kurze Verbrennungen aus (jeweils nur wenige Sekunden reichen aus), um diese Drift zu korrigieren und sich von der "bergab" Kante zu bewegen ihrer Kiste zurück zur "bergauf"-Kante und dann wieder nach unten gleiten, bis es Zeit für den nächsten Brand ist, der die potenzielle Steigung hinaufführt.

Wenn Sie versuchen zu berechnen, wie dies für ein Jahr aussieht, erhalten Sie Ihre genaueste Antwort, indem Sie herausfinden, wie viele Tage Drift Sie zwischen den Verbrennungen haben, und diese wenigen Tage der Bewegung einfach genug oft wiederholen, um a auszufüllen Jahr. Ähnliche Tricks sind für Satelliten mit niedriger Umlaufbahn nützlich: Finden Sie heraus, wie viele Tage es dauert, um eine Bodenspur nahezu zu wiederholen , und simulieren Sie nur so viele Tage. Dies ist möglicherweise keine ganze Zahl und lässt sich wahrscheinlich nicht durch 365 teilen, sodass Sie tatsächlich eine bessere Antwort für die Abdeckung erhalten, wenn Sie nur eine Wiederholungsperiode als genau ein Jahr simulieren.

Um dies mit hoher Präzision zu tun, ist eine gewisse Ausbreitung erforderlich, jedoch nicht für ein Jahr, was Sie hart daran arbeiten sollten, dies zu vermeiden. Unter vielen Umständen ist jedoch nicht einmal so viel notwendig. Für das grundlegende Konstellationsdesign ist das Herausfinden der Neigungen und Höhen der Umlaufbahnebenen und der Anzahl der Satelliten, die in jede eingesetzt werden müssen, die Hauptsache, und dies kann ziemlich gut nur von nominellen Umlaufbahnen aus erfolgen, wie in einem kreisförmigen Walker- Layout .

Wenn Sie jedoch beim Simulieren von Objekten feststecken, die nicht aktiv kontrolliert werden (ob Sie Trümmer verfolgen oder einen Kunden haben, der aus irgendeinem Grund bereit ist, für Ost-West-Verbrennungen zu zahlen, aber nicht für Nord-Süd-Verbrennungen, um die Neigung zu kontrollieren) , dann musst du tun, worum du eigentlich gebeten hast. In diesem Fall besteht die Kernidee darin, Position und Geschwindigkeit zu vermeiden. Sie ändern sich viel zu schnell, sodass Ihr Integrator eine sehr kleine Schrittgröße benötigt. Dadurch wird es gezwungen, so viele Schritte zu unternehmen, dass es sowohl viel zu lange dauert als auch eine sehr falsche Antwort liefert. Sie müssen das Leben Ihres Integrators erleichtern, indem Sie ihm ermöglichen, viel weniger und damit viel größere Schritte zu unternehmen. Um die Genauigkeit beizubehalten, müssen Sie zu anderen Koordinaten wechseln, die sich viel langsamer ändern.

Das ist ziemlich genau das, was Keplers Orbitalelemente bereits sind. Der Grund, warum wir uns immer auf Kepler beziehen, ist, dass selbst bei jeder erdenklichen Störung eingeschaltet die meisten Bahnen nicht viel von einer Ellipse abweichen, zumindest für eine Weile. Ich entschuldige mich dafür, dass dies zu einer Nur-Link-Antwort wird, aber ich schreibe kein ganzes Lehrbuch in Orbitalmechanik. Selbst wenn ich es wäre, würde ich immer noch nicht versuchen, alles in einen Beitrag zu packen. :) Irgendwann müssen Sie nur noch in die Bibliothek gehen und die früheren Ausgaben lesen. Der Weg, um fortzufahren, besteht darin, sich die Planetengleichungen von Lagrange anzusehen, die zeigen, wie sich Neigung, Exzentrizität usw. im Laufe der Zeit ändern, wie hier und hier und hier beschrieben .

Sobald Sie so weit gekommen sind, überlegen Sie sich, ob es vielleicht einen anderen Satz von Koordinaten gibt, in dem die Abweichung von der langfristigen periodischen Bewegung noch einfacher zu analysieren ist. Die Antwort ist ja, und es gibt tatsächlich eine ganze Reihe verschiedener Arten, aber es wird immer schwieriger, sie zu beschreiben, geschweige denn zu verstehen, abzuleiten oder gut zu implementieren. Werfen Sie nun einen Blick auf Delaunay-Variablen und Brouwers und Kozais gemeine Elemente und versuchen Sie, dem Weg zu folgen, der von dort zum SGP4 führte, das wir alle so gerne hassen, durch das Goddard Trajectory Determination System ( hier , hier und hier ) zum Draper Semi-Analytic Satellite Theory ( hier und hier ), einschließlichEntwicklungen , die erst vor zwei Wochen veröffentlicht wurden.

Beachten Sie schließlich, dass SST, das sich seit Jahrzehnten in der Entwicklung befindet und in Dutzenden von Zeitschriftenartikeln und Doktorarbeiten veröffentlicht wurde, jetzt Teil des Open-Source-Orbit-Toolsets namens OreKit ist . Laden Sie das herunter und versuchen Sie, eine Java-Bibliothek zu verpacken, um ihren bereits getesteten und von Fachleuten überprüften Code zu nutzen, anstatt zu versuchen, buchstäblich Hunderte von Seiten mit Gleichungen einzugeben und irgendwie genug Zeit oder Assistenten zu finden, um sie überhaupt angemessen zu testen.

Genagelt - tolle Antwort