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?¶
-
- Set up OMNeT++ and FLoRaSat
- Quick automated script for Ubuntu/Debian
- Manual installation steps available
-
- Run your first simulation
- Simple scenario with GUI
- Understanding results
- Basic configuration
-
- Understand the design
- Project structure and layout
- File formats and conventions
- Module responsibilities
Learning Path¶
Beginner: Basic Simulations¶
Tutorials (Four progressive scenarios)
-
Tutorial 1: First Exploration (1 terminal, Iridium constellation)
- Understand packet transmission flow
- Identify packet drops and their causes
- Observe the impact of
Ntxon reception
-
Tutorial 2: First Constellation (multiple passes, longer simulation)
- Satellite orbital dynamics and visibility windows
- Reception ratio over multiple passes
- Effect of terminal latitude
-
Tutorial 3: Blind Optimization (batch parameter sweep on
Ntx)- Parameter sweep syntax
- Batch simulation execution
- Finding the minimum
Ntxfor a target delivery ratio
-
Tutorial 4: Capacity (multiple terminals, collision modelling)
- Scaling to many terminals
- Collision probability and channel saturation
Intermediate: Configuration and Customization¶
-
- Parameter reference
- All configurable parameters explained
.inifile structure and syntax- Common configuration patterns
-
- Day-to-day tasks
- Running simulations
- Understanding output files
- Post-processing results with Python
Advanced: Implementation Details¶
- 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¶
- Developed at: Inria
- Repository: GitLab
- Built on: OMNeT++ 6.3+ and INET 4.5.x
- License: See repository for details
Support¶
- Issues/Bugs: GitLab Issues
- Documentation: This site
- Email: Contact authors through GitLab