Satellite Ground-Station Contact Planner
A reproducible aerospace study using public OMM records and four notional Indian reference locations to evaluate satellite passes, S-band geometry, contact conflicts, scheduling and sensitivity.

Project definition
Problem statement
A public orbital record can indicate when a satellite is geometrically visible, but a useful contact also depends on coordinate frames, elevation mask, range, Doppler, link assumptions, antenna transition time, priority and overlapping windows.
The engineering problem is to preserve the exact orbital snapshot, calculate opportunities consistently, schedule one antenna at each reference location and state why the result is educational rather than operational.
Project objectives
- Propagate CARTOSAT-3, RESOURCESAT-2A, EOS-4 and EOS-08 from a retained 27 August 2026 CelesTrak OMM snapshot.
- Calculate ground tracks, topocentric azimuth, elevation, slant range and range rate for Bengaluru, Lucknow, Shillong and Port Blair reference locations.
- Interpolate acquisition and loss crossings at a 10 degree elevation mask.
- Estimate 2.2 GHz Doppler and a transparent clear-sky S-band link trend.
- Schedule contacts under one antenna per station, spacecraft priority and a 180 second transition.
- Measure mask sensitivity, 10 versus 20 second sampling convergence and seeded timing robustness.
Project structure
Project components
Data checks
Loads the retained OMM and notional-station CSV files and validates required fields, values and identifiers.
Orbital model
Constructs Skyfield SGP4 objects and calculates descriptive orbital period and inclination evidence.
Pass analysis
Transforms each orbit into station-centred geometry and interpolates mask crossings for every satellite-station pair.
Link estimate
Calculates unit-tested free-space loss, first-order Doppler and a declared notional C/N0 trend.
Contact scheduler
Applies deterministic priority and one-antenna transition constraints while retaining selected and rejected evidence.
Sensitivity study
Compares elevation masks, sampling steps and two thousand seeded timing perturbations.
Methodology
Project workflow
- 01Verify the snapshot
The study loads four fixed public OMM rows and four explicitly notional Indian reference locations.
- 02Propagate geometry
SGP4 states are transformed into topocentric elevation, azimuth, range and range-rate series.
- 03Build candidates
Interpolated mask crossings create complete pass records with duration, Doppler and link descriptors.
- 04Resolve conflicts
The scheduler selects feasible contacts at each station under priority and transition rules.
- 05Test assumptions
Mask, sampling and timing experiments measure how sensitive the result is to declared choices.
- 06Review the evidence
CSV, JSON, figures, tests and documentation trace every headline result to retained inputs.
Demonstration scenario
Across the fixed 48-hour interval, the 10 degree mask produces 107 candidates. The scheduler retains 98 contacts and 588.713 minutes while rejecting nine conflicts. The highest pass is EOS-08 from Shillong Reference at 86.790 degrees, and the maximum sampling difference is 0.024011 minute.
Engineering
Tools and method
- Tools
- The project uses Python, Skyfield, SGP4, NumPy, Pandas, Matplotlib, Jupyter for subject analysis, simulation, and results.
- Orbital source
- Four public CelesTrak CSV OMM rows retained with epoch and provenance.
- Astrodynamics
- Skyfield and SGP4 for propagation, time-aware frame conversion and local observing geometry.
- Numerical analysis
- Python, NumPy and Pandas for interpolation, sensitivity, scheduling and machine-readable evidence.
- Communication geometry
- Unit-tested free-space and Doppler equations with all frequencies and distances declared explicitly.
- Verification
- 66 tests, 99 percent branch-aware coverage, convergence checks, dependency audit and pinned Docker execution.
Testing
Evaluation
Evaluation measures
- Candidate and scheduled contact counts by satellite and station
- Scheduled minutes, rejected conflicts and single-antenna utilisation
- Maximum elevation, minimum range, Doppler and notional C/N0 across each pass
- Access-time and pass-count sensitivity to elevation mask
- Pass-count agreement and access-time difference between 10 and 20 second sampling
- Candidate selection probability across two thousand seeded timing perturbations
- Reproducibility through fixed inputs, retained outputs, 66 tests and dependency audit
Project boundaries
- All four ground locations are notional city references and are not operational station coordinates.
- The project does not transmit, receive, command, point an antenna, track a live satellite or establish contact.
- Public OMM predictions are educational and are not suitable for collision avoidance, flight safety or guaranteed availability.
- The S-band link estimate omits real equipment, antenna, atmospheric, coding, interference and licensing evidence.
- Operational use requires authorized sites, current mission data, qualified engineering review and relevant regulatory approval.
Included
- 01Complete Python source code
- 02Four retained public OMM records and four notional Indian reference locations
- 03Eight machine-readable result files and fifteen analytical figures
- 0499-page project report in PDF and editable Word formats
- 054-page setup and usage guide in PDF and editable Word formats
- 06Sixty annotated references and three public-domain NASA literature images
- 0766 automated tests with 99 percent branch-aware coverage
Project record
No information is collected on this page.
- Permanent project ID
- GP-AE-0OEHTTN
- Catalogued
- 21 Aug 2026
- Completed
- 27 Aug 2026
- Verified
- 27 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.