Skip to content

TOML Configuration Reference

Simulation scenarios can be fully configured using declarative .toml files located in config/.

This document details all configuration tables and fields.


1. Example Configuration

[scenario]
name = "diagonal"
net_file = "scenarios/diagonal/osm_v2.net.xml"
poly_file = "scenarios/diagonal/osm.poly.xml"

[simulation]
duration = 60.0
time_step = 0.1
seed = 42
workload = "cam" # "cam", "eebl", "cam_static_10hz"

[mobility]
mode = "sumo" # "sumo", "highway", "platoon", "urban"
nodes = 15

[phy]
model = "dualslope" # "dualslope" (802.11p), "wifi80211bd", "cv2x", "nr_v2x", "legacy_poly"
carrier_frequency_hz = 5.9e9
bandwidth_hz = 10.0e6
tx_power_dbm = 23.0
noise_floor_dbm = -99.0
d_break = 120.0
gamma1 = 2.05
gamma2 = 3.90
sigma_los = 3.1
sigma_nlos = 8.3
capture_threshold_db = 4.0
building_attenuation_db_per_m = 0.85
max_building_attenuation_db = 45.0

[mac]
mode = "edca" # "edca" or "aloha"
cca_threshold_dbm = -85.0
slot_time_us = 13.0
sifs_us = 32.0
cbr_window_s = 0.100

[dcc]
mode = "reactive" # "off", "reactive", "limeric"
target_cbr = 0.68
alpha = 0.016
beta = 0.0012
min_rate_hz = 2.0
max_rate_hz = 10.0

[actuation]
mode = "krauss_substep" # "krauss_substep" or "quantized"
max_decel = 6.0
reaction_time_s = 0.1
min_gap_m = 2.5

[metrics]
output_dir = "results/diagonal/"
export_csv = true
export_json = true
enable_pcap = true

2. Table-by-Table Reference

[scenario]

Key Type Default Description
name String "default" Scenario name identifier
net_file String "" Path to SUMO road network XML (.net.xml)
poly_file String "" Path to building polygon XML (.poly.xml) used for obstacle attenuation and knife-edge diffraction

[simulation]

Key Type Default Description
duration Float 30.0 Total simulation duration in seconds
time_step Float 0.1 Mobility stepping resolution in seconds
seed Integer 42 PRNG seed for deterministic reproducibility
workload String "cam" Traffic workload: "cam", "eebl", or "cam_static_10hz"

[phy]

Key Type Default Description
model String "dualslope" PHY model: "dualslope" (802.11p DSRC), "wifi80211bd", "cv2x", "nr_v2x", or "legacy_poly" (Parametric)
carrier_frequency_hz Float 5.9e9 Center carrier frequency (Hz)
bandwidth_hz Float 10.0e6 Channel bandwidth (Hz)
tx_power_dbm Float 23.0 Transmit power (\(23\,\text{dBm} = 200\,\text{mW}\))
noise_floor_dbm Float -99.0 Thermal noise floor (\(N_0\))
d_break Float 120.0 Breakpoint distance in meters
gamma1 Float 2.05 Path loss exponent before breakpoint
gamma2 Float 3.90 Path loss exponent after breakpoint
sigma_los Float 3.1 Log-normal shadow fading standard deviation for LoS (dB)
sigma_nlos Float 8.3 Log-normal shadow fading standard deviation for NLoS (dB)
capture_threshold_db Float 4.0 Receiver capture threshold (\(\gamma_{cap}\) in dB)
building_attenuation_db_per_m Float 0.85 Concrete wall penetration attenuation (dB/meter)
max_building_attenuation_db Float 45.0 Maximum concrete penetration attenuation cap (dB)

[mac]

Key Type Default Description
mode String "edca" MAC protocol: "edca" (IEEE 802.11p) or "aloha" (unslotted)
cca_threshold_dbm Float -85.0 Clear Channel Assessment (CCA) threshold in dBm
slot_time_us Float 13.0 Slot duration (\(\sigma\)) in microseconds
sifs_us Float 32.0 Short Inter-Frame Space duration in microseconds
cbr_window_s Float 0.100 Sliding window for Channel Busy Ratio calculation (100 ms)

[dcc]

Key Type Default Description
mode String "reactive" DCC profile: "off", "reactive" (ETSI TS 102 687 FSM), or "limeric"
target_cbr Float 0.68 Target channel busy ratio for LIMERIC (\(68\%\))
alpha Float 0.016 LIMERIC adaptation rate parameter \(\alpha\)
beta Float 0.0012 LIMERIC gain parameter \(\beta\)
min_rate_hz Float 2.0 Minimum message generation rate under heavy congestion (\(2\,\text{Hz} = 500\,\text{ms}\))
max_rate_hz Float 10.0 Maximum message generation rate under light channel load (\(10\,\text{Hz} = 100\,\text{ms}\))