Skip to content

FLoRaSat Documentation

FLoRaSat (Framework for Layer-Oriented Resource-Aware Satellite Network) is a simulator for satellite-based IoT networks built on OMNeT++ and the INET framework.

What is FLoRaSat?

FLoRaSat enables researchers and engineers to:

  • Model satellite network topologies with realistic orbital dynamics
  • Simulate IoT communication at the physical, MAC, network, and application layers
  • Evaluate performance various metrics (packet delivery ratio, latency, consumption)
  • Optimize MAC schemes, routing algorithms, and resource allocation
  • Experiment with LoRa, KiWAN or custom protocols in satellite environments

Key Capabilities

  • Realistic satellite orbital dynamics (NORAD module)
  • Modular physical layer characteristics (power, sensitivity, antenna gain)
  • Link budget computation considering path loss and fading
  • Modular MAC layer scheduling and collision handling
  • Network layer routing algorithms
  • CSV-based components

Key Components

Component Purpose
OMNeT++ Discrete event simulation kernel
INET Network protocol implementations
FLoRaSat Global Link budget, topology, radio, antennas
FLoRaSat Nodes Terminals, satellites, stations (4-layer architecture)
Simulations Scenario configurations and data files
Analysis Python scripts and Jupyter notebooks

How FLoRaSat Works

Configuration Files     ───>     Simulation Engine     ───>     Results
(simulations/ folder)          (OMNeT++ + FLoRaSat)         (CSV, vectors)
         ↓                              ↓                         ↓
     .ini files                Satellite dynamics              Metrics
     .ned files                Link budgets                    Statistics
     .csv data                 MAC scheduling                  Analysis
     Constellations            Packet routing
     Stations                  Event processing

Getting Started

First Time?

  1. Installation

    • Set up OMNeT++ and FLoRaSat
    • Quick automated script for Ubuntu/Debian
    • Manual installation steps available
  2. Quick Start

    • Run your first simulation
    • Simple scenario with GUI
    • Understanding results
    • Basic configuration
  3. Architecture Overview

    • Understand the design
    • Project structure and layout
    • File formats and conventions
    • Module responsibilities

Learning Path

Beginner: Basic Simulations

Tutorials (Four progressive scenarios)

  1. Tutorial 1: First Exploration (1 terminal, Iridium constellation)

    • Understand packet transmission flow
    • Identify packet drops and their causes
    • Observe the impact of Ntx on reception
  2. Tutorial 2: First Constellation (multiple passes, longer simulation)

    • Satellite orbital dynamics and visibility windows
    • Reception ratio over multiple passes
    • Effect of terminal latitude
  3. Tutorial 3: Blind Optimization (batch parameter sweep on Ntx)

    • Parameter sweep syntax
    • Batch simulation execution
    • Finding the minimum Ntx for a target delivery ratio
  4. Tutorial 4: Capacity (multiple terminals, collision modelling)

    • Scaling to many terminals
    • Collision probability and channel saturation

Intermediate: Configuration and Customization

  1. Configuration Guide

    • Parameter reference
    • All configurable parameters explained
    • .ini file structure and syntax
    • Common configuration patterns
  2. User Guide

    • Day-to-day tasks
    • Running simulations
    • Understanding output files
    • Post-processing results with Python

Advanced: Implementation Details

  1. Advanced Topics
    • Deep dive
    • Global module implementation details
    • KiWan MAC internals
    • Custom antenna patterns
    • Adding new MAC schemes and propagation models
    • Batch simulation workflows
    • Troubleshooting

Project Information


Support

  • Issues/Bugs: GitLab Issues
  • Documentation: This site
  • Email: Contact authors through GitLab