Skip to content

breezy-codes/B5G-network-dataset-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

B5G Network Planning Dataset Generator

Research software developed by Brianna Laird as part of her PhD research at Deakin University. This repository contains a dataset generation framework for building realistic datasets for B5G/6G network planning research.

License Research

Code Repository

This repository contains a semi-automated dataset generation framework for building realistic datasets for B5G/6G network planning research. It was designed to support experimentation with reconfigurable RAN, converged optical X-haul, and large-scale network optimisation problems.

The framework generates network planning datasets including:

  • Road network topologies (road edges and road nodes)
  • Candidate RU, DU, and CU locations
  • Demand points and cluster centroids
  • Hotspot locations and backup user distributions
  • Deployment metadata and configuration summaries

The generator is designed to simplify the process of constructing datasets for new geographic regions while still allowing manual adjustments where required.

Generated datasets can be used directly with the companion repository:


Citation

If you use this repository or generated datasets in academic work, please cite this repository.

GitHub provides a built-in "Cite this repository" option via the repository sidebar.

BibTeX

@software{Laird_B5G_Dataset_Generator_2026,
author = {Laird, Brianna},
license = {GPL-3.0},
title = {{B5G Network Dataset Generator}},
url = {https://github.com/breezy-codes/B5G-network-dataset-generator},
version = {1.0.0},
year = {2026}
}

Features

  • Semi-automated dataset generation pipeline
  • Configurable deployment parameters
  • Geographic region generation using polygon coordinates
  • Automatic road and topology extraction and cleaning
  • JSON summary output for generated datasets
  • Interactive map visualisation support
  • Designed for experimentation with B5G/6G planning algorithms

Repository Structure

πŸ“‚ Repository/


Getting Started

1. Clone the repository

git clone https://github.com/breezy-codes/B5G-network-dataset-generator.git
cd B5G-network-dataset-generator

2. Install dependencies

Python 3.9+ is recommended.

pip install -r requirements.txt

Generating a Dataset

Step 1 β€” Select a Region

Choose the geographic region you want to generate a dataset for, I recommend using https://geojson.io/next/ to draw a polygon around the desired area and export the coordinates.

Once you have the polygon coordinates for the region, add them to:

scripts/config.py

Example:

POLYGON_COORDS = [
    (longitude_1, latitude_1),
    (longitude_2, latitude_2),
    ...
]

Step 2 β€” Configure Parameters

Modify the dataset generation parameters inside:

scripts/config.py

This includes settings such as:

  • RU information -
    • Number of RUs
    • RU coverage radius
    • RU capacity
    • Number of existing RUs (if any)
    • Number of backup RUs (if any)
  • DU information -
    • Number of DUs
    • DU capacity
    • DU ports
    • Number of existing DUs (if any)
  • CU information -
    • CU capacity
    • CU ports
  • Demand information -
    • Demand grid size
    • Number of base users per demand
    • Number of demand clusters
    • Cluster core user
    • Number of core cluster users per demand
    • Number of edge cluster users per demand
  • Hotspot information -
    • Number of hotspots
    • Hotspot radius
    • Minimum distance between hotspots
  • Polygon Coordinates -
    • List of (longitude, latitude) tuples defining the region polygon

Step 3 β€” Run the Generator

Execute:

python main.py

This will automatically build the complete dataset.


Generated Outputs

After generation, the framework produces:

  • All generated datasets in the datasets/ directory
  • Map visualisations in the maps/ directory
  • A JSON summary file for each dataset containing metadata and configuration details

Important Notes

While the framework automates most of the generation process, some manual refinement may still be required depending on the selected region.

This can include:

  • Relocating CU locations to more suitable positions
  • Adjusting problematic road edges
  • Moving incorrectly positioned devices
  • Correcting unusual topology artefacts
  • Refining generated connectivity paths

Different geographic regions may require different levels of manual adjustment.


Intended Use

This framework was developed for research into:

  • B5G/6G network planning
  • Optical X-haul deployment
  • Large-scale combinatorial optimisation problems

The generated datasets are intended to support reproducible experimentation and benchmarking of network planning algorithms.


Meet the Lead Developers (kidding!)

Phoebe the cat with the code
Phoebe: Lead Developer πŸͺ½
Forever reviewing pull requests from above
Stanley the cat learning to code
Stanley: Budding New Developer
Currently learning the sacred art of debugging

Contribution Rule: If you submit code, you must include a photo of your cat. No cat? No commit! (Phoebe enforces this strictly.)

Contribution Guidelines

  • Fork the repository and create a feature branch
  • Document any new generation scripts or utilities
  • Include example outputs where possible
  • Ensure generated datasets remain reproducible

Optional (but encouraged): Include a photo of your cat colleague.


License

This project is released under the GPL-3.0 License. See the LICENSE file for details.

About

A semi-automated dataset generation framework for B5G/6G network planning research. Generates realistic road topologies, RU/DU/CU placements, demand distributions, connectivity graphs, and ready to use datasets for experimentation with B5G RAN and optical X-haul optimisation algorithms.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages