Skip to content

Commit

Permalink
update examples for Google Colab.
Browse files Browse the repository at this point in the history
Signed-off-by: The Sionna Team <[email protected]>
Merged-by: Guillermo Marcus <[email protected]>

Co-authored-by: Jakob Hoydis <[email protected]>
Co-authored-by: Fayçal Ait-Aoudia <[email protected]>
Co-authored-by: Sebastian Cammerer <[email protected]>
Co-authored-by: Guillermo Marcus <[email protected]>
Co-authored-by: Merlin Nimier-David <[email protected]>
Co-authored-by: Lorenzo Maggi <[email protected]>
  • Loading branch information
7 people committed Oct 1, 2024
1 parent 6a85e1c commit 0aeca34
Show file tree
Hide file tree
Showing 27 changed files with 285 additions and 160 deletions.
8 changes: 8 additions & 0 deletions doc/source/made_with_sionna.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ We love to see how Sionna is used by other researchers! For this reason, you fin

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

.. made-with-sionna::
:title: Physically Consistent RIS: From Reradiation Mode Optimization to Practical Realization
:authors: Javad Shabanpour, Constantin Simovski, Giovanni Geraci
:year: 2024
:version: 0.18
:link_arxiv: https://arxiv.org/abs/2409.17738
:abstract: We propose a practical framework for designing a physically consistent reconfigurable intelligent surface (RIS) to overcome the inefficiency of the conventional phase gradient approach. For a section of Cape Town and across three different coverage enhancement scenarios, we optimize the amplitude of the RIS reradiation modes using Sionna ray tracing and a gradient-based learning technique. We then determine the required RIS surface/sheet impedance given the desired amplitudes for the reradiation modes, design the corresponding unitcells, and validate the performance through full-wave numerical simulations using CST Microwave Studio. We further validate our approach by fabricating a RIS using the parallel plate waveguide technique and conducting experimental measurements that align with our theoretical predictions.

.. made-with-sionna::
:title: Design of a Standard-Compliant Real-Time Neural Receiver for 5G NR
:authors: Reinhard Wiesmayr, Sebastian Cammerer, Fayçal Aït Aoudia, Jakob Hoydis, Jakub Zakrzewski, Alexander Keller
Expand Down
12 changes: 12 additions & 0 deletions examples/5G_Channel_Coding_Polar_vs_LDPC_Codes.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,18 @@
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"import tensorflow as tf\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"gpus = tf.config.list_physical_devices('GPU')\n",
"if gpus:\n",
" try:\n",
" tf.config.experimental.set_memory_growth(gpus[0], True)\n",
" except RuntimeError as e:\n",
" print(e)\n",
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"# Set random seed for reproducibility\n",
"sionna.config.seed = 42\n",
"\n",
Expand Down
12 changes: 12 additions & 0 deletions examples/5G_NR_PUSCH.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,18 @@
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"import tensorflow as tf\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"gpus = tf.config.list_physical_devices('GPU')\n",
"if gpus:\n",
" try:\n",
" tf.config.experimental.set_memory_growth(gpus[0], True)\n",
" except RuntimeError as e:\n",
" print(e)\n",
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"sionna.config.seed = 42 # Set seed for reproducible results\n",
"\n",
"# Load the required Sionna components\n",
Expand Down
15 changes: 15 additions & 0 deletions examples/Autoencoder.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,21 @@
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"import tensorflow as tf\n",
"gpus = tf.config.list_physical_devices('GPU')\n",
"if gpus:\n",
" try:\n",
" tf.config.experimental.set_memory_growth(gpus[0], True)\n",
" except RuntimeError as e:\n",
" print(e)\n",
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"from tensorflow.keras import Model\n",
"from tensorflow.keras.layers import Layer, Dense\n",
"\n",
"from sionna.channel import AWGN\n",
"from sionna.utils import BinarySource, ebnodb2no, log10, expand_to_rank, insert_dims\n",
"from sionna.fec.ldpc.encoding import LDPC5GEncoder\n",
Expand Down
18 changes: 9 additions & 9 deletions examples/Bit_Interleaved_Coded_Modulation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,15 @@
" os.environ[\"CUDA_VISIBLE_DEVICES\"] = f\"{gpu_num}\"\n",
"os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"import tensorflow as tf\n",
Expand All @@ -95,15 +104,6 @@
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Load the required Sionna components\n",
"from sionna.mapping import Constellation, Mapper, Demapper\n",
"from sionna.fec.ldpc import LDPC5GEncoder, LDPC5GDecoder, LDPCBPDecoder\n",
Expand Down
19 changes: 9 additions & 10 deletions examples/CIR_Dataset.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@
" os.environ[\"CUDA_VISIBLE_DEVICES\"] = f\"{gpu_num}\"\n",
"os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"import tensorflow as tf\n",
Expand All @@ -61,16 +70,6 @@
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"import numpy as np\n",
"import h5py\n",
"\n",
Expand Down
18 changes: 9 additions & 9 deletions examples/DeepMIMO.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@
" os.environ[\"CUDA_VISIBLE_DEVICES\"] = f\"{gpu_num}\"\n",
"os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"import tensorflow as tf\n",
Expand All @@ -61,15 +70,6 @@
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"sionna.config.seed = 42 # Set seed for reproducible random number generation"
]
},
Expand Down
13 changes: 13 additions & 0 deletions examples/Evolution_of_FEC.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,19 @@
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"import tensorflow as tf\n",
"gpus = tf.config.list_physical_devices('GPU')\n",
"if gpus:\n",
" try:\n",
" tf.config.experimental.set_memory_growth(gpus[0], True)\n",
" except RuntimeError as e:\n",
" print(e)\n",
"\n",
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"sionna.config.seed = 42 # Set seed for reproducible random number generation\n",
"\n",
"# Load the required Sionna components\n",
Expand Down
11 changes: 11 additions & 0 deletions examples/Introduction_to_Iterative_Detection_and_Decoding.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,17 @@
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"import tensorflow as tf\n",
"from tensorflow.keras import Model\n",
"gpus = tf.config.list_physical_devices('GPU')\n",
"if gpus:\n",
" try:\n",
" tf.config.experimental.set_memory_growth(gpus[0], True)\n",
" except RuntimeError as e:\n",
" print(e)\n",
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
Expand Down
9 changes: 0 additions & 9 deletions examples/MIMO_OFDM_Transmissions_over_CDL.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -116,15 +116,6 @@
" print(e)\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Set random seed for reproducibility\n",
"sionna.config.seed = 42"
]
Expand Down
18 changes: 9 additions & 9 deletions examples/Neural_Receiver.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,15 @@
" os.environ[\"CUDA_VISIBLE_DEVICES\"] = f\"{gpu_num}\"\n",
"os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"import tensorflow as tf\n",
Expand All @@ -100,15 +109,6 @@
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"sionna.config.seed = 42 # Set seed for reproducible random number generation"
]
},
Expand Down
18 changes: 9 additions & 9 deletions examples/OFDM_MIMO_Detection.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,15 @@
" os.environ[\"CUDA_VISIBLE_DEVICES\"] = f\"{gpu_num}\"\n",
"os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"import tensorflow as tf\n",
Expand All @@ -133,15 +142,6 @@
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"sionna.config.seed = 42 # Set seed for reproducible random number generation"
]
},
Expand Down
20 changes: 10 additions & 10 deletions examples/Optical_Lumped_Amplification_Channel.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,15 @@
" os.environ[\"CUDA_VISIBLE_DEVICES\"] = f\"{gpu_num}\"\n",
"os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"import tensorflow as tf\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
Expand All @@ -103,15 +112,6 @@
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Set random seed for reproducibility\n",
"sionna.config.seed = 42\n",
"from sionna.channel import utils\n",
Expand Down Expand Up @@ -1360,7 +1360,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
"version": "3.12.4"
},
"vscode": {
"interpreter": {
Expand Down
20 changes: 10 additions & 10 deletions examples/Pulse_shaping_basics.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,15 @@
" os.environ[\"CUDA_VISIBLE_DEVICES\"] = f\"{gpu_num}\"\n",
"os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Configure the notebook to use only a single GPU and allocate only as much memory as needed\n",
"# For more details, see https://www.tensorflow.org/guide/gpu\n",
"import tensorflow as tf\n",
Expand All @@ -91,15 +100,6 @@
"# Avoid warnings from TensorFlow\n",
"tf.get_logger().setLevel('ERROR')\n",
"\n",
"# Import Sionna\n",
"try:\n",
" import sionna\n",
"except ImportError as e:\n",
" # Install Sionna if package is not already installed\n",
" import os\n",
" os.system(\"pip install sionna\")\n",
" import sionna\n",
"\n",
"# Set random seed for reproducibility\n",
"sionna.config.seed = 42"
]
Expand Down Expand Up @@ -735,7 +735,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
"version": "3.12.4"
}
},
"nbformat": 4,
Expand Down
Loading

0 comments on commit 0aeca34

Please sign in to comment.