From 7eb04f43356333386b4361361188e3810620a0d8 Mon Sep 17 00:00:00 2001 From: Guillermo Marcus Date: Fri, 26 Jan 2024 18:31:27 +0100 Subject: [PATCH] Release v0.16.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: The Sionna Team 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 Co-authored-by: Neal Becker --- README.md | 6 +- doc/source/_ext/made_with_sionna.py | 33 ++++++--- doc/source/api/rt_scene.rst.txt | 14 ++-- doc/source/installation.rst | 6 +- doc/source/made_with_sionna.rst | 36 +++++---- examples/Neural_Receiver.ipynb | 110 ++++++++++++++-------------- requirements.txt | 4 +- setup.cfg | 4 +- sionna/__init__.py | 2 +- sionna/fec/crc.py | 5 ++ sionna/fec/ldpc/decoding.py | 103 +++++++------------------- sionna/rt/coverage_map.py | 3 +- sionna/rt/previewer.py | 33 ++++++++- sionna/rt/scene.py | 34 ++++++--- sionna/rt/solver_base.py | 2 + sionna/rt/solver_cm.py | 76 +++++++++++-------- sionna/rt/solver_paths.py | 4 +- sionna/rt/utils.py | 32 +++----- test/unit/fec/test_ldpc_decoding.py | 30 ++++++++ test/unit/rt/test_coverage_map.py | 2 +- 20 files changed, 296 insertions(+), 243 deletions(-) diff --git a/README.md b/README.md index b5f8c213..808add9e 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ In order to run the tutorial notebooks on your machine, you also need [JupyterLa You can alternatively test them on [Google Colab](https://colab.research.google.com/). Although not necessary, we recommend running Sionna in a [Docker container](https://www.docker.com). -Sionna requires [TensorFlow 2.10-2.13](https://www.tensorflow.org/install) and Python 3.8-3.11. We recommend Ubuntu 22.04. Earlier versions of TensorFlow may still work but are not recommended because of known, unpatched CVEs. +Sionna requires [TensorFlow 2.10-2.15](https://www.tensorflow.org/install) and Python 3.8-3.11. We recommend Ubuntu 22.04. Earlier versions of TensorFlow may still work but are not recommended because of known, unpatched CVEs. To run the ray tracer on CPU, [LLVM](https://llvm.org) is required by DrJit. Please check the [installation instructions for the LLVM backend](https://drjit.readthedocs.io/en/latest/firststeps-py.html#llvm-backend). @@ -38,7 +38,7 @@ On macOS, you need to install [tensorflow-macos](https://github.com/apple/tensor ``` >>> import sionna >>> print(sionna.__version__) - 0.16.1 + 0.16.2 ``` 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). @@ -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.1 + 0.16.2 ``` ## License and Citation diff --git a/doc/source/_ext/made_with_sionna.py b/doc/source/_ext/made_with_sionna.py index 47338fa7..dba3ee92 100644 --- a/doc/source/_ext/made_with_sionna.py +++ b/doc/source/_ext/made_with_sionna.py @@ -70,45 +70,59 @@ def run(self): pass html_str = f'' \ - f'

{title}

' \ + f'

{title}

' \ f'{authors}' \ f'

' \ f'Released in {year} and based on Sionna v{version}.

' \ f'
'\ f'' + is_first_link = True if link_arxiv is not None: html_str += f''\ + f'Read on arXiv' + is_first_link = False if link_pdf is not None: html_str += f''\ + f'' + is_first_link = False if link_github is not None: html_str += f''\ + f'' + is_first_link = False if link_code is not None: html_str += f''\ + f'' + is_first_link = False if link_colab is not None: - html_str += f'' + is_first_link = False html_str += f'
'\ f''\ f'Arxiv logo'\ - f''\ + f''\ f''\ - f'Read on arXiv'\ + f' style="padding: 0 0 0 {0 if is_first_link else 30}px;">'\ + f''\ + f''\ + f''\ f''\ - f''\ f' View Paper'\ + f' style="padding: 0 0 0 {0 if is_first_link else 30}px;">'\ f''\ f''\ + f''\ + f''\ f' View on GitHub'\ + f' style="padding: 0 0 0 {0 if is_first_link else 30}px;">'\ f''\ f''\ + f''\ + f''\ f' View Code'\ + html_str += f''\ f''\ f'Colab logo'\ f''\ f'Run in Google Colab
'\ f'

{abstract}

' @@ -133,5 +148,3 @@ def setup(app): 'parallel_read_safe': True, 'parallel_write_safe': True, } - - diff --git a/doc/source/api/rt_scene.rst.txt b/doc/source/api/rt_scene.rst.txt index 116b63b1..63fcf769 100644 --- a/doc/source/api/rt_scene.rst.txt +++ b/doc/source/api/rt_scene.rst.txt @@ -138,15 +138,15 @@ compute_paths .. autofunction:: sionna.rt.Scene.compute_paths trace_paths -------------- +----------- .. autofunction:: sionna.rt.Scene.trace_paths compute_fields -------------- +-------------- .. autofunction:: sionna.rt.Scene.compute_fields coverage_map -------------- +------------ .. autofunction:: sionna.rt.Scene.coverage_map load_scene @@ -154,7 +154,7 @@ load_scene .. autofunction:: sionna.rt.load_scene preview --------- +------- .. autofunction:: sionna.rt.Scene.preview render @@ -162,7 +162,7 @@ render .. autofunction:: sionna.rt.Scene.render render_to_file ---------------- +-------------- .. autofunction:: sionna.rt.Scene.render_to_file Example Scenes @@ -218,13 +218,13 @@ double_reflector (`Blender file `__) triple_reflector ------------------ +---------------- .. autodata:: sionna.rt.scene.triple_reflector :annotation: (`Blender file `__) Box ----- +--- .. autodata:: sionna.rt.scene.box :annotation: (`Blender file `__) diff --git a/doc/source/installation.rst b/doc/source/installation.rst index 841d1c07..e70a8edd 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -7,7 +7,7 @@ You can alternatively test them on `Google Colab `_. .. note:: - Sionna requires `TensorFlow 2.10-2.13 `_ and Python 3.8-3.11. + Sionna requires `TensorFlow 2.10-2.15 `_ and Python 3.8-3.11. We recommend Ubuntu 22.04. Earlier versions of TensorFlow may still work but are not recommended because of known, unpatched CVEs. @@ -39,7 +39,7 @@ e.g., using `conda `_. On macOS, you need to install `ten >>> import sionna >>> print(sionna.__version__) - 0.16.1 + 0.16.2 3.) Once Sionna is installed, you can run the `Sionna "Hello, World!" example `_, have a look at the `quick start guide `_, or at the `tutorials `_. @@ -111,4 +111,4 @@ e.g., using `conda `_. >>> import sionna >>> print(sionna.__version__) - 0.16.1 + 0.16.2 diff --git a/doc/source/made_with_sionna.rst b/doc/source/made_with_sionna.rst index e402b7a7..8a827233 100644 --- a/doc/source/made_with_sionna.rst +++ b/doc/source/made_with_sionna.rst @@ -4,13 +4,33 @@ 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. + +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: OpenStreetMap to Sionna Scene in Python + :authors: Manoj Kumar Joshi + :year: January 2024 + :version: 0.15 + :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 in this video. + + List of Projects ---------------- If you want your paper and code be listed here, please send an email to `sionna@nvidia.com `_ with links to the paper (e.g., `arXiv `_) and code repository (e.g., `GitHub `_). -Graph Neural Networks for Enhanced Decoding of Quantum LDPC Codes -***************************************************************** +. +* + .. made-with-sionna:: :title: Graph Neural Networks for Enhanced Decoding of Quantum LDPC Codes :authors: Anqi Gong, Sebastian Cammerer, Joseph M. Renes @@ -20,8 +40,6 @@ Graph Neural Networks for Enhanced Decoding of Quantum LDPC Codes :link_github: https://github.com/gongaa/Feedback-GNN :abstract: In this work, we propose a fully differentiable iterative decoder for quantum low-density parity-check (LDPC) codes. The proposed algorithm is composed of classical belief propagation (BP) decoding stages and intermediate graph neural network (GNN) layers. Both component decoders are defined over the same sparse decoding graph enabling a seamless integration and scalability to large codes. The core idea is to use the GNN component between consecutive BP runs, so that the knowledge from the previous BP run, if stuck in a local minima caused by trapping sets or short cycles in the decoding graph, can be leveraged to better initialize the next BP run. By doing so, the proposed decoder can learn to compensate for sub-optimal BP decoding graphs that result from the design constraints of quantum LDPC codes. Since the entire decoder remains differentiable, gradient descent-based training is possible. We compare the error rate performance of the proposed decoder against various post-processing methods such as random perturbation, enhanced feedback, augmentation, and ordered-statistics decoding (OSD) and show that a carefully designed training process lowers the error-floor significantly. As a result, our proposed decoder outperforms the former three methods using significantly fewer post-processing attempts. -Sionna RT: Differentiable Ray Tracing for Radio Propagation Modeling -******************************************************************** .. made-with-sionna:: :title: Sionna RT: Differentiable Ray Tracing for Radio Propagation Modeling :authors: Jakob Hoydis, Fayçal Aït Aoudia, Sebastian Cammerer, Merlin Nimier-David, Nikolaus Binder, Guillermo Marcus, Alexander Keller @@ -33,8 +51,6 @@ Sionna RT: Differentiable Ray Tracing for Radio Propagation Modeling :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. -DUIDD: Deep-Unfolded Interleaved Detection and Decoding for MIMO Wireless Systems -********************************************************************************* .. made-with-sionna:: :title: DUIDD: Deep-Unfolded Interleaved Detection and Decoding for MIMO Wireless Systems :authors: Reinhard Wiesmayr, Chris Dick, Jakob Hoydis, Christoph Studer @@ -44,8 +60,6 @@ DUIDD: Deep-Unfolded Interleaved Detection and Decoding for MIMO Wireless System :link_github: https://github.com/IIP-Group/DUIDD :abstract: Iterative detection and decoding (IDD) is known to achieve near-capacity performance in multi-antenna wireless systems. We propose deep-unfolded interleaved detection and decoding (DUIDD), a new paradigm that reduces the complexity of IDD while achieving even lower error rates. DUIDD interleaves the inner stages of the data detector and channel decoder, which expedites convergence and reduces complexity. Furthermore, DUIDD applies deep unfolding to automatically optimize algorithmic hyperparameters, soft-information exchange, message damping, and state forwarding. We demonstrate the efficacy of DUIDD using NVIDIA's Sionna link-level simulator in a 5G-near multi-user MIMO-OFDM wireless system with a novel low-complexity soft-input soft-output data detector, an optimized low-density parity-check decoder, and channel vectors from a commercial ray-tracer. Our results show that DUIDD outperforms classical IDD both in terms of block error rate and computational complexity. -Bit Error and Block Error Rate Training for ML-Assisted Communication -********************************************************************* .. made-with-sionna:: :title: Bit Error and Block Error Rate Training for ML-Assisted Communication :authors: Reinhard Wiesmayr, Gian Marti, Chris Dick, Haochuan Song, Christoph Studer @@ -66,8 +80,6 @@ Bit Error and Block Error Rate Training for ML-Assisted Communication of the proposed loss functions as well as of SNR deweighting is shown through simulations in NVIDIA Sionna. -GNNs for Channel Decoding -************************* .. made-with-sionna:: :title: Graph Neural Networks for Channel Decoding :authors: Sebastian Cammerer, Jakob Hoydis, Fayçal Aït Aoudia, Alexander Keller @@ -78,8 +90,6 @@ GNNs for Channel Decoding :link_colab: https://colab.research.google.com/github/NVlabs/gnn-decoder/blob/master/GNN_decoder_standalone.ipynb :abstract: We propose a fully differentiable graph neural network (GNN)-based architecture for channel decoding and showcase competitive decoding performance for various coding schemes, such as low-density parity-check (LDPC) and BCH codes. The idea is to let a neural network (NN) learn a generalized message passing algorithm over a given graph that represents the forward error correction code structure by replacing node and edge message updates with trainable functions. -DL-based Synchronization of NB-IoT -********************************** .. made-with-sionna:: :title: Deep Learning-Based Synchronization for Uplink NB-IoT :authors: Fayçal Aït Aoudia, Jakob Hoydis, Sebastian Cammerer, Matthijs Van Keirsbilck, Alexander Keller @@ -88,5 +98,3 @@ DL-based Synchronization of NB-IoT :link_arxiv: https://arxiv.org/pdf/2205.10805.pdf :link_github: https://github.com/NVlabs/nprach_synch :abstract: We propose a neural network (NN)-based algorithm for device detection and time of arrival (ToA) and carrier frequency offset (CFO) estimation for the narrowband physical random-access channel (NPRACH) of narrowband internet of things (NB-IoT). The introduced NN architecture leverages residual convolutional networks as well as knowledge of the preamble structure of the 5G New Radio (5G NR) specifications. - - diff --git a/examples/Neural_Receiver.ipynb b/examples/Neural_Receiver.ipynb index 92703546..64d10aee 100644 --- a/examples/Neural_Receiver.ipynb +++ b/examples/Neural_Receiver.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "18417057", + "id": "1e3c39cc", "metadata": {}, "source": [ "# Neural Receiver for OFDM SIMO Systems" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "e8fac294", + "id": "4577e86a", "metadata": {}, "source": [ "In this notebook, you will learn how to train a neural receiver that implements OFDM detection.\n", @@ -22,7 +22,7 @@ }, { "cell_type": "markdown", - "id": "3e1a6748", + "id": "04dbfdd8", "metadata": {}, "source": [ "![System Model](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAANwCAIAAAAz9NedAAAAAXNSR0IArs4c6QAAAHhlWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAABmAAAAAQAAAGYAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAA+igAwAEAAAAAQAAA3AAAAAAReGs+QAAAAlwSFlzAAAPsAAAD7AB6X6cvQAAQABJREFUeAHs3QeYZEX1NvDdJUdhyUFgyUEQUFGQnMMfBAkCEkQkKgIKIlFFSRIUJCOIgCtJQUFQCZKUpIBkQYLknOPCwvdzS6/9zczOzvSkDm8/+8zerlvxvadvvXXqnFPDP/zww2H5BIEgEASCQBAIAkEgCASBINDYCIxo7O6ld0EgCASBIBAEgkAQCAJBIAj8G4EQ98hBEAgCQSAIBIEgEASCQBBoAgRC3JvgIaWLQSAIBIEgEASCQBAIAkEgxD0yEASCQBAIAkEgCASBIBAEmgCBEPcmeEjpYhAIAkEgCASBIBAEgkAQCHGPDASBIBAEgkAQCAJBIAgEgSZAIMS9CR5SuhgEgkAQCAJBIAgEgSAQBELcIwNBIAgEgSAQBIJAEAgCQaAJEAhxb4KHlC4GgSAQBIJAEAgCQSAIBIEQ98hAEAgCQSAIBIEgEASCQBBoAgRC3JvgIaWLQSAIBIEgEASCQBAIAkEgxD0yEASCQBAIAkEgCASBIBAEmgCBEPcmeEjpYhAIAkEgCASBIBAEgkAQCHGPDASBIBAEgkAQCAJBIAgEgSZAIMS9CR5SuhgEgkAQCAJBIAgEgSAQBELcIwNBIAgEgSAQBIJAEAgCQaAJEAhxb4KHlC4GgSAQBIJAEAgCQSAIBIEQ98hAEAgCQSAIBIEgEASCQBBoAgRC3JvgIaWLQSAIBIEgEASCQBAIAkEgxD0yEASCQBAIAkEgCASBIBAEmgCBEPcmeEjpYhAIAkEgCASBIBAEgkAQCHGPDASBIBAEgkAQCAJBIAgEgSZAIMS9CR5SuhgEgkAQCAJBIAgEgSAQBELcIwNBIAgEgSAQBIJAEAgCQaAJEAhxb4KHlC4GgSAQBIJAEAgCQSAIBIEQ98hAEAgCQSAIBIEgEASCQBBoAgRC3JvgIaWLQSAIBIEgEASCQBAIAkEgxD0yEASCQBAIAkEgCASBIBAEmgCBEPcmeEjpYhAIAkEgCASBIBAEgkAQCHGPDASBIBAEgkAQCAJBIAgEgSZAYOIm6GO62JYIvD/uM3bs2DJ639oShgw6CASBIBAEgkCbIjDRRBMNHz7cX+P3d+KJJ/a1TbH477BD3P+LRP5vDAQQ9HfffVdfbrrpphtuuOGWW24p3P2vf/1ruHtjPKL0IggEgSAQBILAYCCw6KKLTjvttOXvQgst9NnPfnammWbC3SeddNIRI9rUZmT4hx9+OBjYp40gMCEECmXH14877jjc3cJaiT322GPyySd3seyyy5Y194Sqyf0gEASCQBAIAkGgFRC46667Xn311fJ39OjRjz322CabbDLzzDNvu+228847b3sq4EPcW0GyW2AMb775Jv36iSeeSL9eyHqYegs81gwhCASBIBAEgkA/IoC+H3744csss8xqq622yiqrIPHtpnoPce9HcUpV9SBA0Y61b7PNNn/+85/POeecNdZYI5r1enBMmSAQBIJAEAgC7YFARd9p+hZccMFJJpmkfWzf29RCqD0EuwlG+c4771x11VV+dUsttdSTTz659tprh7U3wWNLF4NAEAgCQSAIDB0CW2655Z133rnqqquynPnRj3707LPPto/hd5xTh07u2r5lrP3oo48+5phjfvGLX0TR3vbiEACCQBAIAkEgCPQCAfRd7kMOOeS+++474ogjmM20g949pjK9EJFk7UcECmsXNGa33XZjphZFez9im6qCQBAIAkEgCLQJAlxXTzrppGmmmeYb3/hGO3D3EPc2EezGGia7dktkrP3888+faqqpGqtz6U0QCAJBIAgEgSDQVAiIMzPDDDPst99+M844Y1N1vNedjY17ryFLgb4jwK5dzEe69hLqse8VpoYgEASCQBAIAkGgbRH42te+9pvf/ObSSy99++23WxuEaNxb+/k24ugYycw999y77LLLvvvuO9lkkzViF9OnIBAEgkAQCAJBoKkQuPXWWzfddNPLL7984YUXbmFj9xD3ppLKlujs9773PWeesUULa2+J55lBBIEgEASCQBBoCAQYu1900UVnnHHGnHPO2RAdGoBOhLgPAKipcvwIFHX7Aw888JGPfGT8uXInCASBIBAEgkAQCAK9RmChhRbaf//9N9tss1a1xY2Ne69lIgXqRoBPqoBN5WDUuitJwSAQBIJAEAgCQSAIdIkAjvHLX/7yxRdf7PJuCyRG494CD7FphnDNNddsvPHGDz/8cG/V7a+//nqXZys4LG2KKaYYkvG/9957PGCExEkgyyHBP40GgSAQBIJAEOgSARFm1ltvvQ022KAlle7RuHf50JM4IAhce+219anbV1tttY9//ONLLLHEoosuyulk8cUXd+3zrW99a0A6OqFKsfYLL7zwU5/61N133y2vnQSLe6uLqlznlOpWLoJAEAgCQSAIBIGBQ0D0i9GjR7/66qsD18QQ1hziPoTgt1fTuKxziZHdiSfu9Xm966677oYbbrjRRht99KMffe655xzYVL6qrQKxViX/wQcfVOkdLmqzVbe6THS3Nr32mru6sx5mm202/rVjx4696aabllxyyT//+c+lws4pVUMuuulbN7dqa8h1EAgCQSAIBIEgMD4E7ISbprGO8WVo6vReU6imHm06P4QI3HDDDX5Lyy67bB22Jd/97ndLzw866KDbb7/dCQsLLLCAn+Ubb7zxyiuvYM8vvfTSyy+/TBk/ZswYiU8//fSss86KW0855ZQK4tzuMmvhGvvkk09i/7bPmNm49e6775ZEHugShbuRwgZGnc8//zzNumPYXL/55pvPPvvsHHPMUQpqZbnlluO6zuZHnn/961868Nprr2mF6Y6OdUgpu3WqVY++Yfw6VnJqXboMb731liZ0Y9pppy2Dzd8gEASCQBAIAkGgtwhQ6pm46dQYzJT5t7c1NHL+aNwb+em0VN/8hJy45LfUj6PaYYcdFllkkb333nuxxRbDpJ944omtt95akHjLg7nmmmvLLbfEpDX3zDPPOFDt4IMPZmPj9/zpT3/67LPPlk7D/YMf/ADdX2aZZT72sY+ddtppEk855RTZdFWKC9UeddRRLj75yU+uuOKKv/71rzH7ww8/HPnW0KOPPnrHHXd85StfQbsZ1S244II/+9nPOqT8/Oc/Vy1bGoY9884772c+85n55ptvp512QtOVcneeeebZc889DWHNNde85JJLZM4nCASBIBAEgkAQqBsBZOPmm2+mGqu7hoYtGOLesI+m1TrGgKTsXvXvwJByNionn3wyxowB06MLAiWSq1MYHKJ2wgknVM2deuqpBxxwwE9/+tMRI0bQ3GPt3GQPPfRQoaMuuOACXiy4fslsAeDWueeeu+uuu95z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ubfeequpYUznBwGBGWeckZTa2zniiCOOO+64lVde+b333iNm5Io4EcURI0a88sor5NPbjIwRYIJK8CaaaKKpp55aBjmlzDTTTCST7OkzWSW6ZFJVpZJSg6o05CObIuRWcRkG6CU8COi1dhMDMjW2NmQZXRAIAr1CwDyBqaBHJgkbvrPPPrtpppsaGBK4yxTBNNNNtvpumdhuvPHGFVZYoXCp+ipJqSZFACMhAM8//7wLpBxrv++++7797W//61//mmeeeb70pS997nOfu+GGG7773e++/fbbq6yyyn777Xfdddedd955zz777Mc+9rHNN98coVHDT3/60/PPPx8l+spXvrLeeutR3uNYVOmf/OQnd9xxxyWWWEKGq666iuRjQl/84he/8IUvWBv84he/OPfcc60B0K+6LW2aFPl0uw4ErAA/+tGPLrLIIn/961+JjRcXEbrnnnvsGm2yySZWoQT1n//859JLL7333nuj3SeffPLll1+O8W+wwQYk+ZZbbpGfoD7zzDNnnXWW1+kaa6zxve99D48ngauvvjoJP/roox944AGSTK//+c9/nqj/9re/JfyU/b4uuOCCdXQ7RQYagRD3gUY49QeBdkcAocFXfv7zn5s/0OXddtsNuelGlzN69GgaIHlMWv2O3eOPP07nevXVV88111z9XnkqbHAEcO7f//73f/rTnygpv/WtbyHWM88889Zbb42OSySiKNG1114r/dhjj8VvUPwzzjiD0cI222xDQ3/BBRdQ0lOrK7Luuuti55dddhlexVp99913p/uUAV+X8vTTT+NJe+65p2XArbfe+olPfIKNzZ///GfUf+6551awwYFK94YcAcoOnJvW/Lbbbvva175m6bjXXnstt9xyyPpFF1101FFH4e7333///vvvTxWCrCP3ZPvAAw+0HGWLRaS9YwmwgVg0UrTTsvs8+eSTo0aN+uEPf4idE2nqeRJuDUDaLQkI8EYbbUSxcuGFF5Lz+eabT4YhhyId6IBAiHsHQJrjq3nFz8wvyk+0OXqcXrYrAlSb9JEserfYYgt6R/uwZQfWhGQuMaPgN3RFdEtFEymdktJWL8AIedm6JepSsHnF2TNQ21Pem5mKTYJsajAPUSMpJd1XmcukZa7ShOLKmgtfeOEFXZJNuhUFsuXuyJEj5W/XR9RG48ZINttsMys31OdHP/qRxdsC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bZJJJplhhhkmnngC5PO999579NFHH3vsMZkXXHBB1TbOkIe8JxPAbsj7lw4EgSAQBIJAEAgCQSAINBQCiPgNN9xw7LHH3nTTTXg2Lr7BBhvsueeed9111zHHHPPwww+PGDFi8sknX2WVVXbZZZell156zJgxu+222wILLLD77rvPMccc3Yzlzjvv/P73v3/LLbdYFUw00USf/exnDz30UAW7KdJWt0Lc2+pxZ7BBIAgEgSAQBIJAEOgrAjfeeOORRx751FNPoeNLLLEEvTv9+qyzzopw4+ibbLLJSiutdOutt/7+979//vnn99lnn0984hMvvPDCTDPNNHbs2G7afuSRR2T+5z//ie4rQu9OZz9y5MhuirTbrRD3dnviGW8QCAJBIAgEgSAQBOpH4K233rryyivvu+++XXfddYcddmAVQ+lOxe5Cpf4uvPDC66+//hprrDFq1KgTTzzxD3/4w0ILLdST9s4+++y//e1vBx988KabboqyWwNU1fakeDvkCXFvh6ecMQaBIBAEgkAQCAJBoH8QePzxx++///5ZZpll8cUXn3rqqVXKeL2qmlE7yxn03YehyxVXXMFy5plnnqkyjO+CMv4vf/kLi/aPf/zjrNtlm6A1/PiqauH0RJVp4YeboQWBIBAEgkAQCAJBoJ8RePHFF9m9zDfu033V+PeMM8748ssvv/LKK93ndPe5556TrWLtE8zfnhmicW/P555RB4EgEASCQBAIAkGgHgQ++OADzqlMWaaddtruy7N1effdd6eYYgqOql3mHD169CWXXCIWDd/W5ZZbTh528OPL3GUN7ZYYjXu7PfGMNwgEgSAQBIJAEAgC9SOAsvvQu7/00kvd18J71We66aabfvrpu8zJ8XSeeeYRShJfn2222VB8USPZ0HeZOYkQiMY9YhAEgkAQCAJBIAgEgSDQUwTmmmsuXqc05WLLsJfhP/r+++/zTxW9sbaK119//U9/+pOAM+ussw6D+Npb1bXgM8suuywVPoN4rJ2dzIUXXigiJDZf9O6U8VNNNVWM3SvEQtwrKHIRBIJAEAgCQSAIBIEgMAEEWMgI0M6RVMh2jqpcVG+77baHHnpoiy22UJK+3C08Xoj36667boUVVlhrrbUK8xbn8be//S2rd9n4sK666qoU7fh61d5WW211/fXXH3DAAXIuueSS99xzj4g0++2334orrhjuXlAKca+kJRdBIAgEgSAQBIJAEAgCE0CgcG5BYE444YSf/OQnLsSWEf+R9p3xDEX7RRddRBk/55xzfvWrXxXTfe655y7h2yXecccdNPSlASQeca9tjMb96KOPPvzww4877jhqeGR97bXXVk8HXX5tkXa7Hs69oN3GnPEGgSAQBIJAEAgCQWAwEWAxwizEiUKD2eiAtuVk09dee00oGBdM2FmrTzPNNFxRRYZhOYNqixHJykV4R0wd23z22Wfdre2SA5tYyNSmuObPqgYG9G+88YZqfZjItxhxNyLywE+gw9h78jUa956glDxBIAgEgSAQBIJAEAgC/0OADbpPsXuplOh05Mj6/zL994qSHk3/77fu/p900klnnnlm1eL6LcbXuxt2j++FuPcYqsHK+MS4z2C1lnaCQBAIAkEgCLQsAp/5zGdadmyNMbCKsvdvdwao2v7t5JDUFuI+JLD/p9HC0Xlv+EgqXy1Je7gqHcqup+0gEASCQBAIAg2PAIvq0sfC4Mtfx3l+6lOfavi+p4NBoAsEQty7AGWgkxB00Y6QdUZgPvymiyN2oey2mXwGug+pPwgEgSAQBIJAyyPA/LqMsTD422+/3VdulMyLd9ttt09/+tNh8C0vAy02wDinDuoDRdZ//OMf80352Mc+ttRSS1n685VmIlacM0LZB/VhpLEgEASCQBBoGwQKgy9/OT7efPPN9913Hzb/wAMP7LHHHrvssstAI9F6zqkDjVgL1x/n1CZ4uEXLfs011yyyyCJ77rnn/PPPj6yj7FGuN8HDSxeDQBAIAkGgyREw4RpB+Ys2zT777Ouuu64gJ873OfPMMxdaaKHBoe99RFFw9Jdfflngc/FbeliVoIpCrd9yyy2GzEaoh6UaPNvVV18NChsmHmW/d/X555/HzezJNKadfUwy+v2Jd6ywUPYbbrjBCQUHHnigKKfCnYavd4Qp34NAEAgCQSAIDBYCuK+P1gQw2X333d9++23stvHp+9133/2Nb3zD4UcHHXRQT6ASUfE3v/mNsOiOTNpwww1bhriff/75Nk8QqoEg7jvuuCOSdtJJJ5WAOT3BeTDzhLgPLNpsY84991xRSPfdd99Q9oHFOrUHgSAQBIJAEOglAsIU4u7f+c53aN/R3N/97ncqGATLmV528z/Z+cJtt9128847bw+LC7L+pz/9aYkllijcvYelGj/bm2++ibiXQ536vbdf+MIXhKTsMqhlv7dVR4Uh7nWA1tMiPFDPOeecddZZhxBEy95T1JIvCASBIBAEgsAgIoC7U9yKGn7wwQc7UeinP/3pl7/85TPOOGMQu9CjprDVyy67zAIDrXQ6Ke078irS+d/+9jf2t9TwmEZtRU899ZSx/PnPf7aT8Ne//pVLLjv766+/fsEFF7z33nuZ3Ky11lrWAHfddde1116LBPvKAa9YBDgCiXWNJuaZZ54ZZphBIkPfx8Z9RNSYa665dEAGxiTLLLMMjvvII49cd911Tz75pPz0+o5Kdf3QQw85g+mZZ55x/YlPfELOEpedlYte6bZGHZWqD67V72NobHsuueQSY5G/1iJIKf2U86Mf/aihVbp2xk4sZ+68887ZZpvNGK1tPFBnssLkH//4xz333CPl85//vII+iy666Morr2z/AVAGDo2nn376k5/85Kqrrlra+vWvf63yBRZYQIa///3vVj7WdepXZIMNNuhwzmst2oN2HeI+IFAX8xgSY2W82mqrdfgtDUiTqTQIBIEgEASCQBCoF4FC31k2f/WrX/3hD3+42GKLsX1vqJgz7HnQSuR75513RlLPO++8Sy+9VIcdTSroBbJx2mmnIcoVAHxwqduRbVQY5V177bV54u61117YJ8aMSTvJ9ayzzjriiCPwaeSbqpEdztZbb41nH3vsscxRcFn+eGy+qSD33nvvv/zlL1deeeWuu+6KuGP2OoPQWxXceuutRx55JM6jJ3YtKPhl1o3jjz+e+6/mLDl+9KMfnX322csuu6zrAw44gAEPKqx+iYceeqimcf199tlHzZyGjz766I033njppZeuxuI41R/84Ae//OUvLRUssXBr/NtdfdPWVVddpSAQLFRUhbL//Oc/v//++3XeSkC6uCBKweonP/nJeuutZ8iAMpB//vOf7GGUYswMChTf8sO4rGGWX355RhMnnHACrOaYYw5LnWOOOcZdy5iqV0NyMWJIWm3tRrH2o4466g9/+APh8OzD2lv7cWd0QSAIBIEg0DIIFMuZb33rW3jh5ptvjpI2ztBGjhwphCUmSumOi6PImOiJJ56Ir2+77bb0xw8++GBtb1Hq/fffHyH+0pe+xCYeVaW0tqWA1+LNyLGVwMknn7ziiitiLL/4xS/kZymknt///vcuUGeGAz/72c/o8unX8VcK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6Pgbb7zx7rvv1vs2N1AcNWLXnhsYz4FAIBAIBAKBQCAQCAQCgUDLIFAu4u7IBWutddZZ58knnzzxxBP/9Kc/Pf/88+Wo0ueff37ttdfeeOONxQmnRD/33HOHDRs2y+RWCFh+mZYfs8w9IgQCgUAgEAgEAoFAIBAItHEEykXcE6xzzz03Jzh77LHH7LPPPmrUqOnTp998882bb765M7Z//vOfnaGmmL/sssu6d+++wgor7L///pjxO++8s+eee6666qq//OUvX3rpJZY2Z5555lFHHfWjH/1os802+9vf/kbI4MGDN9100x/+8IecuowYMYK3nZtuusnbF198cdCgQVtuuSUX9y4Tph3/2c9+9uqrr8rln//853HHHYd8//vf/z7wwAPJ33DDDc8///z77rvvrrvuOvroowV6+9Zbbzkj8uMf//jggw9+7LHH1MJxb9sF3bp1c03xyJEj23h3ieoHAoFAIBAIBAKBQCAQCLQWAmU8nErpzryEp1L3RTmIsPHGG2PJqPYll1zi5+9+9zvelJZZZpmzzz4bM+7RowfSnJj9F198MXDgwIcffvhXv/rVHXfcMWbMGMYw/fv3l5wT+549e9KvL7TQQp5ZnK+00kr77bffhAkT2LF07tyZEA6VkO/f/va36afFgJJYAJCDhRP48ccfX3755W4vA7q3zGy233579yCMHj3aGoAKX5mfeeYZAvF7F5vdeuutffr0Efkvf/lLa7VT5BsIBAKBQCAQCAQCgUAg0MYRKC9xR4LRYtruu+++G1HGUM9PAABAAElEQVR+4IEHaLVvu+02VjSfffYZVTcLeEScMttxY6bwH374IbfoiPgGG2yAmtOjM2KhraduX3vttdF61BmtX2211aQl9tBDD0XKEXQZLbHEEs7Cak4u7mnrKfvff/992Ykg0LcPfk8BT6O/ySabdOjQwdvhw4eLKa8f/OAHlP207Issssj1118vJpZPwT9u3Di6eUWi2n/00UfbeHeJ6gcCgUAgEAgEAoFAIBAItBYCZSTumPEaa6zBEuaAAw64+uqr119/fZybSUzv3r3VVuC8884rfMEFF+zUqZMQ3B23njJlCiJOJc/5pUAacZ6S/PR2/vnnR7WFH3TQQRg/jfvTTz/NwF0ECROCMp1vvvlISD99S5I9s5mheieHQIHp20NKbjkhhCXPRhttJMSCwU/m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EAgUGoFCSdxTud3Zfvrppw8dOvSAAw546qmntthiC/eMYr/k1iussMKaa67ppvePPvoIdaYsPvfcc2+//faulEej33333TnnnHO11VZbYoklGEofPHjwuHHjUOeVV155vfXWE/ihhx4aOXJkt27d1l9/fXL9e+65h3uttdZadNFFb7vttq5du3722Weijx07dq655hKLQ5Stt94a2yY4p5Ll6nj+FhjXXHONYnBsvvnmcneFr+ymn356Rh5tFNCQURirji+++MIKQS5ZkwRxz6AIRyAQCAQCgUAgEAi0KgSSqkwcTi1yoxeWuGO9mPqwYcNolcw///xvvfXWJZdcssACC1Ckeemll2aZZRb6LZdeeulXX32FEOPlCP1///vfK664YvHFF8fLhTn55JNfeeUV1HzjjTdGnZ955pmlllpqwIABwmyyySbC4/GE7hKUhex0oHPOOWfLLbeUIOWWBx54YNlll0XQ+d9www1WC8pw9913uzjAwkCCXbp0Eb19+/YTJ06kMPP666/7Os888yDl77zzzkEHHeRTnz59Pv/88znmmGPUqFG5xL3ITRXZBQKBQCAQCAQCgUAgUCIIBHFvkYYoLHFHrO+///7nnntuoYUWIm7v27cvafrRRx+tqg9Off7v//6vX79+mPEqq6zy5ZdfJnE7+fcxxxyDK/vF2jFy6fzhD39A5ffff3/Mnn4LDt29e/fllltu9tlnx+mff/75Qw89tEOHDqT7OPcaa6yx++67WwnceeedosuOQJ3MXppPPvkkKn/wwQfTvEf0hRFYxD333FP6CjNo0KA99thj9OjRpOzWD4T32Lx9g1lnnfW6665rkUaKTAOBQCAQCAQCgUAgEAgEAoHCEneEmD4MXReMnBibDNtv0kvZZpttKLH4NN10022wwQY8CeC//vprCvEYOYk4NRsBPvjgA0s67HzBBRck/Cb2Jp5fZ511dtllFxQcERdSChqyY8eOqTkx8g033BDPRvf5EMZnzUwGP3z4cPJ4dDx5krJL1kM35ocffqBgI4u2bdvKlERfGT7++OMZZ5yRQo6lgsKnNLMEwxEIBAKBQN0I2NkzkqSj+YYjw0vd4fO+GnMMPoashkbMSydeA4FAIBAIBCoAgYIT99/97ncYOdn5448/znILpo4Eo8UI9NJLL+2Vjsrbb7/NzcfcRqOGdg3NFvJvMnhW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LLJIKRcyyhYIBALli0AQ94K0XRL3htCrIODWI1GspTRFqkrVs2fPq6++uh6ViCAFQcCqydqpIEmXTKJHH330JZdcUjLFaV0FSfKaBl342roAitoGAoFA0xCIC5iahl8tsfGz4cOHJ7l7LUHCu4AIYC1J7lXAPBqb9Iwzzvif//ynsbEjXlMRuPHGG++4445ZZpmlqQmVcPxZZ531scceK+ECVnLRkrymNFX1Khn3qFsg0GoQCIl7QZqaguPvfvc7opcQuhcE3zoTxdr333//2Wabrc5QLfPRWm7dddfdY489QujeIg1wzz33bL755l27dm3XrpKHPqzxkEMOCaF78fuYAd9239prr13ZuljFBzZyDAQCgQyBkLhnUDSnAz/bdNNNnUG87bbbkHhPc6YeadWOALLSq1evkhW3KzhpKE2GddZZB7taeeWVa69KfGlmBLD2s88+25+kJmjmpEssOazx9NNPp2atj3lKrHQVWxys/bzzznOCYsMNN6zYSkbFAoFAoKURqGSxU8tia+7ceeedx40bd+GFF4Z5meK0hYkTa7/22mtLU9yeQHA+db755sMg9913XxZOioNM5PLOO+9cdtllO+yww6KLLlrZ4vbU1v4E/CHY94tNv+J0foO8NeHMM89s2A9xe3Ewj1wCgdaJQBD3Arb7kksuaRB/++23SVhj+iwg0FOTJmtHU5CV7bffvtB5NTH96aabTlHXXHPN3Xbbjcp1E1OL6NNEgKx9v/32oyRzwAEHdOrUaZrhKyOAP4Tdd99dTwudmUI3qOHdIP/9998fe+yxhv1CZxfpBwKBQGtGIFRlCtj6SWFm3nnn7d27ty1UBgpj57oQcJs1UZNvv/320ksvRVbKQtxFW+Oss87q27fvmWeeOWbMGGclWZspBDitPE2Cdkuj9957z7kCq2h7HXY8WgkmSWHGmHPwwQenKiOXraTuRasmQbtlIfuzSy+99K677rrccsuFTYKigR8ZBQKtE4Eg7oVtd3PniiuuiFA+99xz11xzTUbf5Rq6702E/pVXXunfv79EnAZzGhVBwYbLgrUrM/o4zzzzKDZ1WMzypptusvZI3J1JotB9b2LfwNct56yIJk6cSNCOuc4///xk7a1BSSYXOgozlrL+NPr06aODeTLuzjM3ZOm4J0+ZqDDt2pa0yU58XQfzywLB8ssvf9pppy222GIz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gcD/t3feAVIVWR8lSUZAFLOCCBhWRQUVRcAcMOe4Zl2zGNE1YMLsqriirgFUzDktawIEBQQWxIQoQQSUIFElw3eGct/X9gRmejr36T96XterulV13pvuX913q0oCEpCABCQggYwQULhnBLuVSkACEpCABCQgAQlIoGIEFO4V42VuCUhAAhKQgAQkIAEJZISAwj0j2K1UAhKQgAQkIAEJSEACFSOgcK8YL3NLQAISkIAEJCABCUggIwQU7hnBbqUSkIAEJCABCUhAAhKoGAGFe8V4mVsCEpCABCQgAQlIQAIZIaBwzwh2K5WABCQgAQlIQAISkEDFCCjcK8bL3BKQgAQkIAEJSEACEsgIAYV7RrBbqQQkIAEJSEACEpCABCpGQOFeMV7mloAEJCABCUhAAhKQQEYIKNwzgt1KJSABCUhAAhKQgAQkUDECCveK8TK3BCQgAQlIQAISkIAEMkJA4Z4R7FYqAQlIQAISkIAEJCCBihFQuFeMl7klIAEJSEACEpCABCSQEQIK94xgt1IJSEACEpCABCQgAQlUjIDCvWK8zC0BCUhAAhKQgAQkIIGMEKiRkVqttDiBZatepEcHxfOYIgEJSEACEpBAhQjUrl2b/OG9QgXNLIEsJKBwz9hFWbTqNXfu3OnTp3PIAS9aw/ucOXMy1iwrloAEJCABCeQRgebNm9ObZs2ahT41atSocePGm2yySR510a4UEAGFe7ovNhodpY46/3nVa9KkSaNGjeLjeqtetIa/0fdLuhtnfRKQgAQkIIH8IsCPLB168sknQ7cQ7u3atevQoUPVqlU33XRTPjZs2DC/emxv8pmAwj19VzdI9rFjx/bv3x+9zpcFT+7atGlzzjnnINbT1w5rkoAEJCABCRQqgd69ey9ZsuT666///fffDz744CZNmnTp0qVatWr64Av1jsixfivc03HBIsk+ZMgQ/Ow41E899VQku3o9HfStQwISkIAEJPA/Avz+cnjGGWeMHj165MiRL7744owZM3gSfs0116jd/wfJv9lLQOGe8mvD18HQoUPxshMP07lz57/97W/q9ZRDtwIJSEACEpBA6QSqV6++46oXOh4f/CeffPL000/vvvvueNaU76Vj80zmCbgcZAqvAY72H3744bnnnuvVqxfVXHLJJXxBqNpTSFzTEpCABCQggYoQqFmz5tlnn/3uu++us846N9100zPPPDNmzJh58+ZVxIZ5JZA+AnrcU8Ua1T5s2LDXXnuNQPbbb7+dwJhU1aRdCUhAAhKQgAQqQSDId5xrffr0ufnmm3k8Tvi7rvdKELVoqggo3FNClqgYVDu+dlQ7XwSq9pRQ1qgEJCABCUggeQSQ76eccsqKFSv+9a9/ffHFF0a9Jw+tlpJGwFCZpKGMDKHa//Of/xAeQ6hc9+7dVe0RGQ8kIAEJSEAC2UwA7X7mmWf27Nnz+++//+c//zl58uRsbq1tK0ACCvckX3RU+xtvvMFU1MMOO8x5qEmGqzkJSEACEpBAigkwb7V9+/ZvvfUWq0aq3VMMW/MVJqBwrzCyMgoQ146vnQgZvOzOQy0DlKckIAEJSEAC2UygTp06t956KytF3nbbbc5VzeYrVWhtU7gn84p//vnnzEZFteNuT6ZdbUlAAhKQgAQkkF4CtWrVOuuss/773/8+++yz6a3Z2iRQKgGFe6loKnqC9drDGjLHHXecaz5WlF7S88+fP3/x4sVJN5t0g8yCWrBgAQ9ky7ZczmxlGynn2WXLlv3666+8lzO/2SQgAQnkJQFiZnbeeed7772XgBnmquZlH+1UzhFQuCfnkhHajmrHFou1V3I2KnLzu+++Gzx48MCBA3lnrP/jjz8uX748OQ1dZYWnfuwYx0gjuWZLbCH70rGtdOypzz77bOLEiStXroxNTPoxa/EOHz48iWaXLl2aRGvBFBBmzZrFvn3MgirDeDmzlWGh/Ke4Jbg6zNNgC4LylzKnBCQggbwkgHZv167dxRdf3K1bNwNm8vIS51ynFO7JuWSI7EmTJhEhU0nVTmuIqPvHP/5xyCGHHHvssSeccAJLU91xxx3Tpk1LotLFc3D55ZcTjr9w4cLk9L90K7T/3//+d6R66cXxxx//yCOPpNodfuGFF77wwgult6sCZ9Cyo0aNIg6qAmXKlxU/Ovr4iiuu4P4po0Q5s5VhofynuFKMFW+44Qa6XP5S5pSABCSQrwRYZ+bEE09cf/31DZjJ10ucW/1SuCfhejEnNagc1n+svDlkInp6ww03RLXzZdG0aVME6IABAyK/NRmIrChRx6O6ikc4hMTY/E2aNMGFsPHGG+NLQBTGtpmPsTmpqLjBkD/2VKTLY02FY4Yc119//ddffx1V9MsvvxDHEpsz1lRsehnHQIikPw3mEkT2yygVdyqyEJserMVCgDyrgz3++ONRtri6YjNzHPsReqXBSaDXNICqS2w2icUroiXUEjU7HIREAMal85HWlphePKcpEpCABAqHAMHup512Wo8ePVwdsnAuetb21A2YknBpQlBBckPbN9tss5NPPnn77bfHL37jjTcifPfdd9811liDbw2q44Fdw4YNN910U8Q3XyhIMfz0RNSgkukP+za3bt26UaNGRCrzHID8ZCCxefPmvJNzzpw5++yzz9Zbbz1z5kwybLnllmuvvXbVqlUZMBBesu6667Zo0YKy48ePpzoqpdTmm2++1lprkefTTz9t0KABGnHKlCn169ffbbfdUOEjRoygMa1atapRo4Q7auzYsewdS5hg8dB/WkJcEKZwaVAvtTRu3BihjEFau9FGG1EjLcEHzCkcHpiiCO2h2YQndenShbgOek3ACV1gtLPFFltUq1bWcBQhSwASHaTSn376iWbzYnQENygFXD///HOw1rJlSxpAbM+ECRM22GADVvmkeeQn/ocLxIsis2fPpgHbbLMNFlC9n3zyCaD+8pe/gOXbb7/lFBZoOXC4ZChjaqf99JFT1ELHwy2IKXr05Zdfkm3bbbcNibHvlOVScj8wSoEMtTMAo0auO+lc1rp165LIVn/16tVDx3PtOPXbb7+RmReVYoGucVlpM3lIpC8cUAtx9uPGjQvRUyCNrddjCUhAAgVOACcXP8d77703v2UPPfRQgdOw+5klUILMymyDcq52VNQ333yDSq58kExs35FxiGM0KwoMJYqY44sDvz5RNISnk5N6d9llFyJetttuO0TbE088Qag0mdHZZL7pppvwqb/99tsPP/wwZ5F3FGdogecYTUzsDaaefPJJEnGHE5dPQAuyD8vE51xwwQVke/XVVwlooRaagU1m1p9++unI1pNOOgkZSpNQmahVav/ggw+ISznooIOQ5mjW2F6EY6Tk+++/zyqZLGzPAltRBjTlU089RQtDZ6kFOyyjieLEGutwnXPOOehadCQC/a677jrjjDPuvvvud955Z88992QkQ6cYNtB+xhJrrrkm7WEE8uijjyKRoyqKH+Dv32uvvegOBMBLBnr097//nQMqIkSEqBWsIbtR7XxHM7yBOTlR5Ejttm3bnnvuuUcffTTDqgceeAA4r7zyyssvv/zmm28ygqLlnPrrX/96yy23vPTSS7SWcQKQwQVk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U5b9FBo3blx28RkzZvTr12+bbbbZaaedys7pWQlIQAISkIAEJCABCSSdQPKVdGgivnaE+3PPPbdw4cLRo0f36NHjhx9+SHrrMYhHf+DAgW+99VZixqdPn/7KK6988803qy0+Z84cKpo4ceJqc5pBAhKQgAQkIAEJSEACSSeQKo87DcW/3qpVqxtuuOHLL788/PDDed90003HjBkzYsQIZD2u61122YVsw4cP/+yzzxYtWtSsWbMjjjhiwYIFOLanTZvWokWLdu3aNWnS5JNPPvntt9/Q/bVr1959992xOXny5Pfee4+olb/85S+UevDBBylVo0aNAw88kETkdf369X/55Rc+DhkyZI899mjatOmkSZNQ5126dJk1axYZsFavXr2tt96aih599NE2bdpwcOSRR6LOacz333+//vrrb7/99pttthnufBr8+eef43GnbNIvgAYlIAEJSEACEpCABCRQHgIpFO5UTxQKSv3bb79Fc6+11lpo93vvvXeTTTZZsWIFkpoQGgJU7rjjDoT1euuthzMb+f7hhx/27dt3yy23/PHHH5HLF1100RtvvIFfvHXr1hMmTBg3bhwjgddff/3tt98m/AY5jjWicXjhel+yZAnVYfCggw5C8c+fP79Xr14tW7ak6q+//vrFF18kXOejjz566aWXKLX22mujxWkJZSlIzAyqnbqGDh26zjrr0BhMXX755TSegUGjRo1Cd8rD1DwSkIAEJCABCUhAAhJIOoEUCnc08c8//4xc7t+//3HHHYcW/+c//4m3++KLL6YbKG9UMv5yXN233HILShp/NsKddJzx6HUE9PXXX3/UUUehyBs2bHj++eej6W+77bbLLrts5syZzBPdcccdt9pqK0Q/Cp6KzjrrLGpEgpP/6KOP5hTOcjzxePepjnTc9gwAEO605Jxzzqlbty6SfcqUKQwJDj744MMOOwyN/uyzz5K+7bbbfvXVV59++mmnTp3Gjh1Lq2gzKr9nz55JvwAalIAEJCABCUhAAhKQQHkIpCrGnbqrVq2K25t4GGJmNthgA5zuBKvgWSemhRSiVvB5jxw5EhlNyAre9+bNmyOvCVPZYYcdiFRBPRP3MnXqVPIz8RQvONlw4aPOKdu2bVv87oTRUwtTSzFYq1YtjjnA7M477xx85DQjdk0bfPAodRQ/BnHDY5OyvKiiZs2aKHuqIxFBz0Bi//33J/93333HGICxxLrrrrvmmmuWh6l5JCABCUhAAhKQgAQkkHQCKfS4o6Fxhx9zzDGEmz/zzDN4r5HjaPfddtsNVY2jnSCW559//s033+QYtY1oJjZ9ww03JCQGZzlRMWhxhH7oM6J8jTXWQIVjFj/9mWeeiXDHBb7ffvuhufHWo7bR9GSjFFqcUuREahNyQyj8+PHjSalTpw5Vc4wiJzPhMeQkWwheR77TYAT9PvvsE/z0eN8JcCcgBx8/9vHlJ/0CaFACEpCABCQgAQlIQALlIZBC4Y6GpgWoagJXiHJ5+OGHEfHEmr/wwgsIaJQxXnNkN0tGEviOxx1dft555+HnRs0Tbk6UOQIaHR/XDQJXmK46atQoHOSMBLCPLn/ttdfuvPNOXPKh0lAE2Y2//+WXX6ZSwuUR6AwD9txzTxqDUmeQgB8d7ztTZonPQcfzkeB4lPrTTz+NiOcjITQMM6gL4xRnBBLXGD9KQAISkIAEJCABCUggPQSqd+/ePRU1IaB5EXCC/EVAb7zxxihjZDEphLuEWBSCYXC0E0WDBEfHs4QLEpyPuNUJksEff+yxx+ICR9BzjJeddNQ2YTBYQENTllVoKIKPHJ2NEYxvvvnmxLoQbEOngged8BsKItBJ5J2IF4J28Ojjeicza9dQHFc6mbfbbjtWksFhT2Q8FVEpGThLTkYLHHAWIzQpEGNpmgEDBpx66qmpAKhNCUhAAhKQgASykACa4b777uvWrVsWti07m7RgyfQJcwbM/G0szWtSt0XrtQ+oV3Pt7Gxq9reqKqI2za1EwSPT8ZRH9ZKClEeghxSahNomA9I/yhN3QH6yobajIvwjocjjsvGRbFQXGQ8pFCdIJrJPBtoQmkR+znIqxNuE/JzF4x7lD7Uw0ZYlbtDu4aPvEpCABCQgAQnkPQG8hzyrnzt3bt73NFkdnLbg8w/Gd/9qxusYbNlk30O2uL9pvS2SZbzQ7KQwVKY0lCjgWNVONlJ4RfnRx7i9o48lHkSqOpylSImqnbOcilXtISVS/KF47Efyx34M+eOqC6V8l4AEJCABCUhAAhKQQNoI/L9cTluVViQBCUhAAhKQgAQkIAEJVJSAwr2ixMwvAQlIQAISkIAEJCCBDBDIgHAniLy0jnKKiaFEj5WWwXQJZIQA0x6YRMFUh4zUbqUSkIAEJCABCUgAAmmNcUf3sCMpuyade+65xemjjVio8bPPPmMrU1aQLJ4h4RTmnrJUPOvJEDrPlqvsycr67h06dEjYYMIFmcsSvRI2YsGIAGsN8Yo+JnbA9GK21GUJo1Cc0ePNN9989tlnhz0E+MhC/k8++SSr/jOPgqWH9t57bxYdSqyuMkpxl7I7WHgvI5unJCABCUggIpCUX4HImgcSyH4CaRXu4MBtiYYukcvChQsfeeQRlo9s2LBhiRkSTsSFz8pNV155JVIMYYR0ZgZqwtYSKEiNLCQ/evRoDihexjOHBIwXcpFwHdnbCwidO3dODMVHH300ZsyYWOHOGqmHHHJIEO6MNln3k4X8L7jgAm7d/v37M7X6wAMPTKyu4qW4IdkRjNEsqp2z3hvFEZkiAQlIoDQCSfkVKM246RLIQgJpFe5se4RPnXXWcV6yy1KTJk3Gjh3Lsuh77bUXxw8++OCnn37Klkmsts666SgktlklMx/xwbOdKssv4ulkBfcuXboMGTKEghRn3XeE/hdffMF7x44dGXyzA+u7776LRGa1JiRd48aN33nnnd69e7MQO6ZwmiK/WPGdNnz33Xcff/wxyowV5du0acNK8EGWsdkqdth6iaXiK3/NkOz4dNlSClMsCR+9Km9ZC/jCeYGXewMaCWv3OLnMx7gUbhvU/OTJk8844wzq2nfffd977z1uP64mm4gV3yasnJeGW45/BO438rOW0UYbbRTey1ncbBKQgAQKnECyfgUKHKPdzyEC6RPuKCGci3idiWI//fTTe/XqxWZG6B6kMzL9pJNO+vnnn3G6sy4kkhpJhI5n/yMS0ejXXXcd0vz2229nK1PE9Pz58/HNt2/fnnUe33//feJe2OCJ7VSR7GyIgBgaNmwYuz6FurBMvdTO2vC8OIvwQs0jzdFMaHdU1/fff49Xnn1YH3vsMXZ0og0jR46kyGGHHVaZa8nggTZEmpKxAf2tjEHLlkgA4Y7ThXde7IfFlS0xW2USieNiAIZTnEdGjBV/+umnHj168HSIC7r77rsnYJnh4rhx47g3uEMYXhK4hWpPwI5FJCABCUiAL/9U/woIWQJZQiB9k1P5p8Ktjk8U4Y4mZm/UVq1aXXLJJaift99+m/ADYhWQ4Gh6NDf/hKjnSy+9lL1RUTbDhw9HMCG7iX0nYgHtTnH0Ge5PiiD0SUT64GhnwXUiHDhmH1Yc/K+99lqdOnUQRvjjTzzxRFz1W265JcKLEcLEiRNx8J9wwglnnnkmse9vvvkm9pFT7dq1O+uss6hi0KBBlbxI9KJPnz5Ufcopp9BxVXsleZZWHLbshMU7Ohi/OA6Y0nImnM499sYbbxBwxbMaNgDmI973Bg0a4HrndkrALIPVO+64g+Eo98Zxxx2nak+AoUUkIAEJBAJp+BUQtQSyhED6hDsdRotH2yShsFu0aIGoRUmHqHfCYMjAe4j6bdmyJbEuzZs3J1oGvzinENM777wzRTCFr51THKN4UOoMCciPUg/eepz0KHtOEZ1MZsIPGDZQhIPwjgOVWarkadu2LcKLMQBqj0TGDFRKjbjhZ86cWZmLFHztWMNtnwofcGXalpdlwxc3V5ywqKR3kDuHe48bgzuEe4N7pmvXrty3r776arjHKlQjQ8S+ffsSPcXjIGLDKlTWzBKQgAQkUCKBlP4KlFijiRJIP4G0Cvfi3Qt6Gj937Cm0NcIIVUSoCaEyyHGELznxi5e2gylnUfYYwZX+wQcfENKAW5SgF3Q8IolT2MQO0jxUhB1c9Tjj8btTCzE2qPzIONYQajwWiG1VhY4ZBuD9RbWnKHKjQo0pnMzhWxvyPOuoUK+5MX793yvcJNxIIYEDTHE/MAC78MIL8ZH369ePB0SsLYPsZoUiZlBUqC7GpbSQh0iEdanaK4TOzBKQgATKJpDwr0DZZj0rgewhkL4Y9+J9Rh+HxOggfAzBLQSv33LLLcTV4ObE2UlYS5yFuFLhLOIb7zvai1mwBDPwkRmuuEiJp3/ooYeImdl+++3JiZRnMICyJ5KeSa4IdwJ1gnCPzEYHcfWW5yPCEX+qqr08rJKbh2/tEDBTIe3OnApibEJLzjnnHA4efvhhbgzuEyZaENPFzcDtQQgWsywImOFh0eOPP87TIYZ/zJeoUBcIkrnnnnuuvfZaVXuFuJlZAhKQQHkIJPYrUB7L5pFANhCoHumVNLQG9YMSIrIF9YwMIkwFkU0K0pxjztarV48pp5xCDCHfmTBKeAxh7ihsEhFS6O/QTrzvGGGhGFzphLOjrrDDx1133RVruPBxkbKGDJKLiBqEO4u441lHZrGADAE2xNWgvTBItAw5EWSsbEPtRC2HGYck4oMnjKcMLMRIoA5R53F5grudgQFfH3Gn/JgGApC///77cZCXc1IBNx63BHdUeHGPcftxL/GRyC7uHNZuJwM3CXcFtw3KmxuDgRkHDCl5tsNtU85+BXf7iBEjcLeXs4jZJCABCUigQgQq+itQIeNkZtIdHhy/xsvPbcGS6RPmDJj521iKNKnbovXaB9SrmYRV+8rfgHzKWbUyASGpBkGgC6IKtVTRiugUTncKouCDiMcC1hD3DABirXGWdCRabGI5j/HsMieyuGeXFF6odl7lNGW25BK48cYbuQdSPSjlu7uidw5an8WRGA/4jZ/cK641CUhAArEEUvorgFeRUFi8gbE1elwGgWkLPv9gfPevZrxOnpZN9j1ki/ub1tuijPyeKoNAhmPcy2gZp8JE0rLzlHg2kvso9Uj3Yy1OtVOWDBXVXiXWGJsY/pnL6e6NLehxsggQE8WwKlnWSrOTwJ3DQJEJGCxNU5pN0yUgAQlIoPIE0vMrUPl2akECFSWQ1cK9op3JkvxhmREe1WVJewqwGcAnYCkLO86DIOazEnWThW2zSRKQgATyhkDW/grkDWE7kikCOSPccVUSVczzqThSRETwikvM7Ec97pnlT+1Z+5Wtxz3j94YNkIAECoFA1v4KFAJ8+5hSAjkj3FmVj3X32GY1FgeJ//nPf1h/Bj3Eao+VXHk91rLHEpCABCQgAQlIQAISyCoCOSPcmQjItkqjRo2KxYevHTc8Hm6W3H7++efHjBkTe9ZjCUhAAhKQgAQkIAEJ5A2BCi/YksGes5USwv3uu+9m/eyOHTuypOOXX37JDkqs1sf6eo8++iirRhJffvLJJ3/++ees+84uObvtthvLO2awzVYtAQlIQAISkIAEJCCBpBDIGY87vSUeZvbs2cTDsDcqC3WHvS1ZeBFHO6eY9sci2Yj7+fPns3vOoEGD2HV1+vTpScGkEQlIQAISkIAEJCABCWSWQC4Jd9ZzZE+lK6644oQTTvjkk0/GjRu31VZbsZYqkn3rrbdmZ5z99tvv9NNPR77/+OOPRNHobs/svWXtEpCABCQgAQlIQAJJJJBLwp1V2Fkcnb1U2SueaJnx48cj5XmBI+ysRAbCY9geFfnONqivvPIKsTRJhKUpCUhAAhKQgAQkIAEJZIpALgl34mEIjyEYhrh2dqDExR5RQ7ij4AmMwdGOfG/btu0pp5xCXM2TTz4Z5fFAAhKQgAQkIAEJSEACuUsglyanLl26dPTo0bfeeivCnSmnTEX97bffAnr2kG/Tpg2x78j39u3bf/TRR0S6c6pp06a5e22S2PIwPYDld3gc0bhx4/CYIon2NSUBCUhAAhKQgAQkkGoCOSPckeb77rvv1KlT8aOj2jt37kwK/vWDDjqIsJm6deseccQR+N0R92xEv/HGGyPud9999z322CPVBLPfPsTefffdkSNHstR9gwYNmBhw4IEHMjeARxOlNZ7lNZnaSx4lfmmITJeABCQgAQlIQAJpJpAzwh1pfuSRR6I1mYoaKc46deqgQQOyLbbY4qqrrsK1zNkddtghNluamWZVdax/f/PNN7NNVZcuXRj5TJgwgXUzP/zww9tvv71169alNfWBBx74+uuv77vvPmYUlJbHdAlIQAISkIAEJCCBdBLIGeEOlKDXI9VeHFPVqlWjs9FB8WwFlcJes8j0vffe+4wzzthkk01+//13nlQ89thjgwcP3mCDDVgXH1Dt2rVjUi/rbJJ5p512Yk+r/v37T548mT2tmEjAUwuKMAAg8fvvv8dnz6OM4LCfNGnS8OHDGSZh56effmJktf7663MVCoqwnZWABCQgAQlIQALpIZBLwj09RPKsls8++wxFzsqYzZo1Q3/z4OLQQw998cUXv/jii/333/+FF14gGIbZQ9HchAAAJBJJREFUAgh3wpDuvPPOW265hVB44mQIsEHxc8CcAR5fXHPNNSyZ36RJkxkzZqD78eJjk0V78Nyvs846LMFJhBLCXdWeZ/eP3ZGABCQgAQlIIHsIKNyz51qkpCUsac8cgI022ghhHSpAwZMyZcoUluhBhSPc0eWcwqeOl535vrvuuitxR0j5iy66CCc9mVmc5/XXX+/atSsift68eZdeemmvXr2YaUBmtqrF+JVXXrnWWmuh4FPSB41KQAISkIAEJCABCVSponDP87uA+bsh3D/WF04ir9J6jv5mvXwWwt9yyy3XW289sv373/9G5TPfl0mrzCLgNWzYMFbkDBZwtKP1ceeXZtB0CUhAAhKQgAQkIIHKE1C4V55hVlsguIW4dsJgWP8eJzptZbV7NDfqPPLBr7YDeOKZB0w0PEbIzCRXyqLsQ0H0vYvPrJahGSQgAQlIQAISkEAlCSjcKwkw24tvv/32xLowebRDhw7rrrsuzX3//feJeieuvWHDhkj5BQsW4EEnHTUfDjjGPR+l85G1ZdDuhx9+OHNSg+e+Ro0azFLlFC+MxLrzQ2L2v/+0YMz6DbbN/nbawgIkwOiaf7pohj2r3E6bNo2UaLScXCbMUWG6CztSx+5ql9wqYq3xPcMMeEb7bCsRm+6xBNJGYGWV5RPnDPl6+msHbXFP2iq1IgkkhUAu7ZyalA4XmhHWhCEY/eWXX+7duzeSndj0hx9+mLVfWD0GQb/11lsTBM9yMYMGDXrwwQfDrlUgatWqFavEkM6iMQS1H3LIIfzWMqWVaBkmpD733HP86EaqIueQItnf+vbSF788JedaboMLhMA//vGPZ555Br0e+stclFNPPZWJ5inqPoP266677r///W+K7MeZ/eWXX/72t7/Rx7h0P0ogPQQmz/vs1a/OfePrc7+Y8VJ6arQWCSSRQN563FesXP7r4un1a61brWqp2wwlkWPWmiJUhgVh7rrrrj59+jz11FPEumy++eYXXHABkp39qlhYBiHOEjF48phdiuOcRPrC6vgs/d6jRw8E+t13381CNOh75qeysAzB8XjuWRWe/KHXoUjWEoht2LT5n4/8qc+E2f3nLJy0cNnc2FMeSyB7CHz33XevvfYae6XtuOOO/H/xb8sGanipU9RChuVhBkuK7MeZJdAO7z6P7+LS/SiBVBNAso+c2vuHuZ/MWTRp0bL5tWs0THWN2pdA0gnkoXBfsXLZjN++HfVT35m/fnPCti9UK31/0KTTzEKDaHGiZZDgLCODo4tZp7jbmzdvTsw6rUUZ3HjjjazOjnDnQTwZSEGst2zZ8v777x8/fjxhMNtuuy0B8RdeeOHBBx/ME3yebjdu3JjVZtATe+655xtvvLHZZptlv3ZXsmfhzWmTyiCAkr722msZbIcIt9icjKI/+ugjlm3lX2+//fYLc1deffVVpDBCn5z8n/J4jWE54XDEwPB4jf/lb7/9lg2nWQOKsnwbcMBkFb4QYi3HHRNCw94O/HdjZ+jQoXx1HHbYYUx2HzJkyJgxY9DffLewjUMoxfx1ntHRbB7lkciDPtKJuHvvvfeYY8OuEez/QF+YckMK3z+M/PnmGTFiBAvLstc1HgG+f2g2XeD7h9598MEHLEdLpaEgjwU+/fRTHvSxpi0PB2g/7oO4BvtRAqURiJPsUbZly4smblX0RanqNaokVraideVH/uUrlq6sUhSU66vyBPJKuCPZp//61ahpz34/+4M5iyfXqlavStVS106pPLtcsUA8Ol52fuP5GUaUx8ajsxQMv5HoePLEdodsKHhKRfn53eWF5y9KIT+CnldswSw8RrKPmNZ74pwBxb3sI6f2SXODf13we73Gaa7T6nKSAOHm48aNY/fiG264IbYDRK9ddtlleN+bNm2K/iYKjr2Q0dA8GUOpB+HOIq3XX38981j4B+eAf2QC3tD3nTp1IhtFGKUTF/fQQw+x0iv//rH2Y4/5fyfEjmbwpYHOZh83UhjSE8bDUJ9IHtLPO+88wnhQ2FdccQWPBZDmaGtGC0TWodEvvvhiJD6LU5GBrZrxIPCNwWiffSSOP/540gmYoReXX345uvydd94JTWJGDdbYvJk+MggJBWnz448/zgiEgQRG6GxsUz2WQGkESpPs5F+y/NfH/rt3aQXLSF+2bHmX6xIsW4bZPD61ZPlvcxb+kMcdTGfX/iTX0llxcutCsk9bMGb0tL7j5/RHsi9c8gv2a9Vm2ZOCjpOJhcyvXfDMxSaG4zjVHmUonr94SpQ5Cw/KkOyhte9P6J7mZi/+fcWaTdNcp9XlJAEUMAut3nPPPXiv27RpE/rA2Pvqq6/Gjf3AAw/w7AvfOU/MmIJCTsQuHuuQDRGM55udGUIMDPL6kUcewbmOAkZ8I+g5QAGfcMIJaOhLLrmkNEB4wZkUi4Am1o7gFiwwbEBbU+OJJ57I4rCk00I0NJuyvfvuu3//+98ZG1CK7dv4wvnXv/5FcB1DBfaFwAgjELLddtttp512GjHujCXQ4htuuCFBQQTvYY0DFDnRfcy3wROPymf0Mnbs2FAQKY/nnn6RzmbPZCut2aZLIBBYv3WV174+74e5g+cs+oHAmOJYCKmdOGdQ8fTypKy/ZZWEy5bHvnkkUBqBnBfuK1YunTJ/9OfT+k6YO2DOoh8XLp0ddXXpioXjZr1TtWqNalWqFin4qkWLpVStUo2/RUdVCObmnaOig6I8VasVJRclEuhddBCykchR0dmixGpkWlVFtXmLpi5bsWj27xNXnVoVG47NqlWXrFxQq3r9qBkeZITAX/ap8tJXpxb3ssc2hrOxH9NwvGRRlRo1japMA+mcrwK/NXIcdzWbEzMLBQlOl3ClDx48eLvttuMdZYw+ZhM0Jq2Ss4wOI9aZpB5mkxM2wyYMbIrM5BYUNu9lFOQUX37ExR133HFEyzASePbZZ5HyVEpMC6MIHPCTJk0iIv/NN9/kiRyKnDg6SuGMJ/Nbb71Fs1He5CH0hfzE2/DIjmFDcAFg89hjj2Vnt4EDBzIOGT169K233kqr+vXrR+avvvqK0UVUELN0gSeHRx99tMvRlH3VPBsIVKtRZebv43769QuBSCCfCOSwcF++cunUeSMIjJk492O87IuWzo27MIj4d8ZdWaSy/5Dj4fyqhCIJvuoVRPn/PvB31YlVQr3o8H/ZVh0UffhDtRdJ+e8nLJj+67S+Y44pshFlqFJ14rKp7dY94w+T/skQgcljquywwSkjp/VeuCD+xshQi6xWAhUjgK7t1q0bohkvNU50ChNVgiAmaiUsOEO8ytlnn40WL9suM9GDaicbi0q99NJLeKyZu4L4JjC97LIMD4gmpyVki/z3eLtpBinEuGMcsU7YPaHqQbWTjjoPW7ZRkK9HMhPMc8QRRxCwHlsd8p3GN2/enNgbnOshAIYAG6zhjC9ekGeDeOhV7bEMPS6DwMwJVQ7Z4h8T5wweMbX3lPklL8pUvVrR9iYJvBi15tYj6AT6mKIi1auuscoNmiLz+W82V4U7oWnDpzw5bOq/5hVJ9nklXqjlK5fN+n1ciaeSkjjztyqLl1eZMn9EnLVfV1apUSsuzY/pJjB/epV2G57aYq3O42cPGDmtz08LRhdvwY4bnFo8MaUpC39d8sacd1JahcbziQAOZgJFzjzzTKaE0q8wURXletZZZ0XdDEKWcHYc8CER7Rud5QDRHD4SakJMOfNZcXIjqZn5inubU6tcD1WCFo8tGE5F6gQRj7ZmDIBeR6aHnJRltihjCULhGU4g2aN0ItSJpD/llFMiC1FLojwI9IMOOohwGvz6Rx11VBgShDCYuII0lboiU8GC7xIog8CShVXWq79N49rNmjfuUKJ8r1m9/uk7vFuGhdJOEdl1zDHHEB5WWgbTyyBQZ41GjepsUkYGT5VNIFeFe41qdVquvdfvy+awekxpwr3snqf2bKbnxPKImaBSwlL5oU16T4msRSUwDS7uZzjpFVXSYO0ajTZo0GatOs1Kk+/7tPjTtL9KVlee4vPnLbh0usK9PKjMU0QAqbrXXnsh04km5yPO6V133ZXFVVhxhX9AIs4Rzczy5BTpxM/wv4m0Je68qHCxF5kRHPzzcsByMfjvOUYQ85EVaVAh++yzTxl7MCHKDzjgAPaCYO4p8e6sHkPUDUu78CXDajPMo73ppptYqYaJs998881FF11EAA/NxptOKepi2EBoe1yjeGjA4rOUpWE8W+AsKSxgRXw8tbBuFZE5oWA0LImz4EcJlE2gVo0Gpcl3Votu3nj3souXeHZetXk/fZNg2RINmiiB8hPIVeHO/9s69bbYdZNzWzXZ59tZ/x7187Ozfx8f1+01qtVt0WSvKitXrKyCjl65gqWIVuBf4rgoZeUf6XwmlfhRPpP8R2byFDm4itKLQkuLMq86tUqQL19lZcW82r/XqPZL4zrrrzpFLqJQV2BujZXzVxWOa05aP7K8Aysw8GA6FcIdy3j+WHYmy4V7IP5n+T6Q4JnI+964TrO0XhVmSCyZt/yPTXXSXLPV5SoBVk5k5RYkMh3gP+7OO+9ks6RbbrkFRzsebiaGBuHO0i74vFnFhXT832TGQR5c6VHP8bIjnQk9Zytl8uB6f/vttylF0Pm5556LwiaEHeNR/rgDDDJNlicAxNswpRXRj8jG+05xngmwZRsufHZ7oBZSCJUh5B29zsI1LFWJKSbF0lRc7MFsaBs2WQsS5yVB7c2aNeMUWzJTEGtBu0cFQynfJZAYgTj5PnzqE1OLPS1PzLKlJJBmAlXDo9I015rE6pDdvy2ZNeu378bOenfUz8/NXTgxMt6o9qZntX2vSGoXPQ5e9bfoXNHBqlfoetGpKOl/2VbJ+6KcpZ7i3NDBI++57ZGX3nlkVakI5MoH7n2sYa0Nr72m+x/1ZOIP2hqvG+vEdejQIen14wZjIhqrwmXzwg7IguiSRAQWLZs7e+Gk8bP/kO937Btz5aNMqTxgJQ1cm8y3S2Ul2s55AszLRMiyFDq6NnQGqY3kReOSzorsOKGZIUosCkNoVnskD+ExLIvO7FUCzcnJKoosR4MrHTc8GyFHweU4sClOZgqSk+dyHTt2RGrPnDmTBVvQ4sS+R/gIaqclfAyLsod0HOrMRmV5R0YRfAPgoccO/2ssa8MkVM5imVEBDwfw0JOIWZa7oUk4EchMKYKDmXRLWfJgkx5RkEHIlltuGaogLiiyRrZQEBTMcyVQB5dByOa7BMomUOKvAEUWL1vwy8LvJ8z++OuZb53d9oOyjZR41m/yErGYmB4Cuepxj+iwAkz9mk3r1Vx77Xqbt26y/9hZ7yDf5y2azHTR6lVrrV23VZQz6Qfr1Pu1VvUGG63ZNs5y/Wr9li1JtyIMbcB5xtNzfkRDvGnUMH598cHjA+MnvG3btvi0OMXvJYlhcQl+rfGc8UPLT/Unn3xCfn5fmcHGOm5hsUh+Vnm2zg9nWBM6VgcMGjSILdmZwYagRwFgmUf5zKXjx5t9Uniefvjhh0eRr1GTMnIQ433vhHzPSBusVAKrJcCMz7g8rCQTUvh/5CwaF3Ub+2+FRue/GFEb/mH5zw35WZ8x1hRDblZP5988ZGMYGeatIo55hUj6KD9aOVayh3RkOjNK+ULgbDTnFYWEKV5xM/aiRJoaXOwYIZiHb6GoFlqCoI8dZmMWTc8La7EFizcmMuKBBMpPAO/7Bg22X6vOZi2b7F3+UuaUQJYQyHnhHjiuku/r1ltrnbXrt2y99oFfz3przE8v/LEATJaQTn0zCG8lVBRnGL+s+MNwfYU6X3nlFVzvwcvLDyFrMPO4nOfpZGYVZ341ed799NNPP/HEE8yEw09PaCkiAI8C7jd2b2EtOX5xeTTPim/hR5Qq2LYJ459//jnPzfGoUSMeO35WKc6yDzwZ58k+P+2MENANqITU974CNUTyvQJlzCqBjBKIXO+hFXyMSwnpQY6X3dLYsnH5IyFetgXOxo4ZYjOXOHm0xMTYUnzD8IpNCcerLVi8iCkSKCeB2jUa1q5f5GnyJYHcIpAnwj1AR743qLle/bWarlOv5ZZrd/l5QQGt3opuJvAUzzfrReCNI1w1THjn6TlhM8j0888/H48a6eybyIoQ5CeeFVXNGm3I7lmzZvGAGwc8AalMejvjjDPwvV111VWsQYHfndWX+/bti4Jn0WWkP+Gt/PbjsCfcloXb0O48wSfPHXfcQcjsySefjHGWZKY4RXDvZeevL/I9t/5Xba0EJCABCUhAAgVOIK+Ee7iWRfK91vr1a627foP/D9bM+8uMUCboBRXO2mo8DeeYyBZ6TWgsYTNEyLBLC7PcEOjM+iKilPgWPOKsBdG5c2e8bhzjQsNNzlnWdmCFCnxvxMcj9IlPZTYbQbHMPyNqFvc5Eh/hTpQtYp0hAcE5LCKBR58NHWkG88yol+hbGsMQokRHWt5fDjsoAQlIQAISkIAEkk7gj5lPSbebcYPI97prFC2tUCAv5nKhrQlyDRNGcXIHxcxcNELbWbsNDqzTzLoNLOxA/CtOcbQ1oerhWXl48M2ENkoRb8pHhDvxqbjVWaaN2BhC2HmRGE5hDYlPjQS1E5yKZUYF7IKOL5/geM4yeCDGXdVeILef3ZSABCQgAQlIIA0E8tDjngZqWVgFc0BR1UG+B+kcGkkYDCKe4HWiXIJ8Jx1JjdccOc72KMjuSF6Tzkdc6UG7sxg8p/Cp8yIzCj42M4E3+N2JYmckQMFQHc1AwXMcjRxCuu8SkIAEJCABCUhAApUkoHCvJMBsKU5gOlqceaWo9p133pnlXNDZNI6gF7Yk7N+/P752HO2E0LDuBF55dnVh9ZiHHnqI4BlENtNMzznnnD322IMZq8TKI9CZ3somL5hC+ofM7G5I9Au6HF87kes44NngiYqYFEtQDWvMoeMPPfTQaBiQLWhshwQkIAEJSEACEsgLAgr3vLiMVaqgzpl++sADDzCdlBUbWeOZsHX6RrjLpZde2rNnT9Z7ISqGQJezzz6b5V/Y7xDPOkK/W7duhLtQnFh2QuGZUcoSNBQhDAZpfsUVV+CnP/roo4li79evH1qfsvjpscwI4eqrr+7RowdCv3fv3sS+syA0WySyRk2eMLUbEpCABCQgAQlIIJsIlLBJTTY1L6vbMnDgQBZUGTBgQFwrb7zxRjzW3bt3j0tP9UcWcGRlRoLaiWxhJUeEO+s9c4yIZzYqy7/QKj7iesc3j4hnCRq2a8GzjjQn1oV0NDeLSBIhgxEsEAHPso8c0HJy8sKLj6+diHaKhBUhJ0yYgGXSccxjlhgbLLPcO3lw7YfQ+VR3vET7OP7pb4mnMpjoth0ZhG/VEpBAQRFI3a+A3+QFdSNlW2f1uGfbFUm8PTjO2ZCcfcUJdo+NV0GOo+DZhBzTYSpqqIPJqbzCejJRrehv9kYhkZyxRvDc45VnjchYC5TCSY+DP24vmGjzl8isBxKQgAQkIAEJSEAClSSgcK8kwKwrHieso/aVll6iU7zERHR8iUYIbecVVeSBBCQgAQlIQAISkEAqCKi3UkFVmxKQgAQkIAEJSEACEkgyAYV7koFqTgISkIAEJCABCUhAAqkgoHBPBVVtSkACEpCABCQgAQlIIMkEFO5JBqo5CUhAAhKQgAQkIAEJpIKAwj0VVLUpAQlIQAISkIAEJCCBJBNQuCcZqOYkIAEJSEACEpCABCSQCgIK91RQ1aYEJCABCUhAAhKQgASSTEDhnmSgmNtoo414nzJlSvJNa7F8BIYOHbrLLruUL29ac7E31g477DB8+PC01mplEpCABAqMQNb+ChTYdbC7ySegcE8+07BL0bJly5JvWovlIzBgwIDOnTuXL29ac7GJVc2aNRcvXpzWWq1MAhKQQIERyNpfgQK7DnY3+QQU7slnGny9DPeTb1qL5SOwaNGiWrVqlS9vWnPRqtNPP71Xr15prdXKJCABCRQYgaz9FSiw62B3k0+gRvJNFrzFFi1a4FhluN+hQ4cQNlPwSNIN4L777ps0aVK6ay1HfTyN6dSp0/nnn0+0TLt27cpRwiwSkIAEJFBhAln7K1DhnlhAAn8moMf9zzyS8QlxhtOd4f7gwYOTYU8bFSPA9/Vpp53WqFGjihVLV+6GDRsef/zxNDJdFVqPBCQggcIikOW/AoV1Mextsgko3JNNdJU9vKrt27fH6W7ATEr4lm6U7+t+/frdcMMNpWfJ8BmiZbp16zZjxownnngiw02xeglIQAJ5RyD7fwXyDrkdSisBhXtKcNeuXZvJkTjdb7/9drV7ShCXZJTv6+7du/fp0ydr3e20mjCqpk2b8kzgpptuUruXdBlNk4AEJJAggZz4FUiwbxaTwCoCCvdU3QhEunft2rV+/fpq91Qh/rPd4GV55JFH1l133T+fybpPBFMdfPDBV1xxhdo9666NDZKABHKWQA79CuQsYxueeQJOTk3VNUCcbb311vfff/+gQYPQ7vjgL7nkkuxcXDxVCNJll2cafF/PnTsXXzsR5OmqtlL1NGjQAKc7IVW9e/fedtttuTdYbaZSFi0sAQlIoFAJ5OKvQKFeK/tdWQIK98oSLKM82r1Jkyb7778/0RFDhgxBvs+aNQvt7lIzZUAr/ykWZlm+fDnf123atEEEAzb7fe2xvatbt+5WW2114YUXrlix4uuvv27dujVd2H777WPzeCwBCUhAAqURCJGoufsrUFq/TJdAGQSqrly5sozTniqDwMCBA5kEyQzUMvKEUwS782LbHdYoHDVq1M8//7zaImZYLYFtttmGoRGqnacZONp5X22RLMyAap8/fz7/hgzquDdQ8FnYSJskAQlIIAsJBE9H+n8F5s2bt+mmm/KYNwuZ2KS8J6DHPR2XGE0ZZCUOeOJn3FQ1KdBZnoVHGQFsUgxmxEi1atXCVFreeRSz7777ZqQZVioBCUgg5wiE7/9c/xXIOew2OLMEFO5p5Y+HmOmqaa3SynKEAIOQOqteOdJemykBCUhAAhKQQLoJuKpMuolbnwQkIAEJSEACEpCABBIgoHBPAJpFJCABCUhAAhKQgAQkkG4CCvd0E7c+CUhAAhKQgAQkIAEJJEBA4Z4ANItIQAISkIAEJCABCUgg3QQU7ukmbn0SkIAEJCABCUhAAhJIgIDCPQFoFpGABCQgAQlIQAISkEC6CSjc003c+iQgAQlIQAISkIAEJJAAAYV7AtAsIgEJSEACEpCABCQggXQTULinm7j1SUACEpCABCQgAQlIIAECCvcEoFlEAhKQgAQkIAEJSEAC6SagcE83ceuTgAQkIAEJSEACEpBAAgQU7glAs4gEJCABCUhAAhKQgATSTUDhnm7i1icBCUhAAhKQgAQkIIEECCjcE4BmEQlIQAISkIAEJCABCaSbgMI93cStTwISkIAEJCABCUhAAgkQULgnAM0iEpCABCQgAQlIQAISSDcBhXu6iVufBCQgAQlIQAISkIAEEiCgcE8AmkUkIAEJSEACEpCABCSQbgIK93QTtz4JSEACEpCABCQgAQkkQEDhngA0i0hAAhKQgAQkIAEJSCDdBBTu6SZufRKQgAQkIAEJSEACEkiAgMI9AWgWkYAEJCABCUhAAhKQQLoJKNzTTdz6JCABCUhAAhKQgAQkkAABhXsC0CwiAQlIQAISkIAEJCCBdBNQuCdOvGHDhptssskXX3yRuAlLSkACEpCABCSQOwSWL1/+2WeftW/fPneabEvzioDCPfHLWbVq1WrVqvE/nLgJS0pAAhKQgAQkkDsEVq5cuWLFiurVq+dOk21pXhFQuOfV5bQzEpCABCQgAQmkjoAe99Sx1XJ5CCjcy0Op5DyGypTMxVQJSEACEpBAnhLA44521+Oep5c3B7qlcE/8IiHcmzVrNnr06MRNWFICEpCABCQgAQlIQALlI6BwLx+nknIR486Y2xj3ktiYJgEJSEACEshDAosXL+7Zs+cuu+ySh32zS7lAQOGe+FXC477NNtvMmzfPhWUSh2hJCUhAAhKQQI4QwFU3ZMgQ3jt06JAjTbaZ+UZA4Z74FQ0e97lz5xotkzhES0pAAhKQgARyhMCyZcuGDx/etWvXGjVq5EiTbWa+EVC4V+qKso77gQceqHCvFEQLS0ACEpCABHKBAMJ96NChnTp1yoXG2sb8JKBwr9R1bdSo0eabbz5w4MDJkydXypCFJSABCUhAAhLIbgII92HDhhknk91XKc9bp3Cv1AUmWqZx48YbbLDBpEmTKmXIwhKQgAQkIAEJZDEBpqU+9NBDF154oXEyWXyV8r9pVVmRNP97mcoesoPa+++//8orr1x77bVEzqSyKm1LQAISkIAEJJAZAqxF0apVqx9++KF27dqZaYG1SqBKFT3ulb0LqlWrxn/ykiVLPv7448rasrwEJCABCUhAAtlHILjbzzvvPFV79l2cwmqR06KTcL03XfUaMGBAx44ddbonAagmJCABCUhAAllDgPUf+/fvf9999+Fuz5pG2ZACJaDHPQkXHqf7SSedRKS7Tvck0NSEBCQgAQlIIJsIhFUgdbdn0zUp3LYo3JNz7Vu0aNG8eXOc7oMHD06ORa1IQAISkIAEJJBpAgTJ3HXXXSNGjLjqqqsy3Rbrl0AVQ2WScxMEp/vEiROfeuopomUMmEkOVq1IQAISkIAEMkcA1X7bbbf16tVrwoQJRrdn7jpY8/8T0OP+/ywqebTGGmucfPLJzFLt0aOHy7pXEqbFJSABCUhAApklEELbe/bsiUuuXr16mW2MtUsgEFC4J/NOIGDmxBNPXLRokcHuycSqLQlIQAISkEDaCfBrjmq/6KKL9tprr7RXboUSKJmAoTIlc0kslYCZPfbYg7IvvPACxyeccEJidiwlAQlIQAISkECmCES+9l133fWyyy5zx6VMXQjrLU5Aj3txJpVK4d8b7X7sscf27t2bGejGzFSKpoUlIAEJSEAC6SWAamdfRX7Hd9ppJ1S7oe3pxW9tqyHgzqmrAZTYaZaO+vDDD++44w7+4a+55poOHTokZsdSEpCABCQgAQmkjUA0G5W49k6dOqna00beispJQOFeTlAVzoZ2/+677/r27Ttjxoy//vWvavcKE7SABCQgAQlIII0EwsqPQ4YMCXHtRsikkb1VlZeAwr28pBLIt2LFiqVLlw4cOPDee+/l/79bt27K9wQwWkQCEpCABCSQUgLB0f7ggw/utttuzz77bK1atVTtKQWu8YQJKNwTRlfegrje+UYYNGgQuyUr38tLzXwSkIAEJCCB1BMI81D5gV65ciWOdvxrrvyYeurWkDgBhXvi7CpUMkS9I9/ZfQ35zoIzfDu4T1OFGJpZAhKQgAQkkBQC6HV+kdnsfOjQodWrV0ey77LLLjrak8JWIykloHBPKd4/GUe782J3Vb4sXn75Zb4sOnbsqIL/EyM/SEACEpCABFJJALF+++23UwO/yEj2Sy+9VMmeSt7aTjIBhXuSga7WHIHvfFmwwSoKHu0+bNgw3qdMmUJBHPDRa7V2zCABCUhAAhKQwGoJoNRDnnCATO/atSuPvjkgXS/7agGaIasIKNwzdjmCgkfE88COY9qBfA+vH3/8MWPNsmIJSEACEpBAHhFo37596E1Q6kh2xDopHORRL+1KoRBQuGfRlUa+R68sapZNkYAEJCABCeQsgUigRwc52xUbLoEqCndvAglIQAISkIAEJCABCeQAgWo50EabKAEJSEACEpCABCQggYInoHAv+FtAABKQgAQkIAEJSEACuUBA4Z4LV8k2SkACEpCABCQgAQkUPAGFe8HfAgKQgAQkIAEJSEACEsgFAgr3XLhKtlECEpCABCQgAQlIoOAJKNwL/hYQgAQkIAEJSEACEpBALhBQuOfCVbKNEpCABCQgAQlIQAIFT0DhXvC3gAAkIAEJSEACEpCABHKBgMI9F66SbZSABCQgAQlIQAISKHgCCveCvwUEIAEJSEACEpCABCSQCwQU7rlwlWyjBCQgAQlIQAISkEDBE1C4F/wtIAAJSEACEpCABCQggVwgoHDPhatkGyUgAQlIQAISkIAECp6Awr3gbwEBSEACEpCABCQgAQnkAgGFey5cJdsoAQlIQAISkIAEJFDwBBTuBX8LCEACEpCABCQgAQlIIBcIKNxz4SrZRglIQAISkIAEJCCBgiegcC/4W0AAEpCABCQgAQlIQAK5QEDhngtXyTZKQAISkIAEJCABCRQ8AYV7wd8CApCABCQgAQlIQAISyAUCCvdcuEq2UQISkIAEJCABCUig4Ako3Av+FhCABCQgAQlIQAISkEAuEFC458JVso0SkIAEJCABCUhAAgVPQOFe8LeAACQgAQlIQAISkIAEcoHA/wGDQrOHFDO0NwAAAABJRU5ErkJggg==)" @@ -30,7 +30,7 @@ }, { "cell_type": "markdown", - "id": "8dde69c0", + "id": "ae7f463e", "metadata": {}, "source": [ "Two baselines are considered for benchmarking, which are shown in the figure above.\n", @@ -45,7 +45,7 @@ }, { "cell_type": "markdown", - "id": "d11c0f41", + "id": "586b1e0b", "metadata": {}, "source": [ "* [GPU Configuration and Imports](#GPU-Configuration-and-Imports)\n", @@ -62,7 +62,7 @@ }, { "cell_type": "markdown", - "id": "d21de582", + "id": "69d31188", "metadata": {}, "source": [ "## GPU Configuration and Imports " @@ -71,7 +71,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "64edb852", + "id": "6393b2fe", "metadata": {}, "outputs": [], "source": [ @@ -104,7 +104,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "9923c2bc", + "id": "6244a108", "metadata": {}, "outputs": [], "source": [ @@ -131,7 +131,7 @@ }, { "cell_type": "markdown", - "id": "4a68533c", + "id": "10b3af73", "metadata": {}, "source": [ "## Simulation Parameters " @@ -140,7 +140,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "67797ec6", + "id": "2e2b69eb", "metadata": {}, "outputs": [], "source": [ @@ -187,7 +187,7 @@ }, { "cell_type": "markdown", - "id": "bc305fb2", + "id": "ebbab91e", "metadata": {}, "source": [ "The `StreamManagement` class is used to configure the receiver-transmitter association and the number of streams per transmitter.\n", @@ -199,7 +199,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "81c2da6f", + "id": "08378e86", "metadata": {}, "outputs": [], "source": [ @@ -209,7 +209,7 @@ }, { "cell_type": "markdown", - "id": "3cfe80e0", + "id": "feb77719", "metadata": {}, "source": [ "The `ResourceGrid` class is used to configure the OFDM resource grid. It is initialized with the parameters defined above." @@ -218,7 +218,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "927bd37a", + "id": "41b17f86", "metadata": {}, "outputs": [], "source": [ @@ -236,7 +236,7 @@ }, { "cell_type": "markdown", - "id": "f8f4c169", + "id": "6b61e3e9", "metadata": {}, "source": [ "Outer coding is performed such that all the databits carried by the resource grid with size `fft_size`x`num_ofdm_symbols` form a single codeword." @@ -245,7 +245,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "54503cf6", + "id": "b9c1afbd", "metadata": {}, "outputs": [], "source": [ @@ -257,7 +257,7 @@ }, { "cell_type": "markdown", - "id": "44a844b8", + "id": "9a935c71", "metadata": {}, "source": [ "The SIMO link is setup by considering an uplink transmission with one user terminal (UT) equipped with a single non-polarized antenna, and a base station (BS) equipped with an antenna array.\n", @@ -267,7 +267,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "3d3e0917", + "id": "c025cf52", "metadata": {}, "outputs": [], "source": [ @@ -286,7 +286,7 @@ }, { "cell_type": "markdown", - "id": "314f94e8", + "id": "6d33937d", "metadata": {}, "source": [ "## Neural Receiver " @@ -294,7 +294,7 @@ }, { "cell_type": "markdown", - "id": "4e725d65", + "id": "e9651393", "metadata": {}, "source": [ "The next cell defines the Keras layers that implement the neural receiver.\n", @@ -306,7 +306,7 @@ }, { "cell_type": "markdown", - "id": "7b8fe9dd", + "id": "63c331fb", "metadata": {}, "source": [ "![Neural RX](data:image/png;base64,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emaekc/a01NdXf2t9NSvflUtAiIQuwT8KNx5odK0adO+/PJLDlq2bNmlS5c2bdqkpaXFLmWlXAREQAREQAREQAREQAQiJOBH4c4j4f2CamebdvQ6Oz+ydUyEz6nLRUAEREAEREAEREAERCCmCfhUuMc0UyVeBERABERABERABERABBwn4LsXMDn+hIpQBERABERABERABERABOKAgJMuKIfycv/YPstAKZmU0qjKCXEASI8gAiIgAiIgAiIgAiIgAn4g4KRwP3Bw7xsLzzdPVbJkStPKJ/vhCQtNQ6mUCs2qnnJMjTMLDakAIiACIiACIiACIiACIhAtAk4K97wSebtzNltPsnDTO9axnw/KpdWoWKquhLuf80hpEwEREAEREAEREAERcFK4B9A8cCg74Iw/v5JOnHz8mTalSgREQAREQAREQAREQAQMAS1OVUkQAREQAREQAREQAREQgRgg4KTFPTW5zHmtXo2Bh2af+Nydy7ZN/W3LRzGRWiVSBERABERABERABERABJwU7slJqW1qDYgJpvji79y/TsI9JjJLiRQBERABERABERABEYCAk8L9cHQlS8cEVtLJhpUxkVQlUgREQAREQAREQAREQAQgIB93FQMREAEREAEREAEREAERiAECEu4xkElKogiIgAiIgAiIgAiIgAhIuKsMiIAIiIAIiIAIiIAIiEAMEJBwj4FMUhJFQAREQAREQAREQAREQMJdZUAEREAEREAEREAEREAEYoCAhHsMZJKSKAIiIAIiIAIiIAIiIAIS7ioDIiACIiACIiACIiACIhADBCTcYyCTlEQREAEREAEREAEREAERkHBXGRABERABERABERABERCBGCAg4R4DmaQkioAIiIAIiIAIiIAIiICEu8qACIiACIiACIiACIiACMQAAQn3GMgkJVEEREAEREAEREAEREAEJNxVBkRABERABERABERABEQgBghIuMdAJimJIiACIiACIiACIiACIpDifwT79+///vvvnU3nvtzMRRvXrfvzcKzpqQcqbF5V6s/Zzt5CsYmACIiACIiACIiACDhLoHXr1hUrVnQ2zhiKLSkvL89vyUWpT5069dlnn83Ozp4/f36pUqXatm3rbCIP5uVkZa/ZvncF0SYnpVUq3aBKmcbO3kKxiYAIiIAIiIAIiIAIOEtg8eLFO3fuRL53794dBT94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Gu3OTbExU9qwuKNTMYezHwt6HU8VzhAM7xTCcJ4LOW/cZpDLaH3EPVukcxXBjMblPMFYAMoZAlASsIXjbo5S5zyR4GyDi45dELN1Iyd5h7DlV8PtOEkuY9cnHu7IX1MfiJ/AuNwQFVZ5TvIT4QmMSZ4HYWaAk9za3MK8ZIoHIYz5/PHHH4w97PfK91oSQIRcGOxy87+Y9H8REAEREAEREIFEJ8Cud+xQhycIC/xilIXrFnfUJ9sC+kq1x0pWIUORyAGpte++gsLmgya2ZL0JbM4jZAPO2zUxIZHLKH7jiGIuxC5uLkFP80GFB9ydgYEZG9jPm5PBtyN+RDkfhgT2lCDf+bAvjf0kEQYkjzPGEm+/V77XkgCtTLVT0rEIiIAIiIAIiEAwAUyB6NLg8zF0xnUfd5w3cJXG4h5DUPyc1ACxS1KDz5j0F3Q+4OnswezHAcEK/Rri2nx/yvdkwF0KClPQ+YDL9VUEREAEREAEREAE4omA68I9nmDpWURABERABERABERABGKUgPFxx+02RtNPsiXcYzfvlHIREAEREAEREAEREIEEIiDhnkCZrUcVAREQAREQAREQARGIXQIS7rGbd0q5CIiACIiACIiACIhAAhGQcE+gzNajioAIiIAIiIAIiIAIxC4BCffYzTulXAREQAREQAREQAREIIEISLgnUGbrUUVABERABERABERABGKXgIR77OadUi4CIiACIiACIiACIpBABCTcEyiz9agiIAIiIAIiIAIiIAKxS0DCPXbzTikXAREQARFa1211AABAAElEQVQQAREQARFIIAIS7gmU2XpUERABERABERABERCB2CUg4R67eaeUi4AIiIAIiIAIiIAIJBABCfcEymw9qgiIgAiIgAiIgAiIQOwSkHCP3bxTykVABERABERABERABBKIQEriPGvuoewV22fOXPXvvBIlDubl7Ni3zjz7vgNZ8ze8tCJzOl8rlKrTPuPiplV6JQ4WPakIiIAIiIAIiIAIiEBMEEgg4Z5SsnSFUjX35mZt2PmDPW8Q8dv3reRfyaTkxpV7ZZQ/3v6rjkVABERABERABERABETADwQSy1WmcnrD9nWGFcS9QqmM42oNSE+tWFAAnRcBERABERABERABERCBaBFILOFeOqVi48on1KnQLhg35vZqZZq1rjkg+CedEQEREAEREAEREAEREIGo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IAIiIAKOEEC1v/7666eddlo8qXbIeC3cuWVqairb8eA589VXX7FQlS3eHckhRSICIiACIiACIiACIiAC+LUvWbKE96T26tUrbmztJlujINy5Mdp96NCh06dPf/PNN1euXMlgSKZ3VTMREAEREAEREAEREIFICLCHzOzZs/GQ6devX+/eveNMtUMmOsL98I1TUhgG8TrVMWPGgPiOO+6Qdo+kpOpaERABERABERABEUhYAkaysxQ1Nzf3nHPO6dGjR/ypdjI3asL98L1TUhgM8XfWrFlTp05leHTyySd37tw5YcucHlwEREAEREAEREAERKBIBDZu3IiG5JOdnd2lSxf8OJo0aYK8LFIksRI4yk9ltDujohkzZiDfJ0+ejIJv+L9P3bp1Y4Wj0ikCIiACIiACIiACIuAZAfQ6K1CzsrI4wNBeu3ZtfDfi1dBuUU1ic0brS3QPmNqYNm0aeWAlCVmPdjd/nU3bvtzMXzd9+OOG14g2PbVyy+rnHJ8xxNlbKDYREAEREAEREAEREAEHCaDRMasToTlYsGBBo0aNWrRo0bRp027dusWlb0wAPR8Jd5My5PuqVatWr17NX9yVOGnp+ICkR/I15+CetTu/+2P7TCJJSy5br0LHRlVOjCRCXSsCIiACIiACIiACIuA2gaSkJHOLWrVqodTZOqZ58+aJINnNU0fZVSY4d7GvM2ziw0+IeLS7+RscMpIzWNwXbdyUu/FwHOmpaS2rN2pXp2ckEepaERABERABERABERABVwkYsc4trANXb+fDyH0n3O2MEPG4u3PG6Hj7TxEe787ZXHLND1tXHo6mXFpqm3qNezbpGWGculwEREAEREAEREAEREAE3CNQ0r2oFbMIiIAIiIAIiIAIiIAIiIBTBCTcnSKpeERABERABERABERABETARQIS7i7CVdQiIAIiIAIiIAIiIAIi4BQBCXenSCoeERABERABERABERABEXCRgIS7i3AVtQiIgAiIgAiIgAiIgAg4RUDC3SmSikcEREAEREAEREAEREAEXCQg4e4iXEUtAiIgAiIgAiIgAiIgAk4RkHB3iqTiEQEREAEREAEREAEREAEXCUi4uwhXUYuACIiACIiACIiACIiAUwQk3J0iqXhEQAREQAREQAREQAREwEUCEu4uwlXUIiACIiACIiACIiACIuAUAQl3p0gqHhEQAREQAREQAREQARFwkYCEu4twFbUIiIAIiIAIiIAIiIAIOEVAwt0pkopHBERABERABERABERABFwkIOHuIlxFLQIiIAIiIAIiIAIiIAJOEZBwd4qk4hEBERABERABERABERABFwlIuLsIV1GLgAiIgAiIgAiIgAiIgFMEJNydIql4REAEREAEREAEREAERMBFAhLuLsJV1CIgAiIgAiIgAiIgAiLgFIEUpyKy4sk5uOeVH/tZX/15cDAvJyt7vT/TplSJgAiIgAiIgAiIgAiIQDAB54X7obzcFZnTg++kMyIgAiIgAiIgAiIgAiIgAsUmIFeZYqPThSIgAiIgAiIgAiIgAiLgHQEJd+9Y604iIAIiIAIiIAIiIAIiUGwCSXl5ecW+ON8LcZVZmTkr35/8eTIlKa1C6Ywq6Q39mTylSgREQAREQAREQAREQAQg4LxwF1YREAEREAEREAEREAEREAHHCchVxnGkilAEREAEREAEREAEREAEnCcg4e48U8UoAiIgAiIgAiIgAiIgAo4TkHB3HKkiFAEREAEREAEREAEREAHnCUi4O89UMYqACIiACIiACIiACIiA4wQk3B1HqghFQAREQAREQAREQAREwHkCHgn33NzcyZMn5+TkmCc4ePDgrFmzpkyZUtADEXL+/PkzZswoKIDOi4AIiIAIiIAIiIAIiEBCEfBIuO/fv/+JJ554/PHHDdwDBw68++67r7zySkGsd+/e/eKLLz711FMFBdB5ERABERABERABERABEUgoAinePC2vedq8eTPavWvXrt27d+frnj17du3aZb97dnZ26dKlzZlKlSr961//Qu5bATguVaqU9ZUYsMrbz1g/6UAEREAEREAEREAEREAE4o+ARxZ3Aw6xfsMNN2zdutXOES+a999/v3PnzkcffXSfPn0+++yzHTt23HXXXf369Rs/fvy+ffvefPPNE0888bjjjhs2bNi6detQ8Hjd9OjRo0WLFgwDnn32WXtsOhYBERABERABERABERCBuCTgnXBPS0s788wzsZHfcsst2MsNzUOHDv38888jRoxo0KDBgw8+WLZs2VGjRq1fv/6UU06pUKHChg0bMjMzx44dW7Fixbvvvrthw4YcLFy4cOTIkY0aNXrggQfat2+PFX/BggVxmTd6KBEQAREQAREQAREQARGwCHgn3LllzZo1x4wZM3Xq1JdeesmkAGf3SZMm4dGOakfW33TTTYh11qQ2b968Ro0a6PukpKSSJUuuXLmycePG6HXOfPzxx6j53r17lytXrnXr1gQgBut5dCACIiACIiACIiACIiACcUnAU+GenJzcrl2766+/fvTo0YsWLQIoFvc1a9ZgSsfijoN7/fr1q1WrxhlC8iFA1apV0fSVK1ceNGjQo48+mpWVtXTpUrzhke+vvfYa+9Ig6MuXLx+XeaOHEgEREAEREAEREAEREAGLgEeLU637paenDxkyZPr06djdsZpjL8clZtOmTWalKd7t27dvr1KlihUeB5tevXodddRRH3zwwbhx4zIyMhDxKPV7770XTW+CEacVXgciIAIiIAIiIAIiIAIiEJcEPLW4G4IIbtzT8YTha0pKCgtScX155JFHsMHjsM4ZlLrFGi+aCRMmLFu2DOcZDO2ExP2dRa4vv/wyTjU//vgjC1WR/lZ4HYiACIiACIiACIiACIhAXBLwzuKOq7ohyAEq/KGHHsLXBZnes2fPG2+88ekjH0zpd95557HHHrtz506M8YRHrH/yySc//PADpnd2nhk8eDALWAnPhjMTJ07E1n7CCScMHDjQ2kcyLjNJDyUCIiACIiACIiACIiACSdYGL66y4C4bN25EXuPoYm7EPo/sHtO0aVO+ItO3bduG/zoO7vjJIM3xfcdnhqswz2/ZsoUABGNzd74i6LG4s6ck1ndiIzBXGZXv6iMochEQAREQAREQAREQARGIIgGPhHu+T4g6t8zwBAj4GnAJIj5AnYcOH3C5voqACIiACIiACIiACIhATBOIpnCPaXBKvAiIgAiIgAiIgAiIgAh4SSAKi1O9fDzdSwREQAREQAREQAREQATig4CEe3zko55CBERABERABERABEQgzglIuMd5BuvxREAEREAEREAEREAE4oOAhHt85KOeQgREQAREQAREQAREIM4JSLjHeQbr8URABERABERABERABOKDgHfCff/+/cHIOFnUjeQPHDiQm5ubb1RsEBl8XmdEQAREQAREQAREQAREIA4IuCvcUdJz5sxp27bt5Zdfzt927drxwlRkN2J9yZIlf//734855pg2bdrcddddvGKJn84++2x+Rc1PmTJl3Lhx8OX8mDFjLrzwQqJaunTp0KFDW7ZsySUjRozYvHnz7t27CXbqqadee+21HTt2vPfee+MgS/QIIiACIiACIiACIiACIhBMwF3hjkDfu3cvGr1evXqoamT6o48++v777yO4r7nmmtWrV995551nnXXWyy+//OKLLyLH58+f/9NPP+3atYuvEydO5O2qhPzoo4+aNWvGi1RvvfXWlStX3nTTTRdddNHs2bMnTJiAmt+0adPcuXN37NhB/P379w9+Qp0RAREQAREQAREQAREQgTggkOLBM6Smpp577rlNmzbt0KEDgnvSpEkNGzb8/vvvx44dO3DgQDS3OYkcr1q16meffXb66ad//vnnFStW/PjjjytUqLBhw4a+ffv+9ttvM2bMwOJes2bNsmXL1q1b94MPPhg2bBhjg/Lly6PpGzdunJyc7MHj6BYiIAIiIAIiIAIiIAIi4D0BL4Q7T4XULl26dPXq1Vu3bv3HH3+sXbsWY3mnTp3S09OTkpLwfvnvf/9bpkyZHj16YI/np+bNm3ft2vX5558/9thjjzrqqBYtWnz44YdY3xcsWLBu3TrEek5OToMGDTgoWbIkUh6TvFS796VHdxQBERABERABERABEfCMgEfC3TzPwYMHMZwjyqtVq4Y6R74ff/zxnFy+fDm29rS0NHzcn3766czMzNGjRyPWe/XqRfibb765VKlSXIKyHzRo0ODBg01sKH4c4vmLZJdq96zE6EYiIAIiIAIiIAIiIAJRIeCFcEeaz5s3DzmO2zp+L6NGjcLEXqdOneeee46/+LXzueqqq7Cdo+kxyQPinHPOyc7O7tOnDz/hBI+mP/roo3GPwa+9fv36+M/g186KVQR9VKjppiIgAiIgAiIgAiIgAiLgMQEvhDtrTNn1hb1i8JYZPnw4JnOE+DPPPHPdddeddNJJHPfr149dYnhyvNXPP/98jPEcIMqvuOIKTuISw9+MjIzHHnvsn//8J+7y/NSqVasTTzwRLxp+wujOX31EQAREQAREQAREQAREII4JJOEm7t7jYWv/+uuvcYCZNWsWWrxKlSo4tSPfuSM/4bOOGR4HmHLlyvGXkySGLWX4y8pUvuLIzmYytWrVMinkkj179mRlZbHaldiICg8ZDPPs7M5XE0Z/RUAEREAEREAEREAERCAuCXhhcccijhBnJxm7aRzNzUmcXuwnOeaMBRpjPAtPra9cwq9odPslDAPMSMAKpgMREAEREAEREAEREAERiD8C7u7jjsJGeeMJg0HdrrYtjvmetH7lIDhA8Bl7eB2LgAiIgAiIgAiIgAiIQFwScNdVBmQ4rOPNYrZ9jEuCeigREAEREAEREAEREAER8ICA68Ldg2fQLURABERABERABERABEQg7gm46yoT9/j0gCIgAiIgAiIgAiIgAiLgDQEJd2846y4iIAIiIAIiIAIiIAIiEBEBCfeI8OliERABERABERABERABEfCGgIS7N5x1FxEQAREQAREQAREQARGIiICEe0T4dLEIiIAIiIAIiIAIiIAIeENAwt0bzrqLCIiACIiACIiACIiACEREQMI9Iny6WAREQAREQAREQAREQAS8ISDh7g1n3UUEREAEREAEREAEREAEIiIg4R4RPl0sAiIgAiIgAiIgAiIgAt4QkHD3hrPuIgIiIAIiIAIiIAIiIAIREZBwjwifLhYBERABERABERABERABbwhIuHvDWXcRAREQAREQAREQAREQgYgISLhHhE8Xi4AIiIAIiIAIiIAIiIA3BCTcveGsu4iACIiACIiACIiACIhARAQk3CPCp4tFQAREQAREQAREQAREwBsCEu7ecNZdREAEREAEREAEREAERCAiAhLuEeHTxSIgAiIgAiIgAiIgAiLgDQEJd2846y4iIAIiIAIiIAIiIAIiEBEBCfeI8OliERABERABERABERABEfCGgIS7N5x1FxEQAREQAREQAREQARGIiICEe0T4dLEIiIAIiIAIiIAIiIAIeENAwt0bzrqLCIiACIiACIiACIiACEREQMI9Iny6WAREQAREQAREQAREQAS8ISDh7g1n3UUEREAEREAEREAEREAEIiIg4R4RPl0sAiIgAiIgAiIgAiIgAt4QkHD3hrPuIgIiIAIiIAIiIAIiIAIREZBwjwifLhYBERABERABERABERABbwhIuHvDWXcRAREQAREQAREQAREQgYgISLhHhE8Xi4AIiIAIiIAIiIAIiIA3BP4feeycwessdS0AAAAASUVORK5CYII=)" @@ -315,7 +315,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "e25eafe2", + "id": "9651cec8", "metadata": {}, "outputs": [], "source": [ @@ -434,7 +434,7 @@ }, { "cell_type": "markdown", - "id": "c5752171", + "id": "5ef365bd", "metadata": {}, "source": [ "## End-to-end System " @@ -442,7 +442,7 @@ }, { "cell_type": "markdown", - "id": "3341554e", + "id": "1cf89203", "metadata": {}, "source": [ "The following cell defines the end-to-end system.\n", @@ -471,7 +471,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "66cc25c0", + "id": "07bc54fd", "metadata": {}, "outputs": [], "source": [ @@ -492,7 +492,7 @@ }, { "cell_type": "markdown", - "id": "7a973a29", + "id": "2ccac0ab", "metadata": {}, "source": [ "The following cell performs one forward step through the end-to-end system:" @@ -501,7 +501,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "16fed277", + "id": "47b41c7b", "metadata": {}, "outputs": [ { @@ -557,7 +557,7 @@ }, { "cell_type": "markdown", - "id": "e6c0d3c7", + "id": "7308c9f5", "metadata": {}, "source": [ "The BMD rate is computed from the LLRs and transmitted bits as follows:" @@ -566,7 +566,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "1c2f9a54", + "id": "752452bc", "metadata": {}, "outputs": [ { @@ -586,7 +586,7 @@ }, { "cell_type": "markdown", - "id": "da4aec23", + "id": "a24c399e", "metadata": {}, "source": [ "The rate is very poor (negative values means 0 bit) as the neural receiver is not trained." @@ -594,7 +594,7 @@ }, { "cell_type": "markdown", - "id": "e1b4dbca", + "id": "d0b7969a", "metadata": {}, "source": [ "## End-to-end System as a Keras Model " @@ -602,7 +602,7 @@ }, { "cell_type": "markdown", - "id": "b43d51ce", + "id": "cafb2661", "metadata": {}, "source": [ "The following Keras *Model* implements the three considered end-to-end systems (perfect CSI baseline, LS estimation baseline, and neural receiver).\n", @@ -622,7 +622,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "636bd5f5", + "id": "f6621847", "metadata": {}, "outputs": [], "source": [ @@ -779,7 +779,7 @@ }, { "cell_type": "markdown", - "id": "37d4eb6e", + "id": "9d3f56d8", "metadata": {}, "source": [ "## Evaluation of the Baselines " @@ -787,7 +787,7 @@ }, { "cell_type": "markdown", - "id": "d15a5429", + "id": "35f3fcb8", "metadata": {}, "source": [ "We evaluate the BERs achieved by the baselines in the next cell.\n", @@ -798,7 +798,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "3913a6b0", + "id": "39bb18d5", "metadata": {}, "outputs": [], "source": [ @@ -811,7 +811,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "0282a311", + "id": "39ba8f2c", "metadata": {}, "outputs": [ { @@ -883,7 +883,7 @@ }, { "cell_type": "markdown", - "id": "7645442f", + "id": "8a0ca3af", "metadata": {}, "source": [ "## Training the Neural Receiver " @@ -891,7 +891,7 @@ }, { "cell_type": "markdown", - "id": "6e386699", + "id": "a4e33757", "metadata": {}, "source": [ "In the next cell, one forward pass is performed within a *gradient tape*, which enables the computation of gradient and therefore the optimization of the neural network through stochastic gradient descent (SGD)." @@ -899,7 +899,7 @@ }, { "cell_type": "markdown", - "id": "566eb6e6", + "id": "44ac3322", "metadata": {}, "source": [ "**Note:** For an introduction to the implementation of differentiable communication systems and their optimization through SGD and backpropagation with Sionna, please refer to [the Part 2 of the Sionna tutorial for Beginners](https://nvlabs.github.io/sionna/examples/Sionna_tutorial_part2.html)." @@ -908,7 +908,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "fa122515", + "id": "4df9fe26", "metadata": {}, "outputs": [], "source": [ @@ -928,7 +928,7 @@ }, { "cell_type": "markdown", - "id": "fbbfc75c", + "id": "fd4da949", "metadata": {}, "source": [ "Next, one can perform one step of stochastic gradient descent (SGD).\n", @@ -938,7 +938,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "9198f766", + "id": "f5bbbea0", "metadata": {}, "outputs": [ { @@ -963,7 +963,7 @@ }, { "cell_type": "markdown", - "id": "76df538c", + "id": "e83c74d5", "metadata": {}, "source": [ "Training consists in looping over SGD steps. The next cell implements a training loop.\n", @@ -976,13 +976,13 @@ "\n", "After training, the weights of the models are saved in a file\n", "\n", - "**Note:** Training can take a while. Therefore, [we have made pre-trained weights available](https://drive.google.com/drive/folders/1h2m_AD-t3qtWYifowChmWEY0DBbIj84Q?usp=sharing). Do not execute the next cell if you don't want to train the model from scratch. " + "**Note:** Training can take a while. Therefore, [we have made pre-trained weights available](https://drive.google.com/file/d/1W9WkWhup6H_vXx0-CojJHJatuPmHJNRF/view?usp=sharing). Do not execute the next cell if you don't want to train the model from scratch. " ] }, { "cell_type": "code", "execution_count": null, - "id": "a6036f91", + "id": "9713f72d", "metadata": {}, "outputs": [], "source": [ @@ -1015,7 +1015,7 @@ }, { "cell_type": "markdown", - "id": "c4412dfe", + "id": "966e5dfc", "metadata": {}, "source": [ "## Evaluation of the Neural Receiver " @@ -1023,7 +1023,7 @@ }, { "cell_type": "markdown", - "id": "06fad7d1", + "id": "114b2d31", "metadata": {}, "source": [ "The next cell evaluates the neural receiver.\n", @@ -1034,7 +1034,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "0908c0e9", + "id": "d07b3699", "metadata": {}, "outputs": [ { @@ -1082,7 +1082,7 @@ }, { "cell_type": "markdown", - "id": "d49e0d40", + "id": "a4ecc17d", "metadata": {}, "source": [ "Finally, we plots the BLERs" @@ -1091,7 +1091,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "d3bfb359", + "id": "48f3b83a", "metadata": {}, "outputs": [ { @@ -1124,7 +1124,7 @@ }, { "cell_type": "markdown", - "id": "8964663e", + "id": "d0dd52db", "metadata": {}, "source": [ "## Pre-computed Results " @@ -1133,7 +1133,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e30b054a", + "id": "5ca9dd96", "metadata": {}, "outputs": [], "source": [ @@ -1143,7 +1143,7 @@ }, { "cell_type": "markdown", - "id": "1c31f43c", + "id": "b2ee96b0", "metadata": {}, "source": [ "## References " @@ -1151,7 +1151,7 @@ }, { "cell_type": "markdown", - "id": "0afb0f56", + "id": "bd33c7e9", "metadata": {}, "source": [ "[1] M. Honkala, D. Korpi and J. M. J. Huttunen, \"DeepRx: Fully Convolutional Deep Learning Receiver,\" in IEEE Transactions on Wireless Communications, vol. 20, no. 6, pp. 3925-3940, June 2021, doi: 10.1109/TWC.2021.3054520.\n", diff --git a/requirements.txt b/requirements.txt index 8c4aa83c..9f1e471a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -tensorflow >=2.10.1, !=2.11.0, <2.14.0 ; sys_platform != "darwin" -tensorflow-macos >=2.10, <2.14.0 ; sys_platform == "darwin" +tensorflow >=2.10.1, !=2.11.0, <2.16.0 ; sys_platform != "darwin" +tensorflow-macos >=2.10, <2.16.0 ; sys_platform == "darwin" numpy scipy >=1.6.0 matplotlib diff --git a/setup.cfg b/setup.cfg index 1c7c6387..5ba1f916 100644 --- a/setup.cfg +++ b/setup.cfg @@ -25,8 +25,8 @@ include_package_data = True python_requires = >=3.8 install_requires = - tensorflow >=2.10.1, !=2.11.0, <2.14.0 ; sys_platform != "darwin" - tensorflow-macos >=2.10, <2.14.0 ; sys_platform == "darwin" + tensorflow >=2.10.1, !=2.11.0, <2.16.0 ; sys_platform != "darwin" + tensorflow-macos >=2.10, <2.16.0 ; sys_platform == "darwin" numpy matplotlib scipy >=1.6.0 diff --git a/sionna/__init__.py b/sionna/__init__.py index 5591777e..77d9819c 100644 --- a/sionna/__init__.py +++ b/sionna/__init__.py @@ -5,7 +5,7 @@ """This is the Sionna library. """ -__version__ = '0.16.1' +__version__ = '0.16.2' from . import utils from .constants import * diff --git a/sionna/fec/crc.py b/sionna/fec/crc.py index 344b1278..277b0d4e 100644 --- a/sionna/fec/crc.py +++ b/sionna/fec/crc.py @@ -224,6 +224,11 @@ def call(self, inputs): x_crc = tf.matmul(x_exp32, self._g_mat_crc) # calculate crc bits # take modulo 2 of x_crc (bitwise operations instead of tf.mod) + + # cast to tf.int64 first as TF 2.15 has an XLA bug with casting directly + # to tf.int32 + x_crc = tf.cast(x_crc, dtype=tf.int64) + x_crc = int_mod_2(x_crc) x_crc = tf.cast(x_crc, dtype=self.dtype) diff --git a/sionna/fec/ldpc/decoding.py b/sionna/fec/ldpc/decoding.py index 18318224..411bf666 100644 --- a/sionna/fec/ldpc/decoding.py +++ b/sionna/fec/ldpc/decoding.py @@ -537,29 +537,6 @@ def _vn_update(self, msg, llr_ch): msg.value_rowids()) return x - def _extrinsic_min(self, msg): - """ Provides the extrinsic min operation for the minsum approximation - of the CN function. - - This function implements the extrinsic min operation, i.e., - the min is taken over all values excluding the value at the current - index. - - Note that the input is expected to be a Tensor and NOT a ragged Tensor. - """ - num_val = tf.shape(msg)[0] - msg = tf.transpose(msg, (1,0)) - msg = tf.expand_dims(msg, axis=1) - id_mat = tf.eye(num_val) - - msg = (tf.tile(msg, (1, num_val, 1)) # create outgoing tensor per value - + 1000. * id_mat) # "ignore" intrinsic msg by adding large const. - - - msg = tf.math.reduce_min(msg, axis=2) - msg = tf.transpose(msg, (1,0)) - return msg - def _where_ragged(self, msg): """Helper to replace 0 elements from ragged tensor (called with map_flat_values).""" @@ -709,43 +686,6 @@ def _sign_val_minsum(self, msg): sign_val) return sign_val - def _cn_update_minsum_mapfn(self, msg): - """ Check node update function implementing the min-sum approximation. - - This function approximates the (extrinsic) check node update - function based on the min-sum approximation (cf. [Ryan]_). - It calculates the "extrinsic" min function over all incoming messages - ``msg`` excluding the intrinsic (=outgoing) message itself. - - The input is expected to be a ragged Tensor of shape - `[num_vns, None, batch_size]`. - - This function uses tf.map_fn() to call the CN updates. - It is currently not used, but can be used as template to implement - modified CN functions (e.g., offset-corrected minsum). - Please note that tf.map_fn lowers the throughput significantly. - """ - - sign_val = tf.ragged.map_flat_values(self._sign_val_minsum, msg) - - sign_node = tf.reduce_prod(sign_val, axis=1) - sign_val = self._stop_ragged_gradient(sign_val) * tf.expand_dims( - sign_node, axis=1) - - msg = tf.ragged.map_flat_values(tf.abs, msg) # remove sign - - # calculate extrinsic messages and include the sign - msg_e = tf.map_fn(self._extrinsic_min, msg, infer_shape=False) - - # ensure shape after map_fn - msg_fv = msg_e.flat_values - msg_fv = tf.ensure_shape(msg_fv, msg.flat_values.shape) - msg_e = msg.with_flat_values(msg_fv) - - msg = sign_val * msg_e - - return msg - def _cn_update_minsum(self, msg): """ Check node update function implementing the min-sum approximation. @@ -757,7 +697,8 @@ def _cn_update_minsum(self, msg): The input is expected to be a ragged Tensor of shape `[num_vns, None, batch_size]`. """ - # a constant used overwrite the first min + + # a constant used to overwrite the first min LARGE_VAL = 10000. # pylint: disable=invalid-name # clip values for numerical stability @@ -765,9 +706,8 @@ def _cn_update_minsum(self, msg): clip_value_min=-self._llr_max, clip_value_max=self._llr_max) - # calculate sign of outgoing msg + # calculate sign of outgoing msg and the node sign_val = tf.ragged.map_flat_values(self._sign_val_minsum, msg) - sign_node = tf.reduce_prod(sign_val, axis=1) # TF2.9 does not support XLA for the multiplication of ragged tensors @@ -782,15 +722,16 @@ def _cn_update_minsum(self, msg): sign_node, sign_val.value_rowids()) - msg = tf.ragged.map_flat_values(tf.abs, msg) # remove sign + # remove sign from messages + msg = tf.ragged.map_flat_values(tf.abs, msg) # Calculate the extrinsic minimum per CN, i.e., for each message of # index i, find the smallest and the second smallest value. # However, in some cases the second smallest value may equal the # smallest value (multiplicity of mins). # Please note that this needs to be applied to raggedTensors, e.g., - # tf.top_k() is currently not supported and the ops must support graph - # # mode. + # tf.top_k() is currently not supported and all ops must support graph + # and XLA mode. # find min_value per node min_val = tf.reduce_min(msg, axis=1, keepdims=True) @@ -800,46 +741,52 @@ def _cn_update_minsum(self, msg): # and subtract min; the new array contains zero at the min positions # benefits from broadcasting; all other values are positive - # msg_min1 = msg - min_val msg_min1 = tf.ragged.map_flat_values(lambda x, y, row_ind: - x- tf.gather(y, row_ind), + x - tf.gather(y, row_ind), msg, tf.squeeze(min_val, axis=1), msg.value_rowids()) # replace 0 (=min positions) with large value to ignore it for further # min calculations - msg = tf.ragged.map_flat_values(lambda x: - tf.where(tf.equal(x, 0), LARGE_VAL, x), - msg_min1) + msg = tf.ragged.map_flat_values( + lambda x: tf.where(tf.equal(x, 0), LARGE_VAL, x), + msg_min1) # find the second smallest element (we add min_val as this has been # subtracted before) - min_val2 = tf.reduce_min(msg, axis=1, keepdims=True) + min_val + min_val_2 = tf.reduce_min(msg, axis=1, keepdims=True) + min_val # Detect duplicated minima (i.e., min_val occurs at two incoming # messages). As the LLRs per node are 2*LARGE_VAL, the multiplicity of the min is at least 2. + # If the sum > 2*LARGE_VAL, the multiplicity of the min is at least 2. node_sum = tf.reduce_sum(msg, axis=1, keepdims=True) - (2*LARGE_VAL-1.) # indicator that duplicated min was detected (per node) double_min = 0.5*(1-tf.sign(node_sum)) # if a duplicate min occurred, both edges must have min_val, otherwise # the second smallest value is taken - min_val_e = (1-double_min) * min_val + (double_min) * min_val2 + min_val_e = (1-double_min) * min_val + (double_min) * min_val_2 # replace all values with min_val except the position where the min # occurred (=extrinsic min). - msg_e = tf.where(msg==LARGE_VAL, min_val_e, min_val) + + # no XLA support for TF 2.15 + # msg_e = tf.where(msg==LARGE_VAL, min_val_e, min_val) + + min_1 = tf.squeeze(tf.gather(min_val, msg.value_rowids()), axis=1) + min_e = tf.squeeze(tf.gather(min_val_e, msg.value_rowids()), axis=1) + msg_e = tf.ragged.map_flat_values( + lambda x: tf.where(x==LARGE_VAL, min_e, min_1), + msg) # it seems like tf.where does not set the shape of tf.ragged properly # we need to ensure the shape manually msg_e = tf.ragged.map_flat_values( - lambda x: - tf.ensure_shape(x, msg.flat_values.shape), - msg_e) + lambda x: tf.ensure_shape(x, msg.flat_values.shape), + msg_e) # TF2.9 does not support XLA for the multiplication of ragged tensors # the following code provides a workaround that supports XLA diff --git a/sionna/rt/coverage_map.py b/sionna/rt/coverage_map.py index 5d0af217..0594841f 100644 --- a/sionna/rt/coverage_map.py +++ b/sionna/rt/coverage_map.py @@ -460,7 +460,8 @@ def sample_positions(self, batch_size, tx=0, min_gain_db=None, cm_db < max_gain_db)) # Duplicate indices if requested batch_size > num_idx - reps = tf.math.ceil(tf.cast(batch_size, tf.int32) / idx.shape[0]) + reps = tf.math.ceil(tf.math.divide_no_nan(tf.cast(batch_size, tf.int32), + idx.shape[0])) reps = tf.cast(tf.expand_dims(reps, axis=0), tf.int32) reps = tf.concat((reps, tf.ones_like(tf.cast(idx.shape[1:],tf.int32))), axis=0) diff --git a/sionna/rt/previewer.py b/sionna/rt/previewer.py index 75ab23ad..e391d517 100644 --- a/sionna/rt/previewer.py +++ b/sionna/rt/previewer.py @@ -197,14 +197,20 @@ def plot_scene(self): si.wi = mi.Vector3f(0, 0, 1) # Shapes (e.g. buildings) - vertices, faces, albedos = [None] * n, [None] * n, [None] * n + vertices, faces, albedos = [], [], [] f_offset = 0 for i, s in enumerate(shapes): + null_transmission = s.bsdf().eval_null_transmission(si).numpy() + if np.min(null_transmission) > 0.99: + # The BSDF for this shape was probably set to `null`, do not + # include it in the scene preview. + continue + n_vertices = s.vertex_count() v = s.vertex_position(dr.arange(mi.UInt32, n_vertices)) - vertices[i] = v.numpy() + vertices.append(v.numpy()) f = s.face_indices(dr.arange(mi.UInt32, s.face_count())) - faces[i] = f.numpy() + f_offset + faces.append(f.numpy() + f_offset) f_offset += n_vertices albedo = s.bsdf().eval_diffuse_reflectance(si).numpy() @@ -213,7 +219,7 @@ def plot_scene(self): palette = matplotlib.cm.get_cmap('Pastel1_r') albedo[:] = palette((i % palette.N + 0.5) / palette.N)[:3] - albedos[i] = np.tile(albedo, (n_vertices, 1)) + albedos.append(np.tile(albedo, (n_vertices, 1))) # Plot all objects as a single PyThreeJS mesh, which is must faster # than creating individual mesh objects in large scenes. @@ -284,6 +290,25 @@ def plot_coverage_map(self, coverage_map, tx=0, db_scale=True, self._add_child(mesh, pmin, pmax, persist=False) + def set_clipping_plane(self, offset, orientation): + """ + Input + ----- + clip_at : float + If not `None`, the scene preview will be clipped (cut) by a plane + with normal orientation ``clip_plane_orientation`` and offset + ``clip_at``. This allows visualizing the interior of meshes such + as buildings. + + clip_plane_orientation : tuple[float, float, float] + Normal vector of the clipping plane. + """ + if offset is None: + self._renderer.localClippingEnabled = False + self._renderer.clippingPlanes = [] + else: + self._renderer.localClippingEnabled = True + self._renderer.clippingPlanes = [p3s.Plane(orientation, offset)] @property def camera(self): diff --git a/sionna/rt/scene.py b/sionna/rt/scene.py index 866c6165..ae37831b 100644 --- a/sionna/rt/scene.py +++ b/sionna/rt/scene.py @@ -670,20 +670,20 @@ def compute_paths(self, max_depth=3, method="fibonacci", :class:`~sionna.rt.Paths` object. The path computation consists of two main steps as shown in the below figure. - + .. figure:: ../figures/compute_paths.svg :align: center For a configured :class:`~sionna.rt.Scene`, the function first traces geometric propagation paths using :meth:`~sionna.rt.Scene.trace_paths`. This step is independent of the - :class:`~sionna.rt.RadioMaterial` of the scene objects as well as the transmitters' and receivers' + :class:`~sionna.rt.RadioMaterial` of the scene objects as well as the transmitters' and receivers' antenna :attr:`~sionna.rt.Antenna.patterns` and :attr:`~sionna.rt.Transmitter.orientation`, but depends on the selected propagation phenomena, such as reflection, scattering, and diffraction. The traced paths are then converted to EM fields by the function :meth:`~sionna.rt.Scene.compute_fields`. The resulting :class:`~sionna.rt.Paths` object can be used to compute channel impulse responses via :meth:`~sionna.rt.Paths.cir`. The advantage of separating path tracing - and field computation is that one can study the impact of different radio materials + and field computation is that one can study the impact of different radio materials by executing :meth:`~sionna.rt.Scene.compute_fields` multiple times without re-tracing the propagation paths. This can for example speed-up the calibration of scene parameters by several orders of magnitude. @@ -1066,8 +1066,8 @@ def coverage_map(self, combining_vec : [num_rx_ant], complex | None Combining vector. - If set to `None`, then defaults to - :math:`\frac{1}{\sqrt{\text{num_rx_ant}}} [1,\dots,1]^{\mathsf{T}}`. + If set to `None`, then no combining is applied, and + the energy received by all antennas is summed. precoding_vec : [num_tx_ant], complex | None Precoding vector. @@ -1159,11 +1159,7 @@ def coverage_map(self, cm_size = tf.cast(cm_size, self._rdtype) # Check and initialize the combining and precoding vector - if combining_vec is None: - combining_vec = tf.ones([self.rx_array.num_ant], self._dtype) - combining_vec /= tf.sqrt(tf.cast(self.rx_array.num_ant, - self._dtype)) - else: + if combining_vec is not None: combining_vec = tf.cast(combining_vec, self._dtype) if precoding_vec is None: num_tx = len(self.transmitters) @@ -1201,9 +1197,10 @@ def preview(self, paths=None, show_paths=True, show_devices=True, show_orientations=False, coverage_map=None, cm_tx=0, cm_db_scale=True, cm_vmin=None, cm_vmax=None, - resolution=(655, 500), fov=45, background='#ffffff'): + resolution=(655, 500), fov=45, background='#ffffff', + clip_at=None, clip_plane_orientation=(0, 0, -1)): # pylint: disable=line-too-long - r"""preview(paths=None, show_paths=True, show_devices=True, coverage_map=None, cm_tx=0, cm_vmin=None, cm_vmax=None, resolution=(655, 500), fov=45, background='#ffffff') + r"""preview(paths=None, show_paths=True, show_devices=True, coverage_map=None, cm_tx=0, cm_vmin=None, cm_vmax=None, resolution=(655, 500), fov=45, background='#ffffff', clip_at=None, clip_plane_orientation=(0, 0, -1)) In an interactive notebook environment, opens an interactive 3D viewer of the scene. @@ -1290,6 +1287,16 @@ def preview(self, paths=None, show_paths=True, show_devices=True, Background color in hex format prefixed by '#'. Defaults to '#ffffff' (white). + clip_at : float + If not `None`, the scene preview will be clipped (cut) by a plane + with normal orientation ``clip_plane_orientation`` and offset ``clip_at``. + That means that everything *behind* the plane becomes invisible. + This allows visualizing the interior of meshes, such as buildings. + Defaults to `None`. + + clip_plane_orientation : tuple[float, float, float] + Normal vector of the clipping plane. + Defaults to (0,0,-1). """ if (self._preview_widget is not None) and (resolution is not None): assert isinstance(resolution, (tuple, list)) and len(resolution) == 2 @@ -1321,6 +1328,9 @@ def preview(self, paths=None, show_paths=True, show_devices=True, coverage_map, tx=cm_tx, db_scale=cm_db_scale, vmin=cm_vmin, vmax=cm_vmax) + # Clipping + fig.set_clipping_plane(offset=clip_at, orientation=clip_plane_orientation) + # Update the camera state if not needs_reset: fig.center_view() diff --git a/sionna/rt/solver_base.py b/sionna/rt/solver_base.py index c3e989f1..19a50d45 100644 --- a/sionna/rt/solver_base.py +++ b/sionna/rt/solver_base.py @@ -86,11 +86,13 @@ def __init__(self, scene, solver=None, dtype=tf.complex64): # Mitsuba types depend on the used precision if dtype == tf.complex64: self._mi_point_t = mi.Point3f + self._mi_point2_t = mi.Point2f self._mi_vec_t = mi.Vector3f self._mi_scalar_t = mi.Float self._mi_tensor_t = mi.TensorXf else: self._mi_point_t = mi.Point3d + self._mi_point2_t = mi.Point2d self._mi_vec_t = mi.Vector3d self._mi_scalar_t = mi.Float64 self._mi_tensor_t = mi.TensorXd diff --git a/sionna/rt/solver_cm.py b/sionna/rt/solver_cm.py index 4bd4f96b..89e83abc 100644 --- a/sionna/rt/solver_cm.py +++ b/sionna/rt/solver_cm.py @@ -100,10 +100,12 @@ class SolverCoverageMap(SolverBase): (in the local X direction) and height (in the local Y direction) in meters of a cell of the coverage map - combining_vec : [num_rx_ant], tf.complex + combining_vec : [num_rx_ant], tf.complex | None Combining vector. This is used to combine the signal from the receive antennas for an imaginary receiver located on the coverage map. + If set to `None`, then no combining is applied, and + the energy received by all antennas is summed. precoding_vec : [num_tx or 1, num_tx_ant], tf.complex Precoding vectors of the transmitters @@ -564,8 +566,10 @@ def _update_coverage_map(self, cm_center, cm_size, cm_cell_size, num_cells, precoding_vec : [num_tx, num_tx_ant] or [1, num_tx_ant], tf.complex Vector used for transmit-precoding - combining_vec : [num_rx_ant], tf.complex - Vector used for receive-combing + combining_vec : [num_rx_ant], tf.complex | None + Vector used for receive-combing. + If set to `None`, then no combining is applied, and + the energy received by all antennas is summed. samples_tx_indices : [num_samples], tf.int Transmitter indices that correspond to evey sample, i.e., from @@ -666,19 +670,25 @@ def _update_coverage_map(self, cm_center, cm_size, cm_cell_size, num_cells, a = self._apply_synthetic_array(tx_rot_mat, rx_rot_mat, k_rx, k_tx, a) - # Apply precoding and combining - # [1, num_rx_ant] - combining_vec = tf.expand_dims(combining_vec, 0) + # Apply precoding # [num_hits, 1, num_tx_ant] precoding_vec = tf.expand_dims(precoding_vec, 1) # [num_hits, num_rx_ant] a = tf.reduce_sum(a*precoding_vec, axis=-1) - # [num_hits] - a = tf.reduce_sum(tf.math.conj(combining_vec)*a, axis=-1) - - # Compute the amplitude of the path - # [num_hits] - a = tf.square(tf.abs(a)) + # Apply combining + # If no combining vector is provided, then sum the energy received by + # the antennas + if combining_vec is None: + # [num_hits] + a = tf.reduce_sum(tf.square(tf.abs(a)), axis=-1) + else: + # [1, num_rx_ant] + combining_vec = tf.expand_dims(combining_vec, 0) + # [num_hits] + a = tf.reduce_sum(tf.math.conj(combining_vec)*a, axis=-1) + # Compute the amplitude of the path + # [num_hits] + a = tf.square(tf.abs(a)) # Add the rays contribution to the coverage map # We just divide by cos(aoa) instead of dividing by the square distance @@ -1603,8 +1613,8 @@ def _shoot_and_bounce(self, combining_vec : [num_rx_ant], tf.complex Combining vector. - This is used to combine the signal from the receive antennas for - an imaginary receiver located on the coverage map. + If set to `None`, then no combining is applied, and + the energy received by all antennas is summed. precoding_vec : [num_tx or 1, num_tx_ant], tf.complex Precoding vectors of the transmitters @@ -1704,9 +1714,11 @@ def _shoot_and_bounce(self, # Direction arranged in a Fibonacci lattice on the unit # sphere. # [num_samples, 3] - k_tx = fibonacci_lattice(samples_per_tx, self._rdtype) - k_tx = tf.tile(k_tx, [num_tx, 1]) - k_tx_dr = self._mi_vec_t(k_tx) + ps = fibonacci_lattice(samples_per_tx, self._rdtype) + ps = tf.tile(ps, [num_tx, 1]) + ps_dr = self._mi_point2_t(ps) + k_tx_dr = mi.warp.square_to_uniform_sphere(ps_dr) + k_tx = mi_to_tf_tensor(k_tx_dr, self._rdtype) # Origin placed on the given transmitters # [num_samples] samples_tx_indices_dr = dr.linspace(self._mi_scalar_t, 0, num_tx-1e-7, @@ -2661,8 +2673,8 @@ def _compute_diffracted_path_power(self, combining_vec : [num_rx_ant], tf.complex Combining vector. - This is used to combine the signal from the receive antennas for - an imaginary receiver located on the coverage map. + If set to `None`, then no combining is applied, and + the energy received by all antennas is summed. precoding_vec : [num_tx or 1, num_tx_ant], tf.complex Precoding vectors of the transmitters @@ -3031,19 +3043,25 @@ def a_m(beta, n): a = self._apply_synthetic_array(tx_rot_mat, rx_rot_mat, -s_hat, s_prime_hat, a) - # Apply spatial precoding and combining + # Apply precoding # Precoding and combing - # [1, 1, num_rx_ant] - combining_vec = insert_dims(combining_vec, 2, 0) # [num_tx/1, 1, 1, num_tx_ant] precoding_vec = insert_dims(precoding_vec, 2, 1) # [num_tx, samples_per_tx, num_rx_ant] a = tf.reduce_sum(a*precoding_vec, axis=-1) - # [num_tx, samples_per_tx] - a = tf.reduce_sum(tf.math.conj(combining_vec)*a, axis=-1) - - # [num_tx, samples_per_tx] - a = tf.square(tf.abs(a)) + # Apply combining + # If no combining vector is set, then the energy of all antennas is + # summed + if combining_vec is None: + # [num_tx, samples_per_tx] + a = tf.reduce_sum(tf.square(tf.abs(a)), axis=-1) + else: + # [1, 1, num_rx_ant] + combining_vec = insert_dims(combining_vec, 2, 0) + # [num_tx, samples_per_tx] + a = tf.reduce_sum(tf.math.conj(combining_vec)*a, axis=-1) + # [num_tx, samples_per_tx] + a = tf.square(tf.abs(a)) # [num_tx, samples_per_tx] cst = tf.square(self._scene.wavelength/(4.*PI)) @@ -3229,8 +3247,8 @@ def _diff_samples_2_coverage_map(self, los_primitives, edge_diffraction, combining_vec : [num_rx_ant], tf.complex Combining vector. - This is used to combine the signal from the receive antennas for - an imaginary receiver located on the coverage map. + If set to `None`, then no combining is applied, and + the energy received by all antennas is summed. precoding_vec : [num_tx or 1, num_tx_ant], tf.complex Precoding vectors of the transmitters diff --git a/sionna/rt/solver_paths.py b/sionna/rt/solver_paths.py index 79101903..7c13a0e2 100644 --- a/sionna/rt/solver_paths.py +++ b/sionna/rt/solver_paths.py @@ -1163,9 +1163,11 @@ def _list_candidates_fibonacci(self, max_depth, sources, num_samples, # sphere. # [samples_per_source, 3] lattice = fibonacci_lattice(samples_per_source, self._rdtype) + sampled_d = tf.tile(lattice, [num_sources, 1]) + sampled_d = self._mi_point2_t(sampled_d) + sampled_d = mi.warp.square_to_uniform_sphere(sampled_d) source_i = dr.linspace(self._mi_scalar_t, 0, num_sources, num=num_samples, endpoint=False) - sampled_d = self._mi_vec_t(tf.tile(lattice, [num_sources, 1])) source_i = mi.Int32(source_i) sources_dr = self._mi_tensor_t(sources) ray = mi.Ray3f( diff --git a/sionna/rt/utils.py b/sionna/rt/utils.py index e3ee7bc8..5ffa45e2 100644 --- a/sionna/rt/utils.py +++ b/sionna/rt/utils.py @@ -573,39 +573,31 @@ def scene_scale(scene): def fibonacci_lattice(num_points, dtype=tf.float32): """ - Generates a Fibonacci lattice for the unit 3D sphere + Generates a Fibonacci lattice for the unit square Input ----- num_points : int Number of points + type : tf.DType + Datatype to use for the output + Output ------- - points : [num_points, 3] + points : [num_points, 2] Generated rectangular coordinates of the lattice points """ - golden_ratio = tf.cast((1.+tf.sqrt(5.))/2., dtype) - - if (num_points%2) == 0: - min_n = -num_points//2 - max_n = num_points//2 - 1 - else: - min_n = -(num_points-1)//2 - max_n = (num_points-1)//2 - - ns = tf.range(min_n, max_n+1, dtype=dtype) + golden_ratio = (1.+tf.sqrt(tf.cast(5., tf.float64)))/2. + ns = tf.range(0, num_points, dtype=tf.float64) - # Spherical coordinate - phis = 2.*PI*ns/golden_ratio - thetas = tf.math.acos(2.*ns/num_points) + x = ns/golden_ratio + x = x - tf.floor(x) + y = ns/(num_points-1) + points = tf.stack([x,y], axis=1) - # Rectangular coordinates - x = tf.sin(thetas)*tf.cos(phis) - y = tf.sin(thetas)*tf.sin(phis) - z = tf.cos(thetas) - points = tf.stack([x,y,z], axis=1) + points = tf.cast(points, dtype) return points diff --git a/test/unit/fec/test_ldpc_decoding.py b/test/unit/fec/test_ldpc_decoding.py index c7a24cfe..056e339b 100644 --- a/test/unit/fec/test_ldpc_decoding.py +++ b/test/unit/fec/test_ldpc_decoding.py @@ -468,6 +468,36 @@ def test_llrmax(self): y = dec(x).numpy() # run 0 iterations print(np.abs(np.max(y)-l)<1e-6) + def test_cn_minsum(self): + """Test min_sim implementation of CN update. + Test that double min is correctly processed, zeros are detected and + that signs are also correctly handled.""" + + # init dummy decoder + pcm, _, _, _ = load_parity_check_examples(0) + dec = LDPCBPDecoder(pcm, cn_type="minsum") + + # test messages for CN function + m_in = tf.ragged.constant(([1,-2,3,-1],[2,.3,2],[0,1,-1,2.3]), + tf.float32) + + # apply decoder + m_out = dec._cn_update_minsum(tf.expand_dims(m_in ,axis=-1)).numpy() + + # reference decoder + m_ref = np.copy(m_in.numpy()) + for i,m in enumerate(m_in.numpy()): + for j in range(len(m)): + x = np.abs(np.copy(m)) + x[j] = 1000 # lareg value + s = np.sign(np.copy(m)) + s[j] = 1 + s = np.prod(s) + m_ref[i][j] = np.min(x) * s + + # and compare both results + for i,(a,b) in enumerate(zip(m_ref, m_out)): + self.assertTrue(np.allclose(a, b[:,0])) class TestBPDecoding5G(unittest.TestCase): """Checks LDPC5GDecoding layer. diff --git a/test/unit/rt/test_coverage_map.py b/test/unit/rt/test_coverage_map.py index de3ee734..3f095201 100644 --- a/test/unit/rt/test_coverage_map.py +++ b/test/unit/rt/test_coverage_map.py @@ -167,7 +167,7 @@ def test_dtype(self): cm_cell_size = np.array([1., 1.]) batch_size = 100 - tx_pos = np.array([0.,0.,0.]) + tx_pos = np.array([1.,1.,2.]) # load simple scene with different dtypes for dt in (tf.complex64, tf.complex128):