Skip to content

spel-uchile/Pypredict

Repository files navigation

Pypredict

GitHub tag license

This software is a real-time satellite tracker and orbit propagator. It displays any satellite's position and orbital parameters in real time. It can also simulate satellite deployments of one satellite from another with different velocities, considering the mass of the satellites. It is inspired by Gpredict and Orbitron.

Additionally, there is a class defined in AOAwithTDOA.py which replicates the method of the research paper called "A simple and accurate TDOA-AOA localization method using two stations". There are also all the simulations for a research paper submitted at Remote Sensing with the name: "A femto-satellite localization method based on TDOA and AOA using two CubeSats". More information about this at the bottom of this file.

Features

The following are some of the key features of Pypredict:

  • Updates TLE data from CelesTrak.
  • Displays the satellites in real time.
  • The user can open any TLE data from a txt file.
  • The TLE data of the displayed satellites can be saved into a new txt file.
  • The satellites' coverage can be added or removed.
  • It can show the South Atlantic Anomaly (SAA).
  • The time and date can be changed, speed up forward, backwards and paused.
  • Simulates deployments of one satellite from another and changes their TLEs according to their mass, the deployment speed and direction.
  • Displays the names, categories, position and orbital parameters in a table.
  • Day and night background images from NASA.

Dependencies

The following are the current dependencies:

Supported software

Installation

Instructions for GNU/Linux:

For Raspbian (Raspberry Pi) you may need to install this first:

sudo apt-get install python3-cairocffi
sudo apt-get install libatlas-base-dev

After this, the rest is the same for all GNU/linux based systems.

  1. Install dependencies:
sudo sh install.sh
pip3 install --upgrade pip
  1. Clone this repository:
git clone https://github.com/spel-uchile/Pypredict.git
  1. Move to the Pypredict folder:
cd Pypredict/
  1. Install Pypredict:
pip3 install . --no-binary shapely

Instructions for Windows (untested):

  1. Download and install Python.

  2. Install dependencies using a miniconda prompt:

conda install -c conda-forge proj
conda install -c conda-forge proj-data
  1. Download this repository into your computer.

  2. Open a command prompt (cmd), move to the directory of the downloaded repository and install Pypredict using pip:

pip3 install . --no-binary shapely

Instructions for macOS (untested):

  1. Install dependencies:
brew install proj geos
  1. Clone this repository:
git clone https://github.com/spel-uchile/Pypredict.git
  1. Move to the Pypredict folder:
cd Pypredict/
  1. Install Pypredict:
pip3 install . --no-binary shapely

Usage

You can search "Pypredict" on your application window, or you can run the following command:

python3 -m pypredict

Research and simulation plots

You can generate the plots of both "A simple and accurate TDOA-AOA localization method using two stations" and "A femto-satellite localization method based on TDOA and AOA using two CubeSats" using the python file called AOAwithTDOA.py. To generate different plots you just need to uncomment them. The simulation is made using the following command:

python3 AOAwithTDOA.py

Cite our research

@article{vidal2022femto,
  title={A Femto-Satellite Localization Method Based on TDOA and AOA Using Two CubeSats},
  author={Vidal-Valladares, Mat{\'\i}as G and D{\'\i}az, Marcos A},
  journal={Remote Sensing},
  volume={14},
  number={5},
  pages={1101},
  year={2022},
  publisher={MDPI}
}

Contact