Coder Social home page Coder Social logo

libraries-to-simulate-satellite-networks's Introduction

Maintenance made-with-cpp GPLv2 license

Libraries to Simulate Satellite Networks

This repository contains libraries that simulate satellite networks. Such libraries are compatible with the Distributed Satellite System Simulator (DSS-SIM). The description of the DSS-SIM can be found in the following paper: Towards an Integral Model-Based Simulator for Autonomous Earth Observation Satellite Networks. The current version of this repository allows to simulate the following aspects of the satellite networks:

  • Propagation Models: Allows the simulation of attenuation in RF communications due to the clouds.
  • Medium Access Protocols: Allows the simulation of the CSMA-CA including the and adapted Net Device Module.
  • Spacecraft Subsystems: Addition of a Solar cells model.
  • Orbit Propagation: Implements the SGP4 orbit propagation model.

Pre-Requisites

The prerequisites to use this repository are:

  • Distributed Satellite System Simulator (Contact i2CAT here)
  • Vallado's C++ library for SGP4 (Available online here)
  • Network Simulator 3 (v3.35) (Available online here)

How to build it

This repository can not be directly build. To do so, files shall be added into its correspondent module of the DSS-SIM. After that the whole project must be build. Notice that the DSS_SIM is needed to be able to use these libraries.

Technical Description

In order to use these libraries the previous installation of the DSS-SIM is required (As mentioned in the Prerequisites). Each module from this repository is independent and can be use without the others. However, the DSS-SIM follows a certain architecture, in the following table the directory in where each module shall be placed is provided. In addition, it is important to mention that the Orbit Propagator that implements SGP4, uses Vallado's algorithm to propagate the orbit. As a consequence call to the source code of this SGP4 implementation is needed. For this reason, Such files (SGP4.cpp and SGP4.h) must be place within the Orbit Propagation module.

Developed module DSS-SIM Module
Propagation Models Networking/Channels
Medium Access Protocols Networking/Net_Device
Spacecraft Subsystems Physical/Modules
Orbit Propagation Physical/Orbit_Trajectory

All these modules had been tested by using GTest and making unit tests for each of them before allowing them to be published. In order to use them, when preparing a simulation on the DSS-SIM, it is only needed to call functions such as: sgp4Init to propagate the SGP4 orbit, getOutputPower to obtain the output power obtained by the solar cells, CsmaCaMacNetDevice to create a Net Device that uses CSMA/CA, or setCloudsPropagation in the communications channel to retrieve the attenuation due to the clouds by means of getAtt. Notice that the communications channel is not provided in this repository as far as it is a part of the Distributed Satelllite System Simulator.

Finally, it is important to mention that the code in these files can be extracted to adapt it to other simulation tools if it is not desired to use DSS-SIM.

Source

This code has been developed within the research / innovation project i2-22-RDI-IoT A2 DSS Sim. Aquest projecte ha rebut finançament per part del Govern de la Generalitat de Catalunya dins del marc de l'estrategia NewSpace a Catalunya.

Copyright

This code has been developed by Fundació Privada Internet i Innovació Digital a Catalunya (i2CAT). i2CAT is a non-profit research and innovation centre that promotes mission-driven knowledge to solve business challenges, co-create solutions with a transformative impact, empower citizens through open and participative digital social innovation with territorial capillarity, and promote pioneering and strategic initiatives. i2CAT aims to transfer research project results to private companies in order to create social and economic impact via the out-licensing of intellectual property and the creation of spin-offs. Find more information of i2CAT projects and IP rights at https://i2cat.net/tech-transfer/

Licence

This code is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE. Information about the license can be found at (https://www.gnu.org/licenses/agpl-3.0.en.html).

If you find that this license doesn't fit with your requirements regarding the use, distribution or redistribution of our code for your specific work, please, don’t hesitate to contact the intellectual property managers in i2CAT at the following address: [email protected].

libraries-to-simulate-satellite-networks's People

Watchers

Eduard Grasa avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.