Berechnung der scheinbaren Größe eines Satelliten

9

Ich schreibe ein Programm, bei dem die scheinbare Größe von Satelliten von einem Boden aus berechnet wird. Ich habe derzeit die intrinsische Größe der Satelliten und den Sonnenphasenwinkel in Grad. Ich kann anscheinend keine Formel finden, die funktioniert.

Ich habe es versucht

magnitude = intrinsicMagnitude - 15 + 5 * Math.Log(distanceToSatellite) - 2.5 * Math.Log(Math.Sin(B) + (Math.PI - B) * Math.Cos(B));

(B ist der Phasenwinkel)

... aber es funktioniert nicht (es gibt Zahlen wie +30 zurück). Ich weiß, dass es falsch ist, weil ich es mit den Satellitenpässen von sky-above.com vergleiche.

intrinsicMagnitude = Visuelle Größe in 1000 km Entfernung (Verwenden Sie -1,3)

distanceToSatellite = Beobachterentfernung zum Satelliten in km (Verwendung 483)

B = Das versuche ich herauszufinden.

In der Zeitung steht, was das ist, aber es sagt einige andere Dinge, die ich nicht verstehe. Der Phasenwinkel, den Sie verwenden, um dies zu erhalten, sollte 113 betragen.

Die Zielausgabe dieser Gleichung sollte bei -3 liegen.

Nick Brown
quelle
Hier ist, wo die Gleichung von satobs.org/seesat/Apr-2001/0313.html
Nick Brown
1
Was ist "intrinsische Größe"? Bitte schreiben Sie Ihre Antwort in mathematischen Formeln mit definierten Symbolen aus.
Rob Jeffries
Es ist die Kürze des Satelliten aus 1000 km Entfernung. Verwenden Sie zum Beispiel -1,3
Nick Brown
1
@uhoh Intrinsische Größe ist die scheinbare Größe des Objekts in voller Phase aus 1000 km Entfernung
Nick Brown

Antworten:

3

Dies gilt für Satelliten mit unbekannter Größe und Ausrichtung, aber bekannter Standardgröße (Die Standardgröße finden Sie auf der Satelliteninfoseite des Himmels oben. Die Zahl wird als intrinsische Größe bezeichnet.) Die richtige Formel lautet

            double distanceToSatellite = 485; //This is in KM
            double phaseAngleDegrees = 113.1; //Angle from sun->satellite->observer
            double pa = phaseAngleDegrees * 0.0174533; //Convert the phase angle to radians
            double intrinsicMagnitude = -1.8; //-1.8 is std. mag for iss


            double term_1 = intrinsicMagnitude;
            double term_2 = 5.0 * Math.Log10(distanceToSatellite / 1000.0);

            double arg = Math.Sin(pa) + (Math.PI - pa) * Math.Cos(pa);
            double term_3 = -2.5 * Math.Log10(arg);

            double apparentMagnitude = term_1 + term_2 + term_3;

Dies ergibt die scheinbare Größe des Satelliten. Hinweis: Ich habe die Formel in C # angegeben

Nick Brown
quelle
Herzliche Glückwünsche!
Uhoh
2

Herzlichen Glückwunsch an @NickBrown zu seiner Lösung ! Basierend auf dieser Gleichung und einigen zusätzlichen Referenzen werde ich nur ein wenig mehr hinzufügen.

Die Berechnung der visuellen Größe erfordert drei Eingabeparameter

  1. wie gut ein Reflektor das Objekt ist
  2. der Winkel zwischen Beleuchtung und Betrachtung
  3. Die Abstände von Illuminator und Betrachter sind vom Objekt

Für astronomische Objekte verwenden wir die absolute Größe für Punkt 1, für die Satellitenbetrachtung werden sowohl die absolute Größe als auch die intrinsische Größe verwendet. Die absolute Größe ist die visuelle Größe des Objekts bei 1 AE von der Sonne und 1 AE von Ihnen, voll betrachtet (Phasenwinkel = 0), was bedeutet, dass Sie direkt neben der Sonne sitzen.

Die intrinsische Größe ist ähnlich, aber Sie sind jetzt nur noch 1.000 km vom Objekt entfernt, wobei die Sonne über Ihrer Schulter liegt.

In beiden Fällen werden alle Albedo-, Größen- und Forminformationen in die absolute oder intrinsische Größe zusammengefasst, wobei nur Abstände und Winkel übrig bleiben.

Der Winkel zwischen Beleuchtungsrichtung und Betrachtungsrichtung wird als Phasenwinkel bezeichnet . Denken Sie zum Beispiel an Mondphasen . Wenn der Phasenwinkel des Mondes 90 Grad wäre, wäre es ein Halbmond. Null wäre Vollmond und 180 Grad wäre Neumond.

