BlockageModelB#
- class sionna.phy.channel.tr38901.BlockageModelB(scenario: SystemLevelScenario, blocker_centers: torch.Tensor, blocker_widths: torch.Tensor, blocker_heights: torch.Tensor, precision: str | None = None, device: str | None = None)[source]#
Bases:
sionna.phy.object.ObjectGeometric blockage model B from 3GPP TR 38.901.
This model implements the rectangular-screen blockage add-on from Section 7.6.4.2 of [TR38901V1920]. A set of physical blocker screens is placed in the global coordinate system. For every sub-path, the screen is rotated around its centre such that the incoming ray is perpendicular to the screen and the loss is computed from the simple knife-edge diffraction model
\[L_\mathrm{dB} = -20 \log_{10}\left( 1 - (F_{h_1}+F_{h_2})(F_{w_1}+F_{w_2}) \right)\]where the four \(F\) terms follow Eq. (7.6-30) of [TR38901V1920]. Losses from multiple screens are summed in dB. The LOS/NLOS state of each link is not changed by this model.
The positions and dimensions of the blockers are simulation assumptions. Recommended dimensions for humans, vehicles, AGVs, and industrial robots are listed in Table 7.6.4.2-5 of [TR38901V1920].
The optional, on-demand temporal variability of blockage described by TR 38.901 is currently not supported. Blockage attenuation does not evolve over the time samples of a generated channel realization.
When used with
ChannelCoefficientsGenerator, the returned losses are applied as per-ray amplitude factors \(10^{-L_\mathrm{dB}/20}\) before the channel paths are coherently summed. This convention is also used by the bundled blockage Model B RSRP calibration curves.- Parameters:
scenario (SystemLevelScenario) – System-level TR 38.901 scenario.
blocker_centers (torch.Tensor) – Blocker screen centres [m], shape
[num_blockers, 3]or[batch size, num_blockers, 3].blocker_widths (torch.Tensor) – Blocker widths [m], shape
[num_blockers]or[batch size, num_blockers].blocker_heights (torch.Tensor) – Blocker heights [m], shape
[num_blockers]or[batch size, num_blockers].precision (str | None) – Precision used for internal calculations. If None, the scenario precision is used.
device (str | None) – Device for computation. If None, the scenario device is used.
- Inputs:
aoa – Ray azimuth angles of arrival [degree], shape
[batch size, num_bs, num_ut, num_clusters, num_rays].zoa – Ray zenith angles of arrival [degree], shape
[batch size, num_bs, num_ut, num_clusters, num_rays].los_aoa – Optional LOS azimuth angles of arrival [degree], shape
[batch size, num_bs, num_ut].los_zoa – Optional LOS zenith angles of arrival [degree], shape
[batch size, num_bs, num_ut].
- Outputs:
ray_loss_db – Blockage attenuation [dB] for each ray, shape
[batch size, num_bs, num_ut, num_clusters, num_rays].los_loss_db – Blockage attenuation [dB] for the deterministic LOS component, or None if
los_aoaorlos_zoais None.
Attributes
Methods