tdl_time_cov_mat#
- sionna.phy.ofdm.tdl_time_cov_mat(model: str, speed: float, carrier_frequency: float, ofdm_symbol_duration: float, num_ofdm_symbols: int, los_angle_of_arrival: float = 0.7853981633974483, precision: Literal['single', 'double'] | None = None) torch.Tensor[source]#
Compute the time covariance matrix of a
TDLchannel model.For non-line-of-sight (NLoS) model, the channel time covariance matrix \(\mathbf{R^{(t)}}\) of a TDL channel model is
\[\mathbf{R^{(t)}}_{u,v} = J_0 \left( \nu \Delta_t \left( u-v \right) \right)\]where \(J_0\) is the zero-order Bessel function of the first kind, \(\Delta_t\) the duration of an OFDM symbol, and \(\nu\) the Doppler spread defined by
\[\nu = 2 \pi \frac{v}{c} f_c\]where \(v\) is the movement speed, \(c\) the speed of light, and \(f_c\) the carrier frequency.
For line-of-sight (LoS) channel models, the channel time covariance matrix is
\[\mathbf{R^{(t)}}_{u,v} = P_{\text{NLoS}} J_0 \left( \nu \Delta_t \left( u-v \right) \right) + P_{\text{LoS}}e^{j \nu \Delta_t \left( u-v \right) \cos{\alpha_{\text{LoS}}}}\]where \(\alpha_{\text{LoS}}\) is the angle-of-arrival for the LoS path, \(P_{\text{NLoS}}\) the total power of NLoS paths, and \(P_{\text{LoS}}\) the power of the LoS path. The power delay profile is assumed to have unit power, i.e., \(P_{\text{NLoS}} + P_{\text{LoS}} = 1\).
- Parameters:
model (str) – TDL model (
"A","B","C","D","E")speed (float) – Speed [m/s]
carrier_frequency (float) – Carrier frequency [Hz]
ofdm_symbol_duration (float) – Duration of an OFDM symbol [s]
num_ofdm_symbols (int) – Number of OFDM symbols
los_angle_of_arrival (float) – Angle-of-arrival for LoS path [radian]. Only used with LoS models.
precision (Literal['single', 'double'] | None) – Precision used for internal calculations and outputs. If set to None,
precisionis used.
Examples
from sionna.phy.ofdm import tdl_time_cov_mat cov_mat = tdl_time_cov_mat("A", 3.0, 3.5e9, 35.7e-6, 14) print(cov_mat.shape) # torch.Size([14, 14])