forked from SIMULATOR-WG/SHARC
-
Notifications
You must be signed in to change notification settings - Fork 24
IMT Topology Modules
Bruno Faria edited this page Mar 31, 2025
·
1 revision
The SHARC simulator includes several topology modules that define and manage different IMT network topologies. These modules are implemented as Python classes and are designed to simulate various network configurations, including macrocells, indoor networks, hotspots, and non-terrestrial networks (NTN). Below is an overview of the topology modules and their functionalities.
-
Base Class:
Topology -
Description:
- Abstract base class for all topology types.
- Defines common attributes and methods for managing base station coordinates, azimuth, and elevation.
- Provides abstract methods
calculate_coordinatesandplotthat must be implemented by subclasses.
-
Class:
TopologyMacrocell -
Description:
- Generates the coordinates of sites based on a macrocell network topology.
- Supports configurations with 1 or 7 clusters.
- Calculates base station positions and azimuths for a hexagonal grid layout.
-
Key Features:
- Static base station positions.
- Hexagonal sector plotting.
-
Class:
TopologyIndoor -
Description:
- Simulates an indoor network topology with multiple floors and buildings.
- Supports customizable parameters such as the number of rows, columns, floors, and inter-site distances.
-
Key Features:
- Generates base station positions within buildings.
- Supports both top-view and side-view plotting.
-
Class:
TopologyHotspot -
Description:
- Combines a macrocell topology with hotspots.
- Hotspots are generated within the coverage area of macrocell sectors.
-
Key Features:
- Ensures non-overlapping hotspots.
- Validates minimum distance between hotspots and macrocell base stations.
-
Class:
TopologyNTN -
Description:
- Simulates a Non-Terrestrial Network (NTN) topology.
- Models satellite positions and beam coverage areas.
-
Key Features:
- Supports configurations with 1, 7, or 19 sectors.
- Provides 2D and 3D plotting of satellite positions and beam footprints.
-
Class:
TopologyImtMssDc -
Description:
- Implements an IMT Mobile Satellite Service (MSS) for Direct Connectivity (D2D) topology.
- Generates satellite positions based on Keplerian orbital elements.
-
Key Features:
- Calculates visible satellites based on elevation angle.
- Transforms coordinates to a local cartesian system.
- Supports beam generation for each satellite.
-
Class:
TopologySingleBaseStation -
Description:
- Simulates a single base station centered at (0, 0).
- Supports configurations with 1 or 2 clusters.
-
Key Features:
- Simple topology for testing and validation.
- Plots base station coverage areas.
-
Coordinate Calculation: Each topology module implements the
calculate_coordinatesmethod to compute the positions of base stations or satellites. -
Visualization: All modules provide a
plotmethod for visualizing the topology in 2D or 3D. - Customizability: Parameters such as inter-site distance, cell radius, and number of clusters can be configured for each topology.
Each module includes an example usage section in the __main__ block. These examples demonstrate how to instantiate the topology classes, calculate coordinates, and visualize the results.
numpymatplotlib-
shapely(for hotspot topology) -
geopandas(for NTN topology with maps) -
plotly(for 3D visualization in IMT MSS-DC topology)
- Install the required dependencies:
pip install numpy matplotlib shapely geopandas plotly
- Navigate to the desired topology module and run it:
python topology_macrocell.py
Feel free to contribute to the SHARC topology modules by adding new features, fixing bugs, or improving documentation. Submit a pull request with your changes.