Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

This is the code for paper "RadioDiff- $k^2$ : Helmholtz Equation Informed Generative Diffusion Model for Multi-Path Aware Radio Map Construction", accepted by IEEE JSAC.

Notifications You must be signed in to change notification settings

UNIC-Lab/RadioDiff-k

Repository files navigation

RadioDiff-k2 ๐Ÿ“ก


Welcome to the RadioDiff family

Base BackBone, Paper Link: RadioDiff, Code Link: GitHub

PINN Enhanced with Helmholtz Equation, Paper Link: RadioDiff-$k^2$, Code Link: GitHub

Efficiency Enhanced RadioDiff, Paper Link: RadioDiff-Turbo

Indoor RM Construction with Physical Information, Paper Link: iRadioDiff, Code Link: GitHub

3D RM with DataSet, Paper Link: RadioDiff-3D, Code Link: GitHub

Sparse Measurement for RM ISAC, Paper Link: RadioDiff-Inverse

Sparse Measurement for NLoS Localization, Paper Link: RadioDiff-Loc

For more RM information, please visit the repo of Awesome-Radio-Map-Categorized


๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰ The paper has been accepted by IEEE JSAC!

An intelligent radio-map reconstruction system based on diffusion models. ๐Ÿ“ถโœจ

Python PyTorch License

RadioDiff-k2 is an advanced radio-map reconstruction project that leverages conditional diffusion models to generate high-quality radio-coverage maps from sparse measurements. The project serves 5G and 6G network planning, propagation prediction, and network optimization. ๐Ÿš€๐Ÿ“ก

โœจ Key Features

๐ŸŽฏ Multiple Simulation Methods

  • DPM โ€” deterministic propagation modeling with high speed and accuracy
  • IRT4 โ€” iterative ray tracing with high-precision prediction
  • DPMCARK โ€” vehicle-aware enhancement for urban mobility scenes ๐Ÿš—๐Ÿ“ก

๐Ÿ—๏ธ Advanced Architecture

  • Conditional diffusion model built on Swin Transformer
  • VAE encoder for compact and efficient representation
  • Multi-scale processing for flexible resolution support ๐Ÿง ๐Ÿงฉ

๐Ÿ“Š Rich Conditioning Features

  • Building layouts for realistic urban environments
  • Transmitter positions to capture source attributes
  • Vehicle data for dynamic occlusions
  • k2 features to encode physical propagation traits ๐Ÿ™๏ธ๐Ÿ“๐Ÿš˜๐Ÿ“

๐Ÿš€ Quick Start

Environment Requirements

Python >= 3.8
CUDA >= 11.0
PyTorch >= 1.12

๐Ÿ“ Project Structure

RadioDiff-k2/
โ”œโ”€โ”€ ๐Ÿ“‹ configs/ # Configuration files
โ”‚ โ”œโ”€โ”€ BSDS_sample_*.yaml # Inference configs
โ”‚ โ””โ”€โ”€ BSDS_train_*.yaml # Training configs
โ”œโ”€โ”€ ๐Ÿง  denoising_diffusion_pytorch/ # Diffusion core
โ”œโ”€โ”€ ๐Ÿ”ง lib/ # Utilities
โ”‚ โ”œโ”€โ”€ loaders.py # Data loaders
โ”‚ โ””โ”€โ”€ modules.py # Network modules
โ”œโ”€โ”€ ๐Ÿ’พ model/ # Pretrained models
โ”œโ”€โ”€ ๐Ÿ“Š inference/ # Inference results
โ”‚ โ”œโ”€โ”€ DPMCARK/ # DPMCARK outputs
โ”‚ โ”œโ”€โ”€ DPMK/ # DPMK outputs
โ”‚ โ””โ”€โ”€ IRT4K/ # IRT4K outputs
โ”œโ”€โ”€ ๐Ÿ“ˆ metrics/ # Evaluation metrics
โ”œโ”€โ”€ ๐Ÿš€ train_cond_ldm.py # Training script
โ”œโ”€โ”€ ๐Ÿ”ฎ sample_cond_ldm.py # Inference script
โ”œโ”€โ”€ ๐Ÿ—๏ธ train_vae.py # VAE training
โ”œโ”€โ”€ ๐Ÿงฎ caculate_k.py # k2 feature computation
โ”œโ”€โ”€ ๐ŸŽฏ demo.py # Usage examples
โ”œโ”€โ”€ ๐Ÿ“ฆ requirements.txt # Dependencies
โ””โ”€โ”€ ๐Ÿ“– README.md # Project docs

Method 2: conda

๐ŸŽฏ Usage Guide

1๏ธโƒฃ Data Preparation

Dataset Layout

RadioMapSeer/
โ”œโ”€โ”€ ๐Ÿ“ png/
โ”‚ โ”œโ”€โ”€ buildings_complete/ # Building images 256x256
โ”‚ โ”œโ”€โ”€ antennas/ # Transmitter positions 256x256
โ”‚ โ””โ”€โ”€ cars/ # Vehicle information optional
โ”œโ”€โ”€ ๐Ÿ“ gain/
โ”‚ โ”œโ”€โ”€ DPM/ # DPM simulation results
โ”‚ โ”œโ”€โ”€ IRT4/ # IRT4 simulation results
โ”‚ โ””โ”€โ”€ IRT4_k2_neg_norm/ # k2 feature maps
โ””โ”€โ”€ ๐Ÿ“ metadata/ # Meta files

Generate k2 Features

# Run the k2 feature computation script
python caculate_k.py

2๏ธโƒฃ Model Training

Step 1 โ€” Train the conditional diffusion model

# Train the main model
python train_cond_ldm.py --cfg configs/BSDS_train_DPMK.yaml
python train_cond_ldm.py --cfg configs/BSDS_train_DPMCARK.yaml
python train_cond_ldm.py --cfg configs/BSDS_train_IRT4K.yaml

3๏ธโƒฃ Inference

Basic Inference

# DPMCARK inference
python sample_cond_ldm.py --cfg configs/BSDS_sample_DPMCARK.yaml
# DPMK inference
python sample_cond_ldm.py --cfg configs/BSDS_sample_DPMK.yaml
# IRT4K inference
python sample_cond_ldm.py --cfg configs/BSDS_sample_IRT4K.yaml

About

This is the code for paper "RadioDiff- $k^2$ : Helmholtz Equation Informed Generative Diffusion Model for Multi-Path Aware Radio Map Construction", accepted by IEEE JSAC.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle ใซใ‚ˆใฃใฆๅค‰ๆ›ใ•ใ‚ŒใŸใƒšใƒผใ‚ธ (->ใ‚ชใƒชใ‚ธใƒŠใƒซ) /