Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 Channel Simulation Data: Reproducible Reference Pipelines

License: CC BY-NC 4.0

This repository provides reproducible, model-compatible reference data-generation pipelines for channel foundation models (CFMs), including CSI-MAE and CSI-CLIP. It generates the complex channel frequency response (CFR/CSI) format consumed by both model repositories.

This is a code release, not a data release. Generated tensors and third-party simulation assets are intentionally excluded.

Important

The committed configurations are runnable reference examples. They do not reconstruct the complete training data used for the released CSI-MAE or CSI-CLIP checkpoints. Do not claim exact training-data or bitwise reproduction from these examples.

📁 Repository Contents

Pipeline Reference configuration Intended output
Sionna UMi Sionna 1.1.0, 3GPP TR 38.901 UMi, 3.5 GHz complex64 [N, 256, 256]
DeepMIMO DeepMIMOv3 0.2.9, O1_60 example complex64 [N, 256, 256]

Each example contains a frozen JSON configuration, generator, full-output validator, and pipeline-specific documentation.

🗂️ Model Input Contract

The generators write scenario directories below a local data root. The model loaders consume cfr.npy; metadata.json records how it was generated.

DATA_ROOT/
├── scenario_a/
│   ├── cfr.npy
│   └── metadata.json
└── scenario_b/
    ├── cfr.npy
    └── metadata.json

The shared tensor contract is:

cfr.npy: complex64 [sample, spatial_port, frequency]
shape:   [N, 256, 256]

The spatial axis contains 4 UE ports × 64 BS ports. Port ordering and any pipeline-specific side information are documented by the corresponding generator.

Preprocessing boundary

The generators save physical complex CFR without model normalization.

  • CSI-MAE converts CFR to real/imaginary channels and applies the fixed statistics in its dataset.py. This normalization is part of the published CSI-MAE weight contract.
  • CSI-CLIP applies its real/imaginary conversion, per-sample normalization, and CFR-to-CIR IFFT in the model repository.

Do not normalize the generated arrays in this repository; doing so would make the same files unsuitable for both model pipelines.

⚙️ Environment

The reference environments were tested with Python 3.10. Use separate Python environments because the two dependency sets use different NumPy versions.

Sionna reference environment:

python -m venv .venv-sionna
source .venv-sionna/bin/activate
pip install -r requirements/sionna.txt

DeepMIMO reference environment:

python -m venv .venv-deepmimo
source .venv-deepmimo/bin/activate
pip install -r requirements/deepmimo.txt

DeepMIMO scenario archives must be downloaded separately from the official scenario catalog.

🚀 Quick Start

Validate both frozen configurations without importing either simulator:

python examples/csi_mae_sionna/generate.py \
  --check-config --sets 0 --trajectories 0 --frame-limit 8

python examples/csi_clip_deepmimo/generate.py --check-config

Run a small Sionna smoke generation:

python examples/csi_mae_sionna/generate.py \
  --sets 0 \
  --trajectories 0 \
  --frame-limit 8 \
  --output-root outputs/sionna-smoke

python examples/csi_mae_sionna/validate.py outputs/sionna-smoke

For DeepMIMO generation and full Sionna runs, follow the README inside the corresponding example directory.

⚠️ Reproducibility Scope

  • Reproducibility is numerical/semantic, not guaranteed bitwise across CPUs, GPUs, drivers, or simulator builds.
  • The Sionna UMi example is model-compatible but is not asserted to match the distribution of the full CSI-MAE checkpoint training data.
  • The O1_60 DeepMIMO entry is one runnable example, not the complete CSI-CLIP pre-training scenario collection described in the paper.
  • Keep complete scenarios together when constructing train/validation/test partitions to avoid leakage between correlated users or frames.
  • Simulator packages, 3GPP materials, ray-tracing scenarios, and derived data remain subject to their own terms.

🙏 Acknowledgement

We thank the NVIDIA Sionna and DeepMIMO teams and contributors for making wireless channel simulation software and scenarios available to the research community. See the example READMEs for simulator-specific citations.

📜 License

Repository-owned code and documentation are released for research and other non-commercial use under the Creative Commons Attribution-NonCommercial 4.0 International license. Commercial use requires prior written authorization from the copyright holders.

This license does not relicense Sionna, TensorFlow, DeepMIMO, 3GPP materials, ray-tracing scenarios, or generated datasets. Users must follow all applicable upstream licenses and redistribution terms.

About

Reproducible reference channel simulation pipelines for CSI-MAE and CSI-CLIP

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors