This repository contains the implementation for the paper Generating High Dimensional User-Specific Wireless Channels using Diffusion Models (https://www.arxiv.org/abs/2409.03924).
After installing QuaDRiGa (https://quadriga-channel-model.de/software/),
place main_chgen.m in the /quadriga_src/ folder.
Then, execute the file in MATLAB. After generation, place the output files into /data/QuaDRiGa. Alternatively, you can download the dataset from Google Drive here.
To create and activate the Conda environment using the provided environment.yml, follow these steps:
-
Create the environment:
conda env create -f environment.yml
-
Activate the environment:
conda activate cDDIM
First, create /cDDIM_10000/ folder, and execute script_channel_ddim.py to train the model:
python script_channel_ddim.pyFor inference, use the following commands:
python ddim_inference.py generateto generate channel matrices. Then,
python ddim_inference.py concatenateto concatenate the generated matrices. The above description is for the quadriga dataset. A version for the DeepMIMO dataset will be updated.
This repository was inspired by the following codebases:
- The codebase is primarily based on conditional MNIST: https://github.com/cloneofsimo/minDiffusion
Two downstream tasks mentioned in the paper:
- Channel compression - CRNet: https://github.com/Kylin9511/CRNet
- Site-specific beamforming - DLGF: https://github.com/YuqiangHeng/DLGF
Other ideas are referenced in the paper.
If you find this repository helpful, please cite our work!:
@article{lee2024generating,
title={Generating High Dimensional User-Specific Wireless Channels using Diffusion Models},
author={Lee, Taekyun and Park, Juseong and Kim, Hyeji and Andrews, Jeffrey G},
journal={arXiv preprint arXiv:2409.03924},
year={2024}
}