rms_delay_spread#

sionna.phy.channel.tr38901.rms_delay_spread(delays, powers, precision: Literal['single', 'double'] | None = None, device: str | None = None) → torch.Tensor[source]#

Computes the RMS delay spread of a power-delay profile.

For path delays \(\tau_n\) and linear powers \(P_n\), the RMS delay spread is

\[\sigma_\tau = \sqrt{\frac{\sum_n P_n \tau_n^2}{\sum_n P_n} - \left(\frac{\sum_n P_n \tau_n}{\sum_n P_n}\right)^2}.\]

This is the power-weighted second central moment used for delay-spread calibration. TR 38.901 uses RMS delay spread in Clauses 7.7.3 and 7.7.6 and in the calibration metrics of Tables 7.8-2 and 7.8-7, but does not assign this expression a separate equation number [TR38901V1920].

For a scalar channel impulse response with complex path coefficients \(a_n\), set \(P_n=|a_n|^2\). For MIMO or time-varying channel coefficients, the result then depends on how power is selected or averaged over antennas and time. Use delay_spread_from_rays() for the propagation-domain TR 38.901 calibration metric.

Parameters:
  • delays – Path delays [s] with shape [..., num_paths].

  • powers – Linear path powers with shape [..., num_paths].

  • precision (Literal['single', 'double'] | None) – Precision used for internal calculations and outputs. If set to None, precision is used.

  • device (str | None) – Device for computation. If None, device is used.

Outputs:

ds – RMS delay spread [s] with shape [...].