AlmanacKepler EquationECEFحدود ۱۲ دقیقه مطالعه

محاسبه مختصات ماهواره از آلماناکالگوریتم و مثال عددی

آلماناک پارامترهای مداری تقریبی تمام ماهواره‌های یک منظومه را ارائه می‌دهد. در این مقاله الگوریتم محاسبه مختصات ماهواره از آلماناک را گام‌به‌گام بررسی می‌کنیم.

۱آلماناک چیست؟

آلماناک (Almanac) مجموعه‌ای از پارامترهای مداری تقریبی است که توسط تمام ماهواره‌های GPS پخش می‌شود. هر ماهواره، آلماناک تمام ماهواره‌های منظومه را در پیام ناوبری خود ارسال می‌کند.

بر خلاف افمریس پخشی (Broadcast Ephemeris) که فقط پارامترهای دقیق یک ماهواره را برای ۲ تا ۴ ساعت ارائه می‌دهد، آلماناک پارامترهای تقریبی تمام ماهواره‌ها را شامل می‌شود و برای هفته‌ها معتبر است.

ویژگی‌های کلیدی آلماناک:

1.

دقت: تقریبی (~۱ تا ۵ کیلومتر)

2.

اعتبار: چندین هفته

3.

پوشش: تمام ماهواره‌های منظومه

4.

زمان دریافت کامل: حدود ۱۲.۵ دقیقه

کاربرد اصلی آلماناک در برنامه‌ریزی مشاهدات (Mission Planning) و کمک به جستجوی اولیه ماهواره‌ها (Acquisition Aid) است. وقتی گیرنده روشن می‌شود، با استفاده از آلماناک می‌داند کدام ماهواره‌ها در آسمان هستند و سیگنال آن‌ها را سریع‌تر پیدا می‌کند.

۲پارامترهای آلماناک

آلماناک GPS شامل پارامترهای مداری زیر برای هر ماهواره است. این پارامترها نسخه ساده‌شده پارامترهای کپلری هستند:

پارامترنمادواحدتوضیح
خروج از مرکزخروج از مرکز بیضی مداری (Eccentricity)
زمان مرجعثانیهزمان اعتبار آلماناک (Time of Applicability)
زاویه میلرادیانزاویه میل صفحه مداری نسبت به استوا (Inclination)
نرخ بعد صعودیrad/sنرخ تغییر طول گره صعودی (Rate of Right Ascension)
جذر نیم‌محور بزرگجذر نیم‌محور بزرگ بیضی مداری
طول گره صعودیرادیانطول گره صعودی در زمان مرجع هفته
آرگومان حضیضرادیانزاویه حضیض در صفحه مداری (Argument of Perigee)
آنومالی متوسطرادیانآنومالی متوسط در زمان مرجع (Mean Anomaly)
انحراف ساعتثانیهبایاس ساعت ماهواره (Clock Bias)
دریفت ساعتs/sنرخ تغییر ساعت ماهواره (Clock Drift)
وضعیت سلامتوضعیت عملکرد ماهواره (۰ = سالم)

نکته مهم:

آلماناک GPS بر خلاف افمریس پخشی، تصحیحات هارمونیک (Cuc, Cus, Crc, Crs, Cic, Cis) و تغییر نرخ میل (IDOT) را شامل نمی‌شود. همچنین تصحیح حرکت متوسط (delta_n) وجود ندارد. به همین دلیل دقت آن به‌مراتب کمتر از افمریس است.

۳الگوریتم محاسبه مختصات

الگوریتم محاسبه مختصات ماهواره از آلماناک مشابه الگوریتم افمریس پخشی است اما بدون تصحیحات هارمونیک. مراحل به ترتیب:

گام ۱: محاسبه ثوابت و حرکت متوسط

ثابت گرانشی زمین:

سرعت زاویه‌ای چرخش زمین:

نیم‌محور بزرگ:

حرکت متوسط (Mean Motion):

گام ۲: محاسبه زمان از اپوک و آنومالی متوسط

# زمان از زمان مرجع آلماناک
tk = t - t_oa
# تصحیح برای عبور از مرز هفته GPS
if tk > 302400:
    tk = tk - 604800
elif tk < -302400:
    tk = tk + 604800

آنومالی متوسط در زمان t:

گام ۳: حل معادله کپلر (تکراری)

معادله کپلر:

Ek = Mk  # مقدار اولیه
for i in range(10):
    Ek_new = Mk + e * sin(Ek)
    if abs(Ek_new - Ek) < 1e-12:
        break
    Ek = Ek_new

گام ۴: آنومالی حقیقی و آرگومان عرض جغرافیایی

آنومالی حقیقی (True Anomaly):

آرگومان عرض جغرافیایی (Argument of Latitude):

گام ۵: شعاع مداری و مختصات در صفحه مداری

شعاع مداری:

مختصات در صفحه مداری:

گام ۶: تبدیل به مختصات ECEF

طول گره صعودی تصحیح‌شده:

زاویه میل در آلماناک ثابت است (بدون تصحیح IDOT):

مختصات ECEF:

۴مثال عددی

پارامترهای آلماناک ماهواره GPS PRN 06 را به‌عنوان نمونه در نظر بگیرید:

پارامترهای ورودی (فرمت YUMA):

PRN:                 06
Health:              000
Eccentricity (e):    0.00632095336914
Time of Applicability (toa): 319488.0 s
Inclination (i0):    0.9614 rad  (≈ 55.08°)
Rate of Right Ascen: -7.7827e-09 rad/s
SQRT(A):             5153.636719 m^(1/2)
Right Ascen at Week: -2.2731 rad
Argument of Perigee: 0.7853 rad
Mean Anomaly (M0):   1.2217 rad
af0:                 1.9073e-06 s
af1:                 0.0 s/s

