-
This repository provides detailed instructions on the training of PMNet—an NN tailored for path loss map prediction.
-
The PMNet are trained with site-specific channel measurement data obtained through Sionna RT.
-
This training includes two main steps:
- Generating path loss map dataset by utilizing Sionna RT;
- Training PMNet with the pathloss map dataset to predict path loss map.
-
Example: Ground Truth (SionnaRT measurement) vs. Predicted (PMNet prediction)
-
A 3D map of the USC campus, created with Blender OSM, was utilized. These models were then exported to create scenes in Sionna RT.
-
Configuration (TX/RX/Channel/etc.):
- Details will be updated...
-
Map Generation:
- For each scene at a specific TX location, three types of maps are generated:
-
Pathloss Maps: These are grayscale images that visualize pathloss (or pathgain) across regions of interest (RoI).
- Gray conversion:
$-255 \sim 0$ [dBm] pathgain$\rightarrow$ $55 \sim 255$ grayscale
- Gray conversion:
-
City Maps: These are grayscale images showing RoI and buildings.
- Grayscale mapping:
$0 \sim 54$ [m] height$\rightarrow$ $0 \sim 54$ grayscale and$255$ (White) gray value represent building and ROI area, respectively.
- Grayscale mapping:
-
TX Maps: These are grayscale images indicating the TX locations, which is highlited with
$255$ (White) gray value.
-
Pathloss Maps: These are grayscale images that visualize pathloss (or pathgain) across regions of interest (RoI).
- For each scene at a specific TX location, three types of maps are generated:
-
Cropping:
- Images cropped into 256x256 pixels, ensuring inclusion of TX point and are further augmented.
- A total of
$9164$ cropped images are produced for the USC campus map dataset.
"How to Prepare (Pre-Process) Pathloss Map Data?"
-
To pre-process the pathloss map data, simply run the following script. Please replace
[START]
and[END]
with the TX points you want to start and end data mining with. A bigger range will require a lot of memory. A good estimate to have is a range of 5. In order to mine data for all$158$ TX, you can run the file updating the[START]
and[END]
arguments. Additionally, the total number of TX points are$175$ , out of which$17$ give NaN values in their coverage map which are automatically discarded.python data/preprocess.py [START] [END]
- To train the PMNet model, we use stacked cropped City and TX maps from the data/cropped folder as input to predict the Pathloss map as the output.
"How to Train?"
-
To train PMNet, simply run the
train.py
.python train.py
"How to Evaluate?"
-
To evaluate a PMNet, refer to the following commands. Please update the path to model for evaluation. Similarly make sure the data is already present in the
data/cropped
folder else follow the above section to prepare the data.python eval.py \ --model_to_eval '[PATH_TO_MODEL]'