Sionna

Latest version: v0.17.0

Safety actively analyzes 623704 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.17.0

Ray tracing

- Every scene object has a now a velocity vector which is used to compute per-path Doppler shifts. These are used by `Paths.apply_doppler()`to compute time evolution of channel impulse responses.
- Every scene object has now  a `position` and `orientation` property that can be modified after a scene is loaded.
- A new tutorial notebook “Mobility in Sionna RT” demonstrates various ways how the new features can be used to simulate mobility.

Misc

- Fixes typos in the 5G NR PUSCH Tutorial (384)
- Fixes typos in the Neural Receiver Tutorial (406, contribution by pablosreyero)
- Fixes typos in Tutorial Notebooks 1 and 2 (355, contribution by LateNightIceCream)
- Fixes a bug in the `Demapper` for very high SNR (327, contribution by japm48)
- Fixes an issue in `sample_positions()` for coverage maps (376)
- Removes warnings related to casting from `tf.float` to `tf.complex` (348)
- Fixes a bug in `theta_phi_from_unit_vec()` so that gradients are always well defined

0.16.2

Ray tracing

- New feature that allows defining a plane beyond which everything in the preview becomes invisible. This is useful, e.g., to look into buildings
- For the computation of coverage maps, not providing a combining vector now results in summing the energy received by all antennas
- Improved accuracy of the implementation of the Fibonacci lattice

Misc

- All evaluation statistics are now passed to the `callback` of `sim_ber` (PR286, contribution by nbecker)
- Fixes issues related to compatibility with versions 2.14 and 2.15 of TensorFlow

0.16.1

Ray tracing

- Fixes issue related to slow GPU computation in `compute_paths` (283)
- Fixes a formatting issue in the Diffraction notebook (279)

0.16.0

Ray tracing

- Splits path tracing and EM field computation through the addition of two methods to `Scene`: `trace_paths()` to trace the paths and `compute_fields()` to compute the corresponding EM fields
- `Scene.compute_fields()` can now be executed in graph mode
- Adds a feature to use a callable object to compute radio material properties from the intersection points between rays and the scene and the ids of the intersected objects
- Adds a feature to use a callable object to compute the scattering patterns
- Adds a feature to define custom colors for radio devices that are used for rendering and preview
- Enables the instantiation of radio materials without loading a scene (PR 216, contribution by fklement)
- Fixes a bug with diffraction that was creating `NaN`s in some scenarios (201)
- Fixes a bug that occurred when reversing link directions using `Paths.reverse_direction`
- ***(Breaking change)*** Delay normalization is now done across all receive and transmit antennas of each transmitter-receiver pair
- `RadioMaterial` properties are not defined anymore as `tf.Variable` but can now be set freely by the user to be either a `tf.Variable` or a `tf.Tensor`
- ***(Breaking change)*** Removes the flags `trainable_relative_permittivity`, `trainable_conductivity`, `trainable_scattering_coefficient`, and `trainable_xpd_coefficient` from `RadioMaterial`
- `Transmitter` and `Receiver` position and orientation are not defined anymore as `tf.Variable` but can be set freely by the user to be either a `tf.Variable` or a `tf.Tensor`
- ***(Breaking change)*** Removes the flags `trainable_position` and `trainable_orientation` from `Transmitter` and  `Receiver`
- Fixes a bug with paths that were wrongly flagged as LoS in some multi-link scenarios
- Adds a flag to `Scene.compute_paths()` and `Scene.compute_fields()` to disable the addition of random phases to scattered paths
- Fixes the link to the `simple_reflector` Blender file in API documentation
- Speeds-up `Scene.preview()` by switching to `uint8`-typed textures for coverage maps
- Better document the difference between edges and wedges (PR 214, contribution by jeertmans)
- Fixes 231
- Fixes 222
- Fixes 217

FEC

- Fixes a bug in `make_systematic()` (PR 236, contribution by daniel-x)
- Fixes XLA issue in CN update of `LDPCBPDecoder` (255)

MISC