محاسبه مختصات را در زمان t = 320000 s از شروع هفته GPS انجام می‌دهیم:

مراحل محاسبه:

# گام 1: ثوابت و نیم‌محور بزرگ
A = 5153.636719^2 = 26,559,969.88 m
n = sqrt(3.986005e14 / 26559969.88^3)
n = 1.45845e-04 rad/s

# گام 2: زمان از اپوک
tk = 320000 - 319488 = 512.0 s

# آنومالی متوسط
Mk = 1.2217 + 1.45845e-04 * 512
Mk = 1.2964 rad

# گام 3: حل معادله کپلر
# تکرار 1: Ek = 1.2964 + 0.00632 * sin(1.2964) = 1.3025
# تکرار 2: Ek = 1.2964 + 0.00632 * sin(1.3025) = 1.3025
# همگرایی: Ek = 1.3025 rad

# گام 4: آنومالی حقیقی
nu_k = atan2(sqrt(1 - 0.00632^2) * sin(1.3025),
             cos(1.3025) - 0.00632)
nu_k = 1.3088 rad

# آرگومان عرض جغرافیایی
phi_k = 1.3088 + 0.7853 = 2.0941 rad

# گام 5: شعاع مداری
rk = 26559969.88 * (1 - 0.00632 * cos(1.3025))
rk = 26,515,190 m  (≈ 26515 km)

# مختصات صفحه مداری
xk' = 26515190 * cos(2.0941) = -13,158,460 m
yk' = 26515190 * sin(2.0941) =  23,014,730 m

# گام 6: تبدیل به ECEF
OMEGA_k = -2.2731 + (-7.7827e-09 - 7.2921e-05)*512
         - 7.2921e-05 * 319488
OMEGA_k = -25.581 rad  →  mod 2π → 2.553 rad

xk = -13158460 * cos(2.553) - 23014730 * cos(0.9614) * sin(2.553)
xk ≈  4,285,120 m

yk = -13158460 * sin(2.553) + 23014730 * cos(0.9614) * cos(2.553)
yk ≈ -14,823,500 m

zk = 23014730 * sin(0.9614)
zk ≈  18,812,400 m

نتیجه نهایی (ECEF):

X ≈ 4,285 km   Y ≈ -14,824 km   Z ≈ 18,812 km

این مختصات دقت تقریبی ۱ تا ۵ کیلومتر نسبت به موقعیت واقعی ماهواره دارد.

۵دقت و محدودیت‌ها

آلماناک برای محاسبه موقعیت دقیق ماهواره مناسب نیست. دقت آن در حدود ۱ تا ۵ کیلومتر است و با گذشت زمان از تاریخ انتشار، خطا به‌سرعت افزایش می‌یابد.

منبع دادهدقت موقعیت ماهوارهمدت اعتبارکاربرد اصلی
آلماناک~۱–۵ کیلومترهفته‌هابرنامه‌ریزی، جستجوی ماهواره
افمریس پخشی~۱ متر۲–۴ ساعتتعیین موقعیت بلادرنگ
مدارات دقیق (SP3)~۲–۳ سانتی‌مترپس‌پردازش دقیق

محدودیت‌های اصلی:

  • فاقد تصحیحات هارمونیک — خطای سیستماتیک در شعاع، عرض جغرافیایی و میل
  • فاقد تصحیح حرکت متوسط (delta_n)
  • فاقد نرخ تغییر میل (IDOT)
  • پارامترهای ساعت ماهواره ساده‌شده (فقط ، )
  • استفاده در تعیین موقعیت باعث خطای چند کیلومتری می‌شود

۶نکات عملی

برای دسترسی به داده‌های آلماناک GPS منابع مختلفی وجود دارد:

1.

NAANU (Notice Advisory to NAVSTAR Users)

سایت رسمی نیروی هوایی آمریکا برای اطلاعیه‌ها و آلماناک GPS. آدرس: navcen.uscg.gov

2.

GPS.gov

سایت رسمی دولت آمریکا برای اطلاعات GPS شامل آلماناک به‌روز در فرمت‌های YUMA و SEM.

3.

Celestrak

آلماناک و TLE ماهواره‌های ناوبری از جمله GPS، GLONASS و Galileo.

فرمت YUMA در مقابل SEM:

YUMA Format

فرمت متنی خوانا با یک بلوک برای هر ماهواره. هر پارامتر در یک خط جداگانه با برچسب. مناسب برای خواندن دستی و اسکریپت‌نویسی ساده.

SEM Format

فرمت فشرده‌تر با داده‌های عددی پشت سر هم. شامل شماره هفته و تعداد ماهواره‌ها در هدر. مناسب برای پردازش خودکار.

استفاده در RTKLib:

در نرم‌افزار RTKLib، آلماناک را می‌توان از طریق فایل ناوبری RINEX بارگذاری کرد. همچنین ابزار RTKPLOT قابلیت نمایش موقعیت ماهواره‌ها بر اساس آلماناک را دارد. برای محاسبه وضعیت آسمان (Sky Plot) و DOP در زمان دلخواه، آلماناک کافی است و نیازی به افمریس دقیق نیست.

جمع‌بندی:

آلماناک ابزاری سریع و ساده برای محاسبه موقعیت تقریبی ماهواره‌هاست. الگوریتم آن نسخه ساده‌شده الگوریتم افمریس پخشی است — بدون تصحیحات هارمونیک. دقت آن برای برنامه‌ریزی و جستجوی اولیه ماهواره کافی است اما برای تعیین موقعیت هرگز از آلماناک استفاده نکنید.

مطالب مرتبط

آیا این مطلب برای شما مفید بود؟