Skip to content

functions-lab/geo2sigmap

Repository files navigation

Geo2SigMap: High-Fidelity RF Signal Mapping Using Geographic Databases

arXiv Code License

Welcome to the Geo2SigMap, the current version (v1.0.0) consists of two main components:

  • Scene Generation: A pure Python-based pipeline for generating 3D scenes for arbitrary areas of interest. This new Python-based pipeline replaces the scene generation pipeline used in our DySPAN'24 paper, and is more scalable, efficient, and user-friendly.
  • ML-based Propagation Model: ML-based signal coverage prediction using the pre-train model based on the cascaded U-Net architecture, also described in our DySPAN'24 paper.

TABLE OF CONTENTS

  1. Overview
  2. Installation
  3. Examples
  4. License

Overview

Geo2SigMap is an efficient framework for high-fidelity RF signal mapping leveraging geographic databases, ray tracing, and a novel cascaded U-Net model. Geo2SigMap features a scalable, automated pipeline that efficiently generates 3D building and path gain (PG) maps via the integration of a suite of open-sourced tools, including OpenStreetMap (OSM), Blender, and Sionna. Geo2SigMap also features a cascaded U-Net model, which is pre-trained on pure synthetic datasets leveraging the building map and sparse signal strength (SS) map as input to predict the full SS map for the target (unseen) area. The performance of Geo2SigMap has been evaluated using large-scale field measurements collected using three types of user equipment (UE) across six LTE cells operating in the citizens broadband radio service (CBRS) band deployed on the Duke University West Campus. Our results show that Geo2SigMap achieves significantly improved root-mean-square error (RMSE) in terms of the SS map prediction accuracy compared to existing baseline methods based on channel models and ML.

Citation

If you find Geo2SigMap useful for your research, please consider citing this paper:

@inproceedings{li2024geo2sigmap,
  title={Geo2SigMap: High-fidelity RF signal mapping using geographic databases},
  author={Li, Yiming and Li, Zeyu and Gao, Zhihui and Chen, Tingjun},
  booktitle={Proc. IEEE International Symposium on Dynamic Spectrum Access Networks (DySPAN)},
  year={2024}
}

Project Structure

geo2sigmap/
├── data/                  
│   ├── measurements       # measurement data
│   ├── model_unet         # pre-trained ML model
│   └── ...                
├── examples               # example tutorials and notebooks
│   ├── *.ipynb            # tutorial in Juypter notebooks
│   └── ...                
├── src/                   
│   ├── scene_generation   # 3D scene generation pipeline
│   └── ...                
├── tools/                 # Tools to create datasets and more   
│   └── meshrir_split.py   # Create meshrir dataset split
├── .gitignore
├── LICENSE                
├── README.md              
├── pyproject.toml         
└── requirements.txt             

Installation

Dependency

  • Python >= 3.9
git clone https://github.com/functions-lab/geo2sigmap
cd geo2sigmap
python3 -m pip install .

If you plan to use the generated 3D scenes with Sionna RT, please refer to Sionna RT Installation for the required Python versions (3.8-3.11) and the use of virtual environment.

Examples

Example Notebooks

The repository includes Jupyter notebooks demonstrating various aspects of Geo2SigMap:

  • Tutorial #1: Using Sionna to load and visualize arbitrary 3D scenes generated by our tool, with the corresponding coverage map obtained using Sionna RT.
  • Tutorial #2: Randomly generate outdoor RX locations and perform point-to-point ray tracing to analyze detailed ray properties.
  • Tutorial #3: Using Bokeh to visualize the CBRS LTE measurements collected on the Duke campus.
  • Tutorial #4: Complete workflow including scene generation, ML model inference, and evaluation using measurement data.

CLI Tool Example Usage

Below are examples showing how to generate a 3D scene for your chosen location. There are two ways to define the bounding box (scene area):

  1. Directly specify four GPS corners.
  2. Provide one GPS point, indicate its position in the rectangle (top-left, bottom-right, etc.), and supply width and height in meters.

To see all available options for scene generation, use -h:

1) Generate 3D Scene using Four Corner Points

$ scenegen bbox -71.0602 42.3512 -71.0484 42.3591 --data-dir scenes/Boston

[INFO] Check the bbox at http://bboxfinder.com/#42.3512,-71.0602,42.3591,-71.0484
[INFO] Using UTM Zone: EPSG:32619
[INFO] Estimated ground coverage: width=994m, height=901m
Parsing buildings: 100%|█████████████████████| 389/389 [00:00<00:00, 1403.12it/s]

The above commands generate a 3D scene for an area in downtown Boston. You can preview or verify the bounding box at bboxfinder.com.

2) Generate 3D Scene using One Point + Rectangle Dimension

$ scenegen point -71.0550 42.3566 top-left 997 901 --data-dir scenes/Boston_top-left

[INFO] Check the bbox at http://bboxfinder.com/#42.3485,-71.0547,42.3568,-71.0429
[INFO] Using UTM Zone: EPSG:32619
[INFO] Estimated ground polygon size: width=997m, height=902m
Parsing buildings: 100%|█████████████████████| 168/168 [00:00<00:00, 1383.61it/s]

Note: The public overpass-api.de server imposes query rate limits (~2–10 queries/sec). For higher throughput (e.g., ~100–200 queries/sec on an SSD machine), consider hosting your own OSM server.

3) Preview 3D Scene in Sionna

After the above example command, the 3D scene file is saved to the corresponding folder under ./scenes/. You can load it directly in Sionna to explore or run ray tracing simulations. Please refer to Tutorial #1 and Tutorial #2 for two example notebooks.

License

Distributed under the APACHE LICENSE, VERSION 2.0

Thank you for using Geo2SigMap! If you have any questions or suggestions, feel free to open an issue on GitHub. We hope this framework accelerates your research or application in RF signal mapping.

About

Geo2SigMap

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages