Radio Network Digital Twin
The Radio Network Digital Twin (VectorizedChannelModel) simulates millimeter-wave (mmWave) 29 GHz propagation dynamics across 3D urban topographies.
Propagation Path Loss Model
Path loss \(\text{PL}(d)\) between transmitter \(i\) and receiver \(j\) at 3D distance \(d = \|\mathbf{p}_i - \mathbf{p}_j\|\) is modeled as:
where:
\(\text{PL}_0\): Reference path loss at distance \(d_0 = 1\text{m}\) for carrier frequency \(f_c = 28\text{ GHz}\).
\(\eta\): Path loss exponent, taking distinct values based on geospatial LoS state:
\(X_\sigma \sim \mathcal{N}(0, \sigma^2)\): Log-normal shadow fading.
SINR & Shannon Data Rates
Signal-to-Interference-plus-Noise Ratio (SINR) for link \((i, j)\) with transmit power \(P_{\text{tx}}\):
Achievable data transmission rate \(R_{ij}\) follows Shannon channel capacity:
Vectorized Channel Computation
VectorizedChannelModel computes data rates for all links across thousands of environments simultaneously:
import torch
from urbanmarl.models.channel import VectorizedChannelModel
channel = VectorizedChannelModel(
carrier_frequency=28e9,
bandwidth=20e6,
tx_power_dbm=30.0,
noise_figure_db=9.0,
device="cuda"
)
# Calculate data rates (B, N_tx, M_rx)
data_rates = channel.compute_data_rates(
tx_pos=tx_positions,
rx_pos=rx_positions,
los_matrix=los_states,
)