Die Modulation der Helligkeit als Funktion des Phasenwinkels wurde von Vallerie, EM III, Untersuchung von photometrischen Daten, die von einem künstlichen Erdsatelliten empfangen wurden, AD # 419069, Institut für Technologie der Luftwaffe, Defense Documentation Center, Alexandria, Virginia, 1963, vorgeschlagen. was ich in Beobachtungen und Modellierung von GEO-Satelliten in großen Phasenwinkeln von Rita L. Cognion, ebenfalls in Researchgate, gefunden habe

Die Abhängigkeit ist durch den Begriff gegeben

1π(sin(ϕ)+(πϕ)cos(ϕ))

und sieht aus wie

Geben Sie hier die Bildbeschreibung ein

Für den fraglichen Satelliten in einer Entfernung von 483 Kilometern und einer intrinsischen Größe von -1,3 scheint die scheinbare Größe etwa -2,0 zu betragen, und seine Abhängigkeit vom Phasenwinkel ist wie folgt:

Geben Sie hier die Bildbeschreibung ein


Nicht alle Raumfahrzeuge sind kugelförmig mit diffusen weißen Oberflächen oder kugelförmig.

Geben Sie hier die Bildbeschreibung ein

Zur Phasenwinkelabhängigkeit einiger berühmterer Formen siehe Abbildung 2 in Sichtbare Größe typischer Satelliten in synchronen Bahnen William E. Krag, MIT, 1974 AD-785 380, die das Problem gut beschreibt.

Geben Sie hier die Bildbeschreibung ein

def Mapparent_from_Mintrinsic(Mint, d_km, pa):
    term_1 = Mint
    term_2 = +5.0 * np.log10(d_km/1000.)
    arg    = np.sin(pa) + (pi - pa) * np.cos(pa)
    term_3 = -2.5 * np.log10(arg)
    return term_1 + term_2 + term_3

import numpy as np
import matplotlib.pyplot as plt

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]
degs, rads = 180/pi, pi/180

Mintrinsic   = -1.3
d_kilometers = 483.

phase_angles = np.linspace(0, pi, 181)

Mapp = Mapparent_from_Mintrinsic(Mintrinsic, d_kilometers, phase_angles)

# https://astronomy.stackexchange.com/q/28744/7982
# https://www.researchgate.net/publication/268194552_Large_phase_angle_observations_of_GEO_satellites
# https://amostech.com/TechnicalPapers/2013/POSTER/COGNION.pdf
# https://apps.dtic.mil/dtic/tr/fulltext/u2/785380.pdf

if True:
    plt.figure()

    F = (1./pi)*(np.sin(phase_angles) + (pi-phase_angles)*np.cos(phase_angles))

    plt.suptitle('F = (1/pi)(sin(phi) + (pi-phi)cos(phi))', fontsize=16)

    plt.subplot(2, 1, 1)
    plt.plot(degs*phase_angles, F)
    plt.ylabel('F', fontsize=16)

    plt.subplot(2, 1, 2)
    plt.plot(degs*phase_angles, -2.5*np.log10(F))
    plt.xlabel('phase angle (degs)', fontsize=16)
    plt.ylabel('-2.5log10(F)', fontsize=16)
    plt.ylim(-1, 11)

    plt.show()

if True:
    plt.figure()
    plt.plot(degs*phase_angles, Mapp)
    plt.plot(degs*phase_angles[113], Mapp[113], 'ok')
    plt.text(90, -5, '{:0.2f} at {:0.1f} deg'.format(Mapp[113], 113), fontsize=16)
    plt.xlabel('phase angle (degs)', fontsize=16)
    plt.ylabel('mag', fontsize=16)
    plt.title('apparent mag of intrinsic mag=-1.3 at 483 km', fontsize=16)
    plt.ylim(-10, 15)
    plt.show()
uhoh
quelle
1
Heilige Kuh, danke für die Antwort. Ich werde versuchen, dies anstelle des von mir bereitgestellten zu implementieren. Ich werde dich wissen lassen, wie gut es ist.
Nick Brown
@NickBrown Ich habe gerade deine Gleichung verwendet , sie sollte nicht anders sein als dein Ergebnis. Diese Antwort dient nur dazu, zusätzliche Hintergrundinformationen und Erklärungen hinzuzufügen.
Oh,
Ah okay. Ich habe Ihre Funktionen nicht vollständig gelesen. Vielen Dank!
Nick Brown
1
Hmm. Meins ist eigentlich ungenau. Ihre funktioniert perfekt. Ich werde meine Antwort bearbeiten, um Ihre AC # -Version anzuzeigen. Vielen Dank!
Nick Brown
1
es ist nicht wirklich wichtig. Einige Leute benutzen -1,3, andere benutzen -1,8
Nick Brown