{ "cells": [ { "cell_type": "markdown", "id": "4f6944e1", "metadata": {}, "source": [ "# Pilotless OFDM Receiver" ] }, { "cell_type": "markdown", "id": "6a90bd68", "metadata": {}, "source": [ "Self-contained reproduction of the goodput results for the Explainable Pilotless OFDM Receiver task.\n", "\n", "The selected AITE-generated receiver (`selected_solution/solution.py`) is evaluated against three references: perfect-CSI with QAM, pilot-based baseline with QAM, and neural receiver trained jointly with the learned constellation.\n", "\n", "The learned constellation used for pilotless communication is available in `eval/constellation_points.pkl`.\n", "\n", "Training the end-to-end system (jointly learning the constellation and neural receiver) takes some time. It can be skipped by downloading pre-trained weights from [here](https://drive.google.com/file/d/1yWbJ3Lk-efzLhDkqO5CSOnWW40Nhh6Wr/view?usp=sharing)." ] }, { "cell_type": "markdown", "id": "24d6fba6", "metadata": {}, "source": [ "## Configuration and Imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "d84bd69e-59f2-4a42-8dd3-730c8c1d821e", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:28.340672Z", "iopub.status.busy": "2026-05-08T05:17:28.340572Z", "iopub.status.idle": "2026-05-08T05:17:31.252373Z", "shell.execute_reply": "2026-05-08T05:17:31.251430Z" } }, "outputs": [], "source": [ "# Import Sionna\n", "import sionna.phy\n", "\n", "import math\n", "import numpy as np\n", "import pickle\n", "import os\n", "import gc\n", "\n", "import importlib.util\n", "import sys\n", "from contextlib import contextmanager\n", "from pathlib import Path\n", "\n", "# For plotting\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "# For the implementation of the neural receiver\n", "import torch\n", "import torch.nn as nn\n", "import torch.nn.functional as F\n", "\n", "from sionna.phy import Block\n", "from sionna.phy.channel.tr38901 import Antenna, AntennaArray, TDL\n", "from sionna.phy.channel import OFDMChannel\n", "from sionna.phy.mimo import StreamManagement\n", "from sionna.phy.ofdm import (\n", " ResourceGrid,\n", " ResourceGridMapper,\n", " ResourceGridDemapper,\n", " LSChannelEstimator,\n", " LMMSEEqualizer,\n", " RemoveNulledSubcarriers,\n", ")\n", "from sionna.phy.utils import ebnodb2no, insert_dims, expand_to_rank, sim_ber\n", "from sionna.phy.fec.ldpc import LDPC5GEncoder, LDPC5GDecoder\n", "from sionna.phy.mapping import Mapper, Demapper, BinarySource, Constellation\n", "\n", "# Set seed for reproducible results\n", "sionna.phy.config.seed = 42\n", "device = sionna.phy.config.device" ] }, { "cell_type": "markdown", "id": "64d17183", "metadata": {}, "source": [ "## Simulation Parameters" ] }, { "cell_type": "code", "execution_count": 2, "id": "4dea9622", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.255083Z", "iopub.status.busy": "2026-05-08T05:17:31.254834Z", "iopub.status.idle": "2026-05-08T05:17:31.516847Z", "shell.execute_reply": "2026-05-08T05:17:31.515893Z" } }, "outputs": [], "source": [ "NUM_BITS_PER_SYMBOL = 6 # 64-QAM\n", "\n", "# Coding rate\n", "CODERATE = 0.7\n", "\n", "# Create an RX-TX association matrix.\n", "RX_TX_ASSOCIATION = np.array([[1]])\n", "\n", "# Instantiate a StreamManagement object\n", "STREAM_MANAGEMENT = StreamManagement(RX_TX_ASSOCIATION, 1)\n", "\n", "NUM_GUARD_CARRIERS = [0,0]\n", "DC_NULL = False\n", "SUBCARRIER_SPACING = 30e3 # Hz\n", "CYCLIC_PREFIX_LENGTH = 0\n", "NUM_OFDM_SYMBOLS = 14\n", "FFT_SIZE = 72\n", "\n", "\n", "# Resource grid configuration without DMRS pilots\n", "RESOURCE_GRID_0P = ResourceGrid(num_ofdm_symbols=NUM_OFDM_SYMBOLS,\n", " fft_size=FFT_SIZE,\n", " subcarrier_spacing=SUBCARRIER_SPACING,\n", " num_tx=1,\n", " num_streams_per_tx=1,\n", " cyclic_prefix_length=CYCLIC_PREFIX_LENGTH,\n", " num_guard_carriers=NUM_GUARD_CARRIERS,\n", " dc_null=DC_NULL)\n", "\n", "# Resource grid configuration with two DMRS pilots for baseline comparison\n", "RESOURCE_GRID_2P = ResourceGrid(num_ofdm_symbols=NUM_OFDM_SYMBOLS,\n", " fft_size=FFT_SIZE,\n", " subcarrier_spacing=SUBCARRIER_SPACING,\n", " num_tx=1,\n", " num_streams_per_tx=1,\n", " pilot_pattern=\"kronecker\",\n", " pilot_ofdm_symbol_indices=[2,11],\n", " cyclic_prefix_length=CYCLIC_PREFIX_LENGTH,\n", " num_guard_carriers=NUM_GUARD_CARRIERS,\n", " dc_null=DC_NULL)\n", "\n", "# Carrier frequency in Hz.\n", "CARRIER_FREQUENCY = 2.6e9\n", "\n", "# Antenna setting\n", "UT_ARRAY = Antenna(polarization=\"single\",\n", " polarization_type=\"V\",\n", " antenna_pattern=\"omni\",\n", " carrier_frequency=CARRIER_FREQUENCY)\n", "BS_ARRAY = AntennaArray(num_rows=1,\n", " num_cols=1,\n", " polarization=\"single\",\n", " polarization_type=\"V\",\n", " antenna_pattern=\"omni\",\n", " carrier_frequency=CARRIER_FREQUENCY)\n", "\n", "# Nominal delay spread in [s]. Please see the TDL documentation\n", "# about how to choose this value.\n", "DELAY_SPREAD = 100e-9\n", "\n", "# The `direction` determines if the UT or BS is transmitting.\n", "# In the `uplink`, the UT is transmitting.\n", "DIRECTION = \"uplink\"\n", "\n", "# UT speed [m/s]. BSs are always assumed to be fixed.\n", "# The direction of travel will chosen randomly within the x-y plane.\n", "SPEED = 3.0\n", "\n", "# Configure a channel impulse response (CIR) generator for the TDL model.\n", "CHANNEL_MODEL_TRAIN = TDL(model=\"C\",\n", " delay_spread=DELAY_SPREAD,\n", " carrier_frequency=CARRIER_FREQUENCY,\n", " min_speed=0.0,\n", " max_speed=SPEED)\n", "\n", "# Configure a channel impulse response (CIR) generator for the TDL model.\n", "CHANNEL_MODEL_EVAL = {\"TDL A\" : TDL(model=\"A\",\n", " delay_spread=DELAY_SPREAD,\n", " carrier_frequency=CARRIER_FREQUENCY,\n", " min_speed=0.0,\n", " max_speed=SPEED),\n", " \"TDL D\" : TDL(model=\"D\",\n", " delay_spread=DELAY_SPREAD,\n", " carrier_frequency=CARRIER_FREQUENCY,\n", " min_speed=0.0,\n", " max_speed=SPEED)}" ] }, { "cell_type": "code", "execution_count": 3, "id": "b3b1bbd7", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.519327Z", "iopub.status.busy": "2026-05-08T05:17:31.519217Z", "iopub.status.idle": "2026-05-08T05:17:31.825770Z", "shell.execute_reply": "2026-05-08T05:17:31.824884Z" } }, "outputs": [ { "data": { "image/png": "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ug8DA4PXbt+0aRMmTpyIhQsXwsPDA8bGxliwYAFiYmIU9jM0NCz19WW1F8vMzMSMGTNKnQ17+f7Mb+pHkxi6iIiIPiBHjhzBpUuXMGHCBABAly5dUK1aNcyfPx87duwosX9aWlqp13W5urqiqKgIx44dk59efNnff/8NT09PjB07Vt52+/btCjuOJk2aID4+Hk5OThXWp7oxdBEREVVSubm5SElJQWFhIVJTU7F//36Eh4fD19cXQ4cOBfB/11T169cPPXv2xJdffgknJyc8fvwYW7ZsQUJCAjZt2lSibwcHB/j7+2P48OHyC+nv37+Phw8fon///nB2dsavv/6KAwcOwNHREevXr0dsbKx8hu1tTZ8+Hb6+vrCzs0Pfvn2ho6ODCxcu4PLly5g1a1aFjFHRuGQEERFRJbV//35YW1vDwcEBXbt2xV9//YWlS5di165d0NXVle/Xq1cv/PPPP9DX18fgwYPh4uKCQYMGIT09/bUBZsWKFejbty/Gjh0LFxcXjBo1CllZWQCAzz77DL1798aAAQPQsmVLPHnyRGHW6235+Phg7969OHjwIJo3b45WrVph8eLFsLe3r7AxKppIKO8VdO+JjIwMyGQytBR3gp6IE3tERFS2AqEAMXlRSE9Pf+vrpspS/L706KonTIyVf1/KeF4Ai/r/qLU2Ui/OdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpgFZDV1hYGEQikcLDxcVFvj0nJweBgYEwNzeHkZER+vTpg9TUVC1WTERERFQ+Wp/patCgAZKTk+WPkydPyrdNmDABe/bswdatW3Hs2DEkJSWhd+/eWqyWiIiIqHz0tF6Anh6srKxKtKenp2PNmjXYuHEjOnbsCACIiIhAvXr1cOrUKbRq1UrTpRIRERGVm9Znum7evAkbGxvUqlULQ4YMQUJCAgAgLi4O+fn58Pb2lu/r4uICOzs7REdHl9lfbm4uMjIyFB5ERERE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qqNOIiIioveayjNdwcHBCAgIwM2bNyGVSuXt3bt3x/Hjxyu0OCIiIqLKQuXQFRsbi88++6xEe40aNZCSklIhRRERERFVNiqHLolEgoyMjBLtN27cgIWFRYUURURERFTZqBy6evbsie+++w75+fkAAJFIhISEBEyePBl9+vSp8AKJiIiIKgOVQ9fChQuRmZmJ6tWr48WLF2jXrh2cnJxgbGyM2bNnq6NGIiIioveeyp9elMlkOHToEE6ePImLFy8iMzMTTZo0gbe3tzrqIyIiIqoUVA5dxdq0aYM2bdpUZC1EREQfjv+ZAvrSN+4ml58DAGjevDl0dXURGBiIwMBA9dRGaqFU6Fq6dClGjx4NqVSKpUuXvnbfL7/8skIKIyIiopJiY2NhYmKi7TKoHJQKXYsXL8aQIUMglUqxePHiMvcTiUQMXURERESlUCp03b17t9R/ExEREZFyVPr0Yn5+PmrXro1r166pqx4iIiKiSkml0KWvr4+cnBx11UJERERUaam8TldgYCDmzZuHgoICddRDREREVCmpvGREbGwsoqKicPDgQbi6usLQ0FBh+/bt2yusOCIiIqLKQuXQZWpqytv9EBEREalIpdBVUFCADh06oEuXLrCyslJXTURERESVjkrXdOnp6eHzzz9Hbm6uuuohIiIiqpRUvpC+RYsWOHfunDpqISIiIqq0VL6ma+zYsfjqq6/w77//omnTpiUupHdzc6uw4oiIiIgqC5VD18CBAwEo3mNRJBJBEASIRCIUFhZWXHVERERElYTKoYu3ASIiIiJSncqhy97eXh11EBEREVVqKoeuYlevXkVCQgLy8vIU2nv27PnWRRERERFVNiqHrjt37uDjjz/GpUuX5NdyAf9d1wWA13QRERERlULlJSPGjx8PR0dHPHz4EFWqVMGVK1dw/PhxNGvWDEePHlVDiURERETvP5VnuqKjo3HkyBFUq1YNOjo60NHRQZs2bRAeHo4vv/ySa3gRERERlULlma7CwkIYGxsDAKpVq4akpCQA/11gHx8fX7HVEREREVUSKs90NWzYEBcuXICjoyNatmyJ+fPnQywWY9WqVahVq5Y6aiQiIiJ676kcur799ltkZWUBAL777jv4+vrCy8sL5ubm2Lx5c4UXSERERFQZqBy6fHx85P92cnLC9evX8fTpU1StWlX+CUYiIiIiUqTyNV3p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viQSCSQSibpLJiIiIlKJVme6BEHAF198gR07duDIkSNwdHRU2N60aVPo6+sjKipK3hYfH4+EhAR4eHhoulwiIiKictPqTFdgYCA2btyIXbt2wdjYWH6dlkwmg4GBAWQyGUaMGIHg4GCYmZnBxMQE48aNg4eHBz+5SERERO8VrYauFStWAADat2+v0B4REYGAgAAAwOLFi6Gjo4M+ffogNzcXPj4+WL58uYYrJSIiIno7Wg1dgiC8cR+pVIply5Zh2bJlGqiIiIiISD3emU8vEhEREVVmDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1EREREGsDQRURERKQBDF1ERESVUEBAAEQiEUQiEfT19WFpaYnOnTtj7dq1KCoqUrqfyMhImJqaqq/QDwhDFxERUSXVtWtXJCcn4969e9i3bx86dOiA8ePHw9fXFwUFBdou74PD0EVERFRJSSQSWFlZoUaNGmjSpAm++eYb7Nq1C/v27UNkZCQAYNGiRXB1dYWhoSFsbW0xduxYZGZmAgCOHj2KYcOGIT09XT5rFhYWBgBYv349mjVrBmNjY1hZWWHw4MF4+PChlo70/cDQRURE9B7JyMhQeOTm5qr0+o4dO8Ld3R3bt28HAOjo6GDp0qW4cuUK1q1bhyNHjuDrr78GAHh6emLJkiUwMTFBcnIykpOTMXHiRABAfn4+Zs6ciQsXLmDnzp24d+8eAgICKvRYKxs9bRdAREREyrO1tVV4HhoaKp99UpaLiwsuXrwIAAgKCpK3Ozg4YNasWfj888+xfPlyiMViyGQyiEQiWFlZKfQxfPhw+b9r1aqFpUuXonnz5sjMzISRkZFqB/WBYOgiIiJ6jyQmJsLExET+XCKRqNyHIAgQiUQAgMOHDyM8PBzXr19HRkYGCgoKkJOTg+zsbFSpUqXMPuLi4hAWFoYLFy7g2bNn8ovzExISUL9+fZVr+hDw9CIREdF7xMTEROFRntB17do1ODo64t69e/D19YWbmxv++OMPxMXFYdmyZQCAvLy8Ml+flZUFHx8fmJiYYMOGDYiNjcWOHTve+LoPHWe6iIiIPiBHjhzBpUuXMGHCBMTFxaGoqAgLFy6Ejs5/8zBbtmxR2F8sFqOwsFCh7fr163jy5Anmzp0rP9155swZzRzAe4wzXURERJVUbm4uUlJS8ODBA5w9exZz5sxBr1694Ovri6FDh8LJyQn5+fn48ccfcefOHaxfvx4rV65U6MPBwQGZmZmIiorC48ePkZ2dDTs7O4jFYvnrdu/ejZkzZ2rpKN8fDF1ERESV1P79+2FtbQ0HBwd07doVf/31F5YuXYpdu3ZBV1cX7u7uWLRoEebNm4eGDRtiw4YNCA8PV+jD09MTn3/+OQYMGAALCwvMnz8fFhYWiIyMxNatW1G/fn3MnTsX33//vZaO8v0hEgRB0HYR6pSRkQGZTIaW4k7QE/FsKhERla1AKEBMXhTS09MVLlavSMXvS60k3iq9LxUIBTiVe1ittZF6caaLiIiISAMYuoiIiIg0gKGLiIiISAMYuoiIiIg0gKGLiIiISAMYuoiIiIg0gKGLiIiISAMYuoiIiIg0gKGLiIiISAO0GrqOHz+OHj16wMbGBiKRCDt37lTYLggCpk+fDmtraxgYGMDb2xs3b97UTrFEREREb0GroSsrKwvu7u5YtmxZqdvnz5+PpUuXYuXKlYiJiYGhoSF8fHyQk5Oj4UqJiIiI3o5Wb0bYrVs3dOvWrdRtgiBgyZIl+Pbbb9GrVy8AwK+//gpLS0vs3LkTAwcO1GSpRERERG/lnb2m6+7du0hJSYG3t7e8TSaToWXLloiOji7zdbm5ucjIyFB4EBEREWnbOxu6UlJSAACWlpYK7ZaWlvJtpQkPD4dMJpM/bG1t1VonERERkTLe2dBVXiEhIUhPT5c/EhMTtV0SERER0bsbuqysrAAAqampCu2pqanybaWRSCQwMTFReBARERFp2zsbuhwdHWFlZYWoqCh5W0ZGBmJiYuDh4aHFyoiIiIhUp9VPL2ZmZuLWrVvy53fv3sX58+dhZmYGOzs7BAUFYdasWXB2doajoyOmTZsGGxsb+Pn5aa9oIiIionLQaug6c+YMOnToIH8eHBwMAPD390dkZCS+/vprZGVlYfTo0UhLS0ObNm2wf/9+SKVSbZVMREREVC4iQRAEbRehThkZGf8tNSHuBD2RVjMmERG94wqEAsTkRSE9PV1t1wQXvy+1knir9L5UIBTgVO5htdZG6vXOXtNFREREVJkwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQYwdBERERFpAEMXERERkQZwiXYiIiItKEQBoMI9YQpRoL5iSCMYuoiIiDRILBbDysoKsSlHVX6tiYkJWrRoAR0dHQQGBiIwMLDiCyS1YegiIiLSIKlUirt37yIvL0/l14rFYkilUjVURZrA0EVERKRhUqmU4ekDxAvpiYiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDSAoYuIiIhIAxi6iIiIiDTgvQhdy5Ytg4ODA6RSKVq2bInTp09ruyQiIiIilbzzoWvz5s0IDg5GaGgozp49C3d3d/j4+ODhw4faLo2IiIhIae986Fq0aBFGjRqFYcOGoX79+li5ciWqVKmCtWvXars0IiIiIqW906ErLy8PcXFx8Pb2lrfp6OjA29sb0dHRpb4mNzcXGRkZCg8iIiIibXunQ9fjx49RWFgIS0tLhXZLS0ukpKSU+prw8HDIZDL5w9bWVhOlEhEREb3WOx26yiMkJATp6enyR2JiorZLIiIiIoKetgt4nWrVqkFXVxepqakK7ampqbCysir1NRKJBBKJRP5cEAQAQIFQoL5CiYioUih+ryh+7yCqSO906BKLxWjatCmioqLg5+cHACgqKkJUVBS++OILpfp4/vw5ACAu/5i6yiQiokrm+fPnkMlk2i6DKpl3OnQBQHBwMPz9/dGsWTO0aNECS5YsQVZWFoYNG6bU621sbJCYmAhjY2OIRCKlx83IyICtrS0SExNhYmJS3vLf2fG0MWZlH08bY1b28bQxJo/x/R/vbcYUBAHPnz+HjY2NGqujD9U7H7oGDBiAR48eYfr06UhJSUGjRo2wf//+EhfXl0VHRwc1a9Ys9/gmJiYa+yOhjfG0MWZlH08bY1b28bQxJo/x/R+vvGNyhovU5Z0PXQDwxRdfKH06kYiIiOhdVOk+vUhERET0LmLoKoNEIkFoaKjCJyEr03jaGLOyj6eNMSv7eNoYk8f4/o+nrTGJ3kQk8HOxRERERGrHmS4iIiIiDWDoIiIiItIAhi4iIiIiDWDoIiIiItIAhq4yLFu2DA4ODpBKpWjZsiVOnz6ttrGOHz+OHj16wMbGBiKRCDt37lTbWOHh4WjevDmMjY1RvXp1+Pn5IT4+Xm3jAcCKFSvg5uYmX6TQw8MD+/btU+uYL5s7dy5EIhGCgoLU0n9YWBhEIpHCw8XFRS1jvezBgwf45JNPYG5uDgMDA7i6uuLMmTNqGcvBwaHEMYpEIgQGBqplvMLCQkybNg2Ojo4wMDBA7dq1MXPmTLXfD+/58+cICgqCvb09DAwM4OnpidjY2Arp+02/54IgYPr06bC2toaBgQG8vb1x8+ZNtY65fft2dOnSBebm5hCJRDh//rzaxsvPz8fkyZPh6uoKQ0ND2NjYYOjQoUhKSlLLeMB/v5suLi4wNDRE1apV4e3tjZiYmHKPR/S2GLpKsXnzZgQHByM0NBRnz56Fu7s7fHx88PDhQ7WMl5WVBXd3dyxbtkwt/b/s2LFjCAwMxKlTp3Do0CHk5+ejS5cuyMrKUtuYNWvWxNy5cxEXF4czZ86gY8eO6NWrF65cuaK2MYvFxsbi559/hpubm1rHadCgAZKTk+WPkydPqnW8Z8+eoXXr1tDX18e+fftw9epVLFy4EFWrVlXLeLGxsQrHd+jQIQBAv3791DLevHnzsGLFCvz000+4du0a5s2bh/nz5+PHH39Uy3jFRo4ciUOHDmH9+vW4dOkSunTpAm9vbzx48OCt+37T7/n8+fOxdOlSrFy5EjExMTA0NISPjw9ycnLUNmZWVhbatGmDefPmlXsMZcfLzs7G2bNnMW3aNJw9exbbt29HfHw8evbsqZbxAKBOnTr46aefcOnSJZw8eRIODg7o0qULHj16VO4xid6KQCW0aNFCCAwMlD8vLCwUbGxshPDwcLWPDUDYsWOH2scp9vDhQwGAcOzYMY2NKQiCULVqVeGXX35R6xjPnz8XnJ2dhUOHDgnt2rUTxo8fr5ZxQkNDBXd3d7X0XZbJkycLbdq00eiYLxs/frxQu3ZtoaioSC39f/TRR8Lw4cMV2nr37i0MGTJELeMJgiBkZ2cLurq6wt69exXamzRpIkydOrVCx3r197yoqEiwsrISFixYIG9LS0sTJBKJ8Pvvv6tlzJfdvXtXACCcO3euQsZ603jFTp8+LQAQ7t+/r5Hx0tPTBQDC4cOH33o8ovLgTNcr8vLyEBcXB29vb3mbjo4OvL29ER0drcXK1CM9PR0AYGZmppHxCgsLsWnTJmRlZcHDw0OtYwUGBuKjjz5S+F6qy82bN2FjY4NatWphyJAhSEhIUOt4u3fvRrNmzdCvXz9Ur14djRs3xurVq9U6ZrG8vDz89ttvGD58uEo3kVeFp6cnoqKicOPGDQDAhQsXcPLkSXTr1k0t4wFAQUEBCgsLIZVKFdoNDAzUPnN59+5dpKSkKPysymQytGzZslL+3SmWnp4OkUgEU1NTtY+Vl5eHVatWQSaTwd3dXe3jEZXmvbj3oiY9fvwYhYWFJW6obWlpievXr2upKvUoKipCUFAQWrdujYYNG6p1rEuXLsHDwwM5OTkwMjLCjh07UL9+fbWNt2nTJpw9e7bCrsd5nZYtWyIyMhJ169ZFcnIyZsyYAS8vL1y+fBnGxsZqGfPOnTtYsWIFgoOD8c033yA2NhZffvklxGIx/P391TJmsZ07dyItLQ0BAQFqG2PKlCnIyMiAi4sLdHV1UVhYiNmzZ2PIkCFqG9PY2BgeHh6YOXMm6tWrB0tLS/z++++Ijo6Gk5OT2sYFgJSUFAAo9e9O8bbKJicnB5MnT8agQYPUehPsvXv3YuDAgcjOzoa1tTUOHTqEatWqqW08otdh6PqABQYG4vLly2r/v3gAqFu3Ls6fP4/09HRs27YN/v7+OHbsmFqCV2JiIsaPH49Dhw6VmLVQh5dnX9zc3NCyZUvY29tjy5YtGDFihFrGLCoqQrNmzTBnzhwAQOPGjXH58mWsXLlS7aFrzZo16NatG2xsbNQ2xpYtW7BhwwZs3LgRDRo0wPnz5xEUFAQbGxu1Ht/69esxfPhw1KhRA7q6umjSpAkGDRqEuLg4tY35IcrPz0f//v0hCAJWrFih1rE6dOiA8+fP4/Hjx1i9ejX69++PmJgYVK9eXa3jEpWGpxdfUa1aNejq6iI1NVWhPTU1FVZWVlqqquJ98cUX2Lt3L/766y/UrFlT7eOJxWI4OTmhadOmCA8Ph7u7O3744Qe1jBUXF4eHDx+iSZMm0NPTg56eHo4dO4alS5dCT08PhYWFahm3mKmpKerUqYNbt26pbQxra+sSgbVevXpqP615//59HD58GCNHjlTrOJMmTcKUKVMwcOBAuLq64tNPP8WECRMQHh6u1nFr166NY8eOITMzE4mJiTh9+jTy8/NRq1YttY5b/Lelsv/dAf4vcN2/fx+HDh1S6ywXABgaGsLJyQmtWrXCmjVroKenhzVr1qh1TKKyMHS9QiwWo2nTpoiKipK3FRUVISoqSu3XIGmCIAj44osvsGPHDhw5cgSOjo5aqaOoqAi5ublq6btTp064dOkSzp8/L380a9YMQ4YMwfnz56Grq6uWcYtlZmbi9u3bsLa2VtsYrVu3LrHUx40bN2Bvb6+2MQEgIiIC1atXx0cffaTWcbKzs6Gjo/jnSVdXF0VFRWodt5ihoSGsra3x7NkzHDhwAL169VLreI6OjrCyslL4u5ORkYGYmJhK8XenWHHgunnzJg4fPgxzc3ON16DOvz1Eb8LTi6UIDg6Gv78/mjVrhhYtWmDJkiXIysrCsGHD1DJeZmamwqzI3bt3cf78eZiZmcHOzq5CxwoMDMTGjRuxa9cuGBsby68XkclkMDAwqNCxioWEhKBbt26ws7PD8+fPsXHjRhw9ehQHDhxQy3jGxsYlrlEzNDSEubm5Wq5dmzhxInr06AF7e3skJSUhNDQUurq6GDRoUIWPVWzChAnw9PTEnDlz0L9/f5w+fRqrVq3CqlWr1DZmUVERIiIi4O/vDz099f7p6NGjB2bPng07Ozs0aNAA586dw6JFizB8+HC1jnvgwAEIgoC6devi1q1bmDRpElxcXCrkd/9Nv+dBQUGYNWsWnJ2d4ejoiGnTpsHGxgZ+fn5qG/Pp06dISEiQr5VVHOStrKzKNcP2uvGsra3Rt29fnD17Fnv37kVhYaH874+ZmRnEYnGFjmdubo7Zs2ejZ8+esLa2xuPHj7Fs2TI8ePBAbUudEL2Rlj89+c768ccfBTs7O0EsFgstWrQQTp06pbax/vrrLwFAiYe/v3+Fj1XaOACEiIiICh+r2PDhwwV7e3tBLBYLFhYWQqdOnYSDBw+qbbzSqHPJiAEDBgjW1taCWCwWatSoIQwYMEC4deuWWsZ62Z49e4SGDRsKEolEcHFxEVatWqXW8Q4cOCAAEOLj49U6jiAIQkZGhjB+/HjBzs5OkEqlQq1atYSpU6cKubm5ah138+bNQq1atQSxWCxYWVkJgYGBQlpaWoX0/abf86KiImHatGmCpaWlIJFIhE6dOr311/pNY0ZERJS6PTQ0tMLHK16WorTHX3/9VeHjvXjxQvj4448FGxsbQSwWC9bW1kLPnj2F06dPl2ssooogEgQ1L/FMRERERLymi4iIiEgTGLqIiIiINIChi4iIiEgDGLqIiIiINIChi4iIiEgDGLqIiIiINIChi4iIiEgDGLqISCOOHj0KkUiEtLS0t+rHwcEBS5YsqZCaiIg0iaGL6C0kJiZi+PDhsLGxgVgshr29PcaPH48nT54o7Ne+fXuIRKISj4KCghLbJRIJatSogR49emD79u0lxize79SpUwrtubm5MDc3h0gkwtGjR8us+dGjRxgzZgzs7OwgkUhgZWUFHx8f/P3332//BSEiojIxdBGV0507d9CsWTPcvHkTv//+O27duoWVK1fKb47+9OlThf1HjRqF5ORkhcfL9zAs3n779m388ccfqF+/PgYOHIjRo0eXGNvW1hYREREKbTt27ICRkdEb6+7Tpw/OnTuHdevW4caNG9i9ezfat29fIigSEVHFYugiKqfAwECIxWIcPHgQ7dq1g52dHbp164bDhw/jwYMHmDp1qsL+VapUkd9IuLQbChdvr1mzJlq1aoV58+bh559/xurVq3H48GGFff39/bFp0ya8ePFC3rZ27Vr4+/u/tua0tDScOHEC8+bNQ4cOHWBvb48WLVogJCQEPXv2BAAMHz4cvr6+Cq/Lz89H9erVsWbNGgD/zcyNGzcOQUFBqFq1KiwtLbF69Wr5jeGNjY3h5OSEffv2lajh77//hpubG6RSKVq1aoXLly8rbP/jjz/QoEEDSCQSODg4YOHCha89JiKi9wVDF1E5PH36FAcOHMDYsWNhYGCgsM3KygpDhgzB5s2b8ba3NvX390fVqlVLnGZs2rQpHBwc8McffwAAEhIScPz4cXz66aev7c/IyAhGRkbYuXMncnNzS91n5MiR2L9/P5KTk+Vte/fuRXZ2NgYMGCBvW7duHapVq4bTp09j3LhxGDNmDPr16wdPT0+cPXsWXbp0waeffors7GyF/idNmoSFCxciNjYWFhYW6NGjB/Lz8wEAcXFx6N+/PwYOHIhLly4hLCwM06ZNQ2RkpNJfMyKidxVDF1E53Lx5E4IgoF69eqVur1evHp49e4ZHjx7J25YvXy4PPUZGRvjqq6/eOI6Ojg7q1KmDe/fuldg2fPhwrF27FgAQGRmJ7t27w8LC4rX96enpITIyEuvWrYOpqSlat26Nb775BhcvXpTv4+npibp162L9+vXytoiICPTr10/h9KW7uzu+/fZbODs7IyQkBFKpFNWqVcOoUaPg7OyM6dOn48mTJwp9A0BoaCg6d+4MV1dXrFu3DqmpqdixYwcAYNGiRejUqROmTZuGOnXqICAgAF988QUWLFjwxq8VEdG7jqGL6C2oMpM1ZMgQnD9/Xv4ICQlRegyRSFSi/ZNPPkF0dDTu3LmDyMhIDB8+XKn++vTpg6SkJOzevRtdu3bF0aNH0aRJE4XZpJEjR8qvGUtNTcW+fftK9O/m5ib/t66uLszNzeHq6ipvs7S0BAA8fPhQ4XUeHh7yf5uZmaFu3bq4du0aAODatWto3bq1wv6tW7fGzZs3UVhYqNTxERG9qxi6iMrByckJIpFIHhZede3aNVStWlVh5kkmk8HJyUn+qFat2hvHKSwsxM2bN+Ho6Fhim7m5OXx9fTFixAjk5OSgW7duStcvlUrRuXNnTJs2Df/88w8CAgIQGhoq3z506FDcuXMH0dHR+O233+Do6AgvLy+FPvT19RWei0QihbbioFhUVKR0XURElRlDF1E5mJubo3Pnzli+fLnCxewAkJKSgg0bNmDAgAGlzlCpYt26dXj27Bn69OlT6vbhw4fj6NGjGDp0KHR1dcs9Tv369ZGVlSV/bm5uDj8/P0RERCAyMhLDhg0rd9+venmpi2fPnuHGjRvy07T16tUrsXTF33//jTp16rzV8RERvQv03rwLEZXmp59+gqenJ3x8fDBr1iw4OjriypUrmDRpEmrUqIHZs2er1F92djZSUlJQUFCAf//9Fzt27MDixYsxZswYdOjQodTXdO3aFY8ePYKJiYlSYzx58gT9+vXD8OHD4ebmBmNjY5w5cwbz589Hr169FPYdOXIkfH19UVhY+MZPRariu+++g7m5OSwtLTF16lRUq1YNfn5+AICvvvoKzZs3x8yZMzFgwABER0fjp59+wvLlyytsfCIibWHoIionZ2dnnDlzBqGhoejfvz+ePn0KKysr+Pn5ITQ0FGZmZir1t3r1aqxevRpisRjm5uZo2rQpNm/ejI8//rjM14hEIqVOUxYzMjJCy5YtsXjxYty+fRv5+fmwtbXFqFGj8M033yjs6+3tDWtrazRo0AA2NjYqHcvrzJ07F+PHj8fNmzfRqFEj7NmzB2KxGADQpEkTbNmyBdOnT8fMmTNhbW2N7777DgEBARU2PhGRtoiEt/1MOxFVSpmZmahRowYiIiLQu3dvbZdDRPTe40wXESkoKirC48ePsXDhQpiamsoXTSUiorfD0EVEChISEuDo6IiaNWsiMjJS4VZFRERUfjy9SERERKQBXDKCiIiISAMYuoiIiIg0gKGLiIiISAMYuoiIiIg0gKGLiIiISAMYuoiIiIg0gKGLiIiISAMYuoiIiIg0gKGLiIiISAP+H8p6GDeuCUdQAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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08sMMOHh4RgwYADGjx8PZ2dnjB07Fq9evQIAfPrpp+jXrx8GDx6M1q1b49mzZwqzXu/K29sb+/fvx+HDh9GyZUu0adMGy5Ytg52dXaWNUdlEQkWvoHtPZGRkwNjYGK3FXaEjqr4Te+n926h1POPfz6p1PCIqGX/2K1e+kI+Y3Cikp6e/83VTpSn6u/TkL0/IjMr/dynjZT7MG/2p0tpItTjTRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGGg1dISEhEIlECouzs7N8fXZ2NgICAmBmZgZDQ0P0798fqampGqyYiIiIqGI0PtPVuHFjJCcny5fTp0/L102dOhX79u3D9u3bceLECTx69Aj9+vXTYLVEREREFaOj8QJ0dGBpaVmsPT09HWvXrsXmzZvRpUsXAEBERAQaNmyIs2fPok2bNuoulYiIiKjCND7TlZCQAGtra9StWxfDhw9HYmIiACAuLg55eXnw8vKSb+vs7AxbW1tER0eX2l9OTg4yMjIUFiIiIiJN02joat26NSIjI3Hw4EGEh4fj3r17aN++PV6+fImUlBSIxWKYmJgo7GNhYYGUlJRS+wwNDYWxsbF8sbGxUfFREBEREb2dRk8v9uzZU/5vV1dXtG7dGnZ2dti2bRv09PQq1GdQUBACAwPlrzMyMhi8iIioyukY6wptfUm5ty/IygHwJ1q2bAltbW0EBAQgICBAdQVSpdP4NV1vMjExQf369XH79m1069YNubm5SEtLU5jtSk1NLfEasCISiQQSSfm/iYmIiN4nsbGxkMlkmi6DKkDj13S9KTMzE3fu3IGVlRXc3d2hq6uLqKgo+fr4+HgkJibCw8NDg1USERERKU+jM13Tpk1D7969YWdnh0ePHiE4OBja2toYOnQojI2NMXr0aAQGBsLU1BQymQwTJ06Eh4cHP7lIRERE7x2Nhq6///4bQ4cOxbNnz2Bubo527drh7NmzMDc3BwAsW7YMWlpa6N+/P3JycuDt7Y2VK1dqsmQiIiKiCtFo6NqyZUuZ66VSKVasWIEVK1aoqSIiIiIi1ahS13QRERERVVcMXURERERqwNBFREREpAYMXURERERqwNBFREREpAYMXURERERqwNBFREREpAYMXURERERqwNBFREREpAYMXURERERqwNBFREREpAYMXURERERqoHToCgkJQWFhYbH29PR0DB06tFKKIiIiIqpulA5da9euRbt27XD37l152/Hjx+Hi4oI7d+5UanFERERE1YXSoevKlSuoU6cOmjZtijVr1mD69Ono3r07PvnkE/z555+qqJGIiIjovaej7A41atTAtm3b8NVXX+HTTz+Fjo4ODhw4gK5du6qiPiIiIqJqoUIX0v/444/44YcfMHToUNStWxeTJk3C5cuXK7s2IiIiompD6dDVo0cPzJ07F+vXr8emTZtw8eJFdOjQAW3atMGSJUtUUSMRERHRe0/p0FVQUIArV65gwIABAAA9PT2Eh4djx44dWLZsWaUXSERERFQdKH1N15EjR0ps/+ijj3D16tV3LoiIiIioOqrQNV2nTp3Cf/7zH3h4eODhw4cAgA0bNuDmzZuVWhwRERFRdaF06Pr999/h7e0NPT09XLx4ETk5OQD+uTnqN998U+kFEhEREVUHSoeuBQsWYNWqVVizZg10dXXl7W3btsWFCxcqtTgiIiKi6kLp0BUfH48OHToUazc2NkZaWlpl1ERERERU7SgduiwtLXH79u1i7adPn0bdunUrpSgiIiKi6kbp0DV27FhMnjwZMTExEIlEePToETZt2oRp06bh888/V0WNRERERO89pUPXzJkzMWzYMHTt2hWZmZno0KEDxowZg08//RQTJ05URY1ERERUTdy/fx8ikQiXLl3SdCkAgMjISJiYmKhlLKVDl0gkwqxZs/D8+XNcu3YNZ8+exZMnTzB//nxV1EdEREQVlJKSgsmTJ8PR0RFSqRQWFhZo27YtwsPDkZWVpenyqoTBgwfj1q1bahlL6ZujFhGLxWjUqFFl1kJERESV5O7du2jbti1MTEzwzTffwMXFBRKJBFevXsXq1atRu3Zt9OnTR2Xj5+bmQiwWq6x/ZZRWS15eHvT09KCnp/dO/efl5Snc0aE05Zrp6tevX7kXIiIi0rzx48dDR0cH58+fx6BBg9CwYUPUrVsXffv2xX//+1/0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Ni6x3dTU9J2LISIiIqquyn1NFxERERFVHEMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpgY6mCyAiIvoQyfach46o/H+G84V8AEDLli2hra2NgIAABAQEqKo8UgGNznSFhoaiZcuWMDIyQq1ateDr64v4+HiFbbKzsxEQEAAzMzMYGhqif//+SE1N1VDFREREmhUbG4u//vqLges9pNHQdeLECQQEBODs2bM4cuQI8vLy0L17d7x69Uq+zdSpU7Fv3z5s374dJ06cwKNHj9CvXz8NVk1ERESkPI2eXjx48KDC68jISNSqVQtxcXHo0KED0tPTsXbtWmzevBldunQBAERERKBhw4Y4e/Ys2rRpo4myiYiIiJRWpS6kT09PBwCYmpoCAOLi4pCXlwcvLy/5Ns7OzrC1tUV0dHSJfeTk5CAjI0NhISIiItK0KhO6CgsLMWXKFLRt2xZNmjQBAKSkpEAsFsPExERhWwsLC6SkpJTYT2hoKIyNjeWLjY2NqksnIiIieqsqE7oCAgJw7do1bNmy5Z36CQoKQnp6unxJSkqqpAqJiIiIKq5K3DJiwoQJ2L9/P06ePIk6derI2y0tLZGbm4u0tDSF2a7U1FRYWlqW2JdEIoFEIlF1yURERERK0ehMlyAImDBhAnbt2oVjx47BwcFBYb27uzt0dXURFRUlb4uPj0diYiI8PDzUXS4RERFRhWl0pisgIACbN2/Gnj17YGRkJL9Oy9jYGHp6ejA2Nsbo0aMRGBgIU1NTyGQyTJw4ER4eHvzkIhEREb1XNBq6wsPDAQCdOnVSaI+IiIC/vz8AYNmyZdDS0kL//v2Rk5MDb29vrFy5Us2VEhEREb0bjYYuQRDeuo1UKsWKFSuwYsUKNVREREREpBpV5tOLRERERNUZQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcRERGRGjB0EREREakBQxcREVE15O/vD5FIBJFIBF1dXVhYWKBbt25Yt24dCgsLy91PZGQkTExMVFfoB4Shi4iIqJrq0aMHkpOTcf/+fRw4cACdO3fG5MmT4ePjg/z8fE2X98Fh6CIiIqqmJBIJLC0tUbt2bTRv3hxfffUV9uzZgwMHDiAyMhIA8P3338PFxQUGBgawsbHB+PHjkZmZCQA4fvw4Ro4cifT0dPmsWUhICABgw4YNaNGiBYyMjGBpaYlhw4bh8ePHGjrS9wNDFxER0XskIyNDYcnJyVFq/y5dusDNzQ07d+4EAGhpaWH58uW4fv061q9fj2PHjuHLL78EAHh6eiIsLAwymQzJyclITk7GtGnTAAB5eXmYP38+Ll++jN27d+P+/fvw9/ev1GOtbnQ0XQARERGVn42NjcLr4OBg+exTeTk7O+PKlSsAgClTpsjb7e3tsWDBAnz22WdYuXIlxGIxjI2NIRKJYGlpqdDHqFGj5P+uW7culi9fjpYtWyIzMxOGhobKHdQHgqGLiIjoPZKUlASZTCZ/LZFIlO5DEASIRCIAwNGjRxEaGoqbN28iIyMD+fn5yM7ORlZWFvT19UvtIy4uDiEhIbh8+TJevHghvzg/MTERjRo1UrqmDwFPLxIREb1HZDKZwlKR0HXjxg04ODjg/v378PHxgaurK37//XfExcVhxYoVAIDc3NxS93/16hW8vb0hk8mwadMmxMbGYteuXW/d70PHmS4iIqIPyLFjx3D16lVMnToVcXFxKCwsxNKlS6Gl9c88zLZt2xS2F4vFKCgoUGi7efMmnj17hkWLFslPd54/f149B/Ae40wXERFRNZWTk4OUlBQ8fPgQFy5cwDfffIO+ffvCx8cHI0aMgKOjI/Ly8vDjjz/i7t272LBhA1atWqXQh729PTIzMxEVFYWnT58iKysLtra2EIvF8v327t2L+fPna+go3x8MXURERNXUwYMHYWVlBXt7e/To0QN//PEHli9fjj179kBbWxtubm74/vvvsXjxYjRp0gSbNm1CaGioQh+enp747LPPMHjwYJibm2PJkiUwNzdHZGQktm/fjkaNGmHRokX47rvvNHSU7w+RIAiCpotQpYyMDBgbG6O1uCt0RNX3bGp6/zZqHc/497NqHY+ISsaf/cqVL+QjJjcK6enpCherV6aiv0ttJF5K/V3KF/JxNueoSmsj1eJMFxEREZEaMHQRERERqQFDFxEREZEaMHQRERERqQFDFxEREZEaMHQRERERqQFDFxEREZEaMHQRERERqQFDFxEREZEaaDR0nTx5Er1794a1tTVEIhF2796tsF4QBMyZMwdWVlbQ09ODl5cXEhISNFMsERER0TvQaOh69eoV3NzcsGLFihLXL1myBMuXL8eqVasQExMDAwMDeHt7Izs7W82VEhEREb0bjT6MsGfPnujZs2eJ6wRBQFhYGL7++mv07dsXAPDrr7/CwsICu3fvxpAhQ9RZKhEREdE7qbLXdN27dw8pKSnw8vKStxkbG6N169aIjo4udb+cnBxkZGQoLERERESaVmVDV0pKCgDAwsJCod3CwkK+riShoaEwNjaWLzY2Niqtk4iIiKg8qmzoqqigoCCkp6fLl6SkJE2XRERERFR1Q5elpSUAIDU1VaE9NTVVvq4kEokEMplMYSEiIiLStCobuhwcHGBpaYmoqCh5W0ZGBmJiYuDh4aHByoiIiIiUp9FPL2ZmZuL27dvy1/fu3cOlS5dgamoKW1tbTJkyBQsWLICTkxMcHBwwe/ZsWFtbw9fXV3NFExEREVWARkPX+fPn0blzZ/nrwMBAAICfnx8iIyPx5Zdf4tWrVxg3bhzS0tLQrl07HDx4EFKpVFMlExEREVWIRkNXp06dIAhCqetFIhHmzZuHefPmqbEqIiIiospXZa/pIiIiIqpOGLqIiIiI1IChi4iIiEgNGLqIiIiI1IChi4iIiEgNGLqIiIiI1IChi4iIiEgNGLqIiIiI1IChi4iIiEgNNHpHeiIiog9VAfKB0h/KUvL29F5j6CIiIlIjsVgMS0tLxKYcV3pfmUyGVq1aQUtLCwEBAQgICKj8AkllGLqIiIjUSCqV4t69e8jNzVV6X7FYDKlUqoKqSB0YuoiIiNRMKpUyPH2AeCE9ERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRowdBERERGpAUMXERERkRq8F6FrxYoVsLe3h1QqRevWrXHu3DlNl0RERESklCofurZu3YrAwEAEBwfjwoULcHNzg7e3Nx4/fqzp0oiIiIjKrcqHru+//x5jx47FyJEj0ahRI6xatQr6+vpYt26dpksjIiIiKrcqHbpyc3MRFxcHLy8veZuWlha8vLwQHR1d4j45OTnIyMhQWIiIiIg0rUqHrqdPn6KgoAAWFhYK7RYWFkhJSSlxn9DQUBgbG8sXGxsbdZRKREREVKYqHboqIigoCOnp6fIlKSlJ0yURERERQUfTBZSlZs2a0NbWRmpqqkJ7amoqLC0tS9xHIpFAIpHIXwuCAADIF/JVV2gVUJCXo9bxqvv7SfS+4M9+5So6vqK/HUSVqUqHLrFYDHd3d0RFRcHX1xcAUFhYiKioKEyYMKFcfbx8+RIAEJd3QlVlVg3bozRdARFpAn/2VeLly5cwNjbWdBlUzVTp0AUAgYGB8PPzQ4sWLdCqVSuEhYXh1atXGDlyZLn2t7a2RlJSEoyMjCASico9bkZGBmxsbJCUlASZTFbR8qvseJoYs7qPp4kxq/t4mhiTx/j+j/cuYwqCgJcvX8La2lqF1dGHqsqHrsGDB+PJkyeYM2cOUlJS0LRpUxw8eLDYxfWl0dLSQp06dSo8vkwmU9svCU2Mp4kxq/t4mhizuo+niTF5jO//eBUdkzNcpCpVPnQBwIQJE8p9OpGIiIioKqp2n14kIiIiqooYukohkUgQHBys8EnI6jSeJsas7uNpYszqPp4mxuQxvv/jaWpMorcRCfxcLBEREZHKcaaLiIiISA0YuoiIiIjUgKGLiIiISA0YuoiIiIjUgKGrFCtWrIC9vT2kUilat26Nc+fOqWyskydPonfv3rC2toZIJMLu3btVNlZoaChatmwJIyMj1KpVC76+voiPj1fZeAAQHh4OV1dX+U0KPTw8cODAAZWO+aZFixZBJBJhypQpKuk/JCQEIpFIYXF2dlbJWG96+PAh/vOf/8DMzAx6enpwcXHB+fPnVTKWvb19sWMUiUQICAhQyXgFBQWYPXs2HBwcoKenh3r16mH+/Pkqfx7ey5cvMWXKFNjZ2UFPTw+enp6IjY2tlL7f9nMuCALmzJkDKysr6OnpwcvLCwkJCSodc+fOnejevTvMzMwgEolw6dIllY2Xl5eHGTNmwMXFBQYGBrC2tsaIESPw6NEjlYwH/POz6ezsDAMDA9SoUQNeXl6IiYmp8HhE74qhqwRbt25FYGAggoODceHCBbi5ucHb2xuPHz9WyXivXr2Cm5sbVqxYoZL+33TixAkEBATg7NmzOHLkCPLy8tC9e3e8evVKZWPWqVMHixYtQlxcHM6fP48uXbqgb9++uH79usrGLBIbG4uff/4Zrq6uKh2ncePGSE5Oli+nT59W6XgvXrxA27ZtoauriwMHDuCvv/7C0qVLUaNGDZWMFxsbq3B8R44cAQAMHDhQJeMtXrwY4eHh+Omnn3Djxg0sXrwYS5YswY8//qiS8YqMGTMGR44cwYYNG3D16lV0794dXl5eePjw4Tv3/baf8yVLlmD58uVYtWoVYmJiYGBgAG9vb2RnZ6tszFevXqFdu3ZYvHhxhcco73hZWVm4cOECZs+ejQsXLmDnzp2Ij49Hnz59VDIeANSvXx8//fQTrl69itOnT8Pe3h7du3fHkydPKjwm0TsRqJhWrVoJAQEB8tcFBQWCtbW1EBoaqvKxAQi7du1S+ThFHj9+LAAQTpw4obYxBUEQatSoIfzyyy8qHePly5eCk5OTcOTIEaFjx47C5MmTVTJOcHCw4ObmppK+SzNjxgyhXbt2ah3zTZMnTxbq1asnFBYWqqT/jz76SBg1apRCW79+/YThw4erZDxBEISsrCxBW1tb2L9/v0J78+bNhVmzZlXqWP/+OS8sLBQsLS2Fb7/9Vt6WlpYmSCQS4bffflPJmG+6d++eAEC4ePFipYz1tvGKnDt3TgAgPHjwQC3jpaenCwCEo0ePvvN4RBXBma5/yc3NRVxcHLy8vORtWlpa8PLyQnR0tAYrU4309HQAgKmpqVrGKygowJYtW/Dq1St4eHiodKyAgAB89NFHCl9LVUlISIC1tTXq1q2L4cOHIzExUaXj7d27Fy1atMDAgQNRq1YtNGvWDGvWrFHpmEVyc3OxceNGjBo1SqmHyCvD09MTUVFRuHXrFgDg8uXLOH36NHr27KmS8QAgPz8fBQUFkEqlCu16enoqn7m8d+8eUlJSFL5XjY2N0bp162r5e6dIeno6RCIRTExMVD5Wbm4uVq9eDWNjY7i5ual8PKKSvBfPXlSnp0+foqCgoNgDtS0sLHDz5k0NVaUahYWFmDJlCtq2bYsmTZqodKyrV6/Cw8MD2dnZMDQ0xK5du9CoUSOVjbdlyxZcuHCh0q7HKUvr1q0RGRmJBg0aIDk5GXPnzkX79u1x7do1GBkZqWTMu3fvIjw8HIGBgfjqq68QGxuLSZMmQSwWw8/PTyVjFtm9ezfS0tLg7++vsjFmzpyJjIwMODs7Q1tbGwUFBVi4cCGGDx+usjGNjIzg4eGB+fPno2HDhrCwsMBvv/2G6OhoODo6qmxcAEhJSQGAEn/vFK2rbrKzszFjxgwMHTpUpQ/B3r9/P4YMGYKsrCxYWVnhyJEjqFmzpsrGIyoLQ9cHLCAgANeuXVP5/+IBoEGDBrh06RLS09OxY8cO+Pn54cSJEyoJXklJSZg8eTKOHDlSbNZCFd6cfXF1dUXr1q1hZ2eHbdu2YfTo0SoZs7CwEC1atMA333wDAGjWrBmuXbuGVatWqTx0rV27Fj179oS1tbXKxti2bRs2bdqEzZs3o3Hjxrh06RKmTJkCa2trlR7fhg0bMGrUKNSuXRva2tpo3rw5hg4diri4OJWN+SHKy8vDoEGDIAgCwsPDVTpW586dcenSJTx9+hRr1qzBoEGDEBMTg1q1aql0XKKS8PTiv9SsWRPa2tpITU1VaE9NTYWlpaWGqqp8EyZMwP79+/HHH3+gTp06Kh9PLBbD0dER7u7uCA0NhZubG3744QeVjBUXF4fHjx+jefPm0NHRgY6ODk6cOIHly5dDR0cHBQUFKhm3iImJCerXr4/bt2+rbAwrK6tigbVhw4YqP6354MEDHD16FGPGjFHpONOnT8fMmTMxZMgQuLi44JNPPsHUqVMRGhqq0nHr1auHEydOIDMzE0lJSTh37hzy8vJQt25dlY5b9Luluv/eAf4vcD148ABHjhxR6SwXABgYGMDR0RFt2rTB2rVroaOjg7Vr16p0TKLSMHT9i1gshru7O6KiouRthYWFiIqKUvk1SOogCAImTJiAXbt24dixY3BwcNBIHYWFhcjJyVFJ3127dsXVq1dx6dIl+dKiRQsMHz4cly5dgra2tkrGLZKZmYk7d+7AyspKZWO0bdu22K0+bt26BTs7O5WNCQARERGoVasWPvroI5WOk5WVBS0txV9P2traKCwsVOm4RQwMDGBlZYUXL17g0KFD6Nu3r0rHc3BwgKWlpcLvnYyMDMTExFSL3ztFigJXQkICjh49CjMzM7XXoMrfPURvw9OLJQgMDISfnx9atGiBVq1aISwsDK9evcLIkSNVMl5mZqbCrMi9e/dw6dIlmJqawtbWtlLHCggIwObNm7Fnzx4YGRnJrxcxNjaGnp5epY5VJCgoCD179oStrS1evnyJzZs34/jx4zh06JBKxjMyMip2jZqBgQHMzMxUcu3atGnT0Lt3b9jZ2eHRo0cIDg6GtrY2hg4dWuljFZk6dSo8PT3xzTffYNCgQTh37hxWr16N1atXq2zMwsJCREREwM/PDzo6qv3V0bt3byxcuBC2trZo3LgxLl68iO+//x6jRo1S6biHDh2CIAho0KABbt++jenTp8PZ2blSfvbf9nM+ZcoULFiwAE5OTnBwcMDs2bNhbW0NX19flY35/PlzJCYmyu+VVRTkLS0tKzTDVtZ4VlZWGDBgAC5cuID9+/ejoKBA/vvH1NQUYrG4UsczMzPDwoUL0adPH1hZWeHp06dYsWIFHj58qLJbnRC9lYY/PVll/fjjj4Ktra0gFouFVq1aCWfPnlXZWH/88YcAoNji5+dX6WOVNA4AISIiotLHKjJq1CjBzs5OEIvFgrm5udC1a1fh8OHDKhuvJKq8ZcTgwYMFKysrQSwWC7Vr1xYGDx4s3L59WyVjvWnfvn1CkyZNBIlEIjg7OwurV69W6XiHDh0SAAjx8fEqHUcQBCEjI0OYPHmyYGtrK0ilUqFu3brCrFmzhJycHJWOu3XrVqFu3bqCWCwWLC0thYCAACEtLa1S+n7bz3lhYaEwe/ZswcLCQpBIJELXrl3f+b1+25gRERElrg8ODq708YpuS1HS8scff1T6eK9fvxY+/vhjwdraWhCLxYKVlZXQp08f4dy5cxUai6gyiARBxbd4JiIiIiJe00VERESkDgxdRERERGrA0EVERESkBgxdRERERGrA0EVERESkBgxdRERERGrA0EVERESkBgxdRKQWx48fh0gkQlpa2jv1Y29vj7CwsEqpiYhInRi6iN5BUlISRo0aBWtra4jFYtjZ2WHy5Ml49uyZwnadOnWCSCQqtuTn5xdbL5FIULt2bfTu3Rs7d+4sNmbRdmfPnlVoz8nJgZmZGUQiEY4fP15qzU+ePMHnn38OW1tbSCQSWFpawtvbG2fOnHn3N4SIiErF0EVUQXfv3kWLFi2QkJCA3377Dbdv38aqVavkD0d//vy5wvZjx45FcnKywvLmMwyL1t+5cwe///47GjVqhCFDhmDcuHHFxraxsUFERIRC265du2BoaPjWuvv374+LFy9i/fr1uHXrFvbu3YtOnToVC4pERFS5GLqIKiggIABisRiHDx9Gx44dYWtri549e+Lo0aN4+PAhZs2apbC9vr6+/EHCJT1QuGh9nTp10KZNGyxevBg///wz1qxZg6NHjyps6+fnhy1btuD169fytnXr1sHPz6/MmtPS0nDq1CksXrwYnTt3hp2dHVq1aoWgoCD06dMHADBq1Cj4+Pgo7JeXl4datWph7dq1AP6ZmZs4cSKmTJmCGjVqwMLCAmvWrJE/GN7IyAiOjo44cOBAsRrOnDkDV1dXSKVStGnTBteuXVNY//vvv6Nx48aQSCSwt7fH0qVLyzwmIqL3BUMXUQU8f/4chw4dwvjx46Gnp6ewztLSEsOHD8fWrVvxro829fPzQ40aNYqdZnR3d4e9vT1+//13AEBiYiJOnjyJTz75pMz+DA0NYWhoiN27dyMnJ6fEbcaMGYODBw8iOTlZ3rZ//35kZWVh8ODB8rb169ejZs2aOHfuHCZOnIjPP/8cAwcOhKenJy5cuIDu3bvjk08+QVZWlkL/06dPx9KlSxEbGwtzc3P07t0beXl5AIC4uDgMGjQIQ4YMwdWrVxESEoLZs2cjMjKy3O8ZEVFVxdBFVAEJCQkQBAENGzYscX3Dhg3x4sULPHnyRN62cuVKeegxNDTEF1988dZxtLS0UL9+fdy/f7/YulGjRmHdunUAgMjISPTq1Qvm5uZl9qejo4PIyEisX78eJiYmaNu2Lb766itcuXJFvo2npycaNGiADRs2yNsiIiIwcOBAhdOXbm5u+Prrr+Hk5ISgoCBIpVLUrFkTY8eOhZOTE+bMmYNnz54p9A0AwcHB6NatG1xcXLB+/XqkpqZi165dAIDvv/8eXbt2xezZs1G/fn34+/tjwoQJ+Pbbb9/6XhERVXUMXUTvQJmZrOHDh+PSpUvyJSgoqNxjiESiYu3/+c9/EB0djbt37yIyMhKjRo0qV3/9+/fHo0ePsHfvXvTo0QPHjx9H8+bNFWaTxowZI79mLDU1FQcOHCjWv6urq/zf2traMDMzg4uLi7zNwsICAPD48WOF/Tw8POT/NjU1RYMGDXDjxg0AwI0bN9C2bVuF7du2bYuEhAQUFBSU6/iIiKoqhi6iCnB0dIRIJJKHhX+7ceMGatSooTDzZGxsDEdHR/lSs2bNt45TUFCAhIQEODg4FFtnZmYGHx8fjB49GtnZ2ejZs2e565dKpejWrRtmz56NP//8E/7+/ggODpavHzFiBO7evYvo6Ghs3LgRDg4OaN++vUIfurq6Cq9FIpFCW1FQLCwsLHddRETVGUMXUQWYmZmhW7duWLlypcLF7ACQkpKCTZs2YfDgwSXOUClj/fr1ePHiBfr371/i+lGjRuH48eMYMWIEtLW1KzxOo0aN8OrVK/lrMzMz+Pr6IiIiApGRkRg5cmSF+/63N2918eLFC9y6dUt+mrZhw4bFbl1x5swZ1K9f/52Oj4ioKtB5+yZEVJKffvoJnp6e8Pb2xoIFC+Dg4IDr169j+vTpqF27NhYuXKhUf1lZWUhJSUF+fj7+/vtv7Nq1C8uWLcPnn3+Ozp07l7hPjx498OTJE8hksnKN8ezZMwwcOBCjRo2Cq6srjIyMcP78eSxZsgR9+/ZV2HbMmDHw8fFBQUHBWz8VqYx58+bBzMwMFhYWmDVrFmrWrAlfX18AwBdffIGWLVti/vz5GDx4MKKjo/HTTz9h5cqVlTY+EZGmMHQRVZCTkxPOnz+P4OBgDBo0CM+fP4elpSV8fX0RHBwMU1NTpfpbs2YN1qxZA7FYDDMzM7i7u2Pr1q34+OOPS91HJBKV6zRlEUNDQ7Ru3RrLli3DnTt3kJeXBxsbG4wdOxZfffWVwrZeXl6wsrJC48aNYW1trdSxlGXRokWYPHkyEhIS0LRpU+zbtw9isRgA0Lx5c2zbtg1z5szB/PnzYWVlhXnz5sHf37/Sxici0hSR8K6faSeiaikzMxO1a9dGREQE+vXrp+lyiIjee5zpIiIFhYWFePr0KZYuXQoTExP5TVOJiOjdMHQRkYLExEQ4ODigTp06iIyMVHhUERERVRxPLxIRERGpAW8ZQURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQGDF1EREREasDQRURERKQG/w+l6tfvWTjnbgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Resource grid without DMRS pilots\n", "plot = RESOURCE_GRID_0P.show();\n", "plt.title(\"OFDM Resource grid without DMRS pilots\");\n", "\n", "# Resource grid with DMRS pilots\n", "plot = RESOURCE_GRID_2P.show();\n", "plt.title(\"OFDM Resource grid with DMRS pilots\");" ] }, { "cell_type": "markdown", "id": "f8eb9259", "metadata": {}, "source": [ "## Neural Receiver" ] }, { "cell_type": "markdown", "id": "dd2a84fb", "metadata": {}, "source": [ "### Definition of the neural receiver" ] }, { "cell_type": "code", "execution_count": 4, "id": "bea4d52d", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.827851Z", "iopub.status.busy": "2026-05-08T05:17:31.827747Z", "iopub.status.idle": "2026-05-08T05:17:31.830325Z", "shell.execute_reply": "2026-05-08T05:17:31.829566Z" } }, "outputs": [], "source": [ "NUM_CONV_CHANNELS = 128" ] }, { "cell_type": "code", "execution_count": 5, "id": "bf95e03d-882b-4af7-aafa-4b86a3ab334a", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.832056Z", "iopub.status.busy": "2026-05-08T05:17:31.831967Z", "iopub.status.idle": "2026-05-08T05:17:31.840297Z", "shell.execute_reply": "2026-05-08T05:17:31.839498Z" } }, "outputs": [], "source": [ "class ResidualBlock(nn.Module):\n", " \"\"\"\n", " Convolutional residual block with two convolutional layers, ReLU activation,\n", " layer normalization, and a skip connection.\n", "\n", " The number of convolutional channels of the input must match NUM_CONV_CHANNELS\n", " for the skip connection to work.\n", "\n", " Input shape: [batch_size, NUM_CONV_CHANNELS, num_ofdm_symbols, num_subcarriers]\n", " Output shape: [batch_size, NUM_CONV_CHANNELS, num_ofdm_symbols, num_subcarriers]\n", " \"\"\"\n", "\n", " def __init__(self, num_ofdm_symbols: int, fft_size: int, kernel_size: tuple[int, int] = (3, 3), dilation: tuple[int, int] = (1, 1)):\n", " super().__init__()\n", "\n", " # Layer normalization over the last three dimensions (C, H, W)\n", " self._layer_norm_1 = nn.LayerNorm([NUM_CONV_CHANNELS, num_ofdm_symbols, fft_size])\n", " self._conv_1_dw = nn.Conv2d(\n", " in_channels=NUM_CONV_CHANNELS,\n", " out_channels=NUM_CONV_CHANNELS,\n", " kernel_size=kernel_size,\n", " padding=dilation,\n", " dilation=dilation,\n", " groups=NUM_CONV_CHANNELS, # depthwise: one filter per channel\n", " )\n", " self._conv_1_pw = nn.Conv2d(\n", " in_channels=NUM_CONV_CHANNELS,\n", " out_channels=NUM_CONV_CHANNELS,\n", " kernel_size=1, # pointwise: mixes channels\n", " )\n", " self._layer_norm_2 = nn.LayerNorm([NUM_CONV_CHANNELS, num_ofdm_symbols, fft_size])\n", " self._conv_2_dw = nn.Conv2d(\n", " in_channels=NUM_CONV_CHANNELS,\n", " out_channels=NUM_CONV_CHANNELS,\n", " kernel_size=kernel_size,\n", " padding=dilation,\n", " dilation=dilation,\n", " groups=NUM_CONV_CHANNELS, # depthwise: one filter per channel\n", " )\n", " self._conv_2_pw = nn.Conv2d(\n", " in_channels=NUM_CONV_CHANNELS,\n", " out_channels=NUM_CONV_CHANNELS,\n", " kernel_size=1, # pointwise: mixes channels\n", " )\n", "\n", " def forward(self, inputs: torch.Tensor) -> torch.Tensor:\n", " z = self._layer_norm_1(inputs)\n", " z = F.relu(z)\n", " z = self._conv_1_pw(self._conv_1_dw(z))\n", " z = self._layer_norm_2(z)\n", " z = F.relu(z)\n", " z = self._conv_2_pw(self._conv_2_dw(z))\n", " # Skip connection\n", " z = z + inputs\n", " return z\n", "\n", "\n", "class NeuralReceiver(nn.Module):\n", " \"\"\"\n", " Residual convolutional neural receiver.\n", "\n", " This neural receiver is fed with the post-DFT received samples, forming a\n", " resource grid of size num_ofdm_symbols x fft_size, and computes LLRs on\n", " the transmitted coded bits.\n", "\n", " Input\n", " -----\n", " y : [batch_size, num_rx, num_rx_antenna, num_ofdm_symbols, num_subcarriers], complex\n", " Received post-DFT samples.\n", " no : [batch_size], float\n", " Noise variance.\n", "\n", " Output\n", " ------\n", " llr : [batch_size, 1, 1, num_ofdm_symbols, num_subcarriers, num_bits_per_symbol], float\n", " LLRs on the transmitted bits.\n", " \"\"\"\n", "\n", " def __init__(\n", " self,\n", " num_bits_per_symbol: int,\n", " num_ofdm_symbols: int,\n", " fft_size: int,\n", " ):\n", " super().__init__()\n", " self._num_bits_per_symbol = num_bits_per_symbol\n", " self._num_ofdm_symbols = num_ofdm_symbols\n", " self._fft_size = fft_size\n", "\n", " # Input convolution: 2*num_rx_antenna + 1 input channels (real, imag, noise)\n", " # For single antenna: 2*1 + 1 = 3 input channels\n", " num_input_channels = 2 * 1 + 1\n", " self._input_conv = nn.Conv2d(\n", " in_channels=num_input_channels,\n", " out_channels=NUM_CONV_CHANNELS,\n", " kernel_size=3,\n", " padding=1,\n", " )\n", " # Residual blocks\n", " self._res_block_1 = ResidualBlock(num_ofdm_symbols, fft_size, kernel_size=(3, 3), dilation=(1, 1))\n", " self._res_block_2 = ResidualBlock(num_ofdm_symbols, fft_size, kernel_size=(3, 3), dilation=(1, 2))\n", " self._res_block_3 = ResidualBlock(num_ofdm_symbols, fft_size, kernel_size=(3, 3), dilation=(2, 4))\n", " self._res_block_4 = ResidualBlock(num_ofdm_symbols, fft_size, kernel_size=(3, 3), dilation=(3, 8))\n", " self._res_block_5 = ResidualBlock(num_ofdm_symbols, fft_size, kernel_size=(3, 3), dilation=(1, 1))\n", " # Output convolution\n", " self._output_conv = nn.Conv2d(\n", " in_channels=NUM_CONV_CHANNELS,\n", " out_channels=num_bits_per_symbol,\n", " kernel_size=3,\n", " padding=1,\n", " )\n", "\n", " @torch.compiler.disable\n", " def _preprocess(self, y: torch.Tensor, no: torch.Tensor) -> torch.Tensor:\n", " \"\"\"Complex -> real feature map. Runs eager (graph break under compile).\"\"\"\n", " y = y.squeeze(1) # [B, num_rx_ant, T, F], complex\n", " no_log = torch.log10(no)\n", " b, _, t, f = y.shape\n", " no_expanded = no_log.view(-1, 1, 1, 1).expand(b, 1, t, f)\n", " return torch.cat([y.real, y.imag, no_expanded], dim=1) # [B, 3, T, F]\n", "\n", " def _run_cnn(self, z: torch.Tensor) -> torch.Tensor:\n", " z = self._input_conv(z)\n", " z = self._res_block_1(z)\n", " z = self._res_block_2(z)\n", " z = self._res_block_3(z)\n", " z = self._res_block_4(z)\n", " z = self._res_block_5(z)\n", " return self._output_conv(z)\n", "\n", " def forward(self, y: torch.Tensor, no: torch.Tensor) -> torch.Tensor:\n", " z = self._preprocess(y, no)\n", " z = self._run_cnn(z)\n", " z = z.permute(0, 2, 3, 1)\n", " return insert_dims(z, 2, 1)" ] }, { "cell_type": "markdown", "id": "5b8b6789", "metadata": {}, "source": [ "### E2E system" ] }, { "cell_type": "code", "execution_count": 6, "id": "c5d2605f-3b5f-481e-b5d1-48e638b9afd1", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.842090Z", "iopub.status.busy": "2026-05-08T05:17:31.841999Z", "iopub.status.idle": "2026-05-08T05:17:31.848170Z", "shell.execute_reply": "2026-05-08T05:17:31.847544Z" } }, "outputs": [], "source": [ "class OFDMSystemNeuralReceiver(Block):\n", " \"\"\"\n", " End-to-end OFDM system with neural receiver\n", "\n", " When training=True, returns the BMD rate loss for training.\n", " When training=False, returns (bits, bits_hat) for BLERs evaluation.\n", " \"\"\"\n", "\n", " def __init__(self, channel_model, training: bool = False):\n", " super().__init__()\n", " self._training = training\n", "\n", " n = int(RESOURCE_GRID_0P.num_data_symbols * NUM_BITS_PER_SYMBOL)\n", " k = int(n * CODERATE)\n", " self._k = k\n", " self._n = n\n", "\n", " # Transmitter components\n", " self._binary_source = BinarySource()\n", " if not training:\n", " self._encoder = LDPC5GEncoder(k, n)\n", " self._rg_mapper = ResourceGridMapper(RESOURCE_GRID_0P)\n", "\n", " # Trainable constellation\n", " qam_points = Constellation(\"qam\", NUM_BITS_PER_SYMBOL).points\n", " self.points_r = nn.Parameter(qam_points.real.clone())\n", " self.points_i = nn.Parameter(qam_points.imag.clone())\n", " self.constellation = Constellation(\"custom\",\n", " NUM_BITS_PER_SYMBOL,\n", " points=torch.complex(self.points_r, self.points_i),\n", " normalize=True,\n", " center=True)\n", " self._mapper = Mapper(constellation=self.constellation)\n", "\n", " # Channel\n", " self._channel = OFDMChannel(\n", " channel_model,\n", " RESOURCE_GRID_0P,\n", " add_awgn=True,\n", " normalize_channel=True,\n", " return_channel=False,\n", " )\n", "\n", " # Neural receiver\n", " self._neural_receiver = NeuralReceiver(\n", " NUM_BITS_PER_SYMBOL,\n", " NUM_OFDM_SYMBOLS,\n", " FFT_SIZE,\n", " )\n", "\n", " # Resource grid demapper\n", " self._rg_demapper = ResourceGridDemapper(RESOURCE_GRID_0P, STREAM_MANAGEMENT)\n", "\n", " # Decoder (only for evaluation)\n", " if not training:\n", " self._decoder = LDPC5GDecoder(self._encoder, hard_out=True)\n", "\n", " def _transmit(self, batch_size: int, ebno_db: torch.Tensor):\n", " \"\"\"Run the TX + channel pipeline and return ``(y, no)``.\"\"\"\n", " no = ebnodb2no(\n", " ebno_db,\n", " num_bits_per_symbol=NUM_BITS_PER_SYMBOL,\n", " coderate=CODERATE,\n", " resource_grid=RESOURCE_GRID_0P,\n", " )\n", " if no.dim() == 0:\n", " no = no.expand(batch_size)\n", "\n", " bits = self._binary_source([batch_size, 1, 1, self._k])\n", " codewords = self._encoder(bits)\n", "\n", " x = self._mapper(codewords)\n", " x_rg = self._rg_mapper(x)\n", "\n", " no_expanded = expand_to_rank(no, x_rg.ndim)\n", " y = self._channel(x_rg, no_expanded)\n", " return bits, y, no\n", "\n", " def forward(self, batch_size: int, ebno_db: torch.Tensor):\n", " # Compute noise power\n", " no = ebnodb2no(\n", " ebno_db,\n", " num_bits_per_symbol=NUM_BITS_PER_SYMBOL,\n", " coderate=CODERATE,\n", " resource_grid=RESOURCE_GRID_0P,\n", " )\n", "\n", " # Ensure no has shape [batch_size]\n", " if no.dim() == 0:\n", " no = no.expand(batch_size)\n", "\n", " # Update constellation points from trainable parameters (creates fresh graph)\n", " self.constellation.points = torch.complex(self.points_r, self.points_i)\n", "\n", " # Transmitter\n", " if self._training:\n", " # Skip outer coding during training\n", " codewords = self._binary_source([batch_size, 1, 1, self._n])\n", " else:\n", " bits = self._binary_source([batch_size, 1, 1, self._k])\n", " codewords = self._encoder(bits)\n", "\n", " # Map data to constellation symbols\n", " x = self._mapper(codewords)\n", " # Map symbols to resource grid\n", " x_rg = self._rg_mapper(x)\n", "\n", " # Channel\n", " no_expanded = expand_to_rank(no, x_rg.ndim)\n", " y = self._channel(x_rg, no_expanded)\n", "\n", " # Receiver\n", " llr = self._neural_receiver(y, no)\n", " llr = self._rg_demapper(llr) # Extract data-carrying resource elements\n", " llr = llr.reshape(batch_size, 1, 1, self._n)\n", "\n", " if self._training:\n", " # Compute BCE loss for BMD rate\n", " bce = F.binary_cross_entropy_with_logits(\n", " llr, codewords.float(), reduction=\"none\"\n", " )\n", " bce = bce.mean()\n", " # BMD rate\n", " rate = 1.0 - bce / math.log(2.0)\n", " return rate\n", " else:\n", " # Decode\n", " bits_hat = self._decoder(llr)\n", " return bits, bits_hat" ] }, { "cell_type": "markdown", "id": "4982feda-3b93-46dc-a936-bd225d7260dd", "metadata": {}, "source": [ "### Training" ] }, { "cell_type": "code", "execution_count": null, "id": "b725fbc3", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.850107Z", "iopub.status.busy": "2026-05-08T05:17:31.850017Z", "iopub.status.idle": "2026-05-08T05:17:31.852151Z", "shell.execute_reply": "2026-05-08T05:17:31.851561Z" } }, "outputs": [], "source": [ "BATCH_SIZE_TRAIN = 128\n", "\n", "EBN0_DB_MIN = 13.0\n", "EBN0_DB_MAX = 25.0\n", "\n", "NUM_TRAINING_ITERATIONS = 100000" ] }, { "cell_type": "code", "execution_count": null, "id": "c53960db-28ee-4f33-8840-7b1373348162", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.853956Z", "iopub.status.busy": "2026-05-08T05:17:31.853867Z", "iopub.status.idle": "2026-05-08T05:17:31.856514Z", "shell.execute_reply": "2026-05-08T05:17:31.855871Z" } }, "outputs": [], "source": [ "from IPython.display import display, clear_output\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 4))\n", "line, = ax.plot([], [])\n", "ax.set_xlabel(\"Iteration\")\n", "ax.set_ylabel(\"Rate (bit)\")\n", "ax.set_title(\"Training Progress\")\n", "ax.grid(True)\n", "display(fig)\n", "\n", "model = OFDMSystemNeuralReceiver(CHANNEL_MODEL_TRAIN, training=True).to(device)\n", "\n", "\n", "optimizer = torch.optim.Adam([\n", " {'params': model._neural_receiver.parameters(), 'lr': 1e-3},\n", " {'params': [model.points_r, model.points_i], 'lr': 1e-4},\n", "])\n", "\n", "iterations = []\n", "rates = []\n", "\n", "model.train()\n", "for i in range(NUM_TRAINING_ITERATIONS):\n", " ebno_db = torch.empty(BATCH_SIZE_TRAIN, device=device).uniform_(EBN0_DB_MIN, EBN0_DB_MAX)\n", " \n", " optimizer.zero_grad()\n", " rate = model(BATCH_SIZE_TRAIN, ebno_db)\n", " \n", " loss = -rate\n", " loss.backward()\n", " optimizer.step()\n", " \n", " if i % 100 == 0:\n", " iterations.append(i)\n", " rates.append(rate.item())\n", " line.set_data(iterations, rates)\n", " ax.set_xlim(0, max(i, 1))\n", " ax.set_ylim(min(rates) - 0.1, max(rates) + 0.1)\n", " clear_output(wait=True)\n", " display(fig)\n", " print(f\"{i}/{NUM_TRAINING_ITERATIONS} Rate: {rate.item():.2E} bit\")\n", "\n", "torch.save(model.state_dict(), 'weights-pilotless.pt')" ] }, { "cell_type": "markdown", "id": "634e3da6", "metadata": {}, "source": [ "## Agent receiver" ] }, { "cell_type": "code", "execution_count": 9, "id": "cce77780", "metadata": {}, "outputs": [], "source": [ "@contextmanager\n", "def _chdir(path):\n", " \"\"\"Temporarily change process cwd (for relative opens in agent solutions).\"\"\"\n", " old = os.getcwd()\n", " os.chdir(str(path))\n", " try:\n", " yield\n", " finally:\n", " os.chdir(old)\n", "\n", "\n", "_LINK_CONFIG_NAMES = (\n", " \"NUM_BITS_PER_SYMBOL\",\n", " \"NUM_OFDM_SYMBOLS\",\n", " \"FFT_SIZE\",\n", " \"SUBCARRIER_SPACING\",\n", " \"CYCLIC_PREFIX_LENGTH\",\n", " \"NUM_GUARD_CARRIERS\",\n", " \"DC_NULL\",\n", " \"CODERATE\",\n", " \"CARRIER_FREQUENCY\",\n", ")\n", "\n", "\n", "def _ensure_workspace_assets(workspace_dir: Path, pilotless_dir: Path) -> None:\n", " \"\"\"Stage files solution.py expects next to itself.\"\"\"\n", " pkl_dst = workspace_dir / \"constellation_points.pkl\"\n", " if not pkl_dst.exists():\n", " pkl_src = pilotless_dir / \"eval\" / \"constellation_points.pkl\"\n", " if not pkl_src.exists():\n", " raise FileNotFoundError(\n", " f\"Missing {pkl_dst} and no source at {pkl_src}\"\n", " )\n", " import shutil\n", " shutil.copy2(pkl_src, pkl_dst)\n", "\n", "\n", "def _inject_link_config() -> None:\n", " \"\"\"Stub link_config from notebook globals only; missing names stay None.\"\"\"\n", " import types\n", "\n", " lc = types.ModuleType(\"link_config\")\n", " for name in _LINK_CONFIG_NAMES:\n", " setattr(lc, name, globals().get(name))\n", "\n", " sys.modules[\"link_config\"] = lc\n", "\n", "\n", "def _load_receiver_class(filename: str):\n", " \"\"\"\n", " Import an eval-style solution (receiver(y, no)) and return\n", " (wrapper_class, workspace_dir).\n", " \"\"\"\n", " src = Path(filename).resolve()\n", " if not src.is_file():\n", " raise FileNotFoundError(src)\n", "\n", " workspace_dir = src.parent\n", " pilotless_dir = Path.cwd()\n", "\n", " _ensure_workspace_assets(workspace_dir, pilotless_dir)\n", "\n", " if str(workspace_dir) not in sys.path:\n", " sys.path.insert(0, str(workspace_dir))\n", "\n", " _inject_link_config()\n", "\n", " mod_name = src.stem.replace(\"-\", \"_\")\n", " spec = importlib.util.spec_from_file_location(mod_name, str(src))\n", " if spec is None or spec.loader is None:\n", " raise ImportError(f\"Cannot load {src}\")\n", "\n", " module = importlib.util.module_from_spec(spec)\n", " sys.modules[mod_name] = module\n", "\n", " import hp as hp_mod\n", " hp_mod.HP._params = {}\n", " hp_mod.HP._loaded = True\n", "\n", " with _chdir(workspace_dir):\n", " spec.loader.exec_module(module)\n", "\n", " fn = getattr(module, \"receiver\", None)\n", " if not callable(fn):\n", " raise RuntimeError(f\"{filename} must define a callable receiver(y, no)\")\n", "\n", " class AgentReceiverWrapper(nn.Module):\n", " def __init__(self, num_bits_per_symbol):\n", " super().__init__()\n", " self._receiver = fn\n", "\n", " def forward(self, y, no):\n", " return self._receiver(y, no)\n", "\n", " return AgentReceiverWrapper, workspace_dir" ] }, { "cell_type": "code", "execution_count": 10, "id": "a5f71498", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.863903Z", "iopub.status.busy": "2026-05-08T05:17:31.863817Z", "iopub.status.idle": "2026-05-08T05:17:31.869206Z", "shell.execute_reply": "2026-05-08T05:17:31.868566Z" } }, "outputs": [], "source": [ "class OFDMSystemAgent(Block):\n", " \"\"\"End-to-end OFDM eval system using a receiver loaded from a solution file.\"\"\"\n", "\n", " def __init__(self, channel_model, receiver_filename: str):\n", " super().__init__()\n", "\n", " n = int(RESOURCE_GRID_0P.num_data_symbols * NUM_BITS_PER_SYMBOL)\n", " k = int(n * CODERATE)\n", " self._k = k\n", " self._n = n\n", "\n", " self._binary_source = BinarySource()\n", " self._encoder = LDPC5GEncoder(k, n)\n", " self._rg_mapper = ResourceGridMapper(RESOURCE_GRID_0P)\n", "\n", " with open(\"eval/constellation_points.pkl\", \"rb\") as f:\n", " init_points = pickle.load(f)\n", " init_points = torch.as_tensor(np.asarray(init_points, dtype=np.complex64))\n", " self.points_r = nn.Parameter(init_points.real.clone(), requires_grad=False)\n", " self.points_i = nn.Parameter(init_points.imag.clone(), requires_grad=False)\n", " self.constellation = Constellation(\n", " \"custom\", NUM_BITS_PER_SYMBOL,\n", " points=torch.complex(self.points_r, self.points_i),\n", " normalize=True, center=True,\n", " )\n", " self._mapper = Mapper(constellation=self.constellation)\n", "\n", " self._channel = OFDMChannel(\n", " channel_model, RESOURCE_GRID_0P,\n", " add_awgn=True, normalize_channel=True, return_channel=False,\n", " )\n", "\n", " receiver_cls, pilotless_dir = _load_receiver_class(receiver_filename)\n", " with _chdir(pilotless_dir):\n", " self._agent_receiver = receiver_cls(NUM_BITS_PER_SYMBOL)\n", "\n", " self._rg_demapper = ResourceGridDemapper(RESOURCE_GRID_0P, STREAM_MANAGEMENT)\n", " self._decoder = LDPC5GDecoder(self._encoder, hard_out=True)\n", "\n", " self._RESOURCE_GRID_0P = RESOURCE_GRID_0P\n", " self._NUM_BITS_PER_SYMBOL = NUM_BITS_PER_SYMBOL\n", " self._CODERATE = CODERATE\n", "\n", " def forward(self, batch_size: int, ebno_db: torch.Tensor):\n", " no = ebnodb2no(\n", " ebno_db,\n", " num_bits_per_symbol=self._NUM_BITS_PER_SYMBOL,\n", " coderate=self._CODERATE,\n", " resource_grid=self._RESOURCE_GRID_0P,\n", " )\n", " if no.dim() == 0:\n", " no = no.expand(batch_size)\n", "\n", " bits = self._binary_source([batch_size, 1, 1, self._k])\n", " codewords = self._encoder(bits)\n", "\n", " x = self._mapper(codewords)\n", " x_rg = self._rg_mapper(x)\n", " no_expanded = expand_to_rank(no, x_rg.ndim)\n", " y = self._channel(x_rg, no_expanded)\n", "\n", " llr = self._agent_receiver(y, no)\n", " llr = self._rg_demapper(llr)\n", " llr = llr.reshape(batch_size, 1, 1, self._n)\n", " bits_hat = self._decoder(llr)\n", " return bits, bits_hat" ] }, { "cell_type": "markdown", "id": "d10ba378", "metadata": {}, "source": [ "## Baselines" ] }, { "cell_type": "code", "execution_count": 11, "id": "603bed24", "metadata": { "execution": { "iopub.execute_input": "2026-05-08T05:17:31.871014Z", "iopub.status.busy": "2026-05-08T05:17:31.870923Z", "iopub.status.idle": "2026-05-08T05:17:31.875651Z", "shell.execute_reply": "2026-05-08T05:17:31.875075Z" } }, "outputs": [], "source": [ "class OFDMSystem(Block):\n", " \"\"\"\n", " Baseline OFDM system with conventional channel estimation.\n", "\n", " When perfect_csi=True, uses perfect channel state information.\n", " When perfect_csi=False, uses LS channel estimation.\n", " \"\"\"\n", "\n", " def __init__(self, channel_model, perfect_csi: bool = False):\n", " super().__init__()\n", " self._perfect_csi = perfect_csi\n", "\n", " # Resource grid\n", " rg = RESOURCE_GRID_0P if perfect_csi else RESOURCE_GRID_2P\n", " self._rg = rg\n", "\n", " n = int(rg.num_data_symbols * NUM_BITS_PER_SYMBOL)\n", " k = int(n * CODERATE)\n", " self._k = k\n", "\n", " # Transmitter components\n", " self._binary_source = BinarySource()\n", " self._encoder = LDPC5GEncoder(k, n)\n", " self._mapper = Mapper(\"qam\", NUM_BITS_PER_SYMBOL)\n", " self._rg_mapper = ResourceGridMapper(rg)\n", "\n", " # Channel\n", " self._channel = OFDMChannel(\n", " channel_model,\n", " rg,\n", " add_awgn=True,\n", " normalize_channel=True,\n", " return_channel=True,\n", " )\n", "\n", " # Receiver components\n", " if perfect_csi:\n", " self._removed_null_subc = RemoveNulledSubcarriers(rg)\n", " else:\n", " self._ls_est = LSChannelEstimator(rg, interpolation_type=\"nn\")\n", "\n", " self._lmmse_equ = LMMSEEqualizer(rg, STREAM_MANAGEMENT)\n", " self._demapper = Demapper(\"app\", \"qam\", NUM_BITS_PER_SYMBOL)\n", " self._decoder = LDPC5GDecoder(self._encoder, hard_out=True)\n", " \n", " def _receiver(self, y, no, h_freq=None):\n", " if self._perfect_csi:\n", " h_hat = self._removed_null_subc(h_freq)\n", " err_var = 0.0\n", " else:\n", " h_hat, err_var = self._ls_est(y, no)\n", "\n", " x_hat, no_eff = self._lmmse_equ(y, h_hat, err_var, no)\n", " no_eff_expanded = expand_to_rank(no_eff, x_hat.ndim)\n", " llr = self._demapper(x_hat, no_eff_expanded)\n", " return llr\n", "\n", " def forward(self, batch_size: int, ebno_db: torch.Tensor):\n", " # Compute noise power\n", " no = ebnodb2no(\n", " ebno_db,\n", " num_bits_per_symbol=NUM_BITS_PER_SYMBOL,\n", " coderate=CODERATE,\n", " resource_grid=self._rg,\n", " )\n", "\n", " # Transmitter\n", " bits = self._binary_source([batch_size, 1, self._rg.num_streams_per_tx, self._k])\n", " codewords = self._encoder(bits)\n", " x = self._mapper(codewords)\n", " x_rg = self._rg_mapper(x)\n", "\n", " # Channel\n", " no_expanded = expand_to_rank(no, x_rg.ndim)\n", " y, h_freq = self._channel(x_rg, no_expanded)\n", "\n", " # Receiver\n", " llr = self._receiver(y, no, h_freq)\n", " bits_hat = self._decoder(llr)\n", "\n", " return bits, bits_hat" ] }, { "cell_type": "markdown", "id": "09f27423", "metadata": {}, "source": [ "## Evaluations" ] }, { "cell_type": "code", "execution_count": null, "id": "168db262", "metadata": {}, "outputs": [], "source": [ "# Minimum value of Eb/N0 [dB] for simulations\n", "EBN0_DB_MIN_EVAL = 5.0\n", "\n", "# Maximum value of Eb/N0 [dB] for simulations\n", "EBN0_DB_MAX_EVAL = 25.0\n", "\n", "NUM_TARGET_BLOCK_ERRORS = 100\n", "MAX_MC_ITER = 100\n", "BATCH_SIZE_EVAL = 64\n", "\n", "SNR_POINTS_EVAL = np.linspace(EBN0_DB_MIN_EVAL, EBN0_DB_MAX_EVAL, 20)\n", "\n", "AGENT_SOLUTION_FILE = \"selected_solution/solution.py\"\n" ] }, { "cell_type": "code", "execution_count": 13, "id": "d124101d", "metadata": {}, "outputs": [], "source": [ "BLERs = {}\n", "for key in CHANNEL_MODEL_EVAL.keys():\n", " BLERs[key] = {}" ] }, { "cell_type": "markdown", "id": "b5cfc734", "metadata": {}, "source": [ "### Baselines" ] }, { "cell_type": "code", "execution_count": 14, "id": "6884da79", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " 5.0 | 2.3335e-01 | 1.0000e+00 | 108362 | 464384 | 128 | 128 | 0.3 |reached target block errors\n", " 6.053 | 2.1265e-01 | 1.0000e+00 | 98751 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 7.105 | 1.9283e-01 | 1.0000e+00 | 89545 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 8.158 | 1.7115e-01 | 1.0000e+00 | 79477 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 9.211 | 1.4864e-01 | 1.0000e+00 | 69028 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 10.263 | 1.1618e-01 | 1.0000e+00 | 53953 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 11.316 | 7.0483e-02 | 9.8438e-01 | 32731 | 464384 | 126 | 128 | 0.1 |reached target block errors\n", " 12.368 | 2.8350e-02 | 3.9453e-01 | 26331 | 928768 | 101 | 256 | 0.1 |reached target block errors\n", " 13.421 | 1.0896e-02 | 1.5767e-01 | 27829 | 2554112 | 111 | 704 | 0.3 |reached target block errors\n", " 14.474 | 5.6337e-03 | 8.0469e-02 | 26162 | 4643840 | 103 | 1280 | 0.6 |reached target block errors\n", " 15.526 | 2.3188e-03 | 3.3245e-02 | 25305 | 10913024 | 100 | 3008 | 1.4 |reached target block errors\n", " 16.579 | 1.2361e-03 | 1.5944e-02 | 28127 | 22754816 | 100 | 6272 | 2.8 |reached target block errors\n", " 17.632 | 4.9730e-04 | 6.2500e-03 | 11547 | 23219200 | 40 | 6400 | 2.9 |reached max iterations\n", " 18.684 | 2.6767e-04 | 4.3750e-03 | 6215 | 23219200 | 28 | 6400 | 2.9 |reached max iterations\n", " 19.737 | 1.5621e-04 | 1.8750e-03 | 3627 | 23219200 | 12 | 6400 | 2.9 |reached max iterations\n", " 20.789 | 2.2266e-05 | 6.2500e-04 | 517 | 23219200 | 4 | 6400 | 2.9 |reached max iterations\n", "\n", "Simulation stopped as target BLER is reached @ EbNo = 20.8 dB.\n", "\n", "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " 5.0 | 1.6753e-01 | 1.0000e+00 | 90770 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 6.053 | 1.4431e-01 | 1.0000e+00 | 78189 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 7.105 | 1.1266e-01 | 1.0000e+00 | 61043 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 8.158 | 6.1572e-02 | 9.2969e-01 | 33361 | 541824 | 119 | 128 | 0.1 |reached target block errors\n", " 9.211 | 1.9122e-02 | 2.6562e-01 | 31082 | 1625472 | 102 | 384 | 0.2 |reached target block errors\n", " 10.263 | 9.9169e-03 | 1.3101e-01 | 34926 | 3521856 | 109 | 832 | 0.4 |reached target block errors\n", " 11.316 | 4.6377e-03 | 6.5755e-02 | 30154 | 6501888 | 101 | 1536 | 0.8 |reached target block errors\n", " 12.368 | 1.9052e-03 | 2.9225e-02 | 27871 | 14629248 | 101 | 3456 | 1.7 |reached target block errors\n", " 13.421 | 8.5485e-04 | 1.3125e-02 | 23159 | 27091200 | 84 | 6400 | 3.2 |reached max iterations\n", " 14.474 | 4.8658e-04 | 6.7187e-03 | 13182 | 27091200 | 43 | 6400 | 3.2 |reached max iterations\n", " 15.526 | 2.0475e-04 | 3.1250e-03 | 5547 | 27091200 | 20 | 6400 | 3.2 |reached max iterations\n", " 16.579 | 8.7962e-05 | 9.3750e-04 | 2383 | 27091200 | 6 | 6400 | 3.2 |reached max iterations\n", "\n", "Simulation stopped as target BLER is reached @ EbNo = 16.6 dB.\n", "\n", "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " 5.0 | 2.2327e-01 | 1.0000e+00 | 103681 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 6.053 | 2.0258e-01 | 1.0000e+00 | 94074 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 7.105 | 1.7950e-01 | 1.0000e+00 | 83356 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 8.158 | 1.5448e-01 | 1.0000e+00 | 71738 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 9.211 | 1.3074e-01 | 1.0000e+00 | 60713 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 10.263 | 9.6890e-02 | 1.0000e+00 | 44994 | 464384 | 128 | 128 | 0.1 |reached target block errors\n", " 11.316 | 4.0161e-02 | 9.6875e-01 | 18650 | 464384 | 124 | 128 | 0.1 |reached target block errors\n", " 12.368 | 9.2022e-04 | 4.3837e-02 | 7692 | 8358912 | 101 | 2304 | 1.0 |reached target block errors\n", " 13.421 | 1.0298e-04 | 2.1875e-03 | 2391 | 23219200 | 14 | 6400 | 2.9 |reached max iterations\n", " 14.474 | 0.0000e+00 | 0.0000e+00 | 0 | 23219200 | 0 | 6400 | 2.9 |reached max iterations\n", "\n", "Simulation stopped as no error occurred @ EbNo = 14.5 dB.\n", "\n", "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " 5.0 | 1.5519e-01 | 1.0000e+00 | 84088 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 6.053 | 1.3067e-01 | 1.0000e+00 | 70800 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 7.105 | 9.2131e-02 | 1.0000e+00 | 49919 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 8.158 | 2.0682e-02 | 8.2031e-01 | 11206 | 541824 | 105 | 128 | 0.1 |reached target block errors\n", " 9.211 | 4.6960e-04 | 1.3750e-02 | 12722 | 27091200 | 88 | 6400 | 3.2 |reached max iterations\n", " 10.263 | 8.4529e-06 | 4.6875e-04 | 229 | 27091200 | 3 | 6400 | 3.2 |reached max iterations\n", "\n", "Simulation stopped as target BLER is reached @ EbNo = 10.3 dB.\n", "\n" ] } ], "source": [ "for key, channel_model in CHANNEL_MODEL_EVAL.items():\n", " baseline_ls = OFDMSystem(channel_model, False).to(device)\n", " _, bler = sim_ber(baseline_ls,\n", " ebno_dbs=SNR_POINTS_EVAL,\n", " batch_size=BATCH_SIZE_EVAL,\n", " num_target_block_errors=NUM_TARGET_BLOCK_ERRORS,\n", " target_bler=1e-3,\n", " max_mc_iter=MAX_MC_ITER)\n", " BLERs[key]['Baseline: LS Estimation'] = bler.cpu().numpy()\n", " del bler, baseline_ls\n", "\n", " baseline_pcsi = OFDMSystem(channel_model, True).to(device)\n", " _, bler = sim_ber(baseline_pcsi,\n", " ebno_dbs=SNR_POINTS_EVAL,\n", " batch_size=BATCH_SIZE_EVAL,\n", " num_target_block_errors=NUM_TARGET_BLOCK_ERRORS,\n", " target_bler=1e-3,\n", " max_mc_iter=MAX_MC_ITER)\n", " BLERs[key]['Baseline: Perfect CSI'] = bler.cpu().numpy()\n", " del bler, baseline_pcsi\n", " gc.collect()\n", " if torch.cuda.is_available():\n", " torch.cuda.empty_cache()" ] }, { "cell_type": "markdown", "id": "2015277d", "metadata": {}, "source": [ "### Neural receiver" ] }, { "cell_type": "code", "execution_count": 15, "id": "c6d29d28", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " 5.0 | 2.1795e-01 | 1.0000e+00 | 118092 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 6.053 | 1.9315e-01 | 1.0000e+00 | 104652 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 7.105 | 1.6893e-01 | 1.0000e+00 | 91531 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 8.158 | 1.3734e-01 | 1.0000e+00 | 74412 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 9.211 | 9.9237e-02 | 1.0000e+00 | 53769 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 10.263 | 3.7516e-02 | 4.9609e-01 | 40654 | 1083648 | 127 | 256 | 0.2 |reached target block errors\n", " 11.316 | 1.9629e-02 | 2.1094e-01 | 42541 | 2167296 | 108 | 512 | 0.3 |reached target block errors\n", " 12.368 | 9.6497e-03 | 1.1719e-01 | 36599 | 3792768 | 105 | 896 | 0.5 |reached target block errors\n", " 13.421 | 4.5639e-03 | 6.8359e-02 | 29674 | 6501888 | 105 | 1536 | 0.9 |reached target block errors\n", " 14.474 | 2.3577e-03 | 2.7412e-02 | 36408 | 15441984 | 100 | 3648 | 2.1 |reached target block errors\n", " 15.526 | 1.1838e-03 | 1.3906e-02 | 32071 | 27091200 | 89 | 6400 | 3.7 |reached max iterations\n", " 16.579 | 4.5985e-04 | 6.2500e-03 | 12458 | 27091200 | 40 | 6400 | 3.7 |reached max iterations\n", " 17.632 | 5.1711e-04 | 5.4687e-03 | 14009 | 27091200 | 35 | 6400 | 3.7 |reached max iterations\n", " 18.684 | 2.0955e-04 | 2.5000e-03 | 5677 | 27091200 | 16 | 6400 | 3.7 |reached max iterations\n", " 19.737 | 2.7873e-04 | 2.5000e-03 | 7551 | 27091200 | 16 | 6400 | 3.8 |reached max iterations\n", " 20.789 | 6.7107e-05 | 9.3750e-04 | 1818 | 27091200 | 6 | 6400 | 3.8 |reached max iterations\n", "\n", "Simulation stopped as target BLER is reached @ EbNo = 20.8 dB.\n", "\n", "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " 5.0 | 2.0289e-01 | 1.0000e+00 | 109929 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 6.053 | 1.7913e-01 | 1.0000e+00 | 97056 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 7.105 | 1.5351e-01 | 1.0000e+00 | 83178 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 8.158 | 1.2273e-01 | 1.0000e+00 | 66499 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 9.211 | 6.7889e-02 | 1.0000e+00 | 36784 | 541824 | 128 | 128 | 0.1 |reached target block errors\n", " 10.263 | 4.0601e-03 | 1.3281e-01 | 13199 | 3250944 | 102 | 768 | 0.5 |reached target block errors\n", " 11.316 | 2.0353e-04 | 5.0000e-03 | 5514 | 27091200 | 32 | 6400 | 3.8 |reached max iterations\n", " 12.368 | 2.9641e-05 | 4.6875e-04 | 803 | 27091200 | 3 | 6400 | 3.8 |reached max iterations\n", "\n", "Simulation stopped as target BLER is reached @ EbNo = 12.4 dB.\n", "\n" ] } ], "source": [ "for key, channel_model in CHANNEL_MODEL_EVAL.items():\n", " # Instantiating the end-to-end model for evaluation\n", " model = OFDMSystemNeuralReceiver(channel_model, training=False).to(device)\n", "\n", " # Run one inference to initialize the model\n", " model(BATCH_SIZE_EVAL, torch.tensor(10.0, device=device))\n", "\n", " ckpt = torch.load(\"weights-pilotless.pt\", map_location=device, weights_only=True)\n", " result = model.load_state_dict(ckpt, strict=False)\n", "\n", " allowed_missing_prefixes = (\"_encoder.\", \"_decoder.\")\n", " unexpected_missing = [k for k in result.missing_keys\n", " if not k.startswith(allowed_missing_prefixes)]\n", " assert not unexpected_missing, f\"Missing receiver weights: {unexpected_missing}\"\n", " assert not result.unexpected_keys, f\"Unexpected keys in ckpt: {result.unexpected_keys}\"\n", "\n", " with torch.no_grad():\n", " model.constellation.points = torch.complex(model.points_r, model.points_i)\n", "\n", " # Computing and plotting BLERs\n", " _, bler = sim_ber(model,\n", " ebno_dbs=SNR_POINTS_EVAL,\n", " batch_size=BATCH_SIZE_EVAL,\n", " num_target_block_errors=NUM_TARGET_BLOCK_ERRORS,\n", " max_mc_iter=MAX_MC_ITER,\n", " target_bler=1e-3)\n", " BLERs[key]['Constellation shaping + Neural receiver'] = bler.cpu().numpy()\n", " del bler, model\n", " gc.collect()\n", " if torch.cuda.is_available():\n", " torch.cuda.empty_cache()" ] }, { "cell_type": "markdown", "id": "7d5c99df", "metadata": {}, "source": [ "### Agent solution" ] }, { "cell_type": "code", "execution_count": 16, "id": "a827db86", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " 5.0 | 2.1816e-01 | 1.0000e+00 | 118207 | 541824 | 128 | 128 | 0.3 |reached target block errors\n", " 6.053 | 1.9217e-01 | 1.0000e+00 | 104121 | 541824 | 128 | 128 | 0.3 |reached target block errors\n", " 7.105 | 1.6630e-01 | 1.0000e+00 | 90108 | 541824 | 128 | 128 | 0.3 |reached target block errors\n", " 8.158 | 1.4074e-01 | 1.0000e+00 | 76258 | 541824 | 128 | 128 | 0.3 |reached target block errors\n", " 9.211 | 9.1321e-02 | 9.8438e-01 | 49480 | 541824 | 126 | 128 | 0.3 |reached target block errors\n", " 10.263 | 4.1101e-02 | 4.2969e-01 | 44539 | 1083648 | 110 | 256 | 0.6 |reached target block errors\n", " 11.316 | 2.0002e-02 | 2.0703e-01 | 43350 | 2167296 | 106 | 512 | 1.2 |reached target block errors\n", " 12.368 | 1.1042e-02 | 1.2139e-01 | 38887 | 3521856 | 101 | 832 | 2.0 |reached target block errors\n", " 13.421 | 7.5968e-03 | 9.1146e-02 | 37045 | 4876416 | 105 | 1152 | 2.8 |reached target block errors\n", " 14.474 | 4.0130e-03 | 5.0403e-02 | 33702 | 8398272 | 100 | 1984 | 4.8 |reached target block errors\n", " 15.526 | 2.0329e-03 | 2.4802e-02 | 34696 | 17067456 | 100 | 4032 | 9.8 |reached target block errors\n", " 16.579 | 1.5177e-03 | 1.9531e-02 | 32893 | 21672960 | 100 | 5120 | 12.5 |reached target block errors\n", " 17.632 | 1.2744e-03 | 1.4375e-02 | 34525 | 27091200 | 92 | 6400 | 15.6 |reached max iterations\n", " 18.684 | 7.1809e-04 | 9.2187e-03 | 19454 | 27091200 | 59 | 6400 | 15.6 |reached max iterations\n", " 19.737 | 6.4180e-04 | 7.1875e-03 | 17387 | 27091200 | 46 | 6400 | 15.6 |reached max iterations\n", " 20.789 | 4.8418e-04 | 5.4687e-03 | 13117 | 27091200 | 35 | 6400 | 15.6 |reached max iterations\n", " 21.842 | 2.4122e-04 | 3.9062e-03 | 6535 | 27091200 | 25 | 6400 | 15.6 |reached max iterations\n", " 22.895 | 3.5967e-04 | 4.3750e-03 | 9744 | 27091200 | 28 | 6400 | 15.6 |reached max iterations\n", " 23.947 | 2.4853e-04 | 3.1250e-03 | 6733 | 27091200 | 20 | 6400 | 15.6 |reached max iterations\n", " 25.0 | 7.6630e-05 | 9.3750e-04 | 2076 | 27091200 | 6 | 6400 | 15.6 |reached max iterations\n", "\n", "Simulation stopped as target BLER is reached @ EbNo = 25.0 dB.\n", "\n", "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " 5.0 | 1.9827e-01 | 1.0000e+00 | 107425 | 541824 | 128 | 128 | 0.3 |reached target block errors\n", " 6.053 | 1.7550e-01 | 1.0000e+00 | 95092 | 541824 | 128 | 128 | 0.3 |reached target block errors\n", " 7.105 | 1.4783e-01 | 1.0000e+00 | 80099 | 541824 | 128 | 128 | 0.3 |reached target block errors\n", " 8.158 | 1.1495e-01 | 1.0000e+00 | 62282 | 541824 | 128 | 128 | 0.3 |reached target block errors\n", " 9.211 | 5.3538e-02 | 9.8438e-01 | 29008 | 541824 | 126 | 128 | 0.3 |reached target block errors\n", " 10.263 | 2.5074e-03 | 7.3864e-02 | 14944 | 5960064 | 104 | 1408 | 3.4 |reached target block errors\n", " 11.316 | 3.5631e-04 | 6.4062e-03 | 9653 | 27091200 | 41 | 6400 | 15.6 |reached max iterations\n", " 12.368 | 2.1498e-04 | 2.6563e-03 | 5824 | 27091200 | 17 | 6400 | 15.6 |reached max iterations\n", " 13.421 | 3.6912e-08 | 1.5625e-04 | 1 | 27091200 | 1 | 6400 | 15.6 |reached max iterations\n", "\n", "Simulation stopped as target BLER is reached @ EbNo = 13.4 dB.\n", "\n" ] } ], "source": [ "for key, channel_model in CHANNEL_MODEL_EVAL.items():\n", " agent_model = OFDMSystemAgent(channel_model, AGENT_SOLUTION_FILE).to(device)\n", " _, bler = sim_ber(agent_model,\n", " ebno_dbs=SNR_POINTS_EVAL,\n", " batch_size=BATCH_SIZE_EVAL,\n", " num_target_block_errors=NUM_TARGET_BLOCK_ERRORS,\n", " target_bler=1e-3,\n", " max_mc_iter=MAX_MC_ITER)\n", " BLERs[key][f'Agent receiver'] = bler.cpu().numpy()\n", " del bler, agent_model\n", " gc.collect()\n", " if torch.cuda.is_available():\n", " torch.cuda.empty_cache()" ] }, { "cell_type": "markdown", "id": "4c4752f9", "metadata": {}, "source": [ "### Save results" ] }, { "cell_type": "code", "execution_count": 17, "id": "6facc504", "metadata": {}, "outputs": [], "source": [ "with open('blers.pkl', 'wb') as f:\n", " pickle.dump([SNR_POINTS_EVAL, BLERs], f)" ] }, { "cell_type": "markdown", "id": "c50bdaee", "metadata": {}, "source": [ "### Load and compute goodputs" ] }, { "cell_type": "code", "execution_count": 18, "id": "e5483b67", "metadata": {}, "outputs": [], "source": [ "def bler_2_goodput(rg, bler):\n", " n_re = rg.num_resource_elements # Number of resource elements\n", " k = int(rg.num_data_symbols*NUM_BITS_PER_SYMBOL * CODERATE) # Number of information bits per resource grid\n", " g = (1.-bler)*k/n_re # Goodput\n", " return g" ] }, { "cell_type": "code", "execution_count": 19, "id": "1c44c347", "metadata": {}, "outputs": [], "source": [ "with open('blers.pkl', 'rb') as f:\n", " SNR_POINTS_EVAL, BLERs = pickle.load(f)\n", "\n", "GOODPUTS = {}\n", "for key in CHANNEL_MODEL_EVAL.keys():\n", " GOODPUTS[key] = {}\n", "\n", "# Baselines\n", "for key, channel_model in CHANNEL_MODEL_EVAL.items():\n", " GOODPUTS[key]['Baseline: LS Estimation'] = bler_2_goodput(RESOURCE_GRID_2P, BLERs[key]['Baseline: LS Estimation'])\n", " GOODPUTS[key]['Baseline: Perfect CSI'] = bler_2_goodput(RESOURCE_GRID_0P, BLERs[key]['Baseline: Perfect CSI'])\n", " GOODPUTS[key]['Constellation shaping + Neural receiver'] = bler_2_goodput(RESOURCE_GRID_0P, BLERs[key]['Constellation shaping + Neural receiver'])\n", " GOODPUTS[key]['Agent receiver'] = bler_2_goodput(RESOURCE_GRID_0P, BLERs[key]['Agent receiver'])" ] }, { "cell_type": "markdown", "id": "18fcf509", "metadata": {}, "source": [ "### Plot" ] }, { "cell_type": "code", "execution_count": 20, "id": "5287070e", "metadata": {}, "outputs": [], "source": [ "COLOR_MAP = {\n", " \"Baseline: Perfect CSI\": \"black\",\n", " \"Baseline: LS Estimation\": \"C0\",\n", " \"Constellation shaping + Neural receiver\": \"C6\",\n", " \"Agent receiver\": \"C1\",\n", "}\n", "\n", "MARKERS = {\n", " \"Baseline: Perfect CSI\": \"o\",\n", " \"Baseline: LS Estimation\": \"x\",\n", " \"Constellation shaping + Neural receiver\": \"s\",\n", " \"Agent receiver\": \"v\",\n", "}\n", "\n", "LINESTYLES = {\n", " \"Baseline: Perfect CSI\": \"-\",\n", " \"Baseline: LS Estimation\": \"-\",\n", " \"Constellation shaping + Neural receiver\": \"-\",\n", " \"Agent receiver\": \"--\",\n", "}" ] }, { "cell_type": "code", "execution_count": 21, "id": "9b0eb6ea", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqYAAAIjCAYAAADRBtn0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA1G9JREFUeJzs3Xd4VGXexvHvmZZeSUKABBJ6EwUREUVBxILdxa6rqKtiAXVXXV1fRd3iuhbEgmWti13Rde1YASuCgErvLUAC6XXKef+YZEhIJpmEJDOT3J/rijNz5szMLw9I7jztGKZpmoiIiIiIBJkl2AWIiIiIiICCqYiIiIiECAVTEREREQkJCqYiIiIiEhIUTEVEREQkJCiYioiIiEhIUDAVERERkZCgYCoiIiIiIUHBVERERERCgoKpiEgI+/HHH3E4HGzevDnYpTTbeeedxznnnBPsMkQkjCiYikjYMgwjoK+vvvqKTZs21Tlmt9tJSUlhzJgx3H777WzZsqXe+3/11VcYhsFbb711QHWOGjUKwzCYPXt2s1/7l7/8hfPPP59evXr5jo0bNw7DMDj11FPrnV/zfT7wwAO+Y631fdTIzc1l+vTpDBw4kKioKNLS0hg1ahS33norJSUlvvNuvfVW3n77bZYtW9YqnysiHZ8t2AWIiLTUf/7znzqPX3rpJebNm1fv+KBBgygvLwfg/PPPZ9KkSXg8HvLz81m0aBEzZ87kkUce4dlnn+W8885r1RrXrl3LokWLyMrK4uWXX2bq1KkBv3bp0qV89tlnfPvttw0+//7777N48WIOPfTQ1iq3SXv37mXkyJEUFRVx2WWXMXDgQPbs2cPy5cuZPXs2U6dOJTY2FoDhw4czcuRIHnzwQV566aV2q1FEwpeCqYiErYsuuqjO4++//5558+bVOw7enkSAESNG1Ht+8+bNHH/88VxyySUMGjSIgw8+uNVqnDNnDmlpaTz44INMnjyZTZs2kZWVFdBrn3/+eXr27Mno0aPrPdezZ0+Ki4u5++67ee+991qt3qY8++yzbNmyhW+++YYxY8bUea6oqAiHw1Hn2DnnnMNdd93FE0884QusIiL+aChfRDq9Xr168cILL1BVVcX999/fqu/9yiuvMHnyZE455RQSEhJ45ZVXAn7tu+++y7HHHothGPWei4uL48Ybb+R///sfS5YsaZVaN2zYwNlnn01ycjLR0dGMHj2aDz74oM4569evx2q1NhiW4+PjiYyMrHNs4sSJlJaWMm/evFapUUQ6NgVTERHgiCOOoE+fPq0aoH744QfWrVvH+eefj8Ph4KyzzuLll18O6LXbt29ny5YtjBgxwu8506dPJykpiRkzZhxwrbt27WLMmDF88sknXHPNNfztb3+joqKC0047jXfeecd3Xq9evXC73fWmS/gzePBgoqKi+Oabbw64RhHp+BRMRUSqDR06lNzcXIqKilrl/ebMmUNmZiZHHnkk4F2lvmLFCpYuXdrka1etWgVAdna233Pi4+O54YYbWqXX9L777mPXrl18+OGH/PWvf+XGG29k4cKF9OrVi5tuugmPxwPAZZddRmpqKpdeeimDBg1i6tSpvPrqqxQWFjb4vjabjczMTFasWHFA9YlI56BgKiJSrWYOZHFx8QG/l8vl4vXXX+fcc8/1DcUfe+yxpKWlBdRrumfPHgCSkpIaPa+m1/Tuu+8+oHo//PBDRo0axVFHHeU7Fhsby5VXXsmmTZt8wbJr164sW7aMq6++mvz8fJ588kkuuOAC0tLSuPfeezFNs957JyUlkZeXd0D1iUjnoGAqIlKtZqujuLi4A36vTz/9lNzcXEaNGsW6detYt24dGzduZPz48bz66qu+HsimNBT0aktISOCGG27gvffe4+eff25xvZs3b2bAgAH1jg8aNMj3fI1u3boxe/ZscnJyWL16NbNmzSI1NZU777yTZ599tsHvoaF5siIi+1MwFRGp9uuvv5KWlkZ8fPwBv1dNr+g555xDv379fF+vv/4627dv5+uvv2709V26dAEgPz+/yc+aPn06iYmJB9xr2lyGYdC/f3+uv/565s+fj8ViabA3OD8/n5SUlHatTUTCk7aLEhEBvvvuO9avX9/gVlPNVVpayn//+1/OPfdcJk+eXO/5adOm8fLLLzN+/Hi/7zFw4EAANm7c2OTn1fSazpgxg0suuaRFNffq1YvVq1fXO14z17X2Bv8N6d27N0lJSeTk5NQ57nK52Lp1K6eddlqL6hKRzkU9piLS6W3evJlLL70Uh8PBzTfffMDv984771BaWsq1117L5MmT632dcsopvP3221RWVvp9jx49epCZmclPP/0U0GfecMMNJCYmcs8997So5kmTJvHjjz/y3Xff+Y6Vlpby9NNPk5WVxeDB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MnkoQG5k9fyzS/5btWrFpUuX2LJlC9u3b6dp06b079+f6dOnZ3nOjAQuo06nT5/OokWLmDVrFlWrVsXBwYFBgwblyXPL7nf5pBYvXszDhw/1t/39/dmyZYt+KcbcTJoZMmQICxYsMBg7CrrXDMA333xDYGCgwesmIwnPuP347+bxIRkZ7OzsMvWg9urVizt37jB79mx8fHywsbGhbt26ua7z/w6dSUhIoE2bNkydOjVTWU9PTy5cuJDt+TL+VlasWJHpmLG/lTZt2tC3b182b95MrVq12Lt3L7NmzTI454QJE7JcEtPW9t/VQQpqRYfnMjGNi4uje/fubN68GdB1s8yYMaNAZsMViFofkGL5MvG/ncOymB0qWZvTqIwZ+QEyvlS8wIoWLUpQUBDz589n4MCBmT5g4uLicHV1pWLFily+fJnLly/rWy/PnDlDXFycya2OoEtu6tevT/369Rk3bhw+Pj6sW7eOIUOGYG1tTXp6ukH5GjVqsGbNGtzc3ChVqlSuZ0SfPXuWO3fuMGXKFH3cR44cMSiT8f7/32s/rmLFiqSlpfH333/rWzTv3LlDRERErp5/Vtzd3enVqxe9evWiQYMGDB8+3CAxzU5oaCitW7eme/fu+h0Kz507lymmv//+2+B2xtjIJ13usHz58pkmHx0+fDjHx/13LXDQtZLmZlZ+BkdHR8aOHcv48eN588039feXKFECLy8voqOjadOmjX6Yw+MyErXY2Fh9i72p68WGhoayYMECWrduDegmHD0+QelJ1ahRg19//RVfX18sLTOnYP7+/tjZ2bFjxw4++OCDLB+/Zs0aihcvjrOzaUsg2tra0qFDB1asWMH58+cpX748NWrUMDhnREQE5cqVe/Inloeeu8lP//zzDy+//DKbN2/G1taWZcuWMXfu3OcnKQWwtCb1oRdpio904+cgYytSmfgkCgMLBytQ5zCkxFKFhUPetxnMnz+f9PR0ateuza+//kpkZCTh4eHMmTNHP7ypWbNmVK5cmW7dunHs2DEOHTpEz549adSokcndeH///TdffvklR44cISYmht9++41bt25RsWJFQDcM4OTJk0RERHD79m00Gg3dunXDzc2Nbt26sXfvXqKjowkJCWHgwIFcuXIlx2uWLl0aa2tr5s6dy4ULF9i4cSMTJ040KOPj44NKpWLTpk3cunVL3+L2OH9/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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2rWLvn37OiTq/fr1Iz8/n8OHDxMdHV0hPrD+DsvHIkRd1CjTbNasGbfccgtfffUVmZmZvPvuuxQVFTF27FiaN2/OrbfeytKlS51aayREU1RaWsrWrVsBSVzrJOcQKFoIiztjxSznTYWlKAreBl2NLvP+SuXdVclMHRrLvpkjmDo0lndXJTPvr9Qa7aemE377+PjQvn172rdvT+/evZk3bx4FBQV89NFHAKxfv56xY8cyYsQIli9fzubNm3n44YcdRtJPnz6dHTt2cMUVV7Bq1So6d+7Mt99+C1jLD+655x4SExPtl23btrFv374a9YDaSg9s7QvYe/ScdYzqaNmyJePGjWP27Nns2LGD4uJi+6n00wsPOH55CAkJsbex7WKri7388ss5ePAgU6ZM4ejRowwePLhWy6SXbx+wttHZ2uyLL77gkUce4c477+TXX38lMTGR22+/3eH36kyVxVe+R1aIuqj1Uh8Gg4Hhw4czfPhw5syZw+bNm/n+++95/vnn2bVrF88884wz4xSiSdm2bRslJSUEBQU5/Z9xk9JjjHW51+JczLmlWAqMTh2YVRvlZw+wzSpg+1nZbAP1SVEUNBqNvc7y77//pnXr1jz11FOANfE5dOhQhefFxsYSGxvLlClTGDNmDJ988gmjRo0iISGBnTt30r59+3qL+XwcozLNmjUjPDycwsJCzBaVElNZ4lrDXu/Q0FBuu+02brvtNvr378+jjz7K66+/bj81Xx8z86xbt45+/fpx//332+9LSUlx2MZgMJzz2J06deKbb76xzyIE1veMn58fkZGRTo9biMrU+Nz+//73PwoLCyvc37lzZ3Q6Hdu2bePxxx93SnBCNFW2+tY+ffrI0qJ1pfcEvxb2abCcOTCrNswW1SFptZk0OIapQ2MxW2o2U0BNlJSUcOzYMY4dO8auXbt48MEHyc/Pt9dZxsTEkJaWxhdffEFKSgrvvvsuy5cvtz+/qKiIiRMnsnr1ag4ePMi6devYuHGjvQRg2rRp/P3330ycOJHExET27dvH999/X6fT9meqzjFmz57N4MGDz7mvEydOOPTcJiYmcvz4cT744APuu+8+fv31V1JSUtixYwfTpk1jx44dDB8+3D6bgIdOi07r+F46deqUvY1tF1tt7LPPPsv3339PcnIyO3bsYPny5fa2a968OV5eXvz8888cP36c3Nxc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VFQEwN9//03r1q156qmnAGuyeOjQoQrPi42NJTY2lilTpjBmzBg++eQTRo0aRUJCAjt37qzX6dyceYyAgIBK95OQkMCxY8fQ6XRER0eTdrIQz8JSmvt54KmW1OgYnTt3xsPDg7S0tCqXTI+Li2PhwoUYjcZKe10NBsM55/kNCgrisssu47333mPSpEkV/k/n5OTY61wr23+7du1kVgHhFqo1q8DOnTu54oorePrppwkMDKRLly4MHTqUq666iosvvpiQkBASEhJITU3l119/5dZbb63vuIVoNFRVlcTVWTqPhFu/g4snN9iFB6699lqWLl1aofctMjKSpUuXcu2119bbsUtKSjh27BjHjh1j165dPPjgg+Tn53PVVVcB1l67tLQ0vvjiC1JSUnj33XdZvny5/flFRUVMnDiR1atXc/DgQdatW8fGjRvtJQDTpk3j77//ZuLEiSQmJrJv3z6+//77ap22r67qHGP27NkMHjy41scYMmQIffv25ZprruHXX39lX0oKiZv+5fWZM+yLhFSXn58fjzzyCFOmTGHhwoWkpKSwZcsW3n33XXvv5sSJE8nLy+Omm25i06ZN7Nu3j0WLFrFnzx7AumhDUlISe/bsITMz02GWh/Lee+89zGYzffr04ZtvvmHfvn3s2rWLWbNm2etrly9fzi233MLy5cvZu3cve/bs4fXXX2fFihWMHDmy1m0mxPlSrR5XvV7PpEmTmDRpEps2bWLt2rUcPHiQoqIiunfvzpQpUxg0aFClIx2FEGd34MABMjMz0ev19OjRw9XhNBq2pV4b4sCsa6+9lpEjR/LXX3+Rnp5OeHg4/fv3r/ee1p9//tleM+rn50fHjh35+uuvGThwIABXX301U6ZMYeLEiZSUlDBixAgeffRRXnnlFcDaY5yVlcWtt97K8ePHCQkJ4dprr2XGjBmAtefwzz//5KmnnqJ///6oqkq7du2cOttMdY6RmZlJSkpKrY+hKAorVqzgqaee4vbbbyfjxAlCQpszaOCAc9a0Vub5558nNDSUl156if379xMYGEhCQgJPPvkkYD1tv2rVKh599FEGDBiAVqulR48eXHTRRYB1vtnVq1fTq1cv8vPz+eOPP+y/s/Latm3Lli1bmDlzJg8//DDp6emEhobSs2dPe21z586d8fb25uGHH+bQoUN4eHgQExPDvHnzGDduXK3b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mEynv0ArisLcuXO5+uqr8fHxcYjnfKtxl0RltRyjR4+mS5cufPnll9x5553V3tfPP//scHvBggU0b96czZs3c8kll9Q0NCHcxoYNGwDo3r271IvX1bHt1p/hcZT+e/7rW1WjhaPP/u3UfWa+n1St7SL+1w+lGj2CJ0+e5Oeff2bmzJmVniq29c5YLBZ70vrnn39SWlrK/fffz5gxYxxOz6akpPDdd9+xfPlysrOzueGGG3j55ZeZOXMm6enpjBkzhldffZVRo0Zx6tQp/vrrL1RV5ZFHHmHXrl3k5eXZE7egoCCMRiOXXXYZffv25a+//kKn0/HCCy8wfPhwkpKSMBgM53yNRqOR559/ng4dOpCRkcHUqVMZP348K1asICoqim+++YbrrruOPXv24O/vj5eXV6X7GT9+PHv27mXW/M8JCgpkziv/Y8SIEezcudN+VrGwsJDXX3+dRYsWodFouOWWW3jkkUf47LPPKt3nM888w86dO/npp58ICQkhOTmZoqIih22eeuopXn/9dWJiYnjqqacYM2YMycnJ6HQ6iouL6dmzJ9OmTcPf358ff/yRcePG0a5dO4dSo4ULF3LnnXeyYcMGNm3axIQJE2jVqhV33313le02Y8YMXn31VV577TXeffddxo4dy8GDBwkKCiI1NZXRo0fz0EMPcdddd7F161YeeeSRc/4unKFNmzbce++9PPHEEwwfPhyNpmI/22effcazzz7L7NmziY+PZ+vWrdx99934+PjUqKyxsLCQV155hXnz5hEcHEzz5s3Zv38/t912G++++y6qqvLGG28wYsQI9u3bV6GH/mwWLlzIfffdx7p16wDIycnh0ksv5a677uKtt96iqKiIadOmccMNN7Bq1SoAnnjiCT766CPeeustLr74YtLT09m9ezdAjf9Wrr/+eh588EH++OMPezmQ7fPA9qXgr7/+4tZbb2XWrFn079+flJQUJkyYAJwe3wTWL60vv/wyb7/9tsPMUueb04584YUX2l9obdkWNggKCqr08ZKSEodVu/Ly8gDrL9KV3dYNia0dpD1Oa4htYutN6d27t0viaohtUivGInSZe1EAY3AnSg9be700YZ41fm3VbROj0WjtZbVY7BdXsVgsYDn3ik579+5FVVViY2PPGu/KlSvZvn07KSkpREVFoaoqc+fOpW/fvvz777/07t3b/to/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BoOBd999l/379/PDDz/w/PPPO2zTunVrFEVh+fLlnDhxwn6atLyYmBguv+IqZkybzI4tG0hKSuKWW26hZcuWjBw5slqvvzLPPvss33//PcnJyezYsYPly5fb26M6YmJiWLlyJX///Te7du3innvucZjpwSYtLY2pU6eyZ88elixZwrvvvstDDz1U67jvuecedu/ezbRp09i7dy9fffUVCxYsAHBI4uvbhAkTCAgI4PPPP3e4f8aMGbz00kvMmjWLvXv3sn37dj755BPefPNNwFoGERUVxfTp09m3bx8//vgjb7zxRrWOGRMTw6JFi9i1axf//vsvY8eOrXJAX0088MADnDx5kjFjxrBx40ZSUlL45ZdfuP322zGbzfZpwB577DE+/fRTUlJS+Oeff5g/fz5Arf9Wxo4dy48//sjHH3/M2LFjHR579tln+fTTT5kxYwY7duxg165dfPHFFzz99NN1fr31oVb/NbOzs3n99de58847ufPOO3njjTc4efJkjffzwAMPsHjxYj7//HP8/Pw4duwYx44dqzDaUojGROZvdaKWCdBvIkT1cclUWDWlC/Qk7JFeNH8wvspLfS0+0LZtW7Zs2cKgQYN4+OGH6dq1K0OHDuX3339n7ty5gDUZ+f7772nWrBmXXHIJw4YNIzo6usLUS2fj7+/PmjVrGDFiBLGxsTz99NO88cYb9oFHd999t73HJzQ0lHXr1uHt7c2aNWto1aoV1157LZ06deLOO++kuLj4rKcmbUJDQ1mwYAFff/01nTt35uWXX+b111932KZly5b2ASctWrRg4sSJle7rlXfm0rlbd+665Xr69u2LqqqsWLGiTj1GBoOBJ554gri4OC655BK0Wi1ffPFFtZ//9NNPk5CQwGWXXcbAgQMJCwurdIafW2+9laKiIvr06cMDDzzAQw89VKdB023atGHp0qUsW7aMuLg45s6dy1NPPQVQ6dnP+qLX63n++ecpLnYstLnrrruYN28en3zyCd26dWPAgAEsWLDA3gmm1+tZsmQJu3fvJi4ujldeecVhUNTZzJ8/n+zsbBISEhg3bhyTJk1yGFBYWxEREaxbtw6z2cywYcPo1q0bkydPJjAw0N6R8cwzz/Dwww/z7LPP0qlTJ2688Ub71G61/Vu59NJLCQoKYs+ePdx8880Oj1122WUsX76cX3/9ld69e3PhhRfy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0CyXkpICQH5+fq378/Pzaz4mUq26aN21axfLli3r8LOtADExMfTr149f/OIXvP766zidTl5//XWrw7LEihUr2LdvH+np6TidTpxOJ7t27eKuu+6id+/eVofXZvTp04ekpCR+/vnnJj8mLAvXM888k82bN9e6b8uWLfTq1cuiiNqON954g27dunH++edbHYqlysvLsdtrP70dDgeGYVgUUdsSExNDamoqhw4dYunSpUydOtXqkCyXkZFBSkoKmZmZNfcVFxfz3XffMWbMGAsjk7amumjdunUry5cvJzEx0eqQ2iTDMKisrLQ6DEtMmzaNdevWkZWVVfOWlpbGzJkzWbp0qdXhtRnZ2dkUFBSQmpra5MeE5VKBO+64gzPOOIMnn3ySyy+/nJUrVzJv3jzmzZtndWiWMgyDN954g+nTp+N0huV/bbOZMmUKTzzxBOnp6QwePJi1a9cyZ84crr/+eqtDs9TSpUsxTZMBAwbw888/M3PmTAYOHMh1111ndWitorS0tNZf9jt27CArK4suXbqQnp7OjBkzePzxxznppJPIyMhg1qxZpKWl8etf/9q6oFvY8XJy8OBBdu/eXbNPafWkQUpKSrudiW4sJ6mpqVx66aWsWbOGxYsX4/f7a9ZAd+nSBbfbbVXYLaqxnCQmJvLEE09w4YUXkpqayoEDB3j55ZfJyclp11syHu9759g/aFwuFykpKQwYMKC1Q201jeWkS5cuPProo1xyySWkpKSwbds27rnnHvr168fEiROb/klOaE8CC/3jH/8whwwZYkZERJgDBw40582bZ3VIllu6dKkJmJs3b7Y6FMsVFxebt99+u5menm5GRkaaffr0MR988EGzsrLS6tAs9cEHH5h9+vQx3W63mZKSYt56661mYWGh1WG1mn/9618mUOdt+vTppmkGtsSaNWuWmZycbEZERJjjxo1r999Px8vJG2+8Ue/HH374YUvjbkmN5aR6W7D63v71r39ZHXqLaSwnhw8fNi+66CIzLS3NdLvdZmpqqnnhhReaK1eutDrsFnW8751jdYTtsBrLSXl5uXneeeeZXbt2NV0ul9mrVy/zxhtvNPPy8oL6HDbT7OBHCYmIiIhIWAjLNa4iIiIi0vGocBURERGRsKDCVURERETCggpXEREREQkLKlxFREREJCyocBURERGRsKDCVURERETCggpXEREREQkLKlxFRNo4j8dDv379+Prrrxscs3PnTmw2G1lZWUFd+7777uP3v//9CUYoItI6VLiKiDRg//793HLLLaSnpxMREUFKSgoTJ07kf//3f2vG9O7dG5vNxrffflvrsTNmzOCcc86puf3II49gs9mw2Ww4HA569uzJTTfdxMGDB48bx6uvvkpGRgZnnHFGk2OvLmSr39xuN/369ePxxx/n6AMT7777bt566y22b9/e5GuLiFhFhauISAMuueQS1q5dy1tvvcWWLVv45JNPOOeccygoKKg1LjIyknvvvfe41xs8eDC5ubns3r2bN954gyVLlnDLLbc0+hjTNHnppZe44YYbQvoali9fTm5uLlu3buXRRx/liSeeYP78+TUfT0pKYuLEicydOzek64uItCYVriIi9SgsLGTFihXMnj2bsWPH0qtXL0477TTuv/9+Lrzwwlpjb7rpJr799ls+++yzRq/pdDpJSUmhe/fujB8/nssuu4xly5Y1+pjVq1ezbds2zj///Fr3r1y5khEjRhAZGcmoUaNYu3ZtvY9PTEwkJSWFXr16cc0113DmmWeyZs2aWmOmTJnC+++/32gcIiJtgQpXEZF6xMbGEhsby6JFi6isrGx0bEZGBjfffDP3338/hmE06fo7d+5k6dKluN3uRsetWLGC/v3706lTp5r7SktLueCCCzj55JNZvXo1jzzyCHffffdxP+eqVatYvXo1p59+eq37TzvtNLKzs9m5c2eTYhcRsYoKVxGRejidTt58803eeustEhISOPPMM3nggQdYt25dveP/+Mc/smPHDt59990Gr/njjz8SGxtLVFQUGRkZbNiw4bhLDHbt2kVaWlqt+9577z0Mw+D1119n8ODBXHDBBcycObPex59xxhnExsbidrsZPXo0l19+Ob/97W9rjam+/q5duxqNRUTEaipcRUQacMkll7B3714++eQTJk2axBdffMHIkSN5880364zt2rUrd999Nw899BAej6fe6w0YMICsrCy+//577r33XiZOnHjcjv7Dhw8TGRlZ676ffvqJYcOG1bp/zJgx9T7+gw8+ICsrix9++IEPP/yQv//979x33321xkRFRQFQXl7eaCwiIlZT4Soi0ojIyEgmTJjArFmz+Prrr7n22mt5+OGH6x175513cvjwYV555ZV6P17d2T9kyBD+67/+C4fDwaOPPtro509KSuLQoUMhx9+zZ0/69evHoEGDuOyyy5gxYwbPPvssFRUVNWOqdzbo2rVryJ9HRKQ1qHAVEQnCySefTFlZWb0fi42NZdasWTzxxBOUlJQc91p//OMfeeaZZ9i7d2+DY0aMGMGmTZtqbWE1aNAg1q1bV6v4PHY7roY4HA58Pl+tWeH169fjcrkYPHhwk64hImIVFa4iIvUoKCjg3HPP5Z133mHdunXs2LGDjz76iKeffpqpU6c2+LibbrqJ+Ph43nvvveN+jjFjxjBs2DCefPLJBseMHTuW0tJSNmzYUHPf1Vdfjc1m48Ybb2Tjxo189tlnPPPMMw1+HXl5eWRnZ/P555/zwgsvMHbsWOLi4mrGrFixgrPPPrtmyYCISFulwlVEpB6xsbGcfvrpPPfcc/zyl79kyJAhzJo1ixtvvJGXXnqpwce5XC4ee+yxWrOhjbnjjjv4y1/+wp49e+r9eGJiIhdddFGtpq/Y2Fj+8Y9/8OOPPzJixAgefPBBZs+eXe/jx48fT2pqKr179+amm27iV7/6FR988EGtMe+//z433nhjk+IVEbGSzTz69ScREWlz1q1bx4QJE9i2bRuxsbHNeu3PP/+cu+66i3Xr1uF0Opv12iIizU0zriIibdywYcOYPXs2O3bsaPZrl5WV8cYbb6hoFZGwoBlXEREREQkLmnEVERERkbCgwlVEREREwoIKVxEREREJCypcRURERCQsqHAVERERkbCgwlVEREREwoIKVxEREREJCypcRURERCQsqHAVERERkbDw/wHl0+54SHaxPAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#### TDL A ####\n", "\n", "plt.figure(figsize=(8, 6))\n", "for label, gps in GOODPUTS[\"TDL A\"].items(): \n", " plt.plot(SNR_POINTS_EVAL, gps, label=label,\n", " marker=MARKERS[label], linestyle=LINESTYLES[label], color=COLOR_MAP[label])\n", "plt.xlabel('SNR (dB)')\n", "plt.ylabel('Goodput (bit/RE)')\n", "plt.title(f'TDL A (NLoS)')\n", "plt.xlim(7.5, 25)\n", "plt.legend()\n", "plt.grid(True)\n", "\n", "\n", "#### TDL D ####\n", "\n", "plt.figure(figsize=(8, 6))\n", "for label, gps in GOODPUTS[\"TDL D\"].items():\n", " plt.plot(SNR_POINTS_EVAL, gps, label=label,\n", " marker=MARKERS[label], linestyle=LINESTYLES[label], color=COLOR_MAP[label])\n", "plt.xlabel('SNR (dB)')\n", "plt.ylabel('Goodput (bit/RE)')\n", "plt.title(f'TDL D (LoS)')\n", "plt.xlim(6, 15)\n", "plt.legend()\n", "plt.grid(True)" ] } ], "metadata": { "kernelspec": { "display_name": "penv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }