Datasets#

Channel simulation dataset utilities for training and testing.

Overview#

The Datasets module provides tools for generating and managing channel simulation datasets using Sionna:

  • CDL Channel Generation - Generate 3GPP CDL channel models

  • Dataset Management - Setup and configure dataset pipelines

  • Configuration - Sionna CDL configuration utilities

API Reference#

Dataset utilities for channel simulation.

class ran.datasets.SionnaCDLConfig(
num_sc_per_prb: int = 12,
num_prb: int = 273,
train_total: int = 20,
test_total: int = 50,
shard_size: int = 50,
batch_tf: int = 256,
prng_seed: int = 0,
model_type: str = 'CDL',
tdl_model: str = 'C',
delay_spread_ns: float = 100.0,
fc_ghz: float = 3.5,
speed_min: float = 0.0,
speed_max: float = 30.0,
direction: str = 'uplink',
bs_num_rows: int = 4,
bs_num_cols: int = 1,
bs_polarization: str = 'single',
bs_polarization_type: str = 'V',
bs_antenna_pattern: str = '38.901',
ue_num_rows: int = 1,
ue_num_cols: int = 1,
ue_polarization: str = 'single',
ue_polarization_type: str = 'V',
ue_antenna_pattern: str = '38.901',
)[source]#

Bases: object

Configuration class for CDL channel generation parameters.

Supports CDL (Clustered Delay Line) models with configurable antenna arrays.

__init__(
num_sc_per_prb: int = 12,
num_prb: int = 273,
train_total: int = 20,
test_total: int = 50,
shard_size: int = 50,
batch_tf: int = 256,
prng_seed: int = 0,
model_type: str = 'CDL',
tdl_model: str = 'C',
delay_spread_ns: float = 100.0,
fc_ghz: float = 3.5,
speed_min: float = 0.0,
speed_max: float = 30.0,
direction: str = 'uplink',
bs_num_rows: int = 4,
bs_num_cols: int = 1,
bs_polarization: str = 'single',
bs_polarization_type: str = 'V',
bs_antenna_pattern: str = '38.901',
ue_num_rows: int = 1,
ue_num_cols: int = 1,
ue_polarization: str = 'single',
ue_polarization_type: str = 'V',
ue_antenna_pattern: str = '38.901',
) None#
batch_tf: int = 256#
bs_antenna_pattern: str = '38.901'#
bs_num_cols: int = 1#
bs_num_rows: int = 4#
bs_polarization: str = 'single'#
bs_polarization_type: str = 'V'#
delay_spread_ns: float = 100.0#
direction: str = 'uplink'#
fc_ghz: float = 3.5#
model_type: str = 'CDL'#
num_prb: int = 273#
num_sc_per_prb: int = 12#
prng_seed: int = 0#
shard_size: int = 50#
speed_max: float = 30.0#
speed_min: float = 0.0#
tdl_model: str = 'C'#
test_total: int = 50#
train_total: int = 20#
ue_antenna_pattern: str = '38.901'#
ue_num_cols: int = 1#
ue_num_rows: int = 1#
ue_polarization: str = 'single'#
ue_polarization_type: str = 'V'#
ran.datasets.gen_cdl_channels(
config: SionnaCDLConfig,
validation_frac: float = 0.15,
out_dir: str = '/opt/nvidia/aerial-framework/out/sionna_dataset',
) tuple[int, int, int][source]#

Generate CDL channel dataset using Sionna and save to safetensors.

This function generates channel realizations, splits them into train/val/test, and saves directly to safetensors format, eliminating intermediate files.

Parameters:
  • config – Configuration object containing all channel generation parameters.

  • validation_frac – Fraction of training data for validation.

  • out_dir – Output directory for generated files.

Returns:

Tuple of (num_train, num_val, num_test) samples.

ran.datasets.setup_datasets(
train_glob: str,
test_glob: str,
num_sc: int,
validation_frac: float,
prng_seed: int = 0,
num_symbols: int = 14,
num_rx: int = 4,
) tuple[SionnaChannelDataset, SionnaChannelDataset, SionnaChannelDataset][source]#

Setup train, validation, and test datasets.

Parameters:
  • train_glob – Glob pattern for training data files

  • test_glob – Glob pattern for test data files

  • num_sc – Number of subcarriers

  • validation_frac – Fraction of training data to use for validation

  • prng_seed – Random seed for dataset splitting

  • num_symbols – Number of OFDM symbols

  • num_rx – Number of RX antennas

Return type:

Tuple of (train_dataset, val_dataset, test_dataset)