Masintõlge, mida emakeelne kõneleja pole üle vaadanud. Võrdlusallikaks on ingliskeelne versioon.

StsenaariumidMuuda GitHubisAllikas: docs/REAL_TLE_GUIDE.md

Reaalsete konstellatsiooni TLE-de kasutamine

Kaasasolev scenarios/orbit-sgp4-gps.toml kannab juba reaalseid TLE-sid (kaherealised elemendikomplektid): Celestraki gps-ops hetktõmmis töötavast GPS-i (globaalne positsioneerimissüsteem) konstellatsioonist, mis on kataloogitud 2021-07-28, 30 satelliiti, koos strict_checksum = true. Iga satelliiti propageeritakse SGP4/SDP4-ga (Simplified General Perturbations 4 / Simplified Deep-space Perturbations 4), mida on valideeritud ametlike AIAA (American Institute of Aeronautics and Astronautics) 2006-6753 vektorite vastu. Sama hetktõmmis on varustatud kujul tests/fixtures/celestrak/gps-ops_2021-07-28.txt ja scripts/fetch_tles.sh toob värske. Lugege jaotist 3 enne, kui sellest geomeetria arvu tsiteerite: see stsenaarium propageerib iga satelliiti tema enda epohhist.

Sünteetilise, isemajandava näite jaoks annab scenarios/orbit-real-tle.toml kuus GPS-i taolist satelliiti paljaste rea-2 kirjetena, propageerituna analüütiliste Kepleri elementidena, ning iga orbit stsenaarium ilma plokita tle ehitab Walkeri konstellatsiooni.

Praeguse GPS-i konstellatsiooni (või mis tahes muu) uurimiseks lisage värske hetktõmmis.

1. Laadige alla praegune hetktõmmis#

Celestrak levitab NORADi (North American Aerospace Defense Command) kataloogi elemendikomplekte, mida värskendatakse vähemalt iga päev. GPS-i jaoks:

curl -o gps-ops.txt "https://celestrak.org/NORAD/elements/gp.php?GROUP=gps-ops&FORMAT=tle"

Muud kasulikud rühmad: galileo, glo-ops (GLONASS, Venemaa globaalne satelliitnavigatsioonisüsteem), beidou, stations (ISS, rahvusvaheline kosmosejaam, ja muud pilootidega jaamad).

Fail on kolmerealiste kirjete jada (nimi, rida 1, rida 2). Kshana parser ignoreerib nimeridu, seega võite faili kleepida nii, nagu see on.

2. Lisage see stsenaariumi#

Mis tahes orbiidistsenaariumis määrake konstellatsiooni tle plokk hetktõmmise sisuks:

[constellation]
# Paste the Celestrak gps-ops block here (name/line1/line2 triples). Two real records
# from tests/fixtures/celestrak/gps-ops_2026-06-07.txt are shown; a real block has ~30.
strict_checksum = true   # real Celestrak TLEs carry valid checksums; enforce them
tle = """
GPS BIIR-5  (PRN 22)
1 26407U 00040A   26158.26673196  .00000043  00000+0  00000+0 0  9990
2 26407  54.8526 215.5566 0121168 302.4173  18.5084  2.00557626189748
GPS BIIR-8  (PRN 16)
1 27663U 03005A   26157.61055816  .00000039  00000+0  00000+0 0  9995
2 27663  54.8837 215.3893 0147927  53.0597 289.9583  2.00561160171094
"""

(PRN on pseudojuhusliku müra koodi number, mida GPS-satelliit edastab.)

Rea 1 + rea 2 paari propageeritakse SGP4/SDP4-ga (takistuse ja sügavkosmose liikmed); paljast rida 2 käsitletakse analüütiliste Kepleri keskmiste elementidena. Neid võib segada.

strict_checksum = true lükkab tagasi iga rea, mille veerus 69 olev modulo-10 kontrollsumma on vale — hea terviklikkuse kontroll värskelt allalaaditud faili jaoks. Selle vaikeväärtus on false, sest sünteetilised õppestsenaariumid kasutavad kohatäitjana kontrollsummasid.

3. Märkused epohhide kohta — lugege seda enne, kui tsiteerite geomeetria arvu#

