[ad_1]
TLE データを使用して LEO 衛星を追跡するときのアンテナのアンテナ ポインティング エラーをシミュレートしようとしています。 Python で Skyfield ライブラリを使用しています。 まず、Celestrak の Web サイトから TLE データを読み込み、次に TLE から衛星を選択しました。 次に、アンテナの位置に対して衛星が通過することを発見しました。 最後に、アンテナから衛星までの方位角と仰角を計算しました。 方法がわからない次のステップは、自分のアンテナが続く衛星パスをシミュレートすることです。 私のアンテナは方位角と仰角方向で 1.75°/秒の回転速度しかないため、一部のパスではこれよりも速い角速度 (たとえば 5°/秒) が必要です。 したがって、アンテナは取り残されます。 1.75°/秒の速度を使用して、アンテナが何度遅れるかをシミュレートして確認したいと考えています。 誰かが私に提案を与えることができれば、それは大歓迎です ありがとう.
これは私が使用したコードで、主に Skyfield のドキュメントからのものです。
私が試したこと:
Python
from astropy import units as u from skyfield.api import Topos, load from skyfield.api import EarthSatellite # Load earth and time planets = load('de421.bsp') earth = planets['earth'] ts = load.timescale() t0 = ts.now() # loading TLE files from celestrak stations_url = 'https://www.celestrak.com/NORAD/elements/active.txt' satellites = load.tle_file(stations_url, reload=False) print('Loaded', len(satellites), 'satellites') # Selecting Astrocast 0.2 from the TLE Dataset by_name = {sat.name: sat for sat in satellites} satellite = by_name['ASTROCAST 0.2'] print(satellite) # Finding rising and setting times antenna_position = Topos(47.01452, 8.30613, elevation_m=500) t1 = ts.utc(2020, 12, 17) t, events = satellite.find_events(antenna_position, t0, t1, altitude_degrees=0.0) for ti, event in zip(t, events): name = ('rise above horizon', 'culminate', 'set below horizon')[event] print(ti.utc_strftime('%Y %b %d %H:%M:%S'), name) # Calculating Azimuth and Elevation with regard to antenna position difference = satellite - antenna_position topocentric = difference.at(t0) alt, az, distance = topocentric.altaz() if alt.degrees > 0: print('The', satellite.name, 'is above the horizon') else: #print(the time remaining until the next pass) pass print('elevation =', alt) print('azimuth =', az) print(int(distance.km), 'km') # Creating an antenna at antenna_position with an angle rotating speed of 1.75° in both azimuth and elevation for simulation purposes # Plotting the antenna pointing error: antenna pointing error is the difference of the real azimuth and elevation minus the azimuth and elevation of the antenna
解決策 1
nフレームで太陽(x、y、回転、半径ベクトル)を循環させる地球の「ストーリーボード」(UWP / WPF)があります。
進行状況を監視して報告するためにタイマーを使用します。 (ストーリーボードの経過時間に基づいて) 地球があるべき場所を知っているので、それを自分の計算と比較し、同期を保つためにタイマー間隔、「リードタイム」などを調整する方法を確認します。
[ad_2]
コメント