- Adds multi-gpu support via `tf.distribute` to `sim_ber()`
- Adds `target_ber`, `target_bler` and `callback`  to `sim_ber()` (PR 257, contribution by nbecker)
- Update requirements: TensorFlow 2.10 – 2.13, Python 3.9 – 3.11 and Ubuntu 22.04 recommended

0.15.1

FEC

- Fixes incompatibility with scipy>=1.11 in ``LDPC5GEncoder`` and ``LDPCBPDecoder`` (186, 191)

RT

- *(Breaking change)* ``Paths.cir()`` now returns the equivalent baseband channel impulse response (CIR)
- *(Breaking change)* When using non-synthetic arrays, ``Paths.cir()`` does not anymore apply the phase shifts due to the array geometries to the channel coefficients and discards the antenna dimensions of the tensor carrying the delays (``tau``). This is because ``cir_to_ofdm_channel()`` and ``cir_to_time_channel()`` accept as input CIRs with different delays for every transmit-receive antenna pair.
- Fixes ray leakage through corners in coverage map computation
- Fixes ``Scene.compute_paths()`` that was not working with non-synthetic arrays and multiple transmitters or receivers
- Fixes issue 174

Misc

- Fixes reference to incorrect PUSCHTransmitter in `` ebnodb2no`` calculation of `5G_NR_PUSCH.ipynb` tutorial
- Expands the API documentation of ``Paths.apply_doppler()`` with mathematical details for clarity

0.15.0

Features

Ray Tracing

- Add support for scattering:
- Paths: Only for the last interaction, i.e., transmitter -> N >= 0 reflections -> 1 scattering -> receiver
- Coverage map: Support for paths with arbitrary number of reflections and scattering interactions, in arbitrary order
- Enrich radio materials with scattering coefficients that control the power distribution between scattered and reflected rays
- Add support for Lambertian, directive, and backscattering patterns
- (Paths only) Randomly remove some scattered paths controlled by the `scat_keep_prob` parameter to avoid an overwhelming number of paths
- Add support for first-order diffraction, i.e., transmitter -> wedge -> receiver (paths and coverage map)
- **(Breaking change)** Replace uniform random sampling of initial ray directions with a Fibonacci lattice
    - Remove `seed` parameter of `Scene.compute_paths()` and `Scene.coverage_map()`
- **(Breaking change)** New definition of the coverage map
- **(Breaking change)** `Scene.compute_paths()` now returns paths coefficients instead of transition matrices
- Remove `Paths2CIR` layer: Channel impulse responses can be obtained through the `Paths.cir()` method
- Applying Doppler shift can now be done through the `Paths.apply_doppler()` method
- Add support for the 3GPP TR38901 polarization Model-1
- Add flags for enabling/disabling paths types in `Scene.compute_paths()`, `Scene.coverage_map()` and `Paths.cir()`
- Add flags for disabling check of the scene prior to computing paths of coverage maps
- New scenes
- `simple_wedge`: A wedge with a 90 degrees opening angle
- `simple_reflector`: A metallic square
- `double_reflector`: Two metallic squares
- `triple_reflector`: Three metallic rectangles
- `box`: A metallic box
- Fix (128)

FEC

- Enhanced MCS support for `TBConfig` and `LDPC5GEncoder` (146, 147)
- Add support for downlink in `Polar5GEncoder` and `Polar5GDecoder` (PR 84)
- Add feature to return CRC status in `PolarSCLDecoder` (134)
- Numerical improvements in `PolarSCLDecoder`

Channel models

- Add discrete channel models:
- `BinaryMemorylessChannel`
- `BinarySymmetricChannel`
- `BinaryErasureChannel`
- `BinaryZChannel`
- Fix (115)

Tutorials

- Add [dedicated section for ray tracing tutorials](https://nvlabs.github.io/sionna/tutorials.html#ray-tracing)
- Add tutorials on [diffraction](https://nvlabs.github.io/sionna/examples/Sionna_Ray_Tracing_Diffraction.html) and [scattering](https://nvlabs.github.io/sionna/examples/Sionna_Ray_Tracing_Scattering.html)
- Update the "[Primer on Electromagnetics](https://nvlabs.github.io/sionna/em_primer.html)" with sections on diffraction and scattering

Other

- Switch the docker images from Jupyter to JupterLab

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.