prb_singular_values#
- sionna.phy.channel.tr38901.prb_singular_values(h: torch.Tensor, tau: torch.Tensor, carrier_frequency: float, subcarrier_spacing: float, prb_num_subcarriers: int = 12, prb_index: int | None = None) torch.Tensor[source]#
Computes PRB singular values for a frequency-selective MIMO channel.
For a baseband channel impulse response \(h_{r,t,n}\) with path delays \(\tau_n\), the frequency response on subcarrier \(k\) is
\[H_k = \sum_n h_n e^{-j2\pi f_k\tau_n}.\]The reported PRB singular values are the eigenvalues of \(H_kH_k^\mathsf{H}\) averaged over all subcarriers of the selected physical resource block and expressed in dB. This is the MIMO metric used for Phase 2 Config 2 calibration. It is defined by the note following the metric list in Table 7.8-2 of [TR38901V1920]; the table does not assign it a numbered equation.
- Parameters:
h (torch.Tensor) – Channel coefficients with shape
[..., num_rx_ant, num_tx_ant, num_paths], torch.complex.tau (torch.Tensor) – Path delays [s] with shape
[..., num_paths].carrier_frequency (float) – Carrier frequency [Hz]. This argument is ignored by the baseband computation and retained for backwards-compatible API symmetry with channel construction.
subcarrier_spacing (float) – Subcarrier spacing [Hz].
prb_num_subcarriers (int) – Number of subcarriers per PRB.
prb_index (int | None) – PRB index relative to DC. If None, the centered PRB is used.
- Outputs:
singular_values – Eigenvalues of the averaged covariance matrix [dB] with shape
[..., num_rx_ant], sorted in descending order.