위성의 겉보기 크기 계산


9

지상 위치에서 겉보기 위성의 크기를 계산하는 프로그램을 작성 중입니다. 나는 현재 위성의 고유 크기와 태양 위상 각을도 단위로 가지고 있습니다. 작동하는 수식을 찾지 못하는 것 같습니다.

나는 시도했다

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

(B는 위상 각입니다)

...하지만 작동하지 않습니다 (+30과 같은 숫자를 반환합니다). heavens-above.com 위성 패스와 비교하기 때문에 그것이 잘못되었다는 것을 알고 있습니다.

intrinsicMagnitude = 1000km 떨어진 곳에서의 시각적 크기 (사용 -1.3)

distanceToSatellite = 위성의 관측 거리 (km) (사용 483)

B = 이것이 내가 알아 내려고하는 것입니다.

논문에서 이것은 이것이 무엇인지 말하지만 이해하지 못하는 다른 것들을 말합니다. 이것을 얻기 위해 사용하는 위상 각은 113이어야합니다.

이 방정식의 목표 출력은 약 -3이어야합니다.




1
"고유 크기"란 무엇입니까? 정의 된 기호를 사용하여 수학 공식으로 답변을 작성하십시오.
Rob Jeffries

1000km 떨어진 위성의 안전성. 예를 들어, -1.3
Nick Brown

1
@uhoh 고유 크기는 1000km 떨어진 전체 위상에서 물체의 겉보기 크기입니다.
Nick Brown

답변:


3

이것은 크기와 방향은 알 수 없지만 표준 크기는 알려진 위성의 경우입니다 (표준 크기는 위의 위성 정보 페이지에서 찾을 수 있으며 숫자는 고유 크기라고 함). 올바른 공식은 다음과 같습니다.

            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;

이것은 위성의 명백한 규모를 줄 것입니다. 참고 : 나는 C #으로 수식을주었습니다.


축하합니다!
uhoh

2

그의 솔루션 을 위해 @NickBrown을 축하합니다 ! 이 방정식과 일부 추가 참조를 기반으로 조금 더 추가하겠습니다.

시각적 크기 계산에는 세 가지 입력 매개 변수가 필요합니다

  1. 물체의 반사기가 얼마나 좋은가
  2. 조명과 시야 사이의 각도
  3. 일루미네이터와 뷰어로부터의 거리는 물체와

천체의 경우 항목 # 1에 절대 크기를 사용하며 위성보기에는 절대 크기와 고유 크기 가 모두 사용됩니다. 절대 크기는 태양에서 1 AU, 당신으로부터 1 AU에서 물체의 시각적 크기입니다.

본질적인 크기는 비슷하지만 이제는 어깨 너머로 태양이있는 물체에서 불과 1,000km 떨어져 있습니다.

어느 쪽이든, 모든 알베도, 크기 및 모양 정보는 거리 또는 각도 만 남기고 절대적 또는 본질적인 크기로 집중됩니다.

조명 방향과 관찰 방향 사이의 각도를 위상 각 이라고합니다 . 예를 들어 달의 위상을 생각하십시오 . 달의 위상 각이 90 도라면 반달이됩니다. 0은 보름달이 될 것이고 180 도는 새로운 달이 될 것입니다.

위상 각의 함수로서 밝기의 변조는 1963 년 버지니아 주 알렉산드리아의 방위 기술 센터, 공군 기술 연구소, AD # 419069, 인공 지구 위성으로부터 수신 된 측광 데이터 조사 , EM III, Vallerie에 의해 제안되었다 . 난에서 발견되는 큰 위상 각도에서 관찰하고 GEO 위성의 모델링 에도 리타 L. Cognion에 의해 리서치 게이트

의존성은 용어에 의해 주어진다

1π((ϕ)+(πϕ)코사인(ϕ))

그리고 마치

여기에 이미지 설명을 입력하십시오

문제의 위성이 483km 거리에 있고 고유 크기가 -1.3 인 경우, 겉보기 크기는 약 -2.0으로 보이고 위상 각에 대한 의존성은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오


모든 우주선이 하얀 표면을 가진 구형이거나 구형이 아닙니다.

여기에 이미지 설명을 입력하십시오

더 많은 familliar 모양의 위상 각 의존성에 대해서는 동기 궤도에서 일반적인 위성의 가시적 크기의 그림 2를 참조하십시오. William E. Krag, MIT, 1974 AD-785 380.

여기에 이미지 설명을 입력하십시오

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()

1
거룩한 암소는 대답에 감사드립니다. 내가 제공 한 것 대신 이것을 구현하려고합니다. 그것이 얼마나 좋은지 알려 드리겠습니다.
Nick Brown

@ NickBrown 방금 방정식을 사용 했으므로 결과와 다르지 않아야합니다. 이 답변은 배경 정보와 설명을 더 추가하기위한 것입니다.
uhoh

아 알았어 나는 당신의 기능을 완전히 읽지 못했습니다. 감사!
Nick Brown

1
흠. 광산은 실제로 정확하지 않습니다. 당신은 완벽하게 작동합니다. ac # 버전을 보여주기 위해 내 답변을 편집하려고합니다. 감사!
Nick Brown

1
이 아니 정말 중요합니다. 어떤 사람들은 -1.3을, 어떤 사람들은 -1.8을 사용합니다
Nick Brown
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.