differt.plugins.deepmimo.export

Contents

differt.plugins.deepmimo.export#

export(*, paths, scene, radio_materials=None, frequency, include_primitives=False, polarization='V')[source]#

Export a Ray Tracing simulation to the DeepMIMO format.

Note

The current implementation assumes far-field propagation in free space, and isotropic antennas with a single polarization.

While tests show a good match with Sionna’s sionna.rt.PathSolver for most attributes, DeepMIMO.power and DeepMIMO.phase are not exactly equal, and we don’t know yet if our implementation is 100% correct. If you know how to improve this, please open an issue or a pull-request on GitHub!

Parameters:
  • paths (Paths | Iterable[Paths]) –

    The geometrical paths.

    You can provide paths with different numbers of interactions by passing an iterable.

    E.g., the return value of TriangleScene.compute_paths.

  • scene (TriangleScene) – The scene that was used to compute the paths.

  • radio_materials (Mapping[str, Material] | None) –

    The list of materials in the scene.

    If not provided, materials will be used.

  • frequency (Float[ArrayLike, '']) – The operating frequency (in Hz).

  • include_primitives (bool) – If True, include the primitive indices in the output.

  • polarization (Literal['V', 'H'] | Float[ArrayLike, '3']) – The antenna polarization. Can be either "V" (vertical, z-axis up), "H" (horizontal, x-axis up), or a 3D unit vector.

Return type:

DeepMIMO[Array]

Returns:

The exported DeepMIMO data as JAX arrays.

Raises:

ValueError – If the scene does not contain information about face materials.