SGP4 propageerib iga satelliiti tema enda TLE epohhist ja parse_propagators (kohas src/tle.rs) tagastab ainult propageerijaid, seega rakendatakse stsenaariumi aega t kujul tsince = t igale satelliidile eraldi. See on õige konventsioon ainult siis, kui kõigil failis olevatel elemendikomplektidel on ühine epohh.

Celestraki rühmafail ei anna seda. Fail laaditakse alla ühel hetkel, kuid iga satelliidi elemendikomplekti värskendatakse omal sagedusel, seega on selles olevad epohhid hajutatud päevade peale. Mõõdetud siin hoidlas varustatud komplektidel (rida 1, veerud 19–32):

fikstuur komplekte epohhide hajuvus
tests/fixtures/celestrak/gps-ops_2026-06-07.txt 32 70,6 h
tests/fixtures/celestrak/gps-ops_2021-07-28.txt 30 76,4 h
tests/fixtures/celestrak/galileo_2026-06-07.txt 33 335,7 h

70,6 h on 5,9 GPS-i tiiru. Sellisena propageerituna on tasandisisene faasimine segi: satelliidid on õigetel kõrgustel ja kaldenurkadel, kuid mitte seal, kus nad olid ühelgi päeval, seega kirjeldavad nähtav hulk, DOP (täpsuse halvenemise tegur) ja neist arvutatud kättesaadavus konstellatsiooni, mida kunagi ei eksisteerinud. Parser ei mõõda seda hajuvust teie eest ning liigid orbit ja integrity ei joonda epohhe: stsenaariumi TLE-plokki propageeritakse alati satelliidi-epohhi kaupa.

Tehke selle asemel nii. Hoidke epohh propageerija kõrval, valige üks võrdlushetk ja nihutage iga satelliidi tsince selle suhtes. Tle::epoch_days_1950 on avalik, seega on parsimistsükkel lühike; tests/igs_real_data.rs (real_gps_tle_snapshot) on selle puu läbitöötatud näide:

use kshana::orbit::Propagator;
use kshana::sgp4::wgs72;
use kshana::tle::parse_tle;

/// TEME position (m) of one satellite at `t` seconds after the common reference
/// instant `t_ref_jd` (a Julian date), not after its own TLE epoch.
fn aligned_teme_m(line1: &str, line2: &str, t_ref_jd: f64, t: f64) -> Result<[f64; 3], String> {
    let tle = parse_tle(line1, line2)?;
    let jd_epoch = 2_433_281.5 + tle.epoch_days_1950;
    let prop = Propagator::Sgp4(Box::new(tle.to_sgp4(wgs72(), false)));
    let tsince_s = (t_ref_jd - jd_epoch) * 86_400.0 + t;
    Ok(prop.position_eci(tsince_s))
}

TEME on tõelise ekvaatori, keskmise pööripäeva koordinaatsüsteem, milles SGP4 töötab; tests/igs_real_data.rs pöörab selle Maaga seotud koordinaatideks kasutades teme_to_ecef.

Kui te ei joonda, öelge seda arvu esitades: see on väide orbiidikihtide kohta, mitte reaalse taeva kohta.

Kui palju see loeb, on mõõdetud failis tests/araim_dual_real_data.rs, mis rakendab samu nihkeid (võrdlushetk: kombineeritud GPS + Galileo fikstuuride hiliseim epohh, 2026-06-07T07:21:04 UTC (koordineeritud maailmaaeg)) 24 h kahe konstellatsiooni ARAIM-i (täiustatud vastuvõtja autonoomne terviklikkuse monitooring) kättesaadavuse jooksul. VAL-i (vertikaalne hoiatuspiir) 12 m korral annab joondatud taevas ainult GPS-i 0,993, ühendatud GPS+Galileo 1,000 ja konstellatsioonirikke suhtes vastupidava kahe konstellatsiooni 0,990; joondamata satelliidi-epohhi kaupa konventsioon annab samade sisendite jaoks 0,208, 0,671 ja 0,031 — erinev järeldus, mitte väike viga.

Vt ka#

  • README.md — orbiidistsenaariumid.
  • SCENARIOS.md — liigi orbit väljad; liigid integrity, gnss-sim, jamming ja constellation-design võtavad sama tabeli constellation ning ephemeris võtab ühe tle.
  • INTEGRITY.md — ARAIM-i mootor, mida reaaltaeva test juhib.
  • src/tle.rs — parser (parse_propagators, ParseOpts { strict_checksum }).