SatComm Optimizer
Project Overview
To provide some context before I dive into my work with SatComm Optimizer, allow me to first elaborate upon the significance of this project. SatComm Optimizer is a personal project in collaboration with Anna Diaz, a Business Analytics major from CSUN. Our focus is to develop and visualize algorithms through computer simulations that optimize real-world satellite communication networks in real-time. The project is based around Iridium’s Iridium-NEXT satellite constellation, a worldwide network of telecommunications satellites that provide access to voice and data services anywhere on Earth. Iridium’s ability to provide worldwide coverage has inspired us to develop algorithms to understand and possibly improve upon how Iridium-NEXT satellites interact with ground stations, create inter-satellite links, and provide the best services to their customers.
Technologies & Tools
To achieve the objectives of the SatComm Optimizer project, we utilize a range of advanced technologies and tools. We leverage the strengths of JavaScript and Python to create dynamic visualizations and handle large datasets effectively. JavaScript is utilized for creating dynamic and appealing visualizations, while Python is employed for its robust data processing capabilities, enabling us to handle large datasets effectively. Additionally, for handling and visualizing the data generated by our algorithms, we utilize SQL and Tableau. SQL is utilized for storing and processing the data we gather from running our algorithms, while Tableau is employed to create interactive visualizations and dashboards of the data we receive.
We utilize several libraries and tools that provide the necessary functions and data for accurate satellite modeling. CesiumJS is used to visualize the real-time positions and capabilities of the Iridium-NEXT satellites, allowing us to create detailed and interactive representations of the satellite constellation. Satellite-js provides essential functions for propagating satellite orbits with less than 1 km of error, leveraging the SGP4 model for precise calculations. Furthermore, CelesTrak sources the most up-to-date Two-Line Element (TLE) data for our satellite models, ensuring accuracy and reliability in our simulations.
These technologies collectively enable us to model, analyze, and visualize satellite communication networks with both precision and visual appeal.
Project Workflow - In Progress
Visualizations
Our simulation features 81 Iridium-NEXT satellites, with their positions updated in real-time using TLE data propagated through Python. This approach ensures positional accuracy within less than 1 km of error. Each satellite's orbital period is displayed by accounting for its current mean motion and semi-major axis, which are continuously updated and recalculated as the satellite orbits. Additionally, we visualize each satellite's footprint, with a radius of 2,400,000 meters, as specified by Iridium.
To process the information transmitted by the Iridium-NEXT satellites, we have integrated entities into our simulation representing the positions of each ground station utilized by Iridium. These ground stations are mapped in key locations, including Fairbanks, Alaska; Tempe, Arizona; Punta Arenas, Chile; Svalbard, Norway; and Izhevsk, Russia. This integration allows us to accurately represent the communication links between the satellites and ground stations, providing a comprehensive view of the network.
Data Processing
SatComm Optimizer handles all data processing through Python, ensuring efficient management of the continuous influx of data. Using TLE data sheets provided by CelesTrak, Python fetches and parses the information, identifying the associated TLE data for each Iridium-NEXT satellite. This data is then used to perform vital calculations necessary for satellite propagation. Python continuously recalculates each satellite’s orbit and orbital period every few seconds to maintain accuracy. During these processes, the data is seamlessly streamlined to our JavaScript files for real-time visualization.