Skip to content

Commit

Permalink
Release v0.17.0
Browse files Browse the repository at this point in the history
Signed-off-by: The Sionna Team <sionna@nvidia.com>
Merged-by: Guillermo Marcus <4169784+gmarcusm@users.noreply.github.com>

Co-authored-by: Jakob Hoydis <5190129+jhoydis@users.noreply.github.com>
Co-authored-by: Fayçal Ait-Aoudi <43564757+faycalaa@users.noreply.github.com>
Co-authored-by: Sebastian Cammerer <18167671+SebastianCa@users.noreply.github.com>
Co-authored-by: Guillermo Marcus <4169784+gmarcusm@users.noreply.github.com>
Co-authored-by: Merlin Nimier-David <merlin.nimier@gmail.com>
Co-authored-by: LateNightIceCream <richardgruenert@live.com>
Co-authored-by: Pablo Suárez <pablosreyero@gmail.com>
Co-authored-by: Juan A. Pedreira <juan.pedreira@keysight.com>
  • Loading branch information
9 people committed Apr 24, 2024
1 parent 3a4538d commit 8ad32bc
Show file tree
Hide file tree
Showing 267 changed files with 3,943 additions and 1,941 deletions.
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->
# Code of Conduct
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->
# Contributing to Sionna
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SPDX-FileCopyrightText: Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->
# Sionna: An Open-Source Library for Next-Generation Physical Layer Research
Expand Down Expand Up @@ -38,7 +38,7 @@ On macOS, you need to install [tensorflow-macos](https://github.com/apple/tensor
```
>>> import sionna
>>> print(sionna.__version__)
0.16.2
0.17.0
```

3.) Once Sionna is installed, you can run the [Sionna "Hello, World!" example](https://nvlabs.github.io/sionna/examples/Hello_World.html), have a look at the [quick start guide](https://nvlabs.github.io/sionna/quickstart.html), or at the [tutorials](https://nvlabs.github.io/sionna/tutorials.html).
Expand Down Expand Up @@ -97,7 +97,7 @@ We recommend to do this within a [virtual environment](https://docs.python.org/3
```
>>> import sionna
>>> print(sionna.__version__)
0.16.2
0.17.0
```

## License and Citation
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->
# Reporting vulnerabilities
Expand Down
2 changes: 1 addition & 1 deletion doc/build_docs.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##
## SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
## SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
## SPDX-License-Identifier: Apache-2.0
##
set -e
Expand Down
2 changes: 1 addition & 1 deletion doc/make.bat
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
::
:: SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
:: SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
:: SPDX-License-Identifier: Apache-2.0
::
@ECHO OFF
Expand Down
2 changes: 1 addition & 1 deletion doc/source/_ext/made_with_sionna.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#

Expand Down
2 changes: 1 addition & 1 deletion doc/source/_static/css/sionna.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
*/
.wy-side-nav-search {
Expand Down
2 changes: 1 addition & 1 deletion doc/source/api/nr.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ simulations of the 5G NR PUSCH with a few lines of code:
y = channel([x, no]) # Simulate channel output
b_hat = pusch_receiver([x, no]) # Recover the info bits
b_hat = pusch_receiver([y, no]) # Recover the info bits
# Compute BER
print("BER:", compute_ber(b, b_hat).numpy())
Expand Down
1 change: 1 addition & 0 deletions doc/source/api/rt.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,4 @@ References:
.. [Balanis97] A. Balanis, "Antenna Theory: Analysis and Design," 2nd Edition, John Wiley & Sons, 1997.
.. [ITUR_P2040_2] ITU-R, “Effects of building materials and structures on radiowave propagation above about 100 MHz“, Recommendation ITU-R P.2040-2
.. [SurfaceIntegral] Wikipedia, "`Surface integral <https://en.wikipedia.org/wiki/Surface_integral>`_", accessed Jun. 22, 2023.
.. [Wiffen2018] F. Wiffen et al., "`Comparison of OTFS and OFDM in Ray Launched sub-6 GHz and mmWave Line-of-Sight Mobility Channels <https://ieeexplore.ieee.org/abstract/document/8580850>`_", Proc. IEEE Int. Sym. Personal, Indoor and Mobil Radio Commun. (PIMRC), Bologna, Italy, Sep. 2018.
6 changes: 6 additions & 0 deletions doc/source/api/rt_scene.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,12 @@ simple_street_canyon
:annotation:
(`Blender file <https://drive.google.com/file/d/1_1nsLtSC8cy1QfRHAN_JetT3rPP21tNb/view?usp=share_link>`__)

simple_street_canyon_with_cars
------------------------------
.. autodata:: sionna.rt.scene.simple_street_canyon_with_cars
:annotation:
(`Blender file <https://drive.google.com/file/d/1ddxtSx5tMX22CbJKUZUU3wJeHsEjrDAX/view?usp=share_link>`__)

etoile
------
.. autodata:: sionna.rt.scene.etoile
Expand Down
2 changes: 1 addition & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#

Expand Down
6 changes: 3 additions & 3 deletions doc/source/em_primer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The spherical unit vectors are defined as
\hat{\boldsymbol{\varphi}}(\theta, \varphi) &= -\sin(\varphi) \hat{\mathbf{x}} + \cos(\varphi) \hat{\mathbf{y}}.
\end{align}
For an arbitrary unit norm vector :math:`\hat{\mathbf{v}} = (x, y, z)`, the elevation and azimuth angles :math:`\theta` and :math:`\varphi` can be computed as
For an arbitrary unit norm vector :math:`\hat{\mathbf{v}} = (x, y, z)`, the zenith and azimuth angles :math:`\theta` and :math:`\varphi` can be computed as

.. math::
:label: theta_phi
Expand Down Expand Up @@ -69,8 +69,8 @@ If a point in the first coordinate system has spherical angles :math:`(\theta, \
:label: theta_phi_prime
\begin{align}
\theta' &= \cos^{-1}\left( \mathbf{z}^\mathsf{T} \mathbf{R}^\mathsf{T}(\alpha, \beta, \gamma)\hat{\mathbf{r}}(\theta, \varphi) \right)\\
\varphi' &= \arg\left( \left( \mathbf{x} + j\mathbf{y}\right)^\mathsf{T} \mathbf{R}^\mathsf{T}(\alpha, \beta, \gamma)\hat{\mathbf{r}}(\theta, \varphi) \right).
\theta' &= \cos^{-1}\left( \hat{\mathbf{z}}^\mathsf{T} \mathbf{R}^\mathsf{T}(\alpha, \beta, \gamma)\hat{\mathbf{r}}(\theta, \varphi) \right)\\
\varphi' &= \arg\left( \left( \hat{\mathbf{x}} + j\hat{\mathbf{y}}\right)^\mathsf{T} \mathbf{R}^\mathsf{T}(\alpha, \beta, \gamma)\hat{\mathbf{r}}(\theta, \varphi) \right).
\end{align}
For a vector field :math:`\mathbf{F}'(\theta',\varphi')` expressed in local spherical coordinates
Expand Down
Binary file added doc/source/figures/doppler.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/figures/street_canyon_with_cars.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions doc/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ e.g., using `conda <https://docs.conda.io>`_. On macOS, you need to install `ten
>>> import sionna
>>> print(sionna.__version__)
0.16.2
0.17.0
3.) Once Sionna is installed, you can run the `Sionna "Hello, World!" example <https://nvlabs.github.io/sionna/examples/Hello_World.html>`_, have a look at the `quick start guide <https://nvlabs.github.io/sionna/quickstart.html>`_, or at the `tutorials <https://nvlabs.github.io/sionna/tutorials.html>`_.

Expand Down Expand Up @@ -111,4 +111,4 @@ e.g., using `conda <https://docs.conda.io>`_.
>>> import sionna
>>> print(sionna.__version__)
0.16.2
0.17.0
50 changes: 34 additions & 16 deletions doc/source/made_with_sionna.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,27 @@
"Made with Sionna"
==================

We love to see how Sionna is used by other researchers! For this reason, you find below links to papers whose authors have also published Sionna-based simulation code.
We love to see how Sionna is used by other researchers! For this reason, you find below links to papers/projects whose authors have published Sionna-based simulation code.

If you want your paper/project and code be listed here, please send an email to `sionna@nvidia.com <mailto:sionna@nvidia.com>`_ with links to the paper (e.g., `arXiv <https://arxiv.org>`_) and code repository (e.g., `GitHub <https://github.com>`_).

Community-made tools
--------------------

.. H3 headers are not displayed (CSS rule), so we use H4 below instead.
.. Dummy H3 header for section nesting consistency.
.. made-with-sionna::
:title: BostonTwin: the Boston Digital Twin for Ray-Tracing in 6G Networks
:authors: Paolo Testolina, Michele Polese, Pedram Johari, Tommaso Melodia
:year: March 2024
:version: 0.16
:link_arxiv: https://arxiv.org/abs/2403.12289
:link_github: https://github.com/wineslab/boston_twin
:abstract: Digital twins are now a staple of wireless networks design and evolution. Creating an accurate digital copy of a real system offers numerous opportunities to study and analyze its performance and issues. It also allows designing and testing new solutions in a risk-free environment, and applying them back to the real system after validation. A candidate technology that will heavily rely on digital twins for design and deployment is 6G, which promises robust and ubiquitous networks for eXtended Reality (XR) and immersive communications solutions. In this paper, we present BostonTwin, a dataset that merges a high-fidelity 3D model of the city of Boston, MA, with the existing geospatial data on cellular base stations deployments, in a ray-tracing-ready format. Thus, BostonTwin enables not only the instantaneous rendering and programmatic access to the building models, but it also allows for an accurate representation of the electromagnetic propagation environment in the real-world city of Boston. The level of detail and accuracy of this characterization is crucial to designing 6G networks that can support the strict requirements of sensitive and high-bandwidth applications, such as XR and immersive communication.

.
*
.. made-with-sionna::
:title: Integrating Pre-Trained Language Model with Physical Layer Communications
:authors: Ju-Hyung Lee, Dong-Ho Lee, Joohan Lee, Jay Pujara
:year: February 2024
:version: 0.16
:link_arxiv: https://arxiv.org/abs/2402.11656
:link_github: https://github.com/abman23/on-device-ai-comm
:abstract: The burgeoning field of on-device AI communication, where devices exchange information directly through embedded foundation models, such as language models (LMs), requires robust, efficient, and generalizable communication frameworks. However, integrating these frameworks with existing wireless systems and effectively managing noise and bit errors pose significant challenges. In this work, we introduce a practical on-device AI communication framework, integrated with physical layer (PHY) communication functions, demonstrated through its performance on a link-level simulator. Our framework incorporates end-to-end training with channel noise to enhance resilience, incorporates vector quantized variational autoencoders (VQ-VAE) for efficient and robust communication, and utilizes pre-trained encoder-decoder transformers for improved generalization capabilities. Simulations, across various communication scenarios, reveal that our framework achieves a 50% reduction in transmission size while demonstrating substantial generalization ability and noise robustness under standardized 3GPP channel models.

.. made-with-sionna::
:title: OpenStreetMap to Sionna Scene in Python
Expand All @@ -22,14 +32,23 @@ Community-made tools
:link_github: https://github.com/manoj-kumar-joshi/sionna_osm_scene
:abstract: This Jupyter notebook shows how to create a Sionna scene (Mitsuba format) in Python code from OpenStreetMap data. Buildings are extruded and meshes for roads are created in a region specified by the user. It is an alternative to the Blender-based workflow presented <a href="https://youtu.be/7xHLDxUaQ7c">in this video</a>.

.. made-with-sionna::
:title: Learning radio environments by differentiable ray tracing
:authors: Jakob Hoydis, Fayçal Aït Aoudia, Sebastian Cammerer, Florian Euchner, Merlin Nimier-David, Stephan ten Brink, Alexander Keller
:year: 2023
:version: 0.16
:link_arxiv: https://arxiv.org/abs/2311.18558
:link_github: https://github.com/NVlabs/diff-rt-calibration
:abstract: Ray tracing (RT) is instrumental in 6G research in order to generate spatially-consistent and environment-specific channel impulse responses(CIRs). While acquiring accurate scene geometries is now relatively straightforward, determining material characteristics requires precise calibration using channel measurements. We therefore introduce a novel gradient-based calibration method, complemented by differentiable parametrizations of material properties, scattering and antenna patterns. Our method seamlessly integrates with differentiable ray tracers that enable the computation of derivatives of CIRs with respect to these parameters. Essentially, we approach field computation as a large computational graph wherein parameters are trainable akin to weights of a neural network (NN). We have validated our method using both synthetic data and real-world indoor channel measurements, employing a distributed multiple-input multiple-output (MIMO) channel sounder.

List of Projects
----------------

If you want your paper and code be listed here, please send an email to `sionna@nvidia.com <mailto:sionna@nvidia.com>`_ with links to the paper (e.g., `arXiv <https://arxiv.org>`_) and code repository (e.g., `GitHub <https://github.com>`_).

.
*
.. made-with-sionna::
:title: A Scalable and Generalizable Pathloss Map Prediction
:authors: Ju-Hyung Lee, Andreas F. Molisch
:year: December 2023
:version: 0.16
:link_arxiv: https://arxiv.org/abs/2312.03950
:link_github: https://github.com/abman23/pmnet-sionna-rt
:abstract: Large-scale channel prediction, i.e., estimation of the pathloss from geographical/morphological/building maps, is an essential component of wireless network planning. Ray tracing (RT)-based methods have been widely used for many years, but they require significant computational effort that may become prohibitive with the increased network densification and/or use of higher frequencies in B5G/6G systems. In this paper, we propose a data-driven, model-free pathloss map prediction (PMP) method, called PMNet. PMNet uses a supervised learning approach: it is trained on a limited amount of RT (or channel measurement) data and map data. Once trained, PMNet can predict pathloss over location with high accuracy (an RMSE level of 10−2) in a few milliseconds. We further extend PMNet by employing transfer learning (TL). TL allows PMNet to learn a new network scenario quickly (x5.6 faster training) and efficiently (using x4.5 less data) by transferring knowledge from a pre-trained model, while retaining accuracy. Our results demonstrate that PMNet is a scalable and generalizable ML-based PMP method, showing its potential to be used in several network optimization applications.

.. made-with-sionna::
:title: Graph Neural Networks for Enhanced Decoding of Quantum LDPC Codes
Expand All @@ -50,7 +69,6 @@ If you want your paper and code be listed here, please send an email to `sionna@
:link_colab: https://colab.research.google.com/github/NVlabs/diff-rt/blob/master/Learning_Materials.ipynb
:abstract: Sionna is a GPU-accelerated open-source library for link-level simulations based on TensorFlow. Its latest release (v0.14) integrates a differentiable ray tracer (RT) for the simulation of radio wave propagation. This unique feature allows for the computation of gradients of the channel impulse response and other related quantities with respect to many system and environment parameters, such as material properties, antenna patterns, array geometries, as well as transmitter and receiver orientations and positions. In this paper, we outline the key components of Sionna RT and showcase example applications such as learning of radio materials and optimizing transmitter orientations by gradient descent. While classic ray tracing is a crucial tool for 6G research topics like reconfigurable intelligent surfaces, integrated sensing and communications, as well as user localization, differentiable ray tracing is a key enabler for many novel and exciting research directions, for example, digital twins.


.. made-with-sionna::
:title: DUIDD: Deep-Unfolded Interleaved Detection and Decoding for MIMO Wireless Systems
:authors: Reinhard Wiesmayr, Chris Dick, Jakob Hoydis, Christoph Studer
Expand Down
1 change: 1 addition & 0 deletions doc/source/tutorials.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,5 @@ Ray Tracing
examples/Sionna_Ray_Tracing_Introduction.ipynb
examples/Sionna_Ray_Tracing_Diffraction.ipynb
examples/Sionna_Ray_Tracing_Scattering.ipynb
examples/Sionna_Ray_Tracing_Mobility.ipynb

4 changes: 2 additions & 2 deletions examples/5G_NR_PUSCH.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@
"\n",
"y = channel([x, no]) # Simulate channel output\n",
"\n",
"b_hat = pusch_receiver([x, no]) # Recover the info bits\n",
"b_hat = pusch_receiver([y, no]) # Recover the info bits\n",
"\n",
"# Compute BER\n",
"print(\"BER:\", compute_ber(b, b_hat).numpy())"
Expand Down Expand Up @@ -1935,7 +1935,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
"version": "3.10.12"
},
"vscode": {
"interpreter": {
Expand Down
Loading

0 comments on commit 8ad32bc

Please sign in to comment.