2

私は PyEphem を使用して、星座設計プロジェクトのある地点での衛星の通過を予測しています。

私はそれが軌道エポックであると私の質問に答えますが、私は確信したいと思います. 最初に疑問を投げかけた例を次に示します。

機能するもの

PyEphem (アクセスごとに 1 つの日付のみ) で取得した結果を、STK と比較して以下に示します (取得方法については、以下を参照してください)。

2014/4/27 03:37:59
2014/4/28 03:15:59
2014/4/29 02:53:59
2014/4/30 02:31:59
2014/5/1 02:09:59
2014/5/2 01:47:59
2014/5/5 00:42:09
2014/5/6 00:20:09
2014/5/6 23:58:09
2014/5/7 23:36:19
2014/5/8 23:14:19
2014/5/9 22:52:19
2014/5/10 22:30:19

27 Apr 2014 03:43:08.427
28 Apr 2014 03:20:44.792
29 Apr 2014 02:58:21.163
30 Apr 2014 02:35:57.546
1 May 2014 02:13:33.952
2 May 2014 01:51:10.384
3 May 2014 01:28:46.848
4 May 2014 01:06:23.358
5 May 2014 00:43:59.92
6 May 2014 00:21:36.571
6 May 2014 23:59:13.310
7 May 2014 23:36:50.173
8 May 2014 23:14:27.216
9 May 2014 22:52:04.550
10 May 2014 22:29:42.571

PyEphem のセットアップ

import numpy as np
import ephem, math


sat = ephem.EarthSatellite()
sat._e = 1.4538821258014423e-09
sat._M = 136.92
sat._ap = 0.0
sat._raan = 199.662
sma = 6878.13631
sat._n = 86400  * np.sqrt(398600.4418/sma**3) / (2*np.pi)
sat._epoch = '2014/02/14 13:00:00'
sat._inc = 46.8
satellite = sat
target = ephem.Observer()
target.lon, target.lat = '6.9', '46.8'
tr = ephem.Date('2014/04/26 16:00:00')
tend = ephem.Date('2014/05/13 16:00:00')
satellite.compute(target)
ephemeris = []

while tr < tend:
    target.date = tr
    satellite.compute(target)
    alt = satellite.alt
    h = satellite.range / 1000
    tr = ephem.Date(tr +  10.0*ephem.second)
    if alt <=0: 
        tr = ephem.Date(tr + 60.0 * 10 * ephem.second)
        continue
    Ona = np.arctan(6378 * np.cos(alt)/(h + 6378 * np.sin(alt))) # Target ONA

    alt = np.degrees(alt)
    if np.fabs(math.degrees(Ona)) > 5 :continue
        ephemeris.append(tr)
print ephemeris

STK のセットアップは次のとおりです (実験の日付は同じです): STK 衛星のセットアップ

STK と PyEphem エポックの間になぜこの 1 時間の違いがあるのか​​ 理解できなくても、UTCG の何かを疑っています。

しないもの

ここで、傾きを 49 に上げると、次の結果が得られます (最初に PyEphem、次に Stk)。

2014/5/12 00:01:19
2014/5/12 23:39:29

5 May 2014 02:45:25.831
6 May 2014 02:23:14.987
7 May 2014 02:01:06.514
8 May 2014 01:38:58.566
9 May 2014 01:16:50.962
10 May 2014 00:54:43.643
11 May 2014 00:32:36.592
12 May 2014 00:10:29.850
12 May 2014 23:48:23.509

エポックを に設定すると2014/02/14 11:35:00、期待どおりの結果が得られます。

2014/5/5 02:43:59
2014/5/6 02:22:09
2014/5/7 02:00:19
2014/5/8 01:38:29
2014/5/9 01:16:39
2014/5/9 01:16:49
2014/5/10 00:54:49
2014/5/10 00:54:59
2014/5/11 00:33:09
2014/5/12 00:11:19
2014/5/12 23:49:29

最初の例は満足のいく結果を示しているので、私のモデルが違いを引き起こしたとは言えませんが、違いはありました。だから私の質問は、このエポック時間で何が間違っているのですか?

4

1 に答える 1

1

STK と私のモデルの両方でエポック時間を実験の開始に設定することで、ここ2014/04/26 16:00:00では、結果にシフトがなくなりました。

衛星位置の誤差が平均異常のエポックと分析時間の差に比例して大きくなることは理解していますが、この誤差が結果のシフトにつながり、完全に異なる結果にならない理由はわかりません。 .

ここでの仰角とオフ ナディア角度の間の変換はh + R、衛星と地球の中心の間の距離 ( range + Earth_radius) の値が地球上の高度によって補正されている場合、非常に良好であることに注意してください。つまり、 ですh + R + target_altitude

希望する結果が得られたので、質問を解決済みとしてマークしますが、シフト効果に関する説明を歓迎します!

この機会に、PyEphem に関する素晴らしい仕事をしてくれた Brandon Rhodes に感謝します。

于 2014-05-01T12:47:24.513 に答える