Flexible-Radio-Mapping
November 15, 2025 ยท View on GitHub
Open-source code for the RSS 2025 paper "FERMI: Flexible Radio Mapping with a Hybrid Propagation Model and Scalable Autonomous Data Collection".
Dependency
You need install tinycudnn to run this repo:
git@github.com:ymLuo1214/Flexible-Radio-Mapping.git
cd Flexible-Radio-Mapping
conda env create -f environment.yml
mkdir third_party && cd third_party
git clone --recursive https://github.com/nvlabs/tiny-cuda-nn
cd tiny-cuda-nn
cmake . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build --config RelWithDebInfo -j
cd bindings/torch
python setup.py install
Quick Start
Training
To train the model:
python pathnet/PathNet_runner.py --config configs/sim28_1.0.yml --mode train
Testing
After training is complete, evaluate the model:
python pathnet/PathNet_runner.py --config configs/sim28_1.0.yml --mode test
Then you can visualize the result by:
python pathnet/vis_recv_rssi.py
Data Format
Using data/sim28_1.0 as an example:
-
data/sim28_1.0/data.txt: This file contains the primary training data.
-
data/sim28_1.0/occ.npy: The occupancy grid, which is used by the dataloader.
-
data/sim28_1.0/sdf.npy: The Signed Distance Function (SDF) of the environment, also used by the dataloader.
The meaning of each column in the data.txt:
-
Columns 0-2: Transmitter (TX) coordinates (x, y, z).
-
Columns 3-5: Receiver (RX) coordinates (x, y, z).
-
Column 6: Normalized RSSI. This value is scaled from 0.0 to 1.0, corresponding to a range of -100 dBm (0.0) to 0 dBm (1.0).
Citation
@article{luo2025fermi,
title={FERMI: Flexible Radio Mapping with a Hybrid Propagation Model and Scalable Autonomous Data Collection},
author={Luo, Yiming and Wang, Yunfei and Chen, Hongming and Wu, Chengkai and Lyu, Ximin and Zhou, Jinni and Ma, Jun and Zhang, Fu and Zhou, Boyu},
journal={arXiv preprint arXiv:2504.14862},
year={2025}
}
If you have any questions, feel free to contact the author by yyluouomm@connect.hku.hk.