Menghitung besarnya satelit yang tampak

9

Saya sedang menulis sebuah program yang melibatkan menghitung besarnya satelit yang terlihat dari lokasi darat. Saat ini saya memiliki besaran intrinsik satelit dan sudut fase matahari dalam derajat. Sepertinya saya tidak dapat menemukan formula yang berfungsi.

Saya mencoba

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

(B adalah sudut fase)

... tetapi tidak berfungsi (angka yang dikembalikan seperti +30). Saya tahu itu salah karena saya membandingkannya dengan tiket satelit heavens-above.com.

intrinsicMagnitude = Magnitudo visual pada jarak 1000 km (Gunakan -1.3)

distanceToSatellite = Jarak pengamat ke satelit dalam km (Gunakan 483)

B = Ini yang saya coba cari tahu.

Di koran itu tertulis apa ini tapi katanya ada beberapa hal lain yang tidak saya mengerti. Sudut fase yang Anda gunakan untuk mendapatkan ini harus 113.

Output target dari persamaan ini harus sekitar -3.

Nick Brown
sumber
Inilah yang saya telah bekerja dengan stackoverflow.com/questions/19739831/…
Nick Brown
Di sinilah persamaannya berasal dari satobs.org/seesat/Apr-2001/0313.html
Nick Brown
1
Apa itu "intrinsik besarnya"? Silakan tulis jawaban Anda dalam hal rumus matematika, dengan simbol yang ditentukan.
Rob Jeffries
Ini kebesaran satelit dari jarak 1000 km. Sebagai contoh, gunakan -1.3
Nick Brown
1
@uhoh Besarnya intrinsik adalah besaran nyata objek pada fase penuh dari jarak 1000 km
Nick Brown

Jawaban:

3

Ini untuk satelit dengan ukuran dan orientasi yang tidak diketahui tetapi besaran standar yang diketahui (Besaran standar dapat ditemukan pada halaman info satelit dari surga di atas, jumlahnya disebut besaran intrinsik) Formula yang tepat adalah

            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;

Ini akan memberikan besarnya satelit yang tampak. Catatan: Saya memberi rumus dalam C #

Nick Brown
sumber
Selamat!
uhoh
2

Selamat kepada @NickBrown untuk solusinya ! Berdasarkan persamaan itu dan beberapa referensi tambahan saya hanya akan menambahkan sedikit lebih banyak.

Menghitung besaran visual membutuhkan tiga parameter input

  1. seberapa baik reflektor objeknya
  2. sudut antara iluminasi dan tampilan
  3. jarak dari iluminator dan pemirsa berasal dari objek

Untuk objek astronomi kami menggunakan magnitudo absolut untuk item # 1, untuk satelit yang melihat magnitudo absolut dan intrinsik . Magnitudo absolut adalah magnitudo visual objek pada 1 AU dari Matahari dan 1 AU dari Anda, yang terlihat penuh (sudut fase = 0) yang berarti Anda duduk tepat di sebelah Matahari.

Besarnya intrinsik mirip, tetapi Anda sekarang hanya 1.000 km dari objek dengan Matahari di atas bahu Anda.

Either way, semua informasi albedo, ukuran dan bentuk disatukan ke dalam ukuran absolut atau intrinsik, hanya menyisakan jarak dan sudut.

Sudut antara arah iluminasi dan arah tampilan disebut sudut fase . Pikirkan fase Bulan misalnya. Jika sudut fase Bulan adalah 90 derajat, itu akan menjadi setengah bulan. Nol akan menjadi bulan purnama dan 180 derajat akan menjadi bulan baru.

Modulasi kecerahan sebagai fungsi sudut fase diusulkan oleh Vallerie, EM III, Investigasi Data Fotometrik yang Diterima dari Satelit Bumi Buatan , AD # 419069, Institut Teknologi Angkatan Udara, Pusat Dokumentasi Pertahanan, Alexandria, Virginia, 1963, yang saya temukan dalam Pengamatan dan Pemodelan Satelit GEO di Large Phase Angles oleh Rita L. Cognion, juga di Researchgate

Ketergantungan diberikan oleh istilah

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

dan sepertinya

masukkan deskripsi gambar di sini

Untuk satelit dalam pertanyaan pada jarak 483 kilometer dan besarnya intrinsik -1,3, besarnya yang tampak tampaknya sekitar -2,0 dan ketergantungannya pada sudut fase adalah sebagai berikut:

masukkan deskripsi gambar di sini


Tidak semua pesawat ruang angkasa berbentuk bulat dengan permukaan putih yang menyebar atau berbentuk bulat-sapi.

masukkan deskripsi gambar di sini

Untuk ketergantungan sudut fase dari beberapa bentuk yang lebih terkenal, lihat Gambar 2 dalam Magnitudo Terlihat Satelit Khas di Orbits Sinkron William E. Krag, MIT, 1974 AD-785 380, yang menggambarkan masalah dengan baik.

masukkan deskripsi gambar di sini

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()
uh oh
sumber
1
sapi suci terima kasih atas jawabannya. Saya akan mencoba menerapkan ini, bukan yang saya berikan. Saya akan memberi tahu Anda betapa baiknya itu.
Nick Brown
@NickBrown Saya baru saja menggunakan persamaan Anda , seharusnya tidak berbeda dari hasil Anda. Jawaban ini hanya untuk menambah informasi latar belakang dan penjelasan.
uhoh
Ah baiklah. Saya tidak sepenuhnya membaca fungsi Anda. Terima kasih!
Nick Brown
1
Hmm. Punyaku sebenarnya tidak akurat. Milikmu bekerja dengan sempurna. Saya akan mengedit jawaban saya untuk menunjukkan versi Anda. Terima kasih!
Nick Brown
1
itu tidak terlalu penting. Beberapa orang menggunakan -1.3, beberapa orang menggunakan -1.8
Nick Brown