Generative and Explainable AI for High-Dimensional MIMO-OFDM Channel Estimation in Time-Frequency-Space Domain
This work is currently under review for publication in the IEEE Transactions on Green Communications and Networking
The code use Sionna library, python version Python 3.10.
Note: To use sionna on macOS, you must install the LLVM backend to avoid initialization errors
# Create new conda enviroment
conda create python=3.10 -n cdl
conda activate cdl
# Install requirements
pip install -r requirements.txt
# initial envs
export PYTHONPATH=`pwd`
export DRJIT_LIBLLVM_PATH="/path/to/libLLVM.dylib"
The steps bellow descrice the generate data, training channel estimation.
Make sure the configuration setting in src/settings/config.py are correct before generate the channel dataset for training.
python src/ml/gen_data.py
Note: This script also supports generating datasets using real ray-tracing data.
For more information, see Real Scenario
Make sure the configuration setting in src/settings/ml.py are correct before generate the channel dataset for training.
python src/ml/train.py
notebooks/eval.ipynb: for the CDL Channel datanotebooks/eval_rt.ipynb: for the Real data
notebooks/statistic_gbsm.ipynb: statistic the geometric characteristics of CDL channel model.notebooks/statistic_pipeline.ipynb: statistic the OFDM transmission pipeline and visualize evaluation resultsnotebooks/data.ipynb: visualize the data information
The real scenario is using OpenStreetMap for Blender. Follow this tutorial to use Sinonna RT + BLOSM and the demo notebooks/blender.ipynb. To generate the real data channel, you can follow dataset but update the channel configuration to use rt_channel.
![[pipelin]](/tnd-lab/High-Dimensional-MIMO-OFDM-Channel-Estimation/raw/main/images/pipeline.png)
