{ "cells": [ { "cell_type": "markdown", "id": "d021b529", "metadata": {}, "source": [ "# 5G NR PUSCH Tutorial\n", "\n", "This notebook provides an introduction to Sionna's [5G New Radio (NR) module](https://nvlabs.github.io/sionna/phy/api/nr/index.html) and, in particular, the [physical uplink shared channel (PUSCH)](https://nvlabs.github.io/sionna/phy/api/nr/pusch.html). This module provides implementations of a small subset of the physical layer functionalities as described in the 3GPP specifications [38.211](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3213), [38.212](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3214) and [38.214](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3216). \n", "\n", "\n", "You will\n", "\n", "- Get an understanding of the different components of a PUSCH configuration, such as the carrier, DMRS, and transport block,\n", "- Learn how to rapidly simulate PUSCH transmissions for multiple transmitters,\n", "- Modify the PUSCHReceiver to use a custom MIMO Detector.\n", "\n", "## Table of Contents\n", "* [Configuration and Imports](#Configuration-and-Imports)\n", "* [A \"Hello World!\" Example](#A-Hello-World-Example)\n", "* [Carrier Configuration](#Carrier-Configuration)\n", "* [Understanding the DMRS Configuration](#Understanding-the-DMRS-Configuration)\n", " * [Configuring Multiple Layers](#Configuring-Multiple-Layers)\n", " * [Controlling the Number of DMRS Symbols in a Slot](#Controlling-the-Number-of-DMRS-Symbols-in-a-Slot)\n", " * [How to control the number of available DMRS ports?](#How-to-control-the-number-of-available-DMRS-ports?)\n", "* [Transport Blocks and MCS](#Transport-Blocks-and-MCS)\n", "* [Looking into the PUSCHTransmitter](#Looking-into-the-PUSCHTransmitter)\n", "* [Components of the PUSCHReceiver](#Components-of-the-PUSCHReceiver)\n", "* [End-to-end PUSCH Simulations](#End-to-end-PUSCH-Simulations)\n" ] }, { "cell_type": "markdown", "id": "e3174011", "metadata": { "tags": [] }, "source": [ "## Configuration and Imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "ea40a820-e6b6-4fa6-9eed-0a2eea001498", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:11.831820Z", "iopub.status.busy": "2026-02-13T15:50:11.831614Z", "iopub.status.idle": "2026-02-13T15:50:14.676343Z", "shell.execute_reply": "2026-02-13T15:50:14.675373Z" } }, "outputs": [], "source": [ "# Import Sionna\n", "try:\n", " import sionna.phy\n", "except ImportError as e:\n", " import sys\n", " import os\n", " if 'google.colab' in sys.modules:\n", " # Install Sionna in Google Colab\n", " print(\"Installing Sionna and restarting the runtime. Please run the cell again.\")\n", " os.system(\"pip install sionna\")\n", " os.kill(os.getpid(), 5)\n", " else:\n", " raise e\n", "\n", "sionna.phy.config.seed = 42 # Set seed for reproducible results\n", "\n", "# Load the required Sionna components\n", "from sionna.phy import Block\n", "from sionna.phy.nr import PUSCHConfig, PUSCHTransmitter, PUSCHReceiver\n", "from sionna.phy.channel import AWGN, RayleighBlockFading, OFDMChannel, \\\n", " TimeChannel, time_lag_discrete_time_channel\n", "from sionna.phy.channel import gen_single_sector_topology as gen_topology\n", "from sionna.phy.channel.tr38901 import AntennaArray, UMi, UMa, RMa\n", "from sionna.phy.utils import compute_ber, ebnodb2no, sim_ber\n", "from sionna.phy.ofdm import KBestDetector, LinearDetector\n", "from sionna.phy.mimo import StreamManagement" ] }, { "cell_type": "code", "execution_count": 2, "id": "376e6700", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:14.678677Z", "iopub.status.busy": "2026-02-13T15:50:14.678392Z", "iopub.status.idle": "2026-02-13T15:50:14.685882Z", "shell.execute_reply": "2026-02-13T15:50:14.684945Z" } }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import torch\n", "import time" ] }, { "cell_type": "markdown", "id": "74cdcae8", "metadata": { "tags": [] }, "source": [ "## A Hello World Example" ] }, { "cell_type": "markdown", "id": "70cfc8d3", "metadata": {}, "source": [ "Let us start with a simple \"Hello, World!\" example in which we will simulate PUSCH transmissions from a single transmitter to a single receiver over an AWGN channel." ] }, { "cell_type": "code", "execution_count": 3, "id": "726ccf12", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:14.687872Z", "iopub.status.busy": "2026-02-13T15:50:14.687736Z", "iopub.status.idle": "2026-02-13T15:50:15.406247Z", "shell.execute_reply": "2026-02-13T15:50:15.405184Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BER: 0.0\n" ] } ], "source": [ "# Create a PUSCH configuration with default settings\n", "pusch_config = PUSCHConfig()\n", "\n", "# Instantiate a PUSCHTransmitter from the PUSCHConfig\n", "pusch_transmitter = PUSCHTransmitter(pusch_config)\n", "\n", "# Create a PUSCHReceiver using the PUSCHTransmitter\n", "pusch_receiver = PUSCHReceiver(pusch_transmitter)\n", "\n", "# AWGN channel\n", "channel = AWGN()\n", "\n", "# Simulate transmissions over the AWGN channel\n", "batch_size = 16\n", "no = 0.1 # Noise variance\n", "\n", "x, b = pusch_transmitter(batch_size) # Generate transmit signal and info bits\n", "\n", "y = channel(x, no) # Simulate channel output\n", "\n", "b_hat = pusch_receiver(y, no) # Recover the info bits\n", "\n", "# Compute BER\n", "print(\"BER:\", compute_ber(b, b_hat).cpu().numpy())" ] }, { "cell_type": "markdown", "id": "4e34c2f8", "metadata": {}, "source": [ "Although the above code snippet seems rather simple, you have actually carried out standard-compliant simulations of the NR PUSCH!\n", "\n", "To better understand what is actually going on under the hood, we can inspect the OFDM resource grid that is generated by the transmitter with the following command:" ] }, { "cell_type": "code", "execution_count": 4, "id": "71e70335", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:15.408294Z", "iopub.status.busy": "2026-02-13T15:50:15.408155Z", "iopub.status.idle": "2026-02-13T15:50:15.558007Z", "shell.execute_reply": "2026-02-13T15:50:15.557142Z" } }, "outputs": [ { "data": { "image/png": "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8ssvhqurK6cXAdwQpxdxW7h8+bIkydfX97rbZa3/9yfUpk2bprVr19otjvDx8bHr45+KFSum+++/X59//rkk6bPPPlOzZs1Uvnx5h2pIUnh4uEqWLKmyZcvq4Ycflre3t1asWKEyZcpIki5evKjvvvtOPXr00OXLl3X+/HmdP39eFy5cUPv27XXkyBHbpx2LFi2qAwcO6MiRIznWOn36tHbv3q2IiAgVL17cNl67dm21bdtWX3/9tcP9Z2ndurVq1Khhe52Zmally5apU6dOatCgQbbts04FLl68WC1btlSxYsVs7+38+fMKDw9XRkaGNm3adM2aWT/zrJ9Vln379qlkyZJ2y4ULF67bb04yMjK0evVqde3aVeXKlbONV69eXe3bt7/uvgAgcXoRt4msMJVT6Pmna4WzRo0a5fjHPrcSExNznDfL448/rieeeELHjx/XsmXL8nxd2bRp01SlShXFx8dr9uzZ2rRpkzw8PGzrf/vtNxmGoVGjRmnUqFE5znH27FmVLl1ar7/+urp06aIqVarorrvu0v33368nnnhCtWvXliT9+eefkqSqVatmm6N69epavXq1rly5Im9vb4ffx78/KXru3DklJCTc8Bq3I0eOaO/evdmu2fvne7uWrJ9N1s8qS1hYmC1kf/LJJ5o/f/4N+83JuXPndPXqVVWuXDnbuqpVq95USAVwZyB04bbg7++v4OBg7d2797rb7d27V6VLl5afn1++1t+/f7+kv/+A56Rz587y8PBQnz59lJKSoh49euSpzj/DYdeuXdWiRQs9/vjjOnz4sHx8fGwXk7/wwgvXPLqS1WOrVq109OhRLV++XGvWrNHHH3+syZMna8aMGde8t9i1XOvGnxkZGTmOe3l5OTR/lszMTLVt21YvvfRSjuurVKlyzX2rVasm6e+fVZcuXWzjPj4+Cg8Pl/T3dV/52S8AOILQhdtGx44dNXPmTG3evFktWrTItv6HH37QsWPH9OSTT+Zr3cTERC1dulRly5ZV9erVc9zGy8tLXbt21aeffqoOHTrk+iL963F1dVV0dLTuvfdevf/++xoxYoQqVqwoSXJ3d7cFiespXry4+vbtq759+yoxMVGtWrXS6NGjNWDAANvpz8OHD2fb79ChQypRooTtKFexYsUUFxeXbbuso2U3UrJkSfn5+dnC67VUqlRJiYmJuXpv/9ay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2o0HBgYqNjb2mnNGR0drzJgx+d0qAADATSmwI10nTpzQ0KFDtWDBAnl6eubbvCNHjlR8fLxtOXHiRL7NDQAAkFcFFrp27Nihs2fPql69enJzc5Obm5s2btyoqVOnys3NTYGBgUpNTVVcXJzdfmfOnFFQUNA15/Xw8JCfn5/dAgAAUNAK7PRimzZttG/fPruxvn37qlq1anr55ZdVtmxZubu7a/369erevbsk6fDhwzp+/LiaNm1aEC0DAADkWYGFLl9fX9111112Y97e3goICLCN9+/fX8OHD1fx4sXl5+enZ555Rk2bNlWTJk0KomUAAIA8K9AL6W9k8uTJcnFxUffu3ZWSkqL27dvrgw8+KOi2AAAAHHZLha4NGzbYvfb09NS0adM0bdq0gmkIAAAgnxT4fboAAADuBIQuAAAAExC6AAAATEDoAgAAMAGhCwAA3PLmzp2b7dGAtxtCFwAAhVBERIQsFossFovc3d0VGBiotm3bavbs2crMzMy2/a5du/TII48oMDBQnp6eqly5sgYOHKhff/21ALrPrmfPnrdML3lF6AIAoJC6//77dfr0aR07dkzffPON7r33Xg0dOlQdO3ZUenq6bbtVq1apSZMmSklJ0YIFC3Tw4EF9+umn8vf316hRo0zrNzU1NcfxtLQ0eXl5qVSpUjc1f1pa2k3tf7MIXQAAFFIeHh4KCgpS6dKlVa9ePb3yyitavny5vvnmG82dO1eSlJSUpL59++qBBx7QihUrFB4ertDQUDVu3Fhvv/22Pvzww2vOn5KSYnt0n4eHh8LCwjRr1ixJUkZGhvr376/Q0FB5eXmpatWqevfdd+32j4iIUNeuXTVu3DiFhISoatWqOnbsmCwWi7744gu1bt1anp6eWrBgQY6nF5cvX6569erJ09NTFStW1JgxY+zCpMVi0fTp09W5c2d5e3tr3Lhx+fONzaNb6uaoAADg+hISEuxee3h4yMPDI9f733fffapTp46++uorDRgwQKtXr9b58+f10ksv5bj99a6j6t27t2JiYjR16lTVqVNHf/zxh86fPy9JyszMVJkyZbR48WIFBATop59+0qBBgxQcHKwePXrY5li/fr38/Py0du1au7lHjBihSZMm6e6775anp6dWr15tt/6HH35Q7969NXXqVLVs2VJHjx7VoEGDJElRUVG27UaPHq3x48drypQpcnMr2NhD6AIA4DZStmxZu9dRUVEaPXq0Q3NUq1ZNe/fulSQdOXLENuaIX3/9VYsWLdLatWsVHh4uSapYsaJtvbu7u8aMGWN7HRoaqpiYGC1atMgudHl7e+vjjz+W1WqVJB07dkySNGzYMHXr1u2a9ceMGaMRI0aoT58+ttpjx47VSy+9ZBe6Hn/8cfXt29eh9+YshC4AAG4jJ06ckJ+fn+21I0e5shiGIYvFYvs6L3bv3i1XV1e1bt36mttMmzZNs2fP1vHjx3X16lWlpqaqbt26dtvUqlXLFrj+qUGDBtetv2fPHv344492pwwzMjKUnJyspKQkFSlSJFfzmInQBQDAbcTPz88udOXFwYMHFRoaKkmqUqWKJOnQoUNq2rRprufw8vK67vqFCxfqhRde0KRJk9S0aVP5+vpq4sSJ2rp1q9123t7eOe5/rfEsiYmJGjNmTI5Hwzw9PXM9j5kIXQAA3EG+++477du3T88995wkqV27dipRooTeeustLV26NNv2cXFxOV7XVatWLWVmZmrjxo2204v/9OOPP6pZs2YaPHiwbezo0aP59j7q1aunw4cPKywsLN/mdDZCFwAAhVRKSopiY2OVkZGhM2fO6Ntvv1V0dLQ6duyo3r17S/r/11Q98sgj6ty5s5599lmFhYXp/PnzWrRokY4fP66FCxdmm7tChQrq06eP+vXrZ7uQ/s8//9TZs2fVo0cPVa5cWZ988olWr16t0NBQzZ8/X9u2bbMdYbtZr732mjp27Khy5crp4YcflouLi/bs2aP9+/frjTfeyJca+Y1bRgAAUEh9++23Cg4OVoUKFXT//ffr+++/19SpU7V8+XK5urratuvSpYt++uknubu76/HHH1e1atX02GOPKT4+/roBZvr06Xr44Yc1ePBgVatWTQMHDtSVK1ckSU8++aS6deumnj17qnHjxrpw4YLdUa+b1b59e61atUpr1qxRw4YN1aRJE02ePFnly5fPtxr5zWLk9Qq620RCQoL8/f3V2NpGbpbCe2AvvnsTU+v5f7nF1HoAYIZ0I11bU9crPj7+pq+bupasv0vnfmkmP9/c/11KuJyukjV+cmpvcC6OdAEAAJiA0AUAAGACQhcAAIAJCF0AAAAmIHQBAACYgNAFAABgAkIXAACACQhdAAAAJiB0AQAAmIDQBQAAYAJCFwAAgAkIXQAAACYgdAEAAJiA0AUAAGACQhcAAIAJCF0AAAAmIHQBAACYgNAFAABgAkIXAACACQhdAAAAJiB0AQAAmIDQBQAAYAJCFwAAgAkIXQAAACYgdAEAAJiA0AUAAGACQhcAAIAJCF0AAAAmIHQBAACYgNAFAABgAreCbgAAgDtR62215VrEI9fbZySlSPpJDRs2lKurqyIjIxUZGem8BpHvCF0AANxGtm3bJj8/v4JuA3nA6UUAAAATELoAAABMQOgCAAAwAaELAADABIQuAAAAExC6AAAATEDoAgAAMAGhCwAAwASELgAAABMQugAAAExA6AIAADABoQsAAMAEhC4AAAATELoAAABMQOgCAAAwAaELAADABA6HrtGjRyszMzPbeHx8vB577LF8aQoAAKCwcTh0zZo1Sy1atNDvv/9uG9uwYYNq1aqlo0eP5mtzAAAAhYXDoWvv3r0qU6aM6tatq5kzZ+rFF19Uu3bt9MQTT+inn35yaK7p06erdu3a8vPzk5+fn5o2bapvvvnGtj45OVmRkZEKCAiQj4+PunfvrjNnzjjaMgAAQIFzc3SHYsWKadGiRXrllVf05JNPys3NTd98843atGnjcPEyZcpo/Pjxqly5sgzD0Lx589SlSxft2rVLNWvW1HPPPaf//e9/Wrx4sfz9/TVkyBB169ZNP/74o8O1AAAAClKeLqR/77339O677+qxxx5TxYoV9eyzz2rPnj0Oz9OpUyc98MADqly5sqpUqaJx48bJx8dHW7ZsUXx8vGbNmqV33nlH9913n+rXr685c+bop59+0pYtW/LSNgAAQIFxOHTdf//9GjNmjObNm6cFCxZo165datWqlZo0aaK33norz41kZGRo4cKFunLlipo2baodO3YoLS1N4eHhtm2qVaumcuXKKSYm5przpKSkKCEhwW4BAAAoaA6HroyMDO3du1cPP/ywJMnLy0vTp0/XkiVLNHnyZIcb2Ldvn3x8fOTh4aGnnnpKS5cuVY0aNRQbGyur1aqiRYvabR8YGKjY2NhrzhcdHS1/f3/bUrZsWYd7AgAAyG8Oh661a9cqJCQk2/iDDz6offv2OdxA1apVtXv3bm3dulVPP/20+vTpo19++cXhebKMHDlS8fHxtuXEiRN5ngsAACC/5Omarh9++EH/+c9/1LRpU508eVKSNH/+fB06dMjhuaxWq8LCwlS/fn1F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Pc/cuXNVtGhR5zV6BynQ0JWYmKjdu3dr9+7dkv6+eH737t06fvy4LBaLhg0bpjfeeEMrVqzQvn371Lt3b4WEhKhr164F2TYAALeF+++/X6dPn9axY8f0zTff6N5779XQoUPVsWNHpaenF3R7d5wCDV3bt2/X3XffrbvvvluSNHz4cN1999167bXXJEkvvfSSnnnmGQ0aNEgNGzZUYmKivv32W3l6ehZk2wAA3BY8PDwUFBSk0qVLq169enrllVe0fPlyffPNN5o7d64k6Z133lGtWrXk7e2tsmXLavDgwUpMTJQkbdiwQX379lV8fLztqNno0aMlSfPnz1eDBg3k6+uroKAgPf744zp79mwBvdPbQ4GGrnvuuUeGYWRbsv5DsFgsev311xUbG6vk5GStW7dOVapUKciWAQAoUP++LVJKSopD+993332qU6eOvvrqK0mSi4uLpk6dqgMHDmjevHn67rvv9NJLL0mSmjVrpilTpsjPz0+nT5/W6dOn9cILL0iS0tLSNHbsWO3Zs0fLli3TsWPHFBERka/vtbAp0JujAgAAx/z7VkhRUVG2o0+5Va1aNe3du1eSNGzYMNt4hQoV9MYbb+ipp57SBx98IKvVKn9/f1kslmwfYuvXr5/t64oVK2rq1Km2s1I+Pj6Ovak7BKELAIDbyIkTJ+w+me/h4eHwHIZhyGKxSJLWrVun6OhoHTp0SAkJCUpPT1dycrKSkpJUpEiRa86xY8cOjR49Wnv27NGlS5dsF+cfP35cNWrUcLinO8Et++lFAACQ3b9vi5SX0HXw4EGFhobq2LFj6tixo2rXrq0vv/xSO3bssD0POTU19Zr7X7lyRe3bt5efn58WLFigbdu2aenSpTfc707HkS4AAO4g3333nfbt26fnnntOO3bsUGZmpiZNmiQXl7+PwyxatMhue6vVqoyMDLuxQ4cO6cKFCxo/frztdOf27dvNeQO3MY50AQBQSKWkpCg2NlYnT57Uzp079eabb6pLly7q2LGjevfurbCwMKWlpem9997T77//rvnz52vGjBl2c1SoUEGJiYlav369zp8/r6SkJJUrV05Wq9W234oVKzR27NgCepe3D0IXAACF1Lfffqvg4GBVqFBB999/v77//ntNnTpVy5cvl6urq+rUqaN33nlHEyZM0F133aUFCxYoOjrabo5mzZrpqaeeUs+e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SL169dIXX3yhm320aZ8+fVSsWLFspxnr16+vChUq6Msvv5QkHT9+XJs2bdITTzxx3fl8fHzk4+OjZcuWKSUlJcdtBgwYoG+//VanT5+2ja1atUpJSUnq2bOnbWzevHkqUaKEfv75Zz3zzDN6+umn9cgjj6hZs2bauXOn2rVrpyeeeEJJSUl287/44ouaNGmStm3bppIlS6pTp05KS0uTJO3YsUM9evTQo48+qn379mn06NEaNWqU5s6dm+vvGQDcqghdQB4cOXJEhmGoevXqOa6vXr26Ll26pHPnztnGPvjgA1vo8fHx0fPPP3/DOi4uLqpSpYqOHTuWbV2/fv00e/ZsSdLcuXP1wAMPqGTJktedz83NTXPnztW8efNUtGhRNW/eXK+88or27t1r26ZZs2aqWrWq5s+fbxubM2eOHnnkEbvTl3Xq1NF///tfVa5cWSNHjpSnp6dKlCihgQMHqnLlynrttdd04cIFu7klKSoqSm3btlWtWrU0b948nTlzRkuXLpUkvfPOO2rTpo1GjRqlKlWqKCIiQkOGDNHEiRNv+L0CgFsdoQu4CY4cyerVq5d2795tW0aOHJnrGhaLJdv4f/7zH8XExOj333/X3Llz1a9fv1zN1717d506dUorVqzQ/fffrw0bNqhevXp2R5MGDBhgu2bszJkz+uabb7LNX7t2bdvXrq6uCggIUK1atWxjgYGBkqSzZ8/a7de0aVPb18WLF1fVqlV18OBBSdLBgwfVvHlzu+2bN2+uI0eOKCMjI1fvDwBuVYQuIA/CwsJksVhsYeHfDh48qGLFitkdefL391dYWJhtKVGixA3rZGRk6MiRIwoNDc22LiAgQB07dlT//v2VnJysDh065Lp/T09PtW3bVqNGjdJPP/2kiIgIRUVF2db37t1bv//+u2JiYvTpp58qNDRULVu2tJvD3d3d7rXFYrEbywqKmZmZue4LAAozQheQBwEBAWrbtq0++OADu4vZJSk2NlYLFixQz549czxC5Yh58+bp0qVL6t69e47r+/Xrpw0bNqh3795ydXXNc50aNWroypUrttcBAQHq2rWr5syZo7lz56pv3755nvvf/nmri0uXLunXX3+1naatXr16tltX/Pjjj6pSpcpNvT8AuBW43XgTADl5//331axZM7Vv315vvPGGQkNDdeDAAb344osqXbq0xo0b59B8SUlJio2NVXp6uv766y8tXbpUkydP1tNPP6177703x33uv/9+nTt3Tn5+frmqceHCBT3yyCPq16+fateuLV9fX23fvl1vvfWWunTpYrftgAED1LFjR2VkZNzwU5GOeP311xUQEKDAwEC9+uqrKlGihLp27SpJev7559WwYUONHTtWPXv2VExMjN5//3198MEH+VYfAAoKoQvIo8qVK2v79u2KiopSjx49dPHiRQUFBalr166KiopS8eLFHZpv5syZmjlzpqxWqwICAlS/fn198cUXeuihh665j8ViydVpyiw+Pj5q3LixJk+erKNHjyotLU1ly5bVwIED9corr9htGx4eruDgYNWsWVMhISEOvZfrGT9+vIYOHaojR46obt26WrlypaxWqySpXr16WrRokV577TWNHTtWwcHBev311xUREZFv9QGgoFiMm/1MO4BCKTExUaVLl9acOXPUrVu3gm4HAG57HOkCYCczM1Pnz5/XpEmTVLRoUdtNUwEAN4fQBcDO8ePHFRoaqjJlymju3Ll2jyoCAOQdpxcBAABMwC0jAAAATEDoAgAAMAGhCwAAwASELgAAABMQugAAAExA6AIAADABoQsAAMAEhC4AAAATELoAAABM8P8ABc1gc0qXjCwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pusch_transmitter.resource_grid.show();" ] }, { "cell_type": "markdown", "id": "812933e2", "metadata": {}, "source": [ "The above figure tells us that we are simulating a slot of 14 OFDM symbols spanning 48 subcarriers, which correspond to four physical resource blocks (PRBs) in 5G terminology. The third OFDM symbol is reserved for pilot transmissions, so-called demodulation reference signals (DMRS), and the rest is used for data. " ] }, { "cell_type": "markdown", "id": "3bad481f", "metadata": {}, "source": [ "## Carrier Configuration\n", "\n", "When you create a PUSCHConfig instance, it automatically creates a CarrierConfig instance with default settings.\n", "You can inspect this configuration with the following command:" ] }, { "cell_type": "code", "execution_count": 5, "id": "7c010bd8", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:15.560419Z", "iopub.status.busy": "2026-02-13T15:50:15.560282Z", "iopub.status.idle": "2026-02-13T15:50:15.563788Z", "shell.execute_reply": "2026-02-13T15:50:15.562959Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Carrier Configuration\n", "=====================\n", "cyclic_prefix : normal\n", "cyclic_prefix_length : 5.208333333333334e-06\n", "frame_duration : 0.01\n", "frame_number : 0\n", "kappa : 64.0\n", "mu : 0\n", "n_cell_id : 1\n", "n_size_grid : 4\n", "n_start_grid : 0\n", "num_slots_per_frame : 10\n", "num_slots_per_subframe : 1\n", "num_symbols_per_slot : 14\n", "slot_number : 0\n", "sub_frame_duration : 0.001\n", "subcarrier_spacing : 15\n", "t_c : 5.086263020833334e-10\n", "t_s : 3.2552083333333335e-08\n", "\r\n" ] } ], "source": [ "pusch_config.carrier.show()" ] }, { "cell_type": "markdown", "id": "443ffd6a", "metadata": {}, "source": [ "Most of these parameters cannot be controlled as they are simply derived from others. For example, the cyclic prefix length depends on the subcarrier spacing.\n", "Let us see what happens, when we choose larger subcarrier spacing:" ] }, { "cell_type": "code", "execution_count": 6, "id": "c8ca703b", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:15.565666Z", "iopub.status.busy": "2026-02-13T15:50:15.565546Z", "iopub.status.idle": "2026-02-13T15:50:15.568641Z", "shell.execute_reply": "2026-02-13T15:50:15.567871Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Carrier Configuration\n", "=====================\n", "cyclic_prefix : normal\n", "cyclic_prefix_length : 1.6927083333333335e-06\n", "frame_duration : 0.01\n", "frame_number : 0\n", "kappa : 64.0\n", "mu : 2\n", "n_cell_id : 1\n", "n_size_grid : 4\n", "n_start_grid : 0\n", "num_slots_per_frame : 40\n", "num_slots_per_subframe : 4\n", "num_symbols_per_slot : 14\n", "slot_number : 0\n", "sub_frame_duration : 0.001\n", "subcarrier_spacing : 60\n", "t_c : 5.086263020833334e-10\n", "t_s : 3.2552083333333335e-08\n", "\r\n" ] } ], "source": [ "pusch_config.carrier.subcarrier_spacing = 60\n", "pusch_config.carrier.show()" ] }, { "cell_type": "markdown", "id": "1bd7dfcb", "metadata": {}, "source": [ "The cyclic prefix has shrunk from $5.2 \\mu s$ to $1.69 \\mu s$ and the number of slots per frame has increased from $10$ to $40$.\n", "\n", "If we change to the extended cyclic prefix, the number of OFDM symbols per slot will decrease from 14 to 12." ] }, { "cell_type": "code", "execution_count": 7, "id": "3316b591", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:15.570636Z", "iopub.status.busy": "2026-02-13T15:50:15.570516Z", "iopub.status.idle": "2026-02-13T15:50:15.573650Z", "shell.execute_reply": "2026-02-13T15:50:15.572996Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Carrier Configuration\n", "=====================\n", "cyclic_prefix : extended\n", "cyclic_prefix_length : 4.166666666666667e-06\n", "frame_duration : 0.01\n", "frame_number : 0\n", "kappa : 64.0\n", "mu : 2\n", "n_cell_id : 1\n", "n_size_grid : 4\n", "n_start_grid : 0\n", "num_slots_per_frame : 40\n", "num_slots_per_subframe : 4\n", "num_symbols_per_slot : 12\n", "slot_number : 0\n", "sub_frame_duration : 0.001\n", "subcarrier_spacing : 60\n", "t_c : 5.086263020833334e-10\n", "t_s : 3.2552083333333335e-08\n", "\r\n" ] } ], "source": [ "pusch_config_ext = pusch_config.clone()\n", "pusch_config_ext.carrier.cyclic_prefix = \"extended\"\n", "pusch_config_ext.carrier.show()" ] }, { "cell_type": "markdown", "id": "9e1803b5", "metadata": {}, "source": [ "Please have a look at the API documentation of [PUSCHCarrierConfig](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.PUSCHConfig.html) for more detail." ] }, { "cell_type": "markdown", "id": "390851a7", "metadata": {}, "source": [ "## Understanding the DMRS Configuration\n", "\n", "We can learn more about the structure of the resoure grid by having a look at the pilot pattern in the next section." ] }, { "cell_type": "code", "execution_count": 8, "id": "541d253b", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:15.575794Z", "iopub.status.busy": "2026-02-13T15:50:15.575679Z", "iopub.status.idle": "2026-02-13T15:50:15.708577Z", "shell.execute_reply": "2026-02-13T15:50:15.707762Z" } }, "outputs": [ { "data": { "image/png": "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fe3YsUPLli3Tr7/+qpiYGC1cuFBPPvnkHfcNDg7WqVOncozfGAsJCbnlvsOGDbN5Rk+LFi2sF+Xeia+vr9q0aaM2bdqoSJEimjdvnrZs2aIWLVrccd+bBYHs7GzVqFFDU6ZMuek+N0LJkSNH1Lp1a1WuXFlTpkxRaGio3N3d9Z///EdTp07NcU2Nq6vrTY93q3HjDk++CA4O1tq1a2UYhiwWi3U8N99vAOZByAFyISUlRbGxserSpYu6dOmi7OxszZs3TyNGjFCHDh1sZiVupnbt2tqwYYOys7NtLj7esmWLihYtqgcffPCW+7766qt66qmnrF+XKFEiT5+hXr16mjdvnvUP/V//+OfWAw88oF27dql169a33X/lypXKyMjQihUrbGZp/no6y5Fq166tf/7zn9q3b5+qVq1qHd+yZYt1PQDz45ocIBeGDBkiwzD0wQcfSJJcXFw0e/ZsnTt3znpr9e089thjOn36tJYsWWIdO3funD777DN16tTppteP3FC1alVFRUVZl8jIyFtue+XKlVveHr1q1SpJUqVKlSTJ+vDCixcv3rH/G3r06KFff/1V8fHxOdb98ccfunz5sqT/n4H564xLWlqaEhIScl3rbnTp0kVFihTRzJkzrWOGYWj27NkqU6aMmjRp4pQ+ABQsZnKAO1i6dKmWL19uvQ36hjp16igmJkYffvih+vbta33uzM089thjatSokfr166e9e/dan3iclZWlN998M996vXLlipo0aaJGjRqpXbt2Cg0N1cWLF7Vs2TJt2LBBXbt2VZ06dST9OStTvHhxzZ49Wz4+PvL29lbDhg0VERFxy+M//fTTWrx4sZ5//nmtXbtWTZs2VVZWlvbv36/Fixdr9erVqlevntq2bSt3d3d16tRJzz33nC5duqT4+HiVLl36pqft8lvZsmU1fPhwvffee8rMzFT9+vWt34MFCxbc8jQYAJMp0Hu7gELiVreQ//7770bZsmWN2rVr3/Qpuenp6UZISIhRt27dOz5F9/z588aAAQMMf39/o2jRokaLFi2MrVu35ttnMIw/n3gcHx9vdO3a1QgPDzc8PDyMokWLGnXq1DHee+89IyMjw2b75cuXG1WrVjXc3Nxsbidv0aKFUa1atZvWuHbtmjFx4kSjWrVqhoeHh1GiRAkjMjLSePPNN420tDTrditWrDBq1qxpeHp6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Y8eOatu2rc0xXnrpJXl4eGjz5s02x9+1a5d2795tcwrKMAxlZ2fr2LFjOnjwoNzc3BQZGWldX7ly5RzX6OZGoXkY4M1MnTpVLi4u6t69u83DAAEAwJ9SUlJsLs243SzODf3797eeHpoxY0aO9Z06dVJ4eLji4+MVEhKi7OxsVa9eXdeuXZP057U9x44d06pVq/TNN9+oR48eioqK0ueff249Rps2bfTJJ59o9erV6t27t3X80qVLeu655zR06NAcdcPCwnTw4MHcf/g7KFQh569TZZLk6empGTNm3PR/AAAAoDxdf9quXTtdu3ZNFotF0dG2T7D/7bffdODAAcXHx6t58+aS/rxQ+GZ1e/bsqZ49e+qxxx5Tu3btdP78eZUsWVKS1LlzZ3Xq1ElPPvmkXF1d1atXL0l/BqS9e/eqQoUKN+2tcuXKun79upKTk62nqw4cOJDjGt3cKFQhBwAAOJ6rq6v27dtn/fdflShRQv7+/vroo48UHBys48eP6/XXX7fZZsqUKQoODladOnXk4uKizz77TEFBQTlOKT366KOaP3++nn76abm5uemxxx7Ta6+9pkaNGmnw4MF69tln5e3trb1792rNmjX68MMPrafAnnvuOc2aNUtubm4aPny4vLy87P6chBwAAO5Dt5r9cXFx0aJFizR06FBVr15dlSpV0vTp0/Xwww9bt/Hx8dGkSZN06NAhubq6qn79+vrPf/4jF5ecN20/9thjys7O1tNPPy0XFxd169ZN69ev1xtvvKHmzZvLMAw98MAD6tmzp3WfhIQEPfvss2rRooUCAwP19ttva8yYMXZ/RothGIbde91D0tPT5efnp5qjV8jV07ug23GYRT3LOrVer0+58BiA+WRdvazd73ZWWlqawx5BcuPvUnJysooVK5bn41y6dEmRkZEO7fVeV+CvdQAAAHAETleZRPzZOU6uGH3nTQAAKEDM5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFPiOTkmMTBggFPrJYknHgMACjdmcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCnxnByTiD87x8kVo51cDwAA+zCTAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATInn5JjEwIABTq2XpBNOrQcA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a9fWwoUL77p4TEyMFi5cqOXLl8vHx8d6nY2fn5+8vLzk5+enAQMGaMSIESpZsqR8fX01ZMgQNW7cmDur/sfAgAFOrZekE06tBwCAvfIUcrKysrR06VLt27dPklS1alV16dJFbm72HW7WrFmS/rwz668SEhLUt29fSdLUqVPl4uKi7t272zwMEAAA4HbsDjk//fSTOnfurNTUVOuTiSdOnKiAgACtXLnSemdUbhiGccdtPD09NWPGDM2YMcPeVgEAwH3M7mtynn32WVWrVk0nTpzQ9u3btX37dqWkpKhmzZoaNGiQI3oEAACwm90zOTt37tS2bdtUokQJ61iJEiX0zjvvqH79+vnaHAAAQF7ZPZPz4IMP6vTp0znGz5w5owoVKuRLUwAAAHcrVyHnr69IiIuL09ChQ/X555/rxIkTOnHihD7//HMNHz5cEydOdHS/AAAAuZKr01XFixeXxWKxfm0Yhnr06GEdu3EBcadOnZSVleWANgEAAOyTq5Czdu1aR/eBuxR/do6TK0Y7uR4AAPbJVchp0aKFo/sAAADIV3bfXfXdd9/ddv1DDz2U52YAAADyi90h53+fTizJ5nodrskBAACFgd23kF+4cMFmOXPmjL766ivVr18/z28hBwAAyG92z+T4+fnlGGvTpo3c3d01YsQIJScn50tjAAAAd8PumZxbCQwM1IEDB/LrcAAAAHfF7pmc3bt323xtGIZOnTqlCRMmqHbt2vnVF+w0MGCAU+sl6YRT6wEAYC+7Q07t2rVlsVhyvEG8UaNGmjt3br41BgAAcDfsDjnHjh2z+drFxUUBAQHy9PTMt6YAAADult0hJzw83BF9AAAA5KtcX3i8adMmffnllzZjH3/8sSIiIlS6dGkNGjRIGRkZ+d4gAABAXuQ65IwfP14//fST9es9e/ZowIABioqK0uuvv66VK1cqLi7OIU0CAADYK9chZ+fOnWrdurX160WLFqlhw4aKj4/XiBEjNH36dC1evNghTQIAANgr1yHnwoULCgwMtH69fv16tW/f3vp1/fr1lZKSkr/dAQAA5FGuLzwODAzUsWPHFBoaqmvXrmn79u168803ret///13FSlSxCFN4s7iz85xcsVoJ9cDAMA+uZ7JeeSRR/T6669rw4YNGjVqlIoWLarmzZtb1+/evVsPPPCAQ5oEAACwV65nct566y1169ZN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r7867NEHKIQK+O6uQuuDDz4wwsLCDHd3d6NBgwbG5s2bHVZr7dq1hqQcS58+ffK91s3qSDISEhLyvdYN/fv3N8LDww13d3cjICDAaN26tfH11187rN7NOPIW8p49exrBwcGGu7u7UaZMGaNnz57G4cOHHVLrr1auXGlUr17d8PDwMCpXrmx89NFHDq23evVqQ5Jx4MABh9YxDMNIT083hg0bZoSFhRmenp5G+fLljTfeeMPIyMhwaN1PP/3UKF++vOHu7m4EBQUZMTExxsWLF/Pl2Hf6Oc/OzjbGjBljBAYGGh4eHkbr1q3v+nt9p5oJCQk3XR8bG5vv9W7cpn6zZe3atfle748//jAeffRRIyQkxHB3dzeCg4ONzp07Gz/88EOeauHeZDEMBz9CFAAAoABwTQ4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4Ap1i3bp0sFosuXrx4V8cpV66cpk2bli89ATA3Qg5wF1JSUtS/f3+FhITI3d1d4eHhGjZsmH777Teb7R5++GFZLJYcy/Xr13Os9/DwUJkyZdSpUyctWbIkR80b223evNlmPCMjQ/7+/rJYLFq3bt0tez579qxeeOEFhYWFycPDQ0FBQYqOjtb3339/998QAChECDlAHh09elT16tXToUOH9Mknn+jw4cOaPXu29WWu58+ft9l+4MCBOnXqlM3y13dA3Vh/5MgRffHFF6patap69eqlQYMG5agdGhqqhIQEm7GlS5eqWLFid+y7e/fu2rFjh+bNm6eDBw9qxYoVevjhh3MEMwC41xFygDyKiYmRu7u7vv76a7Vo0UJhYWFq3769vvnmG/3666964403bLYvWrSo9cWHN3sB4o31ZcuWVaNGjTRx4kT94x//UHx8vL755hubbfv06aNFixbpjz/+sI7NnTtXffr0uW3PFy9e1IYNGzRx4kS1bNlS4eHhatCggUaNGqXOnTtLkvr376+OHTva7JeZmanSpUtrzpw5kv6ceRoyZIiGDx+uEiVKKDAwUPHx8dYX2fr4+KhChQpatWpVjh6+//571axZU56enmrUqJF+/PFHm/VffPGFqlWrJg8PD5UrV06TJ0++7WcCgFsh5AB5cP78ea1evVovvvhijre3BwUFqXfv3vr00091t6+G69Onj0qUKJHjtFVkZKTKlSunL774QpJ0/Phxfffdd3r66adve7xixYqpWLFiWrZsmTIyMm66zbPPPquvvvpKp06dso59+eWXunLlinr27GkdmzdvnkqVKqUffvhBQ4YM0QsvvKDHH39cTZo00fbt29W2bVs9/fTTunLlis3xR44cqcmTJ2vr1q0KCAhQp06dlJmZKUlKTk5Wjx491KtXL+3Zs0fjxo3TmDFjlJiYmOvvGQDcQMgB8uDQoUMyDENVqlS56foqVarowoULOnv2rHVs5syZ1pBRrFgxvfzyy3es4+LiogcffFA///xzjnX9+/fX3LlzJUmJiYl65JFHFBAQcNvjubm5KTExUfPmzVPx4sXVtGlTjR49Wrt377Zu06RJE1WqVEnz58+3jiUkJOjxxx+3OR1Wq1Yt/e1vf1PFihU1atQoeXp6qlSpUho4cKAqVqyosWPH6rfffrM5tiTFxsaqTZs2qlGjhubNm6fTp09r6dKlkqQpU6aodevWGjNmjB588EH17dtXgwcP1nvvvXfH7xUA/C9CDnAX7Jmp6d27t3bu3GldRo0alesaFoslx/hTTz2lTZs26ejRo0pMTFT//v1zdbzu3bvr5MmTWrFihdq1a6d169apbt26NrMlzz77rPWan9OnT2vVqlU5jl+zZk3rv11dXeXv768aNWpYxwIDAyVJZ86csdmvcePG1n+XLFlSlSpV0r59+yRJ+/btU9OmTW22b9q0qQ4dOqSsrKxcfT4AuIGQA+RBhQoVZLFYrH+c/9e+fftUokQJm5kVPz8/VahQwbqUKlXqjnWysrJ06NAhRURE5Fjn7++vjh07asCAAbp69arat2+f6/49PT3Vpk0bjRkzRv/973/Vt29fxcbGWtc/88wzOnr0qDZt2qR//etfioiIUPPmzW2OUaRIEZuvLRaLzdiNYJadnZ3rvgAgPxFygDzw9/dXmzZtNHPmTJuLfyUpNTVVCxYsUM+ePW86A2OPefPm6cKFC+revftN1/fv31/r1q3TM888I1dX1zzXqVq1qi5fvmz92t/fX127dlVCQoISExPVr1+/PB/7f/311vcLFy7o4MGD1tN+VapUyXEr+/fff68HH3zwrj4fgPuT2503AXAzH374oZo0aaLo6Gi9/fbbioiI0E8//aSRI0eqTJkyeuedd+w63pUrV5Samqrr16/rxIkTWrp0qaZOnaoXXnhBLVu2vOk+7dq109mzZ+Xr65urGr/99psef/xx9e/fXzVr1pSPj4+2bdumSZMmqUuXLjbbPvvss+rYsaOysrLueNeWPcaPHy9/f38FBgbqjTfeUKlSpdS1a1dJ0ssvv6z69evrrbfeUs+ePbVp0yZ9+OGHmjlzZr7VB3D/IOQAeVSxYkVt27ZNsbGx6tGjh86fP6+goCB17dpVsbGxKlmypF3Hi4+PV3x8vNzd3eXv76/IyEh9+umnevTRR2+5j8ViydVprxuKFSumhg0baurUqTpy5IgyMzMVGhqqgQMHavTo0TbbRkVFKTg4WNWqVVNISIhdn+V2JkyYoGHDhunQoUOqXbu2Vq5cKXd3d0lS3bp1tXjxYo0dO1ZvvfWWgoODNX78ePXt2zff6gO4f1iMu73HFYApXbp0SWXKlFFCQoK6detW0O0AgN2YyQFgIzs7W+fOndPkyZNVvHhx60MCAeBeQ8gBYOP48eOKiIhQ2bJllZiYaPPqCQC4l3C6CgAAmBK3kAMAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFP6P3bKJ0+eW3lcAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pusch_transmitter.pilot_pattern.show();" ] }, { "cell_type": "markdown", "id": "96a9afc5", "metadata": {}, "source": [ "From the figure above, we can see that there is a single transmitter sending a single stream (or so-called layer).\n", "DMRS are only sent on even subcarriers while odd subcarriers are masked, i.e., blocked for data transmission.\n", "This corresponds to the DMRS Configuration Type 1 with the parameter `NumCDMGroupsWithoutData` set to 2. We will explain what that means later.\n", "\n", "In 5G NR, one can configure many different pilot patterns to adapt to different channel conditions and to allow for spatial multiplexing of up to twelve layers. Each transmitted layer is identified by a DMRS port, i.e., a distinct pilot pattern. In our running example, the transmitter uses the DMRS port 0.\n", "\n", "With the current PUSCH configuration, four different DMRS ports 0,1,2,3 are available.\n", "This can be verified with the following command:" ] }, { "cell_type": "code", "execution_count": 9, "id": "8310da11", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:15.710693Z", "iopub.status.busy": "2026-02-13T15:50:15.710563Z", "iopub.status.idle": "2026-02-13T15:50:15.714143Z", "shell.execute_reply": "2026-02-13T15:50:15.713388Z" } }, "outputs": [ { "data": { "text/plain": [ "[0, 1, 2, 3]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pusch_config.dmrs.allowed_dmrs_ports" ] }, { "cell_type": "markdown", "id": "09b846c4", "metadata": {}, "source": [ "Next, we configure three other transmitters using each one of the remaing ports. Then, we create a new PUSCHTransmitter instance from the list of PUSCH configurations which is able to generate transmit signals for all four transmitters in parallel." ] }, { "cell_type": "code", "execution_count": 10, "id": "fb66df3e", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:15.716029Z", "iopub.status.busy": "2026-02-13T15:50:15.715914Z", "iopub.status.idle": "2026-02-13T15:50:15.906381Z", "shell.execute_reply": "2026-02-13T15:50:15.905288Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape of x: torch.Size([16, 4, 1, 14, 48])\n" ] } ], "source": [ "# Clone the original PUSCHConfig and change the DMRS port set\n", "pusch_config_1 = pusch_config.clone()\n", "pusch_config_1.dmrs.dmrs_port_set = [1]\n", "pusch_config_2 = pusch_config.clone()\n", "pusch_config_2.dmrs.dmrs_port_set = [2]\n", "pusch_config_3 = pusch_config.clone()\n", "pusch_config_3.dmrs.dmrs_port_set = [3]\n", "\n", "# Create a PUSCHTransmitter from the list of PUSCHConfigs\n", "pusch_transmitter_multi = PUSCHTransmitter([pusch_config, pusch_config_1, pusch_config_2, pusch_config_3])\n", "\n", "# Generate a batch of random transmit signals\n", "x, b = pusch_transmitter_multi(batch_size)\n", "\n", "# x has shape [batch_size, num_tx, num_tx_ant, num_ofdm_symbols, fft_size]\n", "print(\"Shape of x:\", x.shape)" ] }, { "cell_type": "markdown", "id": "bd19d2c6", "metadata": {}, "source": [ "Inspecting the shape of x reveals that we have indeed four single-antenna transmitters. Let us now have a look at the resuling pilot pattern for each of them:" ] }, { "cell_type": "code", "execution_count": 11, "id": "80feec0e", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:15.908237Z", "iopub.status.busy": "2026-02-13T15:50:15.908100Z", "iopub.status.idle": "2026-02-13T15:50:16.430794Z", "shell.execute_reply": "2026-02-13T15:50:16.430039Z" } }, "outputs": [ { "data": { "image/png": "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fe3YsUPLli3Tr7/+qpiYGC1cuFBPPvnkHfcNDg7WqVOncozfGAsJCbnlvsOGDbN5Rk+LFi2sF+Xeia+vr9q0aaM2bdqoSJEimjdvnrZs2aIWLVrccd+bBYHs7GzVqFFDU6ZMuek+N0LJkSNH1Lp1a1WuXFlTpkxRaGio3N3d9Z///EdTp07NcU2Nq6vrTY93q3HjDk++CA4O1tq1a2UYhiwWi3U8N99vAOZByAFyISUlRbGxserSpYu6dOmi7OxszZs3TyNGjFCHDh1sZiVupnbt2tqwYYOys7NtLj7esmWLihYtqgcffPCW+7766qt66qmnrF+XKFEiT5+hXr16mjdvnvUP/V//+OfWAw88oF27dql169a33X/lypXKyMjQihUrbGZp/no6y5Fq166tf/7zn9q3b5+qVq1qHd+yZYt1PQDz45ocIBeGDBkiwzD0wQcfSJJcXFw0e/ZsnTt3znpr9e089thjOn36tJYsWWIdO3funD777DN16tTppteP3FC1alVFRUVZl8jIyFtue+XKlVveHr1q1SpJUqVKlSTJ+vDCixcv3rH/G3r06KFff/1V8fHxOdb98ccfunz5sqT/n4H564xLWlqaEhIScl3rbnTp0kVFihTRzJkzrWOGYWj27NkqU6aMmjRp4pQ+ABQsZnKAO1i6dKmWL19uvQ36hjp16igmJkYffvih+vbta33uzM089thjatSokfr166e9e/dan3iclZWlN998M996vXLlipo0aaJGjRqpXbt2Cg0N1cWLF7Vs2TJt2LBBXbt2VZ06dST9OStTvHhxzZ49Wz4+PvL29lbDhg0VERFxy+M//fTTWrx4sZ5//nmtXbtWTZs2VVZWlvbv36/Fixdr9erVqlevntq2bSt3d3d16tRJzz33nC5duqT4+HiVLl36pqft8lvZsmU1fPhwvffee8rMzFT9+vWt34MFCxbc8jQYAJMp0Hu7gELiVreQ//7770bZsmWN2rVr3/Qpuenp6UZISIhRt27dOz5F9/z588aAAQMMf39/o2jRokaLFi2MrVu35ttnMIw/n3gcHx9vdO3a1QgPDzc8PDyMokWLGnXq1DHee+89IyMjw2b75cuXG1WrVjXc3Nxsbidv0aKFUa1atZvWuHbtmjFx4kSjWrVqhoeHh1GiRAkjMjLSePPNN420tDTrditWrDBq1qxpeHp6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Y8eOatu2rc0xXnrpJXl4eGjz5s02x9+1a5d2795tcwrKMAxlZ2fr2LFjOnjwoNzc3BQZGWldX7ly5RzX6OZGoXkY4M1MnTpVLi4u6t69u83DAAEAwJ9SUlJsLs243SzODf3797eeHpoxY0aO9Z06dVJ4eLji4+MVEhKi7OxsVa9eXdeuXZP057U9x44d06pVq/TNN9+oR48eioqK0ueff249Rps2bfTJJ59o9erV6t27t3X80qVLeu655zR06NAcdcPCwnTw4MHcf/g7KFQh569TZZLk6empGTNm3PR/AAAAoDxdf9quXTtdu3ZNFotF0dG2T7D/7bffdODAAcXHx6t58+aS/rxQ+GZ1e/bsqZ49e+qxxx5Tu3btdP78eZUsWVKS1LlzZ3Xq1ElPPvmkXF1d1atXL0l/BqS9e/eqQoUKN+2tcuXKun79upKTk62nqw4cOJDjGt3cKFQhBwAAOJ6rq6v27dtn/fdflShRQv7+/vroo48UHBys48eP6/XXX7fZZsqUKQoODladOnXk4uKizz77TEFBQTlOKT366KOaP3++nn76abm5uemxxx7Ta6+9pkaNGmnw4MF69tln5e3trb1792rNmjX68MMPrafAnnvuOc2aNUtubm4aPny4vLy87P6chBwAAO5Dt5r9cXFx0aJFizR06FBVr15dlSpV0vTp0/Xwww9bt/Hx8dGkSZN06NAhubq6qn79+vrPf/4jF5ecN20/9thjys7O1tNPPy0XFxd169ZN69ev1xtvvKHmzZvLMAw98MAD6tmzp3WfhIQEPfvss2rRooUCAwP19ttva8yYMXZ/RothGIbde91D0tPT5efnp5qjV8jV07ug23GYRT3LOrVer0+58BiA+WRdvazd73ZWWlqawx5BcuPvUnJysooVK5bn41y6dEmRkZEO7fVeV+CvdQAAAHAETleZRPzZOU6uGH3nTQAAKEDM5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFPiOTkmMTBggFPrJYknHgMACjdmcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCnxnByTiD87x8kVo51cDwAA+zCTAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATInn5JjEwIABTq2XpBNOrQcA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a9fWwoUL77p4TEyMFi5cqOXLl8vHx8d6nY2fn5+8vLzk5+enAQMGaMSIESpZsqR8fX01ZMgQNW7cmDur/sfAgAFOrZekE06tBwCAvfIUcrKysrR06VLt27dPklS1alV16dJFbm72HW7WrFmS/rwz668SEhLUt29fSdLUqVPl4uKi7t272zwMEAAA4HbsDjk//fSTOnfurNTUVOuTiSdOnKiAgACtXLnSemdUbhiGccdtPD09NWPGDM2YMcPeVgEAwH3M7mtynn32WVWrVk0nTpzQ9u3btX37dqWkpKhmzZoaNGiQI3oEAACwm90zOTt37tS2bdtUokQJ61iJEiX0zjvvqH79+vnaHAAAQF7ZPZPz4IMP6vTp0znGz5w5owoVKuRLUwAAAHcrVyHnr69IiIuL09ChQ/X555/rxIkTOnHihD7//HMNHz5cEydOdHS/AAAAuZKr01XFixeXxWKxfm0Yhnr06GEdu3EBcadOnZSVleWANgEAAOyTq5Czdu1aR/eBuxR/do6TK0Y7uR4AAPbJVchp0aKFo/sAAADIV3bfXfXdd9/ddv1DDz2U52YAAADyi90h53+fTizJ5nodrskBAACFgd23kF+4cMFmOXPmjL766ivVr18/z28hBwAAyG92z+T4+fnlGGvTpo3c3d01YsQIJScn50tjAAAAd8PumZxbCQwM1IEDB/LrcAAAAHfF7pmc3bt323xtGIZOnTqlCRMmqHbt2vnVF+w0MGCAU+sl6YRT6wEAYC+7Q07t2rVlsVhyvEG8UaNGmjt3br41BgAAcDfsDjnHjh2z+drFxUUBAQHy9PTMt6YAAADult0hJzw83BF9AAAA5KtcX3i8adMmffnllzZjH3/8sSIiIlS6dGkNGjRIGRkZ+d4gAABAXuQ65IwfP14//fST9es9e/ZowIABioqK0uuvv66VK1cqLi7OIU0CAADYK9chZ+fOnWrdurX160WLFqlhw4aKj4/XiBEjNH36dC1evNghTQIAANgr1yHnwoULCgwMtH69fv16tW/f3vp1/fr1lZKSkr/dAQAA5FGuLzwODAzUsWPHFBoaqmvXrmn79u168803ret///13FSlSxCFN4s7iz85xcsVoJ9cDAMA+uZ7JeeSRR/T6669rw4YNGjVqlIoWLarmzZtb1+/evVsPPPCAQ5oEAACwV65nct566y1169ZN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r7867NEHKIQK+O6uQuuDDz4wwsLCDHd3d6NBgwbG5s2bHVZr7dq1hqQcS58+ffK91s3qSDISEhLyvdYN/fv3N8LDww13d3cjICDAaN26tfH11187rN7NOPIW8p49exrBwcGGu7u7UaZMGaNnz57G4cOHHVLrr1auXGlUr17d8PDwMCpXrmx89NFHDq23evVqQ5Jx4MABh9YxDMNIT083hg0bZoSFhRmenp5G+fLljTfeeMPIyMhwaN1PP/3UKF++vOHu7m4EBQUZMTExxsWLF/Pl2Hf6Oc/OzjbGjBljBAYGGh4eHkbr1q3v+nt9p5oJCQk3XR8bG5vv9W7cpn6zZe3atfle748//jAeffRRIyQkxHB3dzeCg4ONzp07Gz/88EOeauHeZDEMBz9CFAAAoABwTQ4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4Ap1i3bp0sFosuXrx4V8cpV66cpk2bli89ATA3Qg5wF1JSUtS/f3+FhITI3d1d4eHhGjZsmH777Teb7R5++GFZLJYcy/Xr13Os9/DwUJkyZdSpUyctWbIkR80b223evNlmPCMjQ/7+/rJYLFq3bt0tez579qxeeOEFhYWFycPDQ0FBQYqOjtb3339/998QAChECDlAHh09elT16tXToUOH9Mknn+jw4cOaPXu29WWu58+ft9l+4MCBOnXqlM3y13dA3Vh/5MgRffHFF6patap69eqlQYMG5agdGhqqhIQEm7GlS5eqWLFid+y7e/fu2rFjh+bNm6eDBw9qxYoVevjhh3MEMwC41xFygDyKiYmRu7u7vv76a7Vo0UJhYWFq3769vvnmG/3666964403bLYvWrSo9cWHN3sB4o31ZcuWVaNGjTRx4kT94x//UHx8vL755hubbfv06aNFixbpjz/+sI7NnTtXffr0uW3PFy9e1IYNGzRx4kS1bNlS4eHhatCggUaNGqXOnTtLkvr376+OHTva7JeZmanSpUtrzpw5kv6ceRoyZIiGDx+uEiVKKDAwUPHx8dYX2fr4+KhChQpatWpVjh6+//571axZU56enmrUqJF+/PFHm/VffPGFqlWrJg8PD5UrV06TJ0++7WcCgFsh5AB5cP78ea1evVovvvhijre3BwUFqXfv3vr00091t6+G69Onj0qUKJHjtFVkZKTKlSunL774QpJ0/Phxfffdd3r66adve7xixYqpWLFiWrZsmTIyMm66zbPPPquvvvpKp06dso59+eWXunLlinr27GkdmzdvnkqVKqUffvhBQ4YM0QsvvKDHH39cTZo00fbt29W2bVs9/fTTunLlis3xR44cqcmTJ2vr1q0KCAhQp06dlJmZKUlKTk5Wjx491KtXL+3Zs0fjxo3TmDFjlJiYmOvvGQDcQMgB8uDQoUMyDENVqlS56foqVarowoULOnv2rHVs5syZ1pBRrFgxvfzyy3es4+LiogcffFA///xzjnX9+/fX3LlzJUmJiYl65JFHFBAQcNvjubm5KTExUfPmzVPx4sXVtGlTjR49Wrt377Zu06RJE1WqVEnz58+3jiUkJOjxxx+3OR1Wq1Yt/e1vf1PFihU1atQoeXp6qlSpUho4cKAqVqyosWPH6rfffrM5tiTFxsaqTZs2qlGjhubNm6fTp09r6dKlkqQpU6aodevWGjNmjB588EH17dtXgwcP1nvvvXfH7xUA/C9CDnAX7Jmp6d27t3bu3GldRo0alesaFoslx/hTTz2lTZs26ejRo0pMTFT//v1zdbzu3bvr5MmTWrFihdq1a6d169apbt26NrMlzz77rPWan9OnT2vVqlU5jl+zZk3rv11dXeXv768aNWpYxwIDAyVJZ86csdmvcePG1n+XLFlSlSpV0r59+yRJ+/btU9OmTW22b9q0qQ4dOqSsrKxcfT4AuIGQA+RBhQoVZLFYrH+c/9e+fftUokQJm5kVPz8/VahQwbqUKlXqjnWysrJ06NAhRURE5Fjn7++vjh07asCAAbp69arat2+f6/49PT3Vpk0bjRkzRv/973/Vt29fxcbGWtc/88wzOnr0qDZt2qR//etfioiIUPPmzW2OUaRIEZuvLRaLzdiNYJadnZ3rvgAgPxFygDzw9/dXmzZtNHPmTJuLfyUpNTVVCxYsUM+ePW86A2OPefPm6cKFC+revftN1/fv31/r1q3TM888I1dX1zzXqVq1qi5fvmz92t/fX127dlVCQoISExPVr1+/PB/7f/311vcLFy7o4MGD1tN+VapUyXEr+/fff68HH3zwrj4fgPuT2503AXAzH374oZo0aaLo6Gi9/fbbioiI0E8//aSRI0eqTJkyeuedd+w63pUrV5Samqrr16/rxIkTWrp0qaZOnaoXXnhBLVu2vOk+7dq109mzZ+Xr65urGr/99psef/xx9e/fXzVr1pSPj4+2bdumSZMmqUuXLjbbPvvss+rYsaOysrLueNeWPcaPHy9/f38FBgbqjTfeUKlSpdS1a1dJ0ssvv6z69evrrbfeUs+ePbVp0yZ9+OGHmjlzZr7VB3D/IOQAeVSxYkVt27ZNsbGx6tGjh86fP6+goCB17dpVsbGxKlmypF3Hi4+PV3x8vNzd3eXv76/IyEh9+umnevTRR2+5j8ViydVprxuKFSumhg0baurUqTpy5IgyMzMVGhqqgQMHavTo0TbbRkVFKTg4WNWqVVNISIhdn+V2JkyYoGHDhunQoUOqXbu2Vq5cKXd3d0lS3bp1tXjxYo0dO1ZvvfWWgoODNX78ePXt2zff6gO4f1iMu73HFYApXbp0SWXKlFFCQoK6detW0O0AgN2YyQFgIzs7W+fOndPkyZNVvHhx60MCAeBeQ8gBYOP48eOKiIhQ2bJllZiYaPPqCQC4l3C6CgAAmBK3kAMAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFP6P3bKJ0+eW3lcAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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a8+ePdfdr127doqIiFDlypXVoUMHdejQQQ8//LBKlixp5zcsuHyFnPfff1+9evWSp6en3n///etuZ7FYCDkAADiRn5+fTci5kTZt2mjGjBlyd3dXaGio3NwKfELnpnx9fbVt2zatWbNG33zzjV5//XWNHTtWW7ZscdpFzvn6docOHbrmnwEAwO3D29tbVatWtWufmjVr6sqVK9q8ebP1dNWZM2e0b98+1apVS5Lk7u6unJycPPu6ubkpKipKUVFRio2NValSpfTtt9+qW7dut/5l8sGuu6uys7NVpUqVG05PAQAA86hWrZq6du2qAQMGaMOGDfrxxx/1xBNPqHz58urataskqWLFisrIyFBSUpJOnz6tixcv6uuvv9bUqVO1Y8cO/fbbb/r444+Vm5ur6tWrO613u0JOiRIldOnSJUf1AgAAiqHZs2crMjJSnTt3VtOmTWUYhv73v/+pRIkSkqRmzZrp2WefVY8ePRQYGKiJEyeqVKlSWrx4se6//37VrFlTM2fO1CeffKLatWs7rW+LYRiGPTu8/fbb2r9/v/7973879FxeYUlPT5e/v7/qvbJUrp7eRd2OwyzoUcGp9Xou5O4qAOaTcylTO99+UGlpafm+zsVeV/9dGrxiqDy883er97VkZWbpg+gpDu31dmd3StmyZYuSkpL0zTffqG7duvL2tg0OixcvLrTmAAAACsrukFOqVCle31AMxZ9KcHLFaCfXAwDAPnaFnCtXrqhNmzZq3769zQN/AAAAihu7Ljx2c3PTs88+q6ysLEf1AwAAUCjsfkHnvffeq+3btzuiFwAAgEJj9zU5zz//vF588UUdPXpUkZGReS48rlevXqE1BwAAUFB2h5yePXtKsn1HlcVikWEYslgs13ziIQAAgLPZHXJ4rQMAALgd2B1yIiIiHNEHbtGAwP5OrZckHgYIACjeCvzI4t27d+vIkSO6fPmyzfiDDz54y00BAADcKrtDzq+//qqHH35Yu3btsl6LI/15XY4krskBAADFgt23kA8dOlSVKlXSyZMnVbJkSf38889at26d7rnnHq1Zs8YBLQIAANjP7pmcjRs36ttvv1XZsmXl4uIiFxcXtWjRQnFxcRoyZAjP0AEAAMWC3TM5OTk58vX1lSSVLVtWx44dk/TnBcn79u0r3O4AAAAKyO6ZnDp16ujHH39UpUqV1LhxY02c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1OQ73v71iqomih+LYTjhPjkAAAAnYyYHAACYEiEHAACYEiEHAACYEiEHAACYEiHnOqZNm6aKFSvK09NTjRs31g8//OCwWuvWrVOXLl0UGhoqi8WiL774wmG14uLi1KhRI/n6+qpcuXJ66KGHtG/fPofVk6QZM2aoXr161odyNW3aVMuWLXNozb+aMGGCLBaLhg0b5pDjjx07VhaLxWapUaOGQ2r91e+//64nnnhCAQEB8vLyUt26dbV161aH1KpYsWKe72ixWBQTE+OQejk5ORozZowqVaokLy8vValSRePHj3f4+4QuXLigYcOGKSIiQl5eXmrWrJm2bNlSKMe+2e+5YRh6/fXXFRISIi8vL0VFRenAgQMOrbl48WK1b99eAQEBslgs2rFjh8PqZWdna+TIkapbt668vb0VGhqqp556SseOHXNIPenP380aNWrI29tbpUuXVlRUlDZv3lzgerj9EHKuYeHChRo+fLhiY2O1bds21a9fX9HR0Tp58qRD6mVmZqp+/fqaNm2aQ47/V2vXrlVMTIw2bdqklStXKjs7W+3bt1dmpuNeuFmhQgVNmDBBycnJ2rp1q+6//3517dpVP//8s8NqXrVlyxb961//Ur169Rxap3bt2jp+/Lh12bBhg0PrnTt3Ts2bN1eJEiW0bNky7d69W5MmTVLp0qUdUm/Lli0232/lypWSpEcffdQh9d555x3NmDFDH374ofbs2aN33nlHEydO1AcffOCQelc9/fTTWrlypebOnatdu3apffv2ioqK0u+//37Lx77Z7/nEiRM1depUzZw5U5s3b5a3t7eio6N16dIlh9XMzMxUixYt9M477xS4Rn7rXbx4Udu2bdOYMWO0bds2LV68WPv27dODDz7okHqSdNddd+nDDz/Url27tGHDBlWsWFHt27fXqVOnClwTt5kifXNWMXXvvfcaMTEx1s85OTlGaGioERcX5/DakowlS5Y4vM5VJ0+eNCQZa9eudVpNwzCM0qVLG//+978dWuPChQtGtWrVjJUrVxqtWrUyhg4d6pA6sbGxRv369R1y7OsZOXKk0aJFC6fW/KuhQ4caVapUMXJzcx1y/E6dOhn9+vWzGevWrZvRq1cvh9QzDMO4ePGi4erqanz99dc24w0bNjReffXVQq3199/z3NxcIzg42Hj33XetY+fPnzc8PDyMTz75xCE1/+rQoUOGJGP79u2FUutm9a764YcfDEnGb7/95pR6aWlphiRj1apVt1wPtwdmcv7m8uXLSk5OVlRUlHXMxcVFUVFR2rhxYxF25hhpaWmSpDJlyjilXk5OjhYsWKDMzEw1bdrUobViYmLUqVMnm/8tHeXAgQMKDQ1V5cqV1atXLx05csSh9ZYuXap77rlHjz76qMqVK6e7775b8fHxDq151eXLl/Wf//xH/fr1s+ult/Zo1qyZkpKStH//fknSjz/+qA0bNqhjx44OqSdJV65cUU5OTp73CXl5eTl8Zu7QoUNKTU21+f+qv7+/GjdubMq/d65KS0uTxWJRqVKlHF7r8uXL+uijj+Tv76/69es7vB6Kh9viBZ3OdPr0aeXk5OR5y3lQUJD27t1bRF05Rm5uroYNG6bmzZurTp06Dq21a9cuNW3aVJcuXZKPj4+WLFmiWrVqOazeggULtG3btkK7nuJGGjdurMTERFWvXl3Hjx/XG2+8oZYtW+qnn36Sr6+vQ2r++uuvmjFjhoYPH65XXnlFW7Zs0ZAhQ+Tu7q7evXs7pOZVX3zxhc6fP68+ffo4rMaoUaOUnp6uGjVqyNXVVTk5OXrrrbfUq1cvh9X09fVV06ZNNX78eNWsWVNBQUH65JNPtHHjRlWtWtVhdSUpNTVVkq75987VdWZz6dIljRw5Uo8//rhDX9r59ddfq2fPnrp48aJCQkK0cuVKlS1b1mH1ULwQcu5gMTEx+umnnxz+X6mSVL16de3YsUNpaWn67LPP1Lt3b61du9YhQSclJUVDhw7VypUrnfKW37/OLtSrV0+NGzdWRESEPv30U/Xv398hNXNzc3XPPffo7bffliTdfffd+umnnzRz5kyHh5yEhAR17NhRoaGhDqvx6aefat68eZo/f75q166tHTt2aNiwYQoNDXXo95s7d6769eun8uXLy9XVVQ0bNtTjjz+u5ORkh9W8E2VnZ+uxxx6TYRiaMWOGQ2u1adNGO3bs0OnTpxUfH6/HHntMmzdvVrly5RxaF8UDp6v+pmzZsnJ1ddWJEydsxk+cOKHg4OAi6qrwDRo0SF9//bVWr16tChUqOLyeu7u7qlatqsjISMXFxal+/fqaMmWKQ2olJyfr5MmTatiwodzc3OTm5qa1a9dq6tSpcnNzU05OjkPqXlWqVCnddddd+uWXXxxWIyQkJE9ArFmzpsNPk/32229atWqVnn76aYfWGTFihEaNGqWePXuqbt26evLJJ/XCCy8oLi7OoXWrVKmitWvXKiMjQykpKfrhhx+UnZ2typUrO7Tu1b9bzP73jvR/Aee3337TypUrHTqLI0ne3t6qWrWqmjRpooSEBLm5uSkhIcGhNVF8EHL+xt3dXZGRkUpKSrKO5ebmKikpyeHXkDiDYRgaNGiQlixZom+//VaVKlUqkj5yc3OVlZXlkGO3bdtWu3bt0o4dO6zLPffco169emnHjh1ydXV1SN2rMjIydPDgQYWEhDisRvPmzfPc+r9//35FREQ4rKYkzZ49W+XKlVOnTp0cWufixYtycbH968nV1VW5ubkOrXuVt7e3QkJCdO7cOa1YsUJdu3Z1aL1KlSopODjY5u+d9PR0bd682RR/71x1NeAcOHBAq1atUkBAgNN7cOTfPSh+OF11DcOHD1fv3r11zz336N5779XkyZOVmZmpvn37OqReRkaGzX/1Hzp0SDt27FCZMmUUHh5eqLViYmI0f/58ffnll/L19bWe7/f395eXl1eh1rpq9OjR6tixo8LDw3XhwgXNnz9fa9as0YoVKxxSz9fXN881Rt7e3goICHDItUcvvfSSunTpooiICB07dkyxsbFydXXV448/Xui1rnrhhRfUrFkzvf3223rsscf0ww8/6KOPPtJHH33ksJq5ubmaPXu2evfuLTc3x/7V0aVLF7311lsKDw9X7dq1tX37dr333nvq16+fQ+uuWLFChmGoevXq+uWXXzRixAjVqFGjUH73b/Z7PmzYML355puqVq2aKlWqpDFjxig0NFQPPfSQw2qePXtWR44csT6r5mpwDg4OLtAM0o3qhYSE6JFHHtG2bdv09ddfKycnx/r3T5kyZeTu7l6o9QICAvTWW2/pwQcfVEhIiE6fPq1p06bp999/d9ijD1AMFfHdXcXWBx98YISHhxvu7u7Gvffea2zatMlhtVavXm1IyrP07t270Gtdq44kY/bs2YVe66p+/foZERERhru7uxEYGGi0bdvW+OabbxxW71oceQt5jx49jJCQEMPd3d0oX7680aNHD+OXX35xSK2/+uqrr4w6deoYHh4eRo0aNYyPPvrIofVWrFhhSDL27dvn0DqGYRjp6enG0KFDjfDwcMPT09OoXLmy8eqrrxpZWVkOrbtw4UKjcuXKhru7uxEcHGzExMQY58+fL5Rj3+z3PDc31xgzZowRFBRkeHh4GG3btr3ln/XNas6ePfua62NjYwu93tXb1K+1rF69utDr/fHHH8bDDz9shIaGGu7u7kZISIjx4IMPGj/88EOBauH2ZDEMBz9CFAAAoAhwTQ4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4Ap1izZo0sFovOnz9/S8epWLGiJk+eXCg9ATA3Qg5wC1JSUtSvXz+FhobK3d1dERERGjp0qM6cOWOzXevWrWWxWPIsV65cybPew8ND5cuXV5cuXbR48eI8Na9ut2nTJpvxrKwsBQQEyGKxaM2aNdft+dSpU3ruuecUHh4uDw8PBQcHKzo6Wt99992t/0AAoBgh5AAF9Ouvv+qee+7RgQMH9Mknn+iXX37RzJkzrS9zPXv2rM32AwYM0PHjx22Wv74D6ur6gwcP6vPPP1etWrXUs2dPPfPMM3lqh4WFafbs2TZjS5YskY+Pz0377t69u7Zv3645c+Zo//79Wrp0qVq3bp0nmAHA7Y6QAxRQTEyM3N3d9c0336hVq1YKDw9Xx44dtWrVKv3+++969dVXbbYvWbKk9cWH13oB4tX1FSpUUJMmTfTOO+/oX//6l+Lj47Vq1SqbbXv37q0FCxbojz/+sI7NmjVLvXv3vmHP58+f1/r16/XOO++oTZs2ioiI0L333qvRo0frwQcflCT169dPnTt3ttkvOztb5cqVU0JCgqQ/Z54GDx6sYcOGqXTp0goKClJ8fLz1Rba+vr6qWrWqli1blqeH7777TvXq1ZOnp6eaNGmin376yWb9559/rtq1a8vDw0MVK1bUpEmTbvidAOB6CDlAAZw9e1YrVqzQ888/n+ft7cHBwerVq5cWLlyoW301XO/evVW6dOk8p60iIyNVsWJFff7555KkI0eOaN26dXryySdveDwfHx/5+Pjoiy++UFZW1jW3efrpp7V8+XIdP37cOvb111/r4sWL6tGjh3Vszpw5Klu2rH744QcNHjxYzz33nB599FE1a9ZM27ZtU/v27fXkk0/q4sWLNscfMWKEJk2apC1btigwMFBdunRRdna2JCk5OVmPPfaYevbsqV27dmns2LEaM2aMEhMT8/0zA4CrCDlAARw4cECGYahmzZrXXF+zZk2dO3dOp06dso5Nnz7dGjJ8fHz04osv3rSOi4uL7rrrLh0+fDjPun79+mnWrFmSpMTERD3wwAMKDAy84fHc3NyUmJioOXPmqFSpUmrevLleeeUV7dy507pNs2bNVL16dc2dO9c6Nnv2bD366KM2p8Pq16+v1157TdWqVdPo0aPl6empsmXLasCAAapWrZpef/11nTlzxubYkhQbG6t27dqpbt26mjNnjk6cOKElS5ZIkt577z21bdtWY8aM0V133aU+ffpo0KBBevfdd2/6swKAvyPkALfAnpmaXr16aceOHdZl9OjR+a5hsVjyjD/xxBPauHGjfv31VyUmJqpfv375Ol737t117NgxLV26VB06dNCaNWvUsGFDm9mSp59+2nrNz4kTJ7Rs2bI8x69Xr571z66urgoICFDdunWtY0FBQZKkkydP2uzXtGlT65/LlCmj6tWra8+ePZKkPXv2qHnz5jbbN2/eXAcOHFBOTk6+vh8AXEXIAQqgatWqslgs1n+c/27Pnj0qXbq0zcyKv7+/qlatal3Kli170zo5OTk6cOCAKlWqlGddQECAOnfurP79++vSpUvq2LFjvvv39PRUu3btNGbMGH3//ffq06ePYmNjreufeuop/frrr9q4caP+85//qFKlSmrZsqXNMUqUKGHz2WKx2IxdDWa5ubn57gsAChMhByiAgIAAtWvXTtOnT7e5+FeSUlNTNW/ePPXo0eOaMzD2mDNnjs6dO6fu3btfc32/fv20Zs0aPfXUU3J1dS1wnVq1aikzM9P6OSAgQA899JBmz56txMRE9e3bt8DH/ru/3vp+7tw57d+/33rar2bNmnluZf/uu+9011133dL3A3Bncrv5JgCu5cMPP1SzZs0UHR2tN998U5UqVdLPP/+sESNGqHz58nrrrbfsOt7FixeVmpqqK1eu6OjRo1qyZInef/99Pffcc2rTps019+nQoYNOnTolPz+/fNU4c+aMHn30UfXr10/16tWTr6+vtm7dqokTJ6pr16422z799NPq3LmzcnJybnrXlj3GjRungIAABQUF6dVXX1XZsmX10EMPSZJefPFFNWrUSOPHj1ePHj20ceNGffjhh5o+fXqh1Qdw5yDkAAVUrVo1bd26VbGxsXrsscd09uxZBQcH66GHHlJsbKzKlClj1/Hi4+MVHx8vd3d3BQQEKDIyUgsXLtTDDz983X0sFku+Tntd5ePjo8aNG+v999/XwYMHlZ2drbCwMA0YMECvvPKKzbZRUVEKCQlR7dq1FRoaatd3uZEJEyZo6NChOnDggBo0aKCvvvpK7u7ukqSGDRvq008/1euvv67x48crJCRE48aNU58+fQqtPoA7h8W41XtcAZhSRkaGypcvr9mzZ6tbt25F3Q4A2I2ZHAA2cnNzdfr0aU2aNEmlSpWyPiQQAG43hBwANo4cOaJKlSqpQoUKSkxMtHn1BADcTjhdBQAATIlbyAEAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCn9Pw3E0V3lsR4LAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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NjZWixcv1r/+9a8CHyM1NVXt27eXv7+/vvjiC/n6+t5wn3//+9965ZVXrJ8jIyP122+/Fahe6dKl1apVK7Vq1UrlypXTK6+8opUrV6pv37433NfDwyPfxdJ5eXkqX768Fi1adNV9roSvc+fOqXXr1vLz89PEiRNVtWpVeXp6aseOHRo9erTy8vJs9nN1db3q8a41btzgyRehoaHKzc3ViRMnbALZpUuXdPr0aYWFhV13fwDmQMgBCiA1NVVxcXHq1q2bunXrpry8PC1YsEAjR45U586drTMM13P69Gm1b99e2dnZSk5OVmhoaIFqP/7442rZsqX1c2FnIa5chHvlAYT/nDkpiKpVq2rt2rVq0aLFdftYv369Tp8+rWXLlumee+6xjh86dMjumoXRsGFDSdL27dvVqVMn6/j27duVl5dnXQ/A3LgmByiAoUOHyjAM6xNzXVxcNGfOHJ06dUovvvjiDffPyspSp06d9Mcff+iLL75Q9erVC1y7SpUqio6Oti4tWrS47vbJyclXHf/iiy8k/XW9i/TXLI/016xLQfXs2VO5ubmaNGlSvnWXL1+2HuvKDMzfZ1wuXbqkWbNmFbjWzbjvvvsUEBBgvYPsitmzZ6t06dLq3LmzU/oAULyYyQFuYPny5fr00081depUm2tE7rzzTsXGxurdd99Vv3791Lhx42seo0+fPvruu+80YMAA7d271+bZOD4+PnrggQeKrN9u3bqpcuXK6tq1q6pWraqsrCytXbtWn332mRo3bmx9ro+Xl5dq166tpUuX6o477lBAQIDq1q2runXrXvPYrVu31uDBgxUfH69du3apffv2KlWqlA4cOKAPP/xQ06dP10MPPaTmzZurbNmy6tu3r4YNGyaLxaKFCxfe8DRTUfHy8tKkSZMUGxurhx9+2PrE4//973967bXXFBAQ4JQ+ABSz4r25CygZrnUL+fnz542KFSsaDRs2NC5fvpxvfUZGhhEWFmY0atToquuviIyMtN56/s8lMjKyKL+K8f777xu9e/c2qlatanh5eRmenp5G7dq1jXHjxhkZGRk223777bdGVFSU4e7ubnM7ed++fQ1vb+9r1pg7d64RFRVleHl5Gb6+vka9evWMF154wTh69Kh1m2+++cZo2rSp4eXlZYSFhRkvvPCC9RbwdevWWbdr3bq1UadOnXw1IiMj8z2x2DAMQ5IRGxtboJ/F3LlzjRo1ahju7u5G1apVjbffftvIy8sr0L4Abn28uwoAAJgS1+QAAABTIuQAAABTIuQAAABTIuQAAABTIuQAAABTIuQAAABTMv3DAPPy8nT06FH5+voW6jH2AIDbh2EYOn/+vMLCwvK9u60oXbx48ZovkbWHu7u7PD09i6AjczJ9yDl69Gi+NxkDAHA9qampqlixokOOffHiRUVEROjkyZM3fSw/Pz+FhobKxcVFsbGxio2NLYIOzcP0IefKW57rPLdErh6li7kbx2nd+urvK3KUDRvaOrUeADhDbvYF/Ti1t/XfDke4dOmSTp48qQ0bNsjHx6fQx8nMzFTr1q2VmpoqPz+/IuzQPEwfcq6conL1KC1XT+9i7sZxPLw9nFrPzD9LAHDG5Q0+Pj43FXJwY1x4DAAATImQAwAATImQAwAATImQAwAATImQAwAATMn0d1fdLgYFDXRqvWQdcWo9AADsxUwOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJW4hN4mEk4lOrhjj5HoAANiHmRwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKPCfHJAYFDXRqvWQdcWo9AADsxUwOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJZ6TYxIJJxOdXDHGyfUAALAPMzkAAMCUCDkAAMCUCDkAAMCUCDkAAMCUCDkAAMCUCDkAAMCUCDkAAMCUeE6OSQwKGujUesk64tR6AADYi5kcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgStxCbhIJJxOdXDHGyfUAALAPMzkAAMCUCDkAAMCUCDkAAMCUCDkAAMCUCDkAAMCUCDkAAMCUCDkAAMCUSsxzciZPnqyxY8dq+PDhmjZtmiTp4sWLeu6557RkyRJlZ2crJiZGs2bNUnBwcPE2WwINChro1HrJOuLUegAA2KtEzORs27ZN//nPf1S/fn2b8WeffVafffaZPvzwQ23YsEFHjx5V9+7di6lLAABwKyn2kJOZmak+ffooISFBZcuWtY6np6crMTFRb731lu677z5FRUVp/vz5+vbbb7Vly5Zi7BgAAFyPxWLRJ598UqTHrFSpkvVMT0EVe8iJjY1V586dFR0dbTOekpKinJwcm/GaNWsqIiJCmzdvvubxsrOzlZGRYbMAAHC769evnywWi5566ql862JjY2WxWNSvXz/nN+ZAxRpylixZoh07dig+Pj7furS0NLm7u6tMmTI248HBwUpLS7vmMePj4+Xv729dwsPDi7ptAABuSeHh4VqyZIn+/PNP69jFixe1ePFiRUREFGNnjlFsISc1NVXDhw/XokWL5OnpWWTHHTt2rNLT061LampqkR0bAIBbWaNGjRQeHq5ly5ZZx5YtW6aIiAjdeeed1rFVq1apZcuWKlOmjAIDA9WlSxcdPHjQuv7SpUsaMmSIQkND5enpqcjIyKtOWFwRFxen0NBQ7d69W5K0adMmtWrVSl5eXgoPD9ewYcOUlZVl3f7EiRPq2rWrvLy8VLlyZS1atKhQ37fYQk5KSopOnDihRo0ayc3NTW5ubtqwYYNmzJghNzc3BQcH69KlSzp37pzNfsePH1dISMg1j+vh4SE/Pz+bBQAA/GXAgAGaP3++9fO8efPUv39/m22ysrI0cuRIbd++XcnJyXJxcdGDDz6ovLw8SdKMGTO0YsUKffDBB9q/f78WLVqkSpUq5atlGIaGDh2q9957T19//bXq16+vgwcPqkOHDurRo4d2796tpUuXatOmTRoyZIh1v379+ik1NVXr1q3TRx99pFmzZunEiRN2f9diu4W8bdu22rNnj81Y//79VbNmTY0ePVrh4eEqVaqUkpOT1aNHD0nS/v37dfjwYTVr1qw4WgYAoMT557WnHh4e8vDwuOb2jz76qMaOHavff/9dkvTNN99oyZIlWr9+vXWbK//uXjFv3jwFBQXpp59+Ut26dXX48GFVr15dLVu2lMViUWRkZL46ly9f1qOPPqqdO3dq06ZNqlChgqS/Livp06ePRowYIUmqXr26ZsyYodatW2v27Nk6fPiwVq5cqe+++06NGzeWJCUmJqpWrVp2/2yKLeT4+vqqbt26NmPe3t4KDAy0jg8cOFAjR45UQECA/Pz8NHToUDVr1kxNmzYtjpZLtISTiU6uGOPkegCAq/nntadxcXGaMGHCNbcPCgpS586dlZSUJMMw1LlzZ5UrV85mmwMHDujll1/W1q1bderUKesMzuHDh1W3bl3169dP7dq1U40aNdShQwd16dJF7du3tznGs88+Kw8PD23ZssXm+N9//712795tcwrKMAzl5eXp0KFD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TImQAwAATImQAwAATImQAwAATKlY765C0RkUNNCp9ZJ1xKn1AACwFzM5AADAlAg5AADAlAg5AADcBvr16yeLxSKLxaJSpUopODhY7dq107x585SXl1fg4yQlJalMmTKOa7QIEXIAALhNdOjQQceOHdNvv/2mlStXqk2bNho+fLi6dOmiy5cvF3d7RY6QAwDAbcLDw0MhISGqUKGCGjVqpBdffFGffvqpVq5cqaSkJEnSW2+9pXr16snb21vh4eF65plnlJmZKUlav369+vfvr/T0dOus0IQJEyRJCxcu1F133SVfX1+FhIToX//6l06cOFFM3/QvhBwAAG5hGRkZNkt2drZd+993331q0KCBli1bJklycXHRjBkz9OOPP2rBggX66quv9MILL0iSmjdvrmnTpsnPz0/Hjh3TsWPH9Pzzz0uScnJyNGnSJH3//ff65JNP9Ntvv6lfv35F+l3txS3kJpFwMtHJFWOcXA8AcDXh4eE2n+Pi4qyzKwVVs2ZN7d69W5I0YsQI63ilSpX06quv6qmnntKsWbPk7u4uf39/WSwWhYSE2BxjwIAB1j9XqVJFM2bMUOPGjZWZmSkfHx/7vlQRIeQAAHALS01NlZ+fn/Wzh4eH3ccwDEMWi0WStHbtWsXHx2vfvn3KyMjQ5cuXdfHiRV24cEGlS5e+5jFSUlI0YcIEff/99zp79qz1YubDhw+rdu3advdUFDhdBQDALczPz89mKUzI2bt3rypXrqzffvtNXbp0Uf369fXxxx8rJSVFM2fOlCRdunTpmvtnZWUpJiZGfn5+WrRokbZt26bly5ffcD9HYyYHAIDb2FdffaU9e/bo2WefVUpKivLy8jR16lS5uPw1D/LBBx/YbO/u7q7c3FybsX379un06dOaPHmy9fTZ9u3bnfMFroOZHAAAbhPZ2dlKS0vTH3/8oR07duj1119Xt27d1KVLFz3++OOqVq2acnJy9M477+jXX3/VwoULNWfOHJtjVKpUSZmZmUpOTtapU6d04cIFRUREyN3d3brfihUrNGnSpGL6lv+HkAMAwG1i1apVCg0NVaVKldShQwetW7dOM2bM0KeffipXV1c1aNBAb731lt544w3VrVtXixYtUnx8vM0xmjdvrqeeekq9evVSUFCQpkyZoqCgICUlJenDDz9U7dq1NXnyZP373/8upm/5fyyGYRjF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hiRjw4YNTqtpGIZRtmxZ47///a9Da5w/f96oXr26sWbNGqN169bG8OHDHVInLi7OaNCggUOOfS2jR482WrZs6dSafzd8+HCjatWqRl5enkOO37lzZ2PAgAE2Y927dzf69OnjkHqGYRgXLlwwXF1djc8//9xmvFGjRsa4ceOKtNY//57n5eUZISEhxptvvmkdO3funOHh4WG8//77Dqn5d4cOHTIkGTt37iySWjeqd8V3331nSDJ+//13p9RLT083JBlr16696Xq4NTCT8w+XLl1SSkqKoqOjrWMuLi6Kjo7W5s2bi7Ezx0hPT5ckBQQEOKVebm6ulixZoqysLDVr1syhtWJjY9W5c2eb/y0d5cCBAwoLC1OVKlXUp08fHT582KH1VqxYobvuuksPP/ywypcvrzvvvFMJCQkOrXnFpUuX9L///U8DBgyw66W39mjevLmSk5P1888/S5K+//57bdq0SR07dnRIPUm6fPmycnNz871PyMvLy+Ezc4cOHVJaWprN/1f9/f3VpEkTU/7euSI9PV0Wi0VlypRxeK1Lly5p7ty58vf3V4MGDRxeDyXDLfGCTmc6deqUcnNz873lPDg4WPv27SumrhwjLy9PI0aMUIsWLVS3bl2H1tqzZ4+aNWumixcvysfHR8uXL1ft2rUdVm/JkiXasWNHkV1PcT1NmjRRUlKSatSooWPHjumVV15Rq1at9MMPP8jX19chNX/99VfNnj1bI0eO1Isvvqht27Zp2LBhcnd3V9++fR1S84pPPvlE586dU79+/RxWY8yYMcrIyFDNmjXl6uqq3Nxcvfbaa+rTp4/Davr6+qpZs2aaNGmSatWqpeDgYL3//vvavHmzqlWr5rC6kpSWliZJV/29c2Wd2Vy8eFGjR4/WI4884tCXdn7++efq3bu3Lly4oNDQUK1Zs0blypVzWD2ULISc21hsbKx++OEHh/9XqiTVqFFDu3btUnp6uj766CP17dtXGzZscEjQSU1N1fDhw7VmzRqnvOX377ML9evXV5MmTRQZGakPPvhAAwcOdEjNvLw83XXXXXr99dclSXfeead++OEHzZkzx+EhJzExUR07dlRYWJjDanzwwQdatGiRFi9erDp16mjXrl0aMWKEwsLCHPr9Fi5cqAEDBqhChQpydXVVo0aN9MgjjyglJcVhNW9HOTk56tmzpwzD0OzZsx1aq02bNtq1a5dOnTqlhIQE9ezZU1u3blX58uUdWhclA6er/qFcuXJydXXV8ePHbcaPHz+ukJCQYuqq6A0ZMkSff/651q1bp4oVKzq8nru7u6pVq6aoqCjFx8erQYMGmj59ukNqpaSk6MSJE2rUqJHc3Nzk5uamDRs2aMaMGXJzc1Nubq5D6l5RpkwZ3XHHHfrll18cViM0NDRfQKxVq5bDT5P9/vvvWrt2rZ544gmH1hk1apTGjBmj3r17q169enrsscf07LPPKj4+3qF1q1atqg0bNigzM1Opqan67rvvlJOToypVqji07pXfLWb/vSP9X8D5/ffftWbNGofO4kiSt7e3qlWrpqZNmyoxMVFubm5KTEx0aE2UHIScf3B3d1dUVJSSk5OtY3l5eUpOTnb4NSTOYBiGhgwZouXLl+urr75S5cqVi6WPvLw8ZWdnO+TYbdu21Z49e7Rr1y7rctddd6lPnz7atWuXXF1dHVL3iszMTB08eFChoaEOq9GiRYt8t/7//PPPioyMdFhNSZo/f77Kly+vzp07O7TOhQsX5OJi++vJ1dVVeXl5Dq17hbe3t0JDQ3X27FmtXr1a3bp1c2i9ypUrKyQkxOb3TkZGhrZu3WqK3ztXXAk4Bw4c0Nq1axUYGOj0Hhz5uwclD6errmLkyJHq27ev7rrrLt19992aNm2asrKy1L9/f4fUy8zMtPmv/kOHDmnXrl0KCAhQREREkdaKjY3V4sWL9emnn8rX19d6vt/f319eXl5FWuuKsWPHqmPHjoqIiND58+e1ePFirV+/XqtXr3ZIPV9f33zXGHl7eyswMNAh1x49//zz6tq1qyIjI3X06FHFxcXJ1dVVjzzySJHXuuLZZ59V8+bN9frrr6tnz5767rvvNHfuXM2dO9dhNfPy8jR//nz17dtXbm6O/dXRtWtXvfbaa4qIiFCdOnW0c+dOvfXWWxowYIBD665evVqGYahGjRr65ZdfNGrUKNWsWbNI/u7f6O/5iBEj9Oqrr6p69eqqXLmyxo8fr7CwMD3wwAMOq3nmzBkdPnzY+qyaK8E5JCSkUDNI16sXGhqqhx56SDt27NDnn3+u3Nxc6++fgIAAubu7F2m9wMBAvfbaa7r//vsVGhqqU6dOaebMmfrjjz8c9ugDlEDFfHdXifXOO+8YERERhru7u3H33XcbW7ZscVitdevWGZLyLX379i3yWlerI8mYP39+kde6YsCAAUZkZKTh7u5uBAUFGW3btjW+/PJLh9W7GkfeQt6rVy8jNDTUcHd3NypUqGD06tXL+OWXXxxS6+8+++wzo27duoaHh4dRs2ZNY+7cuQ6tt3r1akOSsX//fofWMQzDyMjIMIYPH25EREQYnp6eRpUqVYxx48YZ2dnZDq27dOlSo0qVKoa7u7sREhJixMbGGufOnSuSY9/o73leXp4xfvx4Izg42PDw8DDatm170z/rG9WcP3/+VdfHxcUVeb0rt6lfbVm3bl2R1/vzzz+NBx980AgLCzPc3d2N0NBQ4/777ze+++67QtXCrcliGA5+hCgAAEAx4JocAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAE6xfv16WSwWnTt37qaOU6lSJU2bNq1IegJgboQc4CakpqZqwIABCgsLk7u7uyIjIzV8+HCdPn3aZrt7771XFosl33L58uV86z08PFShQgV17dpVy5Yty1fzynZbtmyxGc/OzlZgYKAsFovWr19/zZ5Pnjypp59+WhEREfLw8FBISIhiYmL0zTff3PwPBABKEEIOUEi//vqr7rrrLh04cEDvv/++fvnlF82ZM8f6MtczZ87YbD9o0CAdO3bMZvn7O6CurD948KA+/vhj1a5dW71799aTTz6Zr3Z4eLjmz59vM7Z8+XL5+PjcsO8ePXpo586dWrBggX7++WetWLFC9957b75gBgC3OkIOUEixsbFyd3fXl19+qdatWysiIkIdO3bU2rVr9ccff2jcuHE225cuXdr64sOrvQDxyvqKFSuqadOmeuONN/Sf//xHCQkJWrt2rc22ffv21ZIlS/Tnn39ax+bNm6e+fftet+dz587p66+/1htvvKE2bdooMjJSd999t8aOHav7779fkjRgwAB16dLFZr+cnByVL19eiYmJkv6aeRo6dKhGjBihsmXLKjg4WAkJCdYX2fr6+qpatWpauXJlvh6++eYb1a9fX56enmratKl++OEHm/Uff/yx6tSpIw8PD1WqVElTp0697ncCgGsh5ACFcObMGa1evVrPPPNMvre3h4SEqE+fPlq6dKlu9tVwffv2VdmyZfOdtoqKilKlSpX08ccfS5IOHz6sjRs36rHHHrvu8Xx8fOTj46NPPvlE2dnZV93miSee0KpVq3Ts2DHr2Oeff64LFy6oV69e1rEFCxaoXLly+u677zR06FA9/fTTevjhh9W8eXPt2LFD7du312OPPaYLFy7YHH/UqFGaOnWqtm3bpqCgIHXt2lU5OTmSpJSUFPXs2VO9e/fWnj17NGHCBI0fP15JSUkF/pkBwBWEHKAQDhw4IMMwVKtWrauur1Wrls6ePauTJ09ax2bNmmUNGT4+PnruueduWMfFxUV33HGHfvvtt3zrBgwYoHnz5kmSkpKS1KlTJwUFBV33eG5ubkpKStKCBQtUpkwZtWjRQi+++KJ2795t3aZ58+aqUaOGFi5caB2bP3++Hn74YZvTYQ0aNNBLL72k6tWra+zYsfL09FS5cuU0aNAgVa9eXS+//LJOnz5tc2xJiouLU7t27VSvXj0tWLBAx48f1/LlyyVJb731ltq2bavx48frjjvuUL9+/TRkyBC9+eabN/xZAcA/EXKAm2DPTE2fPn20a9cu6zJ27NgC17BYLPnGH330UW3evFm//vqrkpKSNGDAgAIdr0ePHjp69KhWrFihDh06aP369WrUqJHNbMkTTzxhvebn+PHjWrlyZb7j169f3/pnV1dXBQYGql69etax4OBgSdKJEyds9mvWrJn1zwEBAapRo4b27t0rSdq7d69atGhhs32LFi104MAB5ebmFuj7AcAVhBygEKpVqyaLxWL9x/mf9u7dq7Jly9rMrPj7+6tatWrWpVy5cjesk5ubqwMHDqhy5cr51gUGBqpLly4aOHCgLl68qI4dOxa4f09PT7Vr107jx4/Xt99+q379+ikuLs66/vHHH9evv/6qzZs363//+58qV66sVq1a2RyjVKlSNp8tFovN2JVglpeXV+C+AKAoEXKAQggMDFS7du00a9Ysm4t/JSktLU2LFi1Sr169rjoDY48FCxbo7Nmz6tGjx1XXDxgwQOvXr9fjjz8uV1fXQtepXbu2srKyrJ8DAwP1wAMPaP78+UpKSlL//v0Lfex/+vut72fPntXPP/9sPe1Xq1atfLeyf/PNN7rjjjtu6vsBuD253XgTAFfz7rvvqnnz5oqJidGrr76qypUr68cff9SoUaNUoUIFvfbaa3Yd78KFC0pLS9Ply5d15MgRLV++XG+//baefvpptWnT5qr7dOjQQSdPnpSfn1+Bapw+fVoPP/ywBgwYoPr168vX11fbt2/XlClT1K1bN5ttn3jiCXXp0kW5ubk3vGvLHhMnTlRgYKCCg4M1btw4lStXTg888IAk6bnnnlPjxo01adIk9erVS5s3b9a7776rWbNmFVl9ALcPQg5QSNWrV9f27dsVFxennj176syZMwoJCdEDDzyguLg4BQQE2HW8hIQEJSQkyN3dXYGBgYqKitLSpUv14IMPXnMfi8VSoNNeV/j4+KhJkyZ6++23dfDgQeXk5Cg8PFyDBg3Siy++aLNtdHS0QkNDVadOHYWFhdn1Xa5n8uTJGj58uA4cOKCGDRvqs88+k7u7uySpUaNG+uCDD/Tyyy9r0qRJCg0N1cSJE9WvX78iqw/g9mExbvYeVwCmlJmZqQoVKmj+/Pnq3r17cbcDAHZjJgeAjby8PJ06dUpTp05VmTJlrA8JBIBbDSEHgI3Dhw+rcuXKqlixopKSkmxePQEAtxJOVwEAAFPiFnIAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBK/x8ixP+61Lp6jQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAHHCAYAAABdm0mZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAR4BJREFUeJzt3Xt8z/X///H7e5sd7ISZHdjmmGPIknOSMXIqKvqoDEk1p5Sk0kQ1KYWcPvYZk4gOlHw+EsshhRiiA0nKxJxtNmyzvX5/9PP+9m4Oe8/e783L7Xq5vC6XvZ+vw+Px3ueDe8/XyWIYhiEAAACTcSnpBgAAAByBkAMAAEyJkAMAAEyJkAMAAEyJkAMAAEyJkAMAAEyJkAMAAEyJkAMAAEyJkAMAAEyJkAMAAEyJkIObksViKdSybt06/ec//5HFYtH8+fMLHGfTpk1ycXHRs88+e9V6GzZsUPfu3RUWFiZPT08FBwerU6dO+uabbxzy/TZu3KjOnTurcuXK8vT0VHh4uLp166ZFixZZtzl37pzGjRundevWOaSH0iAxMVF169aVp6enatWqpXfffbekWwLgRBbeXYWb0fvvv2/z+b333tPq1au1YMECm/EOHTqoUqVKuvPOO7Vnzx7t2bNHAQEBkqTc3Fw1adJEGRkZ+umnn+Tt7X3Fev/5z3+0YsUKNW3aVMHBwTp9+rTef/997d69W//973/VqVOnYvtuH330kXr37q3GjRurT58+Kl++vA4cOKANGzaoTJkyWrt2rSTpxIkTCgwMVFxcnMaNG1ds9UuLf//733riiSfUq1cvRUdH6+uvv9aCBQs0ceJEjR49uqTbA+AMBgAjNjbWuNofhx9//NEoU6aMERMTYx2Lj483JBnLly8vUs2srCwjKCjIiI6OLtL+V1KvXj2jfv36RnZ2doF1R48etf58/PhxQ5IRFxdXqONmZmYWV4sOd+7cOSMgIMDo0qWLzXjfvn0Nb29v49SpUyXUGQBn4nQVUAj16tXTqFGjlJSUpPXr1+vAgQMaP368evbsqW7duhXpmGXLllVgYKDOnDlTrL3u379fTZs2lbu7e4F1lSpVkiT9/vvvCgwMlCS98sor1tNzl2Z0YmJi5OPjo/379+uee+6Rr6+v+vbtK0nKz8/XlClTVL9+fXl6eiooKEiDBw/W6dOnbWp99tln6tKli0JDQ+Xh4aEaNWpowoQJysvLs9nurrvuUoMGDbRr1y61bdtWZcuWVc2aNfXxxx9LktavX69mzZrJy8tLtWvX1po1a675O1i7dq1Onjypp556ymY8NjZWWVlZ+u9//1uI3ySAGx0hByikl156SdWrV9fgwYP1xBNPyM3NTdOmTbPrGBkZGTpx4oT27NmjF154QT/88IPat29frH1GREQoOTlZhw4duuI2gYGBmjVrliTpvvvu04IFC7RgwQL17NnTus3FixcVHR2tSpUq6a233lKvXr0kSYMHD9aoUaPUqlUrTZ06Vf3799fChQsVHR2t3Nxc6/5JSUny8fHRyJEjNXXqVEVGRurll1/W888/X6Cf06dPq2vXrmrWrJkmTZokDw8P9enTR0uWLFGfPn10zz33aOLEicrKytL999+vs2fPXvV3sGPHDknS7bffbjMeGRkpFxcX63oAJlfSU0lAaXCt01WXrFq1ypBkSDKmTJlid53o6Gjr/u7u7sbgwYON8+fPF6XlK0pMTLQev127dsbYsWONr7/+2sjLy7PZ7mqnq/r162dIMp5//nmb8a+//tqQZCxcuNBm/Isvvigwfu7cuQLHHTx4sFG2bFnjwoUL1rG2bdsakoxFixZZx/bs2WNIMlxcXIzNmzdbxy/9/ufNm3fV30FsbKzh6up62XWBgYFGnz59rro/AHNgJgewQ4UKFeTi8tcfm44dO9q9/8SJE/Xll18qMTFRzZs3V05Oji5evFisPQ4YMEBffPGF7rrrLm3cuFETJkxQmzZtVKtWLX377bd2HevJJ5+0+fzRRx/J399fHTp00IkTJ6xLZGSkfHx8rBc1S5KXl5f157Nnz+rEiRNq06aNzp07pz179tgc18fHR3369LF+rl27tsqVK6e6deuqWbNm1vFLP//2229X7fv8+fOXPV0nSZ6enjp//vw1vjkAM3Ar6QaAG0VeXp4ef/xxhYaGKjMzU8OGDdPq1avtOkbjxo2tPz/88MNq0qSJYmJirNefXE5mZqYyMzOtn11dXa3X01xJdHS0oqOjde7cOaWkpGjJkiWaPXu2unbtqj179livzbkaNzc3ValSxWZs3759Sk9Pv+L+x44ds/78448/6qWXXtJXX32ljIwMm+3S09NtPlepUkUWi8VmzN/fX2FhYQXGJBW4/uefvLy8lJOTc9l1Fy5csAlgAMyL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zee4uDjrTMqVGIah5ORkrVq1SkOHDtXx48evuO2lcPPNN9+oZcuWkqSFCxcqLCxMn376qR544AH5+/vLYrEoODjYut/Bgwfl7e2trl27ytfXVxEREbrtttuK/kWLoFAhZ9q0aXr88cfl6empadOmXXXbYcOGFUtjAADg2lJTU+Xn52f9fLVZnBUrVsjHx0e5ubnKz8/Xv/71L40bN06xsbFX3Ofnn3+Wm5ubmjVrZh0LCAhQ7dq19fPPP19xvw4dOigiIkLVq1dXp06d1KlTJ913330qW7asnd+w6AoVct555x317dtXnp6eeuedd664ncViIeQAAOBEfn5+NiHnatq1a6dZs2bJ3d1doaGhcnMr8gmda/L19dX27du1bt06ffnll3r55Zc1btw4bd261WkXORfq2x04cOCyPwMAgBuHt7e3atasadc+devW1cWLF7Vlyxbr6aqTJ09q7969qlevniTJ3d1deXl5BfZ1c3NTVFSUoqKiFBcXp3Llyumrr75Sz549r//LFIJdd1fl5uaqRo0aV52eAgAA5lGrVi316NFDgwYN0saNG/X999/r4YcfVuXKldWjRw9JUtWqVZWZmank5GSdOHFC586d04oVKzRt2jTt3LlTf/zxh9577z3l5+erdu3aTuvdrpBTpkwZXbhwwVG9AACAUmjevHmKjIxU165d1aJFCxmGof/9738qU6aMJKlly5Z64okn1Lt3bwUGBmrSpEkqV66cli5dqrvvvlt169bV7Nmz9cEHH6h+/fpO69tiGIZhzw6vv/66fvnlF/3nP/9x6Lm84pKRkSF/f381fGG5XD29S7odh2l/9yqn1kv+irurAJhP3oUs7Xq9u9LT0wt9nYu9Lv27NHTVcHl4F+5W78vJzsrWu9FTHdrrjc7ulLJ161YlJyfryy+/1K233ipvb9vgsHTp0mJrDgAAoKjsDjnlypXj9Q2l0KDAgU6tl6xDTq0HAIC97Ao5Fy9eVLt27dSxY0ebB/4AAACUNnZdeOzm5qYnnnhC2dnZjuoHAACgWNj9gs477rhDO3bscEQvAAAAxcbua3KeeuopPfPMMzp06JAiIyMLXHjcsGHDYmsOAACgqOwOOX369JFk+44qi8UiwzBksVgu+8RDAAAAZ7M75PBaBwAAcCOwO+REREQ4og9cp4TjiU6uyMMAAQClW5EfWfzTTz/p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Uuvdd981wsPDDXd3d+OOO+4wNm/e7LBaa9euNSQVWPr161fstS5XR5Ixb968Yq91yYABA4yIiAjD3d3dCAwMNNq3b298+eWXDqt3OY68hbx3795GSEiI4e7ublSuXNno3bu38euvvzqk1t99/vnnRoMGDQwPDw+jTp06xpw5cxxab9WqVYYkY+/evQ6tYxiGkZGRYQwfPtwIDw83PD09jerVqxsvvviikZ2d7dC6S5YsMapXr264u7sbwcHBRmxsrHHmzJliOfa1/pzn5+cbY8eONYKCggwPDw+jffv21/27vlbNefPmXXZ9XFxcsde7dJv65Za1a9cWe73z588b9913nxEaGmq4u7sbISEhRvfu3Y3vvvuuSLVwY7IYhoMfIQoAAFACuCYHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHgFOsW7dOFotFZ86cua7jVK1aVVOmTCmWngCYGyEHuA6pqakaMGCAQkND5e7uroiICA0fPlwnT5602e6uu+6SxWIpsFy8eLHAeg8PD1WuXFndunXT0qVLC9S8tN3mzZttxrOzsxUQECCLxaJ169Zdsefjx4/rySefVHh4uDw8PBQcHKzo6Gh988031/8LAYBShJADFNFvv/2m22+/Xfv27dMHH3ygX3/9VbNnz7a+zPXUqVM22w8aNEhHjhyxWf7+DqhL6/fv369PPvlE9erVU58+ffT4448XqB0WFqZ58+bZjC1btkw+Pj7X7LtXr17asWOH5s+fr19++UXLly/XXXfdVSCYAcCNjpADFFFsbKzc3d315Zdfqm3btgoPD1fnzp21Zs0a/fnnn3rxxRdtti9btqz1xYeXewHipfVVqlRR8+bN9cYbb+jf//63EhIStGbNGptt+/Xrp8WLF+v8+fPWsblz56pfv35X7fnMmTP6+uuv9cYbb6hdu3aKiIjQHXfcoTFjxqh79+6SpAEDBqhr1642++Xm5qpSpUpKTEyU9NfM09ChQzVixAiVL19eQUFBSkhIsL7I1tfXVzVr1tTKlSsL9PDNN9+oYcOG8vT0VPPmzfXDDz/YrP/kk09Uv359eXh4qGrVqpo8efJVvxMAXAkhByiCU6dOadWqVXrqqacKvL09ODhYffv21ZIlS3S9r4br16+fypcvX+C0VWRkpKpWrapPPvlEknTw4EFt2LBBjzzyyFWP5+PjIx8fH3366afKzs6+7DaPPfaYvvjiCx05csQ6tmLFCp07d069e/e2js2fP18VK1bUd999p6FDh+rJJ5/UAw88oJYtW2r79u3q2LGjHnnkEZ07d87m+KNGjdLkyZO1detWBQYGqlu3bsrNzZUkpaSk6MEHH1SfPn20e/dujRs3TmPHjlVSUlKhf2cAcAkhByiCffv2yTAM1a1b97Lr69atq9OnT+v48ePWsZkzZ1pDho+Pj5555plr1nFxcdEtt9yi33//vcC6AQMGaO7cuZKkpKQk3XPPPQoMDLzq8dzc3JSUlKT58+erXLlyatWqlV544QXt2rXLuk3Lli1Vu3ZtLViwwDo2b948PfDAAzanwxo1aqSXXnpJtWrV0pgxY+Tp6amKFStq0KBBqlWrll5++WWdPHnS5tiSFBcXpw4dOujWW2/V/PnzdfToUS1btkyS9Pbbb6t9+/YaO3asbrnlFsXExGjIkCF68803r/m7AoB/IuQA18GemZq+fftq586d1mXMmDGFrmGxWAqMP/zww9q0aZN+++03JSUlacCAAYU6Xq9evXT48GEtX75cnTp10rp169SkSROb2ZLHHnvMes3P0aNHtXLlygLHb9iwofVnV1dXBQQE6NZbb7WOBQUFSZKOHTtms1+LFi2sP1eoUEG1a9fWzz//LEn6+eef1apVK5vtW7VqpX379ikvL69Q3w8ALiHkAEVQs2ZNWSwW6z/O//Tzzz+rfPnyNjMr/v7+qlmzpnWpWLHiNevk5eVp3759qlatWoF1AQEB6tq1qwYOHKgLFy6oc+fOhe7f09NTHTp00NixY/Xtt98qJiZGcXFx1vWPPvqofvvtN23atEnvv/++qlWrpjZt2tgco0yZMjafLRaLzdilYJafn1/ovgCgOBFygCIICAhQhw4dNHPmTJuLfyUpLS1NCxcuVO/evS87A2OP+fPn6/Tp0+rVq9dl1w8YMEDr1q3To48+KldX1yLXqVevnrKysqyfAwICdO+992revHlKSkpS//79i3zsf/r7re+nT5/WL7/8Yj3tV7du3QK3sn/zzTe65ZZbruv7Abg5uV17EwCXM336dLVs2VLR0dF69dVXVa1aNf34448aNWqUKleurNdee82u4507d05paWm6ePGiDh06pGXLlumdd97Rk08+qXbt2l12n06dOun48ePy8/MrVI2TJ0/qgQce0IABA9SwYUP5+vpq27ZtmjRpknr06GGz7WOPPaauXbsqLy/vmndt2WP8+PEKCAhQUFCQXnzxRVWsWFH33nuvJOmZZ55R06ZNNWHCBPXu3VubNm3S9OnTNXPmzGKrD+DmQcgBiqhWrVratm2b4uLi9OCDD+rUqVMKDg7Wvffeq7i4OFWoUMGu4yUkJCghIUHu7u4KCAhQZGSklixZovvuu++K+1gslkKd9rrEx8dHzZo10zvvvKP9+/crNzdXYWFhGjRokF544QWbbaOiohQSEqL69esrNDTUru9yNRMnTtTw4cO1b98+NW7cWJ9//rnc3d0lSU2aNNGHH36ol19+WRMmTFBISIjGjx+vmJiYYqsP4OZhMa73HlcAppSZmanKlStr3rx56tmzZ0m3AwB2YyYHgI38/HydOHFCkydPVrly5awPCQSAGw0hB4CNgwcPqlq1aqpSpYqSkpJsXj0BADcSTlcBAABT4hZyAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSv8PUQ8Oil1lXtAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pusch_transmitter_multi.pilot_pattern.show();" ] }, { "cell_type": "markdown", "id": "313111da", "metadata": {}, "source": [ "As before, all transmitters send pilots only on the third OFDM symbol. Transmitter 0 and 1 (using DMRS port 0 and 1, respectively) send pilots on all even subcarriers, while Transmitter 2 and 3 (using DMRS port 2 and 3, respectively), send pilots on the odd subcarriers.\n", "This means that the pilots signals of DMRS port 0 and 1 (as well as 2 and 3) interfere with each other as they occupy the same resource elements.\n", "So how can we estimate the channel coefficients for both transmitters individually without pilot contamination? \n", "\n", "The solution to this problem are the so-called code division multiplexing (CDM) groups in 5G NR.\n", "DMRS ports 0,1 belong to CDM group 0, while DMRS ports 2,3 belong to CDM group 1.\n", "\n", "The pilot signals belonging to the same CDM group are multiplied by orthogonal cover codes which allow separating them during channel estimation.\n", "The way this works is as follows. Denote by $\\mathbf{p_0} = [s_1, s_2]^\\textsf{T}$ a pair of two adjacent pilot symbols, e.g., those on subcarrier 0 and 2, of DMRS port 0. DMRS port 1 will simply send $\\mathbf{p_1} = [s_1, -s_2]^\\textsf{T}$. If we assume that the channel is constant over both subcarriers, we get the following received pilot signal at the receiver (we look only at a single antenna here):\n", "\n", "\\begin{align}\n", "\\mathbf{y} = h_0\\mathbf{p}_0 + h_1\\mathbf{p}_1 + \\mathbf{n}\n", "\\end{align}\n", "\n", "where $\\mathbf{y}\\in\\mathbb{C}^2$ is the received signal on both subcarriers, $h_0, h_1$ are the channel coefficients for both users, and $\\mathbf{n}\\in\\mathbb{C}^2$ is a noise vector.\n", "\n", "We can now obtain channel estimates for both transmitters by projecting $\\mathbf{y}$ onto their respective pilot sequences:\n", "\n", "\\begin{align}\n", "\\hat{h}_0 &= \\frac{\\mathbf{p}_0^\\mathsf{H}}{\\lVert \\mathbf{p}_0 \\rVert|^2} \\mathbf{y} = h_0 + \\frac{|s_1|^2-|s_2|^2}{\\lVert \\mathbf{p}_0 \\rVert|^2} h_1 + \\frac{\\mathbf{p}_0^\\mathsf{H}}{\\lVert \\mathbf{p}_0 \\rVert|^2} \\mathbf{n} = h_0 + n_0 \\\\\n", "\\hat{h}_1 &= \\frac{\\mathbf{p}_1^\\mathsf{H}}{\\lVert \\mathbf{p}_1 \\rVert|^2} \\mathbf{y} = \\frac{|s_1|^2-|s_2|^2}{\\lVert \\mathbf{p}_1 \\rVert|^2} h_0 + h_1 +\\frac{\\mathbf{p}_1^\\mathsf{H}}{\\lVert \\mathbf{p}_1 \\rVert|^2} \\mathbf{n} = h_1 + n_1.\n", "\\end{align}\n", "\n", "Since the pilot symbols have the same amplitude, we have $|s_1|^2-|s_2|^2=0$, i.e., the interference between both pilot sequence is zero. Moreover, due to an implict averaging of the channel estimates for both subcarriers, the effective noise variance is reduced by a factor of 3dB since\n", "\n", "\\begin{align}\n", "\\mathbb{E}\\left[ |n_0|^2 \\right] = \\mathbb{E}\\left[ |n_1|^2 \\right] = \\frac{\\sigma^2}{\\lVert \\mathbf{p}_1 \\rVert|^2} = \\frac{\\sigma^2}{2 |s_0|^2}.\n", "\\end{align}\n", "\n", "We can access the actual pilot sequences that are transmitted as follows:" ] }, { "cell_type": "code", "execution_count": 12, "id": "2884bdf7", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:16.433249Z", "iopub.status.busy": "2026-02-13T15:50:16.433118Z", "iopub.status.idle": "2026-02-13T15:50:16.437489Z", "shell.execute_reply": "2026-02-13T15:50:16.436614Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape of pilots: torch.Size([4, 1, 48])\n" ] } ], "source": [ "# pilots has shape [num_tx, num_layers, num_pilots]\n", "pilots = pusch_transmitter_multi.pilot_pattern.pilots\n", "print(\"Shape of pilots:\", pilots.shape)\n", "\n", "# Select only the non-zero subcarriers for all sequence\n", "p_0 = pilots[0,0,::2].cpu().numpy() # Pilot sequence of TX 0 on even subcarriers\n", "p_1 = pilots[1,0,::2].cpu().numpy() # Pilot sequence of TX 1 on even subcarriers\n", "p_2 = pilots[2,0,1::2].cpu().numpy() # Pilot sequence of TX 2 on odd subcarriers\n", "p_3 = pilots[3,0,1::2].cpu().numpy() # Pilot sequence of TX 3 on odd subcarriers" ] }, { "cell_type": "markdown", "id": "75de0579", "metadata": {}, "source": [ "Each pilot pattern consists of 48 symbols that are transmitted on the third OFDM symbol with 4PRBs, i.e., 48 subcarriers. \n", "Let us now verify that pairs of two adjacent pilot symbols in `p_0` and `p_1` as well as in `p_2` and `p_3` are orthogonal." ] }, { "cell_type": "code", "execution_count": 13, "id": "b3fbc970", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:16.439394Z", "iopub.status.busy": "2026-02-13T15:50:16.439276Z", "iopub.status.idle": "2026-02-13T15:50:16.443047Z", "shell.execute_reply": "2026-02-13T15:50:16.442164Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j\n", " 0.+0.j 0.+0.j]\n", "[0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j\n", " 0.+0.j 0.+0.j]\n" ] } ], "source": [ "print(np.sum(np.reshape(p_0, [-1,2]) * np.reshape(np.conj(p_1), [-1,2]), axis=1))\n", "print(np.sum(np.reshape(p_2, [-1,2]) * np.reshape(np.conj(p_3), [-1,2]), axis=1))" ] }, { "cell_type": "markdown", "id": "34942413", "metadata": {}, "source": [ "Let us now come back to the masked resource elements in each pilot pattern. \n", "The parameter `NumCDMGroupsWithoutData` mentioned earlier determines which resource elements in a DMRS-carrying OFDM symbol are masked for data transmissions. This is to avoid inference with pilots from other DMRS groups.\n", "\n", "In our example, `NumCDMGroupsWithoutData` is set to two. This means that no data can be transmitted on any of the resource elements occupied by both DMRS groups. However, if we would have set `NumCDMGroupsWithoutData` equal to one, data and pilots would be frequency multiplexed. \n", "This can be useful, if we only schedule transmissions from DMRS ports in the same CDM group.\n", "\n", "Here is an example of such a configuration:" ] }, { "cell_type": "code", "execution_count": 14, "id": "7d16844f", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:16.444950Z", "iopub.status.busy": "2026-02-13T15:50:16.444824Z", "iopub.status.idle": "2026-02-13T15:50:16.778790Z", "shell.execute_reply": "2026-02-13T15:50:16.777980Z" } }, "outputs": [ { "data": { "image/png": "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H2jXrl1atmyZfvnlF8XGxmrBggV64oknbntuUFCQTp8+nWv8+lhwcPBNzx0yZIjNGj2tW7e23pR7Oz4+PmrXrp3atWunEiVKaO7cudq2bZtat25923NvFARycnJUu3ZtTZo06YbnXA8lx44dU2RkpKpVq6ZJkyYpJCRErq6u+s9//qPJkyfnuqfG2dn5hte72bhxm5UvgoKCtH79ehmGIYvFYh3Py88bgHkQcoA8SElJUVxcnLp166Zu3bopJydHc+fO1bBhw9S5c2ebWYkbqVevnjZt2qScnBybm4+3bdumkiVL6v7777/pua+99pqefPJJ6+tSpUrl6z00bNhQc+fOtf6i/+sv/7y67777tGfPHkVGRt7y/JUrVyozM1MrVqywmaX568dZjlSvXj3985//1IEDB1SjRg3r+LZt26z7AZgf9+QAeTBo0CAZhqEPP/xQkuTk5KSZM2fq3Llz1kerb+WRRx7RmTNntGTJEuvYuXPntHjxYkVHR9/w/pHratSooaioKOsWERFx02MvX75808ejV69eLUmqWrWqJFkXL7x48eJt+7+uV69e+uWXXzRr1qxc+/744w9dunRJ0v/PwPx1xiUtLU0JCQl5rnUnunXrphIlSmj69OnWMcMwNHPmTJUvX17NmzcvlD4AFC1mcoDbWLp0qZYvX259DPq6+vXrKzY2Vh999JFiYmKs687cyCOPPKKmTZuqX79+2r9/v3XF4+zsbL311lsF1uvly5fVvHlzNW3aVB07dlRISIguXryoZcuWadOmTerevbvq168v6c9ZGT8/P82cOVPe3t7y9PRUkyZNFB4eftPrP/XUU1q0aJFeeOEFrV+/Xi1atFB2drYOHjyoRYsWKSkpSQ0bNlT79u3l6uqq6OhoPf/888rIyNCsWbNUrly5G35sV9AqVKigoUOH6v3331dWVpYaNWpk/RnMnz//ph+DATCZIn22CygmbvYI+e+//25UqFDBqFev3g1XyU1PTzeCg4ONBg0a3HYV3fPnzxvPPPOM4e/vb5QsWdJo3bq1sX379gJ7D4bx54rHs2bNMrp3726EhYUZbm5uRsmSJY369esb77//vpGZmWlz/PLly40aNWoYLi4uNo+Tt27d2qhZs+YNa1y9etUYP368UbNmTcPNzc0oVaqUERERYbz11ltGWlqa9bgVK1YYderUMdzd3Y2K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aAUHB8tisWjZsmUOqxUfH69GjRrJ29tb5cqVU/fu3XXo0CGH1ZOkGTNmqE6dOtZFuZo1a6bVq1c7tOZfjRs3ThaLRUOHDnXI9ceMGSOLxWKzVatWzSG1/uqXX37Rk08+KX9/f3l4eKh27drasWOHQ2pVrFgx13u0WCyKjY11SL3s7GyNGjVK4eHh8vDw0H333ae3337b4d8n9Pvvv2vo0KEKCwuTh4eHmjdvru3btxfItW/399wwDI0ePVpBQUHy8PBQVFSUjhw54tCaS5YsUfv27eXv7y+LxaLdu3c7rF5WVpZef/111a5dW56engoODtbTTz+tU6dOOaSe9OffzWrVqsnT01OlSpVSVFSUtm3blu96uPsQcm7gs88+07BhwxQXF6edO3eqbt266tChg86ePeuQepcuXVLdunU1bdo0h1z/rzZu3KjY2Fht3bpVa9euVVZWltq3b69Llxz3hZsVKlTQuHHjlJycrB07dqht27bq1q2bfvjhB4fVvG779u36xz/+oTp16ji0Ts2aNXX69GnrtnnzZofWu3Dhglq0aKESJUpo9erV2r9/vyZOnKhSpUo5pN727dtt3t/atWslSY8++qhD6o0fP14zZszQRx99pAMHDmj8+PGaMGGCPvzwQ4fUu+7ZZ5/V2rVrNW/ePO3bt0/t27dXVFSUfvnllzu+9u3+nk+YMEFTp07VzJkztW3bNnl6eqpDhw66cuWKw2peunRJLVu21Pjx4/NdI6/1Ll++rJ07d2rUqFHauXOnlixZokOHDqlr164OqSdJ999/vz766CPt27dPmzdvVsWKFdW+fXv9+uuv+a6Ju0yRfnNWMdW4cWMjNjbW+jo7O9sIDg424uPjHV5bkrF06VKH17nu7NmzhiRj48aNhVbTMAyjVKlSxj//+U+H1vj999+NKlWqGGvXrjVat25tDBkyxCF14uLijLp16zrk2jfz+uuvGy1btizUmn81ZMgQ47777jNycnIccv3OnTsb/fv3txnr0aOH0adPH4fUMwzDuHz5suHs7GysWrXKZrxBgwbGm2++WaC1/vfveU5OjhEYGGi8//771rGLFy8abm5uxqeffuqQmn914sQJQ5Kxa9euAql1u3rXfffdd4Yk46effiqUemlpaYYk46uvvrrjerg7MJPzP65evark5GRFRUVZx5ycnBQVFaUtW7YUYWeOkZaWJkkqXbp0odTLzs7WwoULdenSJTVr1syhtWJjY9W5c2eb/y0d5ciRIwoODlalSpXUp08fnTx50qH1VqxYoYYNG+rRRx9VuXLlVL9+fc2aNcuhNa+7evWq/vWvf6l///52femtPZo3b65169bp8OHDkqQ9e/Zo8+bN6tSpk0PqSdK1a9eUnZ2d6/uEPDw8HD4zd+LECaWmptr8f9XX11dNmjQx5b8716WlpcliscjPz8/hta5evaqPP/5Yvr6+qlu3rsProXi4K76gszCdO3dO2dnZub7lPCAgQAcPHiyirhwjJydHQ4cOVYsWLVSrVi2H1tq3b5+aNWumK1euyMvLS0uXLlWNGjUcVm/hwoXauXNngd1PcStNmjRRYmKiqlatqtOnT+utt95Sq1at9P3338vb29shNY8fP64ZM2Zo2LBhGjlypLZv367BgwfL1dVVffv2dUjN65YtW6aLFy8qJibGYTXeeOMNpaenq1q1anJ2dlZ2drbeffdd9enTx2E1vb291axZM7399tuqXr26AgIC9Omnn2rLli2qXLmyw+pKUmpqqiTd8N+d6/vM5sqVK3r99df1+OOPO/RLO1etWqXHHntMly9fVlBQkNauXasyZco4rB6KF0LOPSw2Nlbff/+9w/8rVZKqVq2q3bt3Ky0tTZ9//rn69u2rjRs3OiTopKSkaMiQIVq7dm2hfMvvX2cX6tSpoyZNmigsLEyLFi3SM88845CaOTk5atiwod577z1JUv369fX9999r5syZDg85s2fPVqdOnRQcHOywGosWLdL8+fO1YMEC1axZU7t379bQoUMVHBzs0Pc3b9489e/fX+XLl5ezs7MaNGigxx9/XMnJyQ6reS/KyspSr169ZBiGZsyY4dBabdq00e7du3Xu3DnNmjVLvXr10rZt21SuXDmH1kXxwMdV/6NMmTJydnbWmTNnbMbPnDmjwMDAIuqq4A0cOFCrVq3S+vXrVaFCBYfXc3V1VeXKlRUREaH4+HjVrVtXH3zwgUNqJScn6+zZs2rQoIFcXFzk4uKijRs3aurUqXJxcVF2drZD6l7n5+en+++/X0ePHnVYjaCgoFwBsXr16g7/mOynn37SV199pWeffdahdYYPH6433nhDjz32mGrXrq2nnnpKL7/8suLj4x1a97777tPGjRuVkZGhlJQUfffdd8rKylKlSpUcWvf6vy1m/3dH+v+A89NPP2nt2rUOncWRJE9PT1WuXFlNmzbV7Nmz5eLiotmzZzu0JooPQs7/cHV1VUREhNatW2cdy8nJ0bp16xx+D0lhMAxDAwcO1NKlS/X1118rPDy8SPrIyclRZmamQ64dGRmpffv2affu3datYcOG6tOnj3bv3i1nZ2eH1L0uIyNDx44dU1BQkMNqtGjRItej/4cPH1ZYWJjDakpSQkKCypUrp86dOzu0zuXLl+XkZPvPk7Ozs3Jychxa9zpPT08FBQXpwoULSkpKUrdu3RxaLzw8XIGBgTb/7qSnp2vbtm2m+HfnuusB58iRI/rqq6/k7+9f6D048t8eFD98XHUDw4YNU9++fdWwYUM1btxYU6ZM0aVLl9SvXz+H1MvIyLD5r/4TJ05o9+7dKl26tEJDQwu0VmxsrBYsWKDly5fL29vb+nm/r6+vPDw8CrTWdSNGjFCnTp0UGhqq33//XQsWLNCGDRuUlJTkkHre3t657jHy9PSUv7+/Q+49evXVVxUdHa2wsDCdOnVKcXFxcnZ21uOPP17gta57+eWX1bx5c7333nvq1auXvvvuO3388cf6+OOPHVYzJydHCQkJ6tu3r1xcHPtPR3R0tN59912FhoaqZs2a2rVrlyZNmqT+/fs7tG5SUpIMw1DVqlV19OhRDR8+XNWqVSuQv/u3+3s+dOhQvfPOO6pSpYrCw8M1atQoBQcHq3v37g6ref78eZ08edK6Vs314BwYGJivGaRb1QsKCtIjjzyinTt3atWqVcrOzrb++1O6dGm5uroWaD1/f3+9++676tq1q4KCgnTu3DlNmzZNv/zyi8OWPkAxVMRPdxVbH374oREaGmq4uroajRs3NrZu3eqwWuvXrzck5dr69u1b4LVuVEeSkZCQUOC1ruvfv78RFhZmuLq6GmXLljUiIyONL7/80mH1bsSRj5D37t3bCAoKMlxdXY3y5csbvXv3No4ePeqQWn+1cuVKo1atWoabm5tRrVo14+OPP3ZovaSkJEOScejQIYfWMQzDSE9PN4YMGWKEhoYa7u7uRqVKlYw333zTyMzMdGjdzz77zKhUqZLh6upqBAYGGrGxscbFixcL5Nq3+3uek5NjjBo1yggICDDc3NyMyMjIO/5Z365mQkLCDffHxcUVeL3rj6nfaFu/fn2B1/vjjz+Mhx9+2AgODjZcXV2NoKAgo2vXrsZ3332Xr1q4O1kMw8FLiAIAABQB7skBAACmRMgBAACmRMgBAACmRMgBAACmRMgBAACmRMgBAACmRMgBAACmRMgBUCg2bNggi8Wiixcv3tF1KlasqClTphRITwDMjZAD3IGUlBT1799fwcHBcnV1VVhYmIYMGaLffvvN5rgHH3xQFosl13bt2rVc+93c3FS+fHlFR0dryZIluWpeP27r1q0245mZmfL395fFYtGGDRtu2vOvv/6qF198UaGhoXJzc1NgYKA6dOigb7/99s5/IABQjBBygHw6fvy4GjZsqCNHjujTTz/V0aNHNXPmTOuXuZ4/f97m+Oeee06nT5+22f76HVDX9x87dkxffPGFatSooccee0wDBgzIVTskJEQJCQk2Y0uXLpWXl9dt++7Zs6d27dqluXPn6vDhw1qxYoUefPDBXMEMAO52hBwgn2JjY+Xq6qovv/xSrVu3VmhoqDp16qSvvvpKv/zyi958802b40uWLGn94sMbfQHi9f0VKlRQ06ZNNX78eP3jH//QrFmz9NVXX9kc27dvXy1cuFB//PGHdWzOnDnq27fvLXu+ePGiNm3apPHjx6tNmzYKCwtT48aNNWLECHXt2lWS1L9/f3Xp0sXmvKysLJUrV06zZ8+W9OfM06BBgzR06FCVKlVKAQEBmjVrlvWLbL29vVW5cmWtXr06Vw/ffvut6tSpI3d3dzVt2lTff/+9zf4vvvhCNWvWlJubmypWrKiJEyfe8j0BwM0QcoB8OH/+vJKSkvTSSy/l+vb2wMBA9enTR5999pnu9Kvh+vbtq1KlSuX62CoiIkIVK1bUF198IUk6efKkvvnmGz311FO3vJ6Xl5e8vLy0bNkyZWZm3vCYZ599VmvWrNHp06etY6tWrdLly5fVu3dv69jcuXNVpkwZfffddxo0aJBefPFFPfroo2revLl27typ9u3b66mnntLly5dtrj98+HBNnDhR27dvV9myZRUdHa2srCxJUnJysnr16qXHHntM+/bt05gxYzRq1CglJibm+WcGANcRcoB8OHLkiAzDUPXq1W+4v3r16rpw4YJ+/fVX69j06dOtIcPLy0uvvPLKbes4OTnp/vvv148//phrX//+/TVnzhxJUmJioh566CGVLVv2ltdzcXFRYmKi5s6dKz8/P7Vo0UIjR47U3r17rcc0b95cVatW1bx586xjCQkJevTRR20+Dqtbt67+9re/qUqVKhoxYoTc3d1VpkwZPffcc6pSpYpGjx6t3377zebakhQXF6d27dqpdu3amjt3rs6cOaOlS5dKkiZNmqTIyEiNGjVK999/v2JiYjRw4EC9//77t/1ZAcD/IuQAd8CemZo+ffpo9+7d1m3EiBF5rmGxWHKNP/nkk9qyZYuOHz+uxMRE9e/fP0/X69mzp06dOqUVK1aoY8eO2rBhgxo0aGAzW/Lss89a7/k5c+aMVq9enev6derUsf7Z2dlZ/v7+ql27tnUsICBAknT27Fmb85o1a2b9c+nSpVW1alUdOHBAknTgwAG1aNHC5vgWLVroyJEjys7OztP7A4DrCDlAPlSuXFkWi8X6y/l/HThwQKVKlbKZWfH19VXlypWtW5kyZW5bJzs7W0eOHFF4eHiuff7+/urSpYueeeYZXblyRZ06dcpz/+7u7mrXrp1GjRql//73v4qJiVFcXJx1/9NPP63jx49ry5Yt+te//qXw8HC1atXK5holSpSweW2xWGzGrgeznJycPPcFAAWJkAPkg7+/v9q1a6fp06fb3PwrSampqZo/f7569+59wxkYe8ydO1cXLlxQz549b7i/f//+2rBhg55++mk5Ozvnu06NGjV06dIl62t/f391795dCQkJSkxMVL9+/fJ97f/110ffL1y4oMOHD1s/9qtevXquR9m//fZb3X///Xf0/gDcm1xufwiAG/noo4/UvHlzdejQQe+8847Cw8P1ww8/aPjw4Spfvrzeffddu653+fJlpaam6tq1a/r555+1dOlSTZ48WS+++KLatGlzw3M6duyoX3/9VT4+Pnmq8dtvv+nRRx9V//79VadOHXl7e2vHjh2aMGGCunXrZnPss88+qy5duig7O/u2T23ZY+zYsfL391dAQIDefPNNlSlTRt27d5ckvfLKK2rUqJHefvtt9e7dW1u2bNFHH32k6dOnF1h9APcOQg6QT1WqVNGOHTsUFxenXr166fz58woMDFT37t0VFxen0qVL23W9WbNmadasWXJ1dZW/v78iIiL02Wef6eGHH77pORaLJU8fe13n5eWlJk2aaPLkyTp27JiysrIUEhKi5557TiNHjrQ5NioqSkFBQapZs6aCg4Ptei+3Mm7cOA0ZMkRHjhxRvXr1tHLlSrm6ukqSGjRooEWLFmn06NF6++23FRQUpLFjxyomJqbA6gO4d1iMO33GFYApZWRkqHz58kpISFCPHj2Kuh0AsBszOQBs5OTk6Ny5c5o4caL8/PysiwQCwN2GkAPAxsmTJxUeHq4KFSooMTHR5qsnAOBuwsdVAADAlHiEHAAAmBIhBwAAmBIhBwAAmBIhBwAAmBIhBwAAmBIhBwAAmBIhBwAAmBIhBwAAmBIhBwAAmNL/AalmGEHF3CnEAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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RMgBAACmZHfIGT16tLKysrKNJyUl6amnnsqTpgAAAO6W3SFn7ty5atq0qX755Rfr2MaNG1WrVi0dO3YsT5sDAADILbtvId+3b5/69++vunXratKkSTpy5IimTp2qYcOG6d1337XrXDNnztTMmTN14sQJSVKNGjX0zjvvqEOHDpKka9eu6bXXXtOSJUuUlpamdu3aacaMGfL397e3bdNr3So2X+uxLg8AoLCzO+QUL15cy5Yt05tvvqn+/fvLxcVFa9asUevWre0uXrZsWY0fP16VK1eWYRhasGCBunbtqj179qhGjRp69dVX9X//939avny5fH19NWDAAHXr1k3ffvut3bUAAMD9JVcXHn/00UeaOnWqnnrqKVWoUEGDBg3SDz/8YPd5OnfurEcffVSVK1fWAw88oPfee09eXl7avn27kpKSNHfuXH344Ydq1aqVwsLCNH/+fH333Xfavn17btoGAAD3EbtDTvv27fXuu+9qwYIFWrRokfbs2aNHHnlEDRs21MSJE3PdSGZmppYsWaLU1FQ1atRI8fHxysjIUHh4uPWYqlWrKiQkRNu2bbvledLS0pScnGyzAQCA+4/dISczM1P79u3TE088IUny8PDQzJkz9dlnn2ny5Ml2N7B//355eXnJzc1NL730klauXKnq1asrMTFRrq6uKlasmM3x/v7+SkxMvOX5oqOj5evra92Cg4Pt7gkAANz77A4569atU1BQULbxjh07av/+/XY3UKVKFe3du1c7duzQyy+/rD59+ujAgQN2n+eGkSNHKikpybolJCTk+lwAAODelatrcrZs2aKnn35ajRo10u+//y5JWrhwoQ4dOmT3uVxdXVWpUiWFhYUpOjpaderU0dSpUxUQEKD09HRdvnzZ5vgzZ84oICDgludzc3OTj4+PzQYAAO4/doeczz//XO3atZOHh4f27NmjtLQ/H/WelJSk999//64bysrKUlpamsLCwlSkSBHFxcVZ9x0+fFgnT55Uo0aN7roOAAAwN7tvIR83bpxmzZqlZ599VkuWLLGON2nSROPGjbPrXCNHjlSHDh0UEhKiK1euaPHixdq4caNiY2Pl6+ur5557TkOHDlWJEiXk4+OjgQMHqlGjRmrYsKG9bZse69YAAGDL7pBz+PBhPfLII9nGfX19s321dCdnz57Vs88+q9OnT8vX11e1a9dWbGys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IuQAAABTIuQAAABTIuQAAABTIuQAAABTIuQAAABTKtBbyDdv3qwPPvhA8fHxOn36tFauXKnHHnvMut8wDEVFRWnOnDm6fPmymjRpopkzZ6py5coF13Qh1bpVbL7W45Z1AEBhV6AzOampqapTp46mT59+0/0TJ07UtGnTNGvWLO3YsUOenp5q166drl27ls+dAgCAe02BzuR06NBBHTp0uOk+wzA0ZcoUvf322+ratask6ZNPPpG/v7+++OIL9erVKz9bBQAA95hCe03O8ePHlZiYqPDwcOuYr6+vGjRooG3btt3yfWlpaUpOTrbZAADA/afQhpzExERJkr+/v824v7+/dd/NREdHy9fX17oFBwc7tE8AAFA4FdqQk1sjR45UUlKSdUtISCjolgAAQAEotCEnICBAknTmzBmb8TNnzlj33Yybm5t8fHxsNgAAcP8ptCGnfPnyCggIUFxcnHUsOTlZO3bsUKNGjQqwMwAAcC8o0LurUlJS9PPPP1tfHz9+XHv37lWJEiUUEhKiIUOGaNy4capcubLKly+vUaNGKSgoyGYtHfyJdWsAALBVoCFn165datmypfX10KFDJUl9+vRRTEyM3njjDaWmpurFF1/U5cuX1bRpU61du1bu7u4F1TIAALhHFGjIadGihQzDuOV+i8WiMWPGaMyYMfnYFQAAMINCe00OAADA3SDkAAAAUyLkAAAAUyLkAAAAUyLkAAAAUyrQu6uQd1q3is3XeqzLAwAo7JjJAQAApkTIAQAApkTIAQDgPhARESGLxSKLxaIiRYrI399fbdq00bx585SVlZXj88TExKhYsWKOazQPEXIAALhPtG/fXqdPn9aJEye0Zs0atWzZUoMHD1anTp10/fr1gm4vzxFyAAC4T7i5uSkgIEBlypRRvXr19Oabb+rLL7/UmjVrFBMTI0n68MMPVatWLXl6eio4OFivvPKKUlJSJEkbN25U3759lZSUZJ0VGj16tCRp4cKFeuihh+Tt7a2AgAD94x//0NmzZwvok/6JkAMAwD0sOTnZZktLS7Pr/a1atVKdOnW0YsUKSZKTk5OmTZumn376SQsWLNA333yjN954Q5LUuHFjTZkyRT4+Pjp9+rROnz6t119/XZKUkZGhsWPH6ocfftAXX3yhEydOKCIiIk8/q724hdwkuKUbAO5PwcHBNq+joqKssys5VbVq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P/+89ZqfM2fOaM2aNdnOX7t2beufnZ2d5efnp1q1alnH/P39JUlnz561eV+jRo2sfy5RooSqVKmigwcPSpIOHjyoJk2a2BzfpEkTHT16VJmZmTn6fABwAyEHyIVKlSrJYrFY/3H+u4MHD6p48eI2Myu+vr6qVKmSdStZsuQd62RmZuro0aMqX758tn1+fn7q1KmTnnvuOV27dk0dOnTIcf/u7u5q06aNRo0ape+++04RERGKioqy7n/22Wf1yy+/aNu2bfrPf/6j8uXLq1mzZjbnKFKkiM1ri8ViM3YjmGVlZeW4LwDIS4QcIBf8/PzUpk0bzZgxw+biX0lKTEzUokWL1LNnz5vOwNhjwYIFunTpkrp3737T/f369dPGjRv17LPPytnZOdd1qlevrtTUVOtrPz8/PfbYY5o/f75iYmLUt2/fXJ/77/566/ulS5d05MgR69d+1apVy3Yr+7fffqsHHnjgrj4fgPuTy50PAXAzH3/8sRo3bqx27dpp3LhxKl++vH766ScNGzZMZcqU0XvvvWfX+a5evarExERdv35dv/32m1auXKnJkyfr5ZdfVsuWLW/6nvbt2+vcuXPy8fHJUY0LFy7oySefVL9+/VS7dm15e3tr165dmjhxorp27Wpz7PPPP69OnTopMzPzjndt2WPMmDHy8/OTv7+/3nrrLZUsWVKPPfaYJOm1115T/fr1NXbsWPXs2VPbtm3Txx9/rBkzZuRZfQD3D0IOkEuVK1fWrl27FBUVpR49eujixYsKCAjQY489pqioKJUoUcKu882ZM0dz5syRq6ur/Pz8FBYWpqVLl+rxxx+/5XssFkuOvva6wcvLSw0aNNDkyZN17NgxZWRkKDg4WC+88ILefPNNm2PDw8MVGBioGjVqKCgoyK7Pcjvjx4/X4MGDdfToUdWtW1dfffWVXF1dJUn16tXTsmXL9M4772js2LEKDAzUmDFjFBERkWf1Adw/LMbd3uMKwJRSUlJUpkwZzZ8/X926dSvodgDAbszkALCRlZWl8+fPa9KkSSpWrJh1kUAAuNcQcgDYOHnypMqXL6+yZcsqJibG5tETAHAv4esqAABgStxCDgAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATOn/AUBgwk+lvSsyAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pusch_config = PUSCHConfig()\n", "pusch_config.dmrs.num_cdm_groups_without_data = 1\n", "pusch_config.dmrs.dmrs_port_set = [0]\n", "\n", "pusch_config_1 = pusch_config.clone()\n", "pusch_config_1.dmrs.dmrs_port_set = [1]\n", "\n", "PUSCHTransmitter([pusch_config, pusch_config_1]).pilot_pattern.show();" ] }, { "cell_type": "markdown", "id": "98221864", "metadata": {}, "source": [ "The DRMS ports 0 and 1 belong both to CDM group 0 so that the resource elements of CDM group 1 do not need to be masked and can be used for data transmission. One can see in the above figure that data and pilots are now indeed multiplexed in the frequency domain." ] }, { "cell_type": "markdown", "id": "c329e4a5", "metadata": {}, "source": [ "### Configuring Multiple Layers" ] }, { "cell_type": "markdown", "id": "bfd3c2a9", "metadata": {}, "source": [ "In 5G NR, a transmitter can be equipped with 1,2, or 4 antenna ports, i.e., physical antennas that are fed with an individual transmit signal.\n", "It can transmit 1,2,3 or 4 layers, i.e., spatial streams, as long as the number of layers does not exceed the number of antenna ports. \n", "Using codebook-based precoding, a number of layers can be mapped onto a larger number of antenna ports, e.g., 2 layers using 4 antenna ports. If no precoding is used, each layer is simply mapped to one of the antenna ports.\n", "\n", "It is important to understand that each layer is transmitted using a different DMRS port. That means that the number of DMRS ports is independent of the number of antenna ports.\n", "\n", "In the next cell, we will configure a single transmitter with four antenna ports, sending two layers on DMRS ports 0 and 1.\n", "We can then choose among different precoding matrices with the help of the transmit precoding matrix identifier (TPMI). " ] }, { "cell_type": "code", "execution_count": 15, "id": "c624eeb1", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:16.781002Z", "iopub.status.busy": "2026-02-13T15:50:16.780864Z", "iopub.status.idle": "2026-02-13T15:50:16.785168Z", "shell.execute_reply": "2026-02-13T15:50:16.784481Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[0.5+0.j , 0. +0.j ],\n", " [0. +0.j , 0.5+0.j ],\n", " [0.5+0.j , 0. +0.j ],\n", " [0. +0.j , 0. +0.5j]])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pusch_config = PUSCHConfig()\n", "pusch_config.num_antenna_ports = 4\n", "pusch_config.num_layers = 2\n", "pusch_config.dmrs.dmrs_port_set = [0,1]\n", "pusch_config.precoding = \"codebook\"\n", "pusch_config.tpmi = 7\n", "\n", "# Show the precoding matrix\n", "pusch_config.precoding_matrix" ] }, { "cell_type": "code", "execution_count": 16, "id": "26516c5b", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:16.787216Z", "iopub.status.busy": "2026-02-13T15:50:16.787099Z", "iopub.status.idle": "2026-02-13T15:50:17.189541Z", "shell.execute_reply": "2026-02-13T15:50:17.188761Z" } }, "outputs": [ { "data": { "image/png": "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fe3YsUPLli3Tr7/+qpiYGC1cuFBPPvnkHfcNDg7WqVOncozfGAsJCbnlvsOGDbN5Rk+LFi2sF+Xeia+vr9q0aaM2bdqoSJEimjdvnrZs2aIWLVrccd+bBYHs7GzVqFFDU6ZMuek+N0LJkSNH1Lp1a1WuXFlTpkxRaGio3N3d9Z///EdTp07NcU2Nq6vrTY93q3HjDk++CA4O1tq1a2UYhiwWi3U8N99vAOZByAFyISUlRbGxserSpYu6dOmi7OxszZs3TyNGjFCHDh1sZiVupnbt2tqwYYOys7NtLj7esmWLihYtqgcffPCW+7766qt66qmnrF+XKFEiT5+hXr16mjdvnvUP/V//+OfWAw88oF27dql169a33X/lypXKyMjQihUrbGZp/no6y5Fq166tf/7zn9q3b5+qVq1qHd+yZYt1PQDz45ocIBeGDBkiwzD0wQcfSJJcXFw0e/ZsnTt3znpr9e089thjOn36tJYsWWIdO3funD777DN16tTppteP3FC1alVFRUVZl8jIyFtue+XKlVveHr1q1SpJUqVKlSTJ+vDCixcv3rH/G3r06KFff/1V8fHxOdb98ccfunz5sqT/n4H564xLWlqaEhIScl3rbnTp0kVFihTRzJkzrWOGYWj27NkqU6aMmjRp4pQ+ABQsZnKAO1i6dKmWL19uvQ36hjp16igmJkYffvih+vbta33uzM089thjatSokfr166e9e/dan3iclZWlN998M996vXLlipo0aaJGjRqpXbt2Cg0N1cWLF7Vs2TJt2LBBXbt2VZ06dST9OStTvHhxzZ49Wz4+PvL29lbDhg0VERFxy+M//fTTWrx4sZ5//nmtXbtWTZs2VVZWlvbv36/Fixdr9erVqlevntq2bSt3d3d16tRJzz33nC5duqT4+HiVLl36pqft8lvZsmU1fPhwvffee8rMzFT9+vWt34MFCxbc8jQYAJMp0Hu7gELiVreQ//7770bZsmWN2rVr3/Qpuenp6UZISIhRt27dOz5F9/z588aAAQMMf39/o2jRokaLFi2MrVu35ttnMIw/n3gcHx9vdO3a1QgPDzc8PDyMokWLGnXq1DHee+89IyMjw2b75cuXG1WrVjXc3Nxsbidv0aKFUa1atZvWuHbtmjFx4kSjWrVqhoeHh1GiRAkjMjLSePPNN420tDTrditWrDBq1qxpeHp6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Y8eOatu2rc0xXnrpJXl4eGjz5s02x9+1a5d2795tcwrKMAxlZ2fr2LFjOnjwoNzc3BQZGWldX7ly5RzX6OZGoXkY4M1MnTpVLi4u6t69u83DAAEAwJ9SUlJsLs243SzODf3797eeHpoxY0aO9Z06dVJ4eLji4+MVEhKi7OxsVa9eXdeuXZP057U9x44d06pVq/TNN9+oR48eioqK0ueff249Rps2bfTJJ59o9erV6t27t3X80qVLeu655zR06NAcdcPCwnTw4MHcf/g7KFQh569TZZLk6empGTNm3PR/AAAAoDxdf9quXTtdu3ZNFotF0dG2T7D/7bffdODAAcXHx6t58+aS/rxQ+GZ1e/bsqZ49e+qxxx5Tu3btdP78eZUsWVKS1LlzZ3Xq1ElPPvmkXF1d1atXL0l/BqS9e/eqQoUKN+2tcuXKun79upKTk62nqw4cOJDjGt3cKFQhBwAAOJ6rq6v27dtn/fdflShRQv7+/vroo48UHBys48eP6/XXX7fZZsqUKQoODladOnXk4uKizz77TEFBQTlOKT366KOaP3++nn76abm5uemxxx7Ta6+9pkaNGmnw4MF69tln5e3trb1792rNmjX68MMPrafAnnvuOc2aNUtubm4aPny4vLy87P6chBwAAO5Dt5r9cXFx0aJFizR06FBVr15dlSpV0vTp0/Xwww9bt/Hx8dGkSZN06NAhubq6qn79+vrPf/4jF5ecN20/9thjys7O1tNPPy0XFxd169ZN69ev1xtvvKHmzZvLMAw98MAD6tmzp3WfhIQEPfvss2rRooUCAwP19ttva8yYMXZ/RothGIbde91D0tPT5efnp5qjV8jV07ug23GYRT3LOrVer0+58BiA+WRdvazd73ZWWlqawx5BcuPvUnJysooVK5bn41y6dEmRkZEO7fVeV+CvdQAAAHAETleZRPzZOU6uGH3nTQAAKEDM5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFPiOTkmMTBggFPrJYknHgMACjdmcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCnxnByTiD87x8kVo51cDwAA+zCTAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATInn5JjEwIABTq2XpBNOrQcA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a9fWwoUL77p4TEyMFi5cqOXLl8vHx8d6nY2fn5+8vLzk5+enAQMGaMSIESpZsqR8fX01ZMgQNW7cmDur/sfAgAFOrZekE06tBwCAvfIUcrKysrR06VLt27dPklS1alV16dJFbm72HW7WrFmS/rwz668SEhLUt29fSdLUqVPl4uKi7t272zwMEAAA4HbsDjk//fSTOnfurNTUVOuTiSdOnKiAgACtXLnSemdUbhiGccdtPD09NWPGDM2YMcPeVgEAwH3M7mtynn32WVWrVk0nTpzQ9u3btX37dqWkpKhmzZoaNGiQI3oEAACwm90zOTt37tS2bdtUokQJ61iJEiX0zjvvqH79+vnaHAAAQF7ZPZPz4IMP6vTp0znGz5w5owoVKuRLUwAAAHcrVyHnr69IiIuL09ChQ/X555/rxIkTOnHihD7//HMNHz5cEydOdHS/AAAAuZKr01XFixeXxWKxfm0Yhnr06GEdu3EBcadOnZSVleWANgEAAOyTq5Czdu1aR/eBuxR/do6TK0Y7uR4AAPbJVchp0aKFo/sAAADIV3bfXfXdd9/ddv1DDz2U52YAAADyi90h53+fTizJ5nodrskBAACFgd23kF+4cMFmOXPmjL766ivVr18/z28hBwAAyG92z+T4+fnlGGvTpo3c3d01YsQIJScn50tjAAAAd8PumZxbCQwM1IEDB/LrcAAAAHfF7pmc3bt323xtGIZOnTqlCRMmqHbt2vnVF+w0MGCAU+sl6YRT6wEAYC+7Q07t2rVlsVhyvEG8UaNGmjt3br41BgAAcDfsDjnHjh2z+drFxUUBAQHy9PTMt6YAAADult0hJzw83BF9AAAA5KtcX3i8adMmffnllzZjH3/8sSIiIlS6dGkNGjRIGRkZ+d4gAABAXuQ65IwfP14//fST9es9e/ZowIABioqK0uuvv66VK1cqLi7OIU0CAADYK9chZ+fOnWrdurX160WLFqlhw4aKj4/XiBEjNH36dC1evNghTQIAANgr1yHnwoULCgwMtH69fv16tW/f3vp1/fr1lZKSkr/dAQAA5FGuLzwODAzUsWPHFBoaqmvXrmn79u168803ret///13FSlSxCFN4s7iz85xcsVoJ9cDAMA+uZ7JeeSRR/T6669rw4YNGjVqlIoWLarmzZtb1+/evVsPPPCAQ5oEAACwV65nct566y1169ZN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r7867NEHKIQK+O6uQuuDDz4wwsLCDHd3d6NBgwbG5s2bHVZr7dq1hqQcS58+ffK91s3qSDISEhLyvdYN/fv3N8LDww13d3cjICDAaN26tfH11187rN7NOPIW8p49exrBwcGGu7u7UaZMGaNnz57G4cOHHVLrr1auXGlUr17d8PDwMCpXrmx89NFHDq23evVqQ5Jx4MABh9YxDMNIT083hg0bZoSFhRmenp5G+fLljTfeeMPIyMhwaN1PP/3UKF++vOHu7m4EBQUZMTExxsWLF/Pl2Hf6Oc/OzjbGjBljBAYGGh4eHkbr1q3v+nt9p5oJCQk3XR8bG5vv9W7cpn6zZe3atfle748//jAeffRRIyQkxHB3dzeCg4ONzp07Gz/88EOeauHeZDEMBz9CFAAAoABwTQ4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4AADAlQg4Ap1i3bp0sFosuXrx4V8cpV66cpk2bli89ATA3Qg5wF1JSUtS/f3+FhITI3d1d4eHhGjZsmH777Teb7R5++GFZLJYcy/Xr13Os9/DwUJkyZdSpUyctWbIkR80b223evNlmPCMjQ/7+/rJYLFq3bt0tez579qxeeOEFhYWFycPDQ0FBQYqOjtb3339/998QAChECDlAHh09elT16tXToUOH9Mknn+jw4cOaPXu29WWu58+ft9l+4MCBOnXqlM3y13dA3Vh/5MgRffHFF6patap69eqlQYMG5agdGhqqhIQEm7GlS5eqWLFid+y7e/fu2rFjh+bNm6eDBw9qxYoVevjhh3MEMwC41xFygDyKiYmRu7u7vv76a7Vo0UJhYWFq3769vvnmG/3666964403bLYvWrSo9cWHN3sB4o31ZcuWVaNGjTRx4kT94x//UHx8vL755hubbfv06aNFixbpjz/+sI7NnTtXffr0uW3PFy9e1IYNGzRx4kS1bNlS4eHhatCggUaNGqXOnTtLkvr376+OHTva7JeZmanSpUtrzpw5kv6ceRoyZIiGDx+uEiVKKDAwUPHx8dYX2fr4+KhChQpatWpVjh6+//571axZU56enmrUqJF+/PFHm/VffPGFqlWrJg8PD5UrV06TJ0++7WcCgFsh5AB5cP78ea1evVovvvhijre3BwUFqXfv3vr00091t6+G69Onj0qUKJHjtFVkZKTKlSunL774QpJ0/Phxfffdd3r66adve7xixYqpWLFiWrZsmTIyMm66zbPPPquvvvpKp06dso59+eWXunLlinr27GkdmzdvnkqVKqUffvhBQ4YM0QsvvKDHH39cTZo00fbt29W2bVs9/fTTunLlis3xR44cqcmTJ2vr1q0KCAhQp06dlJmZKUlKTk5Wjx491KtXL+3Zs0fjxo3TmDFjlJiYmOvvGQDcQMgB8uDQoUMyDENVqlS56foqVarowoULOnv2rHVs5syZ1pBRrFgxvfzyy3es4+LiogcffFA///xzjnX9+/fX3LlzJUmJiYl65JFHFBAQcNvjubm5KTExUfPmzVPx4sXVtGlTjR49Wrt377Zu06RJE1WqVEnz58+3jiUkJOjxxx+3OR1Wq1Yt/e1vf1PFihU1atQoeXp6qlSpUho4cKAqVqyosWPH6rfffrM5tiTFxsaqTZs2qlGjhubNm6fTp09r6dKlkqQpU6aodevWGjNmjB588EH17dtXgwcP1nvvvXfH7xUA/C9CDnAX7Jmp6d27t3bu3GldRo0alesaFoslx/hTTz2lTZs26ejRo0pMTFT//v1zdbzu3bvr5MmTWrFihdq1a6d169apbt26NrMlzz77rPWan9OnT2vVqlU5jl+zZk3rv11dXeXv768aNWpYxwIDAyVJZ86csdmvcePG1n+XLFlSlSpV0r59+yRJ+/btU9OmTW22b9q0qQ4dOqSsrKxcfT4AuIGQA+RBhQoVZLFYrH+c/9e+fftUokQJm5kVPz8/VahQwbqUKlXqjnWysrJ06NAhRURE5Fjn7++vjh07asCAAbp69arat2+f6/49PT3Vpk0bjRkzRv/973/Vt29fxcbGWtc/88wzOnr0qDZt2qR//etfioiIUPPmzW2OUaRIEZuvLRaLzdiNYJadnZ3rvgAgPxFygDzw9/dXmzZtNHPmTJuLfyUpNTVVCxYsUM+ePW86A2OPefPm6cKFC+revftN1/fv31/r1q3TM888I1dX1zzXqVq1qi5fvmz92t/fX127dlVCQoISExPVr1+/PB/7f/311vcLFy7o4MGD1tN+VapUyXEr+/fff68HH3zwrj4fgPuT2503AXAzH374oZo0aaLo6Gi9/fbbioiI0E8//aSRI0eqTJkyeuedd+w63pUrV5Samqrr16/rxIkTWrp0qaZOnaoXXnhBLVu2vOk+7dq109mzZ+Xr65urGr/99psef/xx9e/fXzVr1pSPj4+2bdumSZMmqUuXLjbbPvvss+rYsaOysrLueNeWPcaPHy9/f38FBgbqjTfeUKlSpdS1a1dJ0ssvv6z69evrrbfeUs+ePbVp0yZ9+OGHmjlzZr7VB3D/IOQAeVSxYkVt27ZNsbGx6tGjh86fP6+goCB17dpVsbGxKlmypF3Hi4+PV3x8vNzd3eXv76/IyEh9+umnevTRR2+5j8ViydVprxuKFSumhg0baurUqTpy5IgyMzMVGhqqgQMHavTo0TbbRkVFKTg4WNWqVVNISIhdn+V2JkyYoGHDhunQoUOqXbu2Vq5cKXd3d0lS3bp1tXjxYo0dO1ZvvfWWgoODNX78ePXt2zff6gO4f1iMu73HFYApXbp0SWXKlFFCQoK6detW0O0AgN2YyQFgIzs7W+fOndPkyZNVvHhx60MCAeBeQ8gBYOP48eOKiIhQ2bJllZiYaPPqCQC4l3C6CgAAmBK3kAMAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFP6P3bKJ0+eW3lcAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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cgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgClxC7lJDAwa4NR6yTru1HoAYDZJZz+Wxx8eBd4/62KWJKlRo0ZydXVVbGysYmNjC6s9UyDkAABwB9uyZYv8/PyKuo1iidNVAADAlAg5AADAlAg5AADAlAg5AADAlOwOOWPGjFFubm6e8fT0dD3++OOF0hQAAMDtsjvkzJ49Wy1bttSRI0esY+vWrVPt2rV1+PDhQm0OAACgoOy+hXzXrl169tlnVa9ePU2aNEkHDhzQ+++/r5EjR+qtt96y61gzZ87UzJkz9fPPP0uSatasqTfffFMdOnSQJF2+fFkvvfSSFi5cqKysLMXExGjGjBkKDg62t23TSzgz28kVY5xcDwAA+9gdckqVKqXFixfr9ddf17PPPis3NzetWrVKbdq0sbt4+fLlNX78eFWpUkWGYWju3Lnq2rWrtm/frpo1a+rFF1/U//t//09LliyRv7+/Bg8erO7du+v777+3uxYAALi7FOjC4w8++EDvv/++Hn/8cVWqVElDhw7Vzp077T5O586d9dBDD6lKlSq699579c4778jHx0ebNm1Senq6Zs+ercmTJ+vBBx9UVFSUEhMT9b///U+bNm0qSNsAAOAuYnfIad++vd566y3NnTtX8+fP1/bt23X//feradOmmjhxYoEbycnJ0cKFC3Xx4kU1a9ZMKSkpys7OVnR0tHWbatWqKSIiQhs3brzhcbKyspSRkWGzAACAu4/dIScnJ0e7du3SI488Ikny8vLSzJkz9emnn2rKlCl2N7B79275+PjIw8NDzz33nJYtW6YaNWooLS1N7u7uCggIsNk+ODhYaWlpNzxefHy8/P39rUt4eLjdPQEAgDuf3SFnzZo1CgsLyzPesWNH7d692+4Gqlatqh07dmjz5s16/vnn1adPH+3Zs8fu41wzatQopaenW5fU1NQCHwsAANy5CnRNznfffacnn3xSzZo106+//ipJmjdvnvbt22f3sdzd3VW5cmVFRUUpPj5edevW1fvvv6+QkBBduXJFFy5csNn+1KlTCgkJueHxPDw85OfnZ7MAAIC7j90h57PPPlNMTIy8vLy0fft2ZWX9+ar39PR0vfvuu7fdUG5urrKyshQVFaUSJUooOTnZum7//v06duyYmjVrdtt1AACAudl9C/m4ceM0a9YsPf3001q4cKF1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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "PUSCHTransmitter(pusch_config).pilot_pattern.show();" ] }, { "cell_type": "markdown", "id": "a84a7981", "metadata": {}, "source": [ "We can see from the pilot patterns above, that we have now a single transmitter sending two streams. Both streams will be precoded and transmit over four antenna ports. From a channel estimation perspective at the receiver, however, this scenario is identical to the previous one with two single-antenna transmitters. The receiver will simply estimate the effective channel (including precoding) for every configured DMRS port." ] }, { "cell_type": "markdown", "id": "fba3ecaa", "metadata": {}, "source": [ "### Controlling the Number of DMRS Symbols in a Slot\n", "\n", "How can we add additional DMRS symbols to the resource grid to enable channel estimation for high-speed scenarios? \n", "\n", "This can be controlled with the parameter ``DMRS.additional_position``.\n", "In the next cell, we configure one additional DMRS symbol to the pattern and visualize it. You can try setting it to different values and see the impact." ] }, { "cell_type": "code", "execution_count": 17, "id": "4f6fe409", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:17.191217Z", "iopub.status.busy": "2026-02-13T15:50:17.191082Z", "iopub.status.idle": "2026-02-13T15:50:17.454691Z", "shell.execute_reply": "2026-02-13T15:50:17.453989Z" } }, "outputs": [ { "data": { "image/png": "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HKCA3n33Xe3YsUPLly/Xr7/+qtjYWC1cuFAPP/zwDd8bGhqqEydO5Bq/NhYWFpbve0eMGGFzj542bdpYT8q9EX9/f3Xo0EEdOnRQiRIlNG/ePG3ZskVt2rS54XvzCgI5OTmqW7eupkyZkud7roWSw4cPq3379qpRo4amTJmi8PBweXp66r///a+mTp2a65wad3f3PPeX37hxgztfhIaGau3atTIMQxaLxTpekJ83APMg5AAFkJqaqri4OPXo0UM9evRQTk6O5s2bp1GjRqlLly42sxJ5adCggTZs2KCcnBybk4+3bNmikiVL6s4778z3vS+88IIeeeQR6+syZcoU6jM0btxY8+bNs/6h/+sf/4K64447tGvXLrVv3/6671+5cqUyMzO1YsUKm1mav36d5UwNGjTQv/71L+3bt0+1atWyjm/ZssW6HoD5cU4OUADPPPOMDMPQe++9J0lyc3PT7NmzdebMGeul1ddz//336+TJk1q6dKl17MyZM1qyZIm6deuW5/kj19SqVUvR0dHWJSoqKt9tL126lO/l0atWrZIkVa9eXZKsNy88f/78Dfu/pk+fPvr111+VkJCQa90ff/yhixcvSvr/GZi/zrikp6crMTGxwLVuRo8ePVSiRAnNnDnTOmYYhmbPnq0KFSqoZcuWLukDQNFiJge4gWXLlumzzz6zXgZ9TcOGDRUbG6v3339fAwYMsN53Ji/333+/mjdvroEDB2rv3r3WOx5nZ2frtddec1ivly5dUsuWLdW8eXN16tRJ4eHhOn/+vJYvX64NGzaoZ8+eatiwoaQ/Z2VKly6t2bNny8/PT76+vmrWrJkqV66c7/4fffRRLV68WE8++aTWrl2rVq1aKTs7W/v379fixYu1evVqNW7cWB07dpSnp6e6deumJ554QhcuXFBCQoLKly+f59d2jlaxYkWNHDlSb7/9trKystSkSRPrz2DBggX5fg0GwGSK9NouoJjI7xLy33//3ahYsaLRoEGDPO+Sm5GRYYSFhRmNGjW64V10z549awwePNgIDAw0SpYsabRp08bYunWrwz6DYfx5x+OEhASjZ8+eRmRkpOHl5WWULFnSaNiwofH2228bmZmZNtt/9tlnRq1atQwPDw+by8nbtGlj1K5dO88aV65cMSZOnGjUrl3b8PLyMsqUKWNERUUZr732mpGenm7dbsWKFUa9evUMb29vo1KlSsbEiRONuXPnGpKMI0eOWLeLjIw0unTpkquOJJs7FhuGYRw5csSQZLz99ts3/FlkZ2cbb731lhEZGWl4enoatWvXNv7973/f8H0AzINnVwEAAFPinBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKpr8ZYE5Ojo4fPy4/P79C3cYeAHD7MAxDv//+u8LCwmweweJoly9f1pUrV256P56engV64O7tyvQh5/jx47meZAwAwPWkpqaqYsWKTtn35cuXFRERodOnT9/0vvz9/RUaGio3NzfFxsYqNjbWAR2ah+lDjp+fnySp9nOL5O5Vsoi7cZ7E3hVcWm/gp7+6tB6AvHHsO1Z25iX9MPlB698OZ7hy5YpOnz6t9evXq1SpUoXez4ULF9SmTRulpqbK39/fgR2ah+lDzrWvqNy9Ssrd27eIu3GemzlQCsPMP0vgVsKx7xyuOL2hVKlSLv/vd7vhxGMAAGBKhBwAAGBKhBwAAGBKhBwAAGBKhBwAAGBKpr+66naRcHqOiyvGuLgegLxw7AP5YyYHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEpeQm8SQoMEurZesYy6tByBvHPtA/pjJAQAApkTIAQAApkTIAQAApkTIAQAApkTIAQAApkTIAQAApkTIAQAApsR9ckwi4fQcF1eMcXE9AHnh2Afyx0wOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJUIOAAAwJe6TYxJDgga7tF6yjrm0HoC8cewD+WMmBwAAmBIhBwAAmBIhBwAAmBIhBwAAmBIhBwAAmBIhBwAAmBIhBwAAmBL3yTGJhNNzXFwxxsX1AOSFYx/IHzM5AADAlAg5AADAlAg5AADAlAg5AADAlAg5AADAlAg5AADAlLiE3CSGBA12ab1kHXNpPQB549gH8sdMDgAAMCVCDgAAMCVCDgAAMCVCDgAAMCVCDgAAMCVCDgAAMCVCDgAAMKVic5+cCRMmaMyYMRoxYoSmTZsmSbp8+bKee+45LVq0SJmZmYqJidHMmTMVHBxctM0WQwmn57i4YoyL6wHIC8c+kL9iMZOzdetW/fOf/1S9evVsxp999lmtXLlSS5Ys0fr163X8+HH16tWriLoEAAC3kiIPORcuXFC/fv2UkJCgMmXKWMfT09M1Z84cTZkyRe3atVNUVJQSExP1v//9T5s3by7CjgEAwPVYLBYtX77cofusVKmS9ZuegirykBMbG6suXbooOjraZjwlJUVZWVk24zVq1FBERIQ2bdqU7/4yMzOVkZFhswAAcLsbMGCALBaLnnzyyVzrYmNjZbFYNGDAANc35kRFGnIWLVqk7du3Kz4+Pte6tLQ0eXp6qnTp0jbjwcHBSktLy3ef8fHxCggIsC7h4eGObhsAgFtSeHi4Fi1apD/++MM6dvnyZS1cuFARERFF2JlzFFnISU1N1YgRI7RgwQJ5e3s7bL9jxoxRenq6dUlNTXXYvgEAuJU1atRI4eHhWrp0qXVs6dKlioiIUMOGDa1jX3zxhe666y6VLl1agYGB6tq1qw4fPmxdf+XKFQ0bNkyhoaHy9vZWZGRknhMW18TFxSk0NFS7d++WJG3cuFGtW7eWj4+PwsPDNXz4cF28eNG6/alTp9StWzf5+PiocuXKWrBgQaE+b5GFnJSUFJ06dUqNGjWSh4eHPDw8tH79ek2fPl0eHh4KDg7WlStXdP78eZv3nTx5UiEhIfnu18vLS/7+/jYLAAD406BBg5SYmGh9PXfuXA0cONBmm4sXL2rUqFHatm2bkpOT5ebmpvvuu085OTmSpOnTp2vFihVavHixDhw4oAULFqhSpUq5ahmGoWeeeUYffvihNmzYoHr16unw4cPq1KmTevfurd27d+vjjz/Wxo0bNWzYMOv7BgwYoNTUVK1du1affPKJZs6cqVOnTtn9WYvsEvL27dtrz549NmMDBw5UjRo19OKLLyo8PFwlSpRQcnKyevfuLUk6cOCAjh49qhYtWhRFywAAFDt/P/fUy8tLXl5e+W7/yCOPaMyYMfrll18kSd9++60WLVqkdevWWbe59nf3mrlz5yooKEh79+5VnTp1dPToUVWrVk133XWXLBaLIiMjc9W5evWqHnnkEe3YsUMbN25UhQoVJP15Wkm/fv00cuRISVK1atU0ffp0tWnTRrNmzdLRo0e1atUqfffdd2rSpIkkac6cOapZs6bdP5siCzl+fn6qU6eOzZivr68CAwOt44MHD9aoUaNUtmxZ+fv765lnnlGLFi3UvHnzomi5WBsSNNil9ZJ1zKX1AOSNYx9/P/c0Li5O48aNy3f7oKAgdenSRUlJSTIMQ126dFG5cuVstjl48KBeffVVbdmyRWfOnLHO4Bw9elR16tTRgAED1KFDB1WvXl2dOnVS165d1bFjR5t9PPvss/Ly8tLmzZtt9r9r1y7t3r3b5isowzCUk5OjI0eO6Mcff5SHh4eioqKs62vUqJHrHN2CKDY3A8zL1KlT5ebmpt69e9vcDBAAAPwpNTXV5tSM683iXDNo0CDr10MzZszItb5bt26KjIxUQkKCwsLClJOTozp16ujKlSuS/jy358iRI1q1apW++uor9enTR9HR0frkk0+s++jQoYM++ugjrV69Wv369bOOX7hwQU888YSGDx+eq25ERIR+/PHHgn/4GyhWIeevU2WS5O3trRkzZuT5HwAAAKhQ55926tRJV65ckcViUUyM7V2sf/vtNx04cEAJCQlq3bq1pD9PFM6rbt++fdW3b1/df//96tSpk86ePauyZctKkrp3765u3brp4Ycflru7ux588EFJfwakvXv3qmrVqnn2VqNGDV29elUpKSnWr6sOHDiQ6xzdgihWIQcAADifu7u79u3bZ/33X5UpU0aBgYH64IMPFBoaqqNHj+qll16y2WbKlCkKDQ1Vw4YN5ebmpiVLligkJCTXV0r33Xef5s+fr0cffVQeHh66//779eKLL6p58+YaNmyYHn/8cfn6+mrv3r1as2aN3n//fetXYE888YRmzZolDw8PjRw5Uj4+PnZ/TkIOAAC3ofxmf9zc3LRo0SINHz5cderUUfXq1TV9+nTdc8891m38/Pw0adIkHTx4UO7u7mrSpIn++9//ys0t90Xb999/v3JycvToo4/Kzc1NvXr10vr16/XKK6+odevWMgxDd9xxh/r27Wt9T2Jioh5//HG1adNGwcHBeuONNzR27Fi7P6PFMAzD7nfdQjIyMhQQEKB6L6+Qu7dvUbfjNIv6VnRpvQc/5uRDoDjg2Hes7MsXtfut7kpPT3faLUiu/V1KSUlRqVKlCr2fCxcuKCoqyqm93uqK/LEOAAAAzsDXVSaRcHqOiyvG3HgTAE7HsQ/kj5kcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgSoQcAABgStwnxySGBA12ab1kmfuup8CtgmMfyB8zOQAAwJQIOQAAwJQIOQAAwJQIOQAAwJQIOQAAwJQIOQAAwJQIOQAAwJS4T45JJJye4+KKMS6uByAvHPtA/pjJAQAApkTIAQAApkTIAQAApkTIAQAApkTIAQAApkTIAQAApkTIAQAApsR9ckxiSNBgl9ZL1jGX1gOQN459IH/M5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFMi5AAAAFPiEnKTSDg9x8UVY1xcD0BeOPaB/DGTAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATImQAwAATIn75JjEkKDBLq2XrGMurQcgbxz7QP6YyQEAAKZEyAEAAKZEyAEAAKZEyAEAAKZEyAEAAKZEyAEAAKZEyAEAAKbEfXJMIuH0HBdXjHFxPQB54dgH8sdMDgAAMCVCDgAAMCVCDgAAMCVCDgAAMCVCDgAAMCVCDgAAMCUuITeJIUGDXVovWcdcWg9A3jj2b11JZz6U1x9ehX5/5sVMSVKTJk3k7u6u2NhYxcbGOqo9UyDkAABwC9u6dav8/f2Luo1iia+rAACAKRFyAACAKRFyAACAKRFyAACAKdkdcsaNG6ecnJxc4+np6XrooYcc0hQAAMDNsjvkzJkzR3fddZd++ukn69i6detUt25dHT582KHNAQAAFJbdl5Dv3r1bTzzxhBo0aKDJkyfrxx9/1LvvvqvRo0frtddes2tfs2bN0qxZs/Tzzz9LkmrXrq1XX31VnTt3liRdvnxZzz33nBYtWqTMzEzFxMRo5syZCg4Otrdt00s4PcfFFWNcXA9AXjj2gfzZHXLKlCmjxYsX6+WXX9YTTzwhDw8PrVq1Su3bt7e7eMWKFTVhwgRVq1ZNhmFo3rx56tGjh3bs2KHatWvr2Wef1X/+8x8tWbJEAQEBGjZsmHr16qVvv/3W7loAAOD2UqgTj9977z29++67euihh1SlShUNHz5cu3btsns/3bp107333qtq1arpzjvv1JtvvqlSpUpp8+bNSk9P15w5czRlyhS1a9dOUVFRSkxM1P/+9z9t3ry5MG0DAIDbiN0hp1OnTnrttdc0b948LViwQDt27NDdd9+t5s2ba9KkSYVuJDs7W4sWLdLFixfVokULpaSkKCsrS9HR0dZtatSooYiICG3atCnf/WRmZiojI8NmAQAAtx+7Q052drZ2796t+++/X5Lk4+OjWbNm6ZNPPtHUqVPtbmDPnj0qVaqUvLy89OSTT2rZsmWqVauW0tLS5OnpqdKlS9tsHxwcrLS0tHz3Fx8fr4CAAOsSHh5ud08AAODWZ3fIWbNmjcLCwnKNd+nSRXv27LG7gerVq2vnzp3asmWLnnrqKfXv31979+61ez/XjBkzRunp6dYlNTW10PsCAAC3rkKdk7NhwwY98sgjatGihX799VdJ0vz587V//3679+Xp6amqVasqKipK8fHxql+/vt59912FhIToypUrOn/+vM32J0+eVEhISL778/Lykr+/v80CAABuP3aHnE8//VQxMTHy8fHRjh07lJn556Pe09PT9dZbb910Qzk5OcrMzFRUVJRKlCih5ORk67oDBw7o6NGjatGixU3XAQAA5mb3JeRvvPGGZs+erccee0yLFi2yjrdq1UpvvPGGXfsaM2aMOnfurIiICP3+++9auHCh1q1bp9WrVysgIECDBw/WqFGjVLZsWfn7++uZZ55RixYt1Lx5c3vbNr0hQYNdWi9Zx1xaD0DeOPaB/Nkdcg4cOKC7774713hAQECur5Zu5NSpU3rsscd04sQJBQQEqF69elq9erU6dOggSZo6darc3NzUu3dvm5sBAgAA3IjdISckJESHDh1SpUqVbMY3btyoKlWq2LWvOXOuf6dOb29vzZgxQzNmzLC3TQAAcJuz+5ycIUOGaMSIEdqyZYssFouOHz+uBQsW6Pnnn9dTTz3ljB4BAADsZvdMzksvvaScnBy1b99ely5d0t133y0vLy89//zzeuaZZ5zRIwAAgN3sDjkWi0WvvPKKRo8erUOHDunChQuqVauWSpUq5Yz+AAAACsXukHONp6enatWq5cheAAAAHKZAIadXr14F3uHSpUsL3QwKL+H09U/idrwYF9cDkBeOfSB/BTrx+K/PgvL391dycrK2bdtmXZ+SkqLk5GQFBAQ4rVEAAAB7FGgmJzEx0frvF198UX369NHs2bPl7u4u6c+Hdj799NM8QgEAABQbdl9CPnfuXD3//PPWgCNJ7u7uGjVqlObOnevQ5gAAAArL7pBz9erVPB/EuX//fuXk5DikKQAAgJtl99VVAwcO1ODBg3X48GE1bdpUkrRlyxZNmDBBAwcOdHiDAAAAhWF3yHnnnXcUEhKiyZMn68SJE5Kk0NBQjR49Ws8995zDGwQAACgMu0OOm5ubXnjhBb3wwgvKyMiQJE44BgAAxU6hbwYoEW6KkyFBg11aL1nHXFoPQN449oH82X3i8cmTJ/Xoo48qLCxMHh4ecnd3t1kAAACKA7tncgYMGKCjR49q7NixCg0NlcVicUZfAAAAN8XukLNx40Zt2LBBDRo0cEI7AAAAjmH311Xh4eEyDMMZvQAAADiM3SFn2rRpeumll/Tzzz87oR0AAADHsPvrqr59++rSpUu64447VLJkSZUoUcJm/dmzZx3WHAAAQGHZHXKmTZvmhDYAAAAcy+6Q079/f2f0gZuUcHqOiyvGuLgegLxw7AP5K3DIuXZ34xvhBoEAAKA4KHDIKV269HXviWMYhiwWi7Kzsx3SGAAAwM0ocMhZu3atM/sAAABwqAKHnDZt2jizDwAAAIey+z45AAAAtwJCDgAAMCVCDgAAMCW775OD4mlI0GCX1kvWMZfWA5A3jn0gf3bN5GRlZcnDw0Pff/+9s/oBAABwCLtCTokSJRQREcG9cAAAQLFn9zk5r7zyil5++WUexAkAAIo1u8/Jef/993Xo0CGFhYUpMjJSvr6+Nuu3b9/usOYAAAAKy+6Q07NnTye0AQAA4Fh2h5y4uDhn9AEAAOBQhbqE/Pz58/rkk090+PBhjR49WmXLltX27dsVHBysChUqOLpHFEDC6Tkurhjj4noA8sKxD+TP7pCze/duRUdHKyAgQD///LOGDBmismXLaunSpTp69Kg+/PBDZ/QJAABgF7uvrho1apQGDBiggwcPytvb2zp+77336ptvvnFocwAAAIVld8jZunWrnnjiiVzjFSpUUFpamkOaAgAArjNgwACbC4vuuecejRw5ssj6cRS7Q46Xl5cyMjJyjf/4448KCgpySFMAAMCxBgwYIIvFIovFIk9PT1WtWlXjx4/X1atX9e677yopKanQ+05KSlLp0qUd1quj2B1yunfvrvHjxysrK0uSZLFYdPToUb344ovq3bu3wxsEAACO0alTJ504cUIHDx7Uc889p3Hjxuntt99WQEBAsQwpN8vukDN58mRduHBB5cuX1x9//KE2bdqoatWq8vPz05tvvumMHgEAgAN4eXkpJCREkZGReuqppxQdHa0VK1bk+rrq786dO6fHHntMZcqUUcmSJdW5c2cdPHhQkrRu3ToNHDhQ6enp1pmicePGSZJmzpypatWqydvbW8HBwbr//vtd8Cn/n91XVwUEBGjNmjXauHGjdu/erQsXLqhRo0aKjo52Rn8AAOA6/n4KiZeXl7y8vAr0Xh8fH/3222833O7aBUcrVqyQv7+/XnzxRd17773au3evWrZsqWnTpunVV1/VgQMHJEmlSpXStm3bNHz4cM2fP18tW7bU2bNntWHDBvs/4E0o1H1yJOmuu+7SXXfd5checBOGBA12ab1kHXNpPQB549hHeHi4zeu4uDjrTEp+DMNQcnKyVq9erWeeeUanT5/Od9tr4ebbb79Vy5YtJUkLFixQeHi4li9frgceeEABAQGyWCwKCQmxvu/o0aPy9fVV165d5efnp8jISDVs2LDwH7QQChRypk+frqFDh8rb21vTp0+/7rbDhw93SGMAAODGUlNT5e/vb319vVmczz//XKVKlVJWVpZycnL08MMPa9y4cYqNjc33Pfv27ZOHh4eaNWtmHQsMDFT16tW1b9++fN/XoUMHRUZGqkqVKurUqZM6deqk++67TyVLlrTzExZegULO1KlT1a9fP3l7e2vq1Kn5bmexWAg5AAC4kL+/v03IuZ62bdtq1qxZ8vT0VFhYmDw8Cv2Fzg35+flp+/btWrdunb788ku9+uqrGjdunLZu3eqyk5wL9OmOHDmS578BAMCtw9fXV1WrVrXrPTVr1tTVq1e1ZcsW69dVv/32mw4cOKBatWpJkjw9PZWdnZ3rvR4eHoqOjlZ0dLTi4uJUunRpff311+rVq9fNf5gCsOvqqqysLN1xxx3XnZ4CAADmUa1aNfXo0UNDhgzRxo0btWvXLj3yyCOqUKGCevToIUmqVKmSLly4oOTkZJ05c0aXLl3S559/runTp2vnzp365Zdf9OGHHyonJ0fVq1d3We92hZwSJUro8uXLzuoFAAAUQ4mJiYqKilLXrl3VokULGYah//73vypRooQkqWXLlnryySfVt29fBQUFadKkSSpdurSWLl2qdu3aqWbNmpo9e7Y++ugj1a5d22V92/1lXGxsrCZOnKh//etfTv0uDwAAOM717mj893Xr1q2zeV2mTJkbPoB71qxZmjVr1nX342p2p5StW7cqOTlZX375perWrStfX1+b9UuXLnVYcwAAAIVld8gpXbo0j28ohhJOz3FxxRgX1wOQF459IH92hZyrV6+qbdu26tixo80NfwAAAIobu0489vDw0JNPPqnMzExn9QMAAOAQdj+gs2nTptqxY4czegEAAHAYu8/Jefrpp/Xcc8/p2LFjioqKynXicb169RzWHAAAQGHZHXIe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lStr7NixCgsLs7mXDv40JGiwS+sl65hL6wHIG8c+kL8iDTnbtm1T27Ztra9HjRolSerfv7+SkpL0wgsv6OLFixo6dKjOnz+vu+66S1988YW8vb2LqmUAAHCLKNKQc88998gwjHzXWywWjR8/XuPHj3dhVwAAwAyK7Tk5AAAAN4OQAwAATImQAwAATImQAwAATImQAwAATKlIr66C4yScnuPiijEurgcgLxz7QP6YyQEAAKZEyAEAAKZEyAEA4DYwYMAAWSwWWSwWlShRQsHBwerQoYPmzp2rnJycAu8nKSlJpUuXdl6jDkTIAQDgNtGpUyedOHFCP//8s1atWqW2bdtqxIgR6tq1q65evVrU7TkcIQcAgNuEl5eXQkJCVKFCBTVq1Egvv/yyPvvsM61atUpJSUmSpClTpqhu3bry9fVVeHi4nn76aV24cEGStG7dOg0cOFDp6enWWaFx48ZJkubPn6/GjRvLz89PISEhevjhh3Xq1Kki+qR/IuQAAHALy8jIsFkyMzPten+7du1Uv359LV26VJLk5uam6dOn64cfftC8efP09ddf64UXXpAktWzZUtOmTZO/v79OnDihEydO6Pnnn5ckZWVl6fXXX9euXbu0fPly/fzzzxowYIBDP6u9uITcJIYEDXZpvWQdc2k9AHnj2Ed4eLjN67i4OOvsSkHVqFFDu3fvliSNHDnSOl6pUiW98cYbevLJJzVz5kx5enoqICBAFotFISEhNvsYNGiQ9d9VqlTR9OnT1aRJE124cEGlSpWy70M5CCEHAIBbWGpqqvz9/a2vvby87N6HYRiyWCySpK+++krx8fHav3+/MjIydPXqVV2+fFmXLl1SyZIl891HSkqKxo0bp127duncuXPWk5mPHj2qWrVq2d2TI/B1FQAAtzB/f3+bpTAhZ9++fapcubJ+/vlnde3aVfXq1dOnn36qlJQUzZgxQ5J05cqVfN9/8eJFxcTEyN/fXwsWLNDWrVu1bNmyG77P2ZjJAQDgNvb1119rz549evbZZ5WSkqKcnBxNnjxZbm5/zoMsXrzYZntPT09lZ2fbjO3fv1+//fabJkyYYP36bNu2ba75ANfBTA4AALeJzMxMpaWl6ddff9X27dv11ltvqUePHuratasee+wxVa1aVVlZWXrvvff0008/af78+Zo9e7bNPipVqqQLFy4oOTlZZ86c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6NAhjR49WjVq1HDIsX+j43zkyJF64403VK1aNVWuXFljx45VWFiYevbs6bSaZ8+e1dGjR633qrkWnENCQgo1g3S9eqGhobr//vu1fft2ff7558rOzrb+/ilbtqw8PT0dWi8wMFBvvvmmunfvrtDQUJ05c0YzZszQr7/+6rRbH6AYKuKru4qt9957z4iIiDA8PT2Npk2bGps3b3ZarbVr1xqSci39+/d3eK286kgyEhMTHV7rmkGDBhmRkZGGp6enERQUZLRv39748ssvnVYvL868hLxv375GaGio4enpaVSoUMHo27evcejQIafU+quVK1caderUMby8vIwaNWoYH3zwgVPrrV692pBkHDhwwKl1DMMwMjIyjBEjRhgRERGGt7e3UaVKFeOVV14xMjMznVr3448/NqpUqWJ4enoaISEhRmxsrHH+/HmH7PtGx3lOTo4xduxYIzg42PDy8jLat29/0z/rG9VMTEzMc31cXJzD6127TD2vZe3atQ6v98cffxj33XefERYWZnh6ehqhoaFG9+7dje+++65QtXBrshiGk28hCgAAUAQ4JwcAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQeAS6xbt04Wi0Xnz5+/qf1UqlRJ06ZNc0hPAMyNkAPchNTUVA0aNEhhYWHy9PRUZGSkRowYod9++81mu3vuuUcWiyXXcvXq1Vzrvby8VKFCBXXr1k1Lly7NVfPadps3b7YZz8zMVGBgoCwWi9atW5dvz6dPn9ZTTz2liIgIeXl5KSQkRDExMfr2229v/gcCAMUIIQcopJ9++kmNGzfWwYMH9dFHH+nQoUOaPXu29WGuZ8+etdl+yJAhOnHihM3y12dAXVt/+PBhffrpp6pVq5YefPBBDR06NFft8PBwJSYm2owtW7ZMpUqVumHfvXv31o4dOzRv3jz9+OOPWrFihe65555cwQwAbnWEHKCQYmNj5enpqS+//FJt2rRRRESEOnfurK+++kq//vqrXnnlFZvtS5YsaX3wYV4PQLy2vmLFimrevLkmTpyof/7zn0pISNBXX31ls23//v21aNEi/fHHH9axuXPnqn///tft+fz589qwYYMmTpyotm3bKjIyUk2bNtWYMWPUvXt3SdKgQYPUtWtXm/dlZWWpfPnymjNnjqQ/Z56eeeYZjRw5UmXKlFFwcLASEhKsD7L18/NT1apVtWrVqlw9fPvtt6pXr568vb3VvHlzff/99zbrP/30U9WuXVteXl6qVKmSJk+efN3PBAD5IeQAhXD27FmtXr1aTz/9dK6nt4eEhKhfv376+OOPdbOPhuvfv7/KlCmT62urqKgoVapUSZ9++qkk6ejRo/rmm2/06KOPXnd/pUqVUqlSpbR8+XJlZmbmuc3jjz+uL774QidOnLCOff7557p06ZL69u1rHZs3b57KlSun7777Ts8884yeeuopPfDAA2rZsqW2b9+ujh076tFHH9WlS5ds9j969GhNnjxZW7duVVBQkLp166asrCxJUkpKivr06aMHH3xQe/bs0bhx4zR27FglJSUV+GcGANcQcoBCOHjwoAzDUM2aNfNcX7NmTZ07d06nT5+2js2cOdMaMkqVKqXnnnvuhnXc3Nx055136ueff861btCgQZo7d64kKSkpSffee6+CgoKuuz8PDw8lJSVp3rx5Kl26tFq1aqWXX35Zu3fvtm7TsmVLVa9eXfPnz7eOJSYm6oEHHrD5Oqx+/fr6xz/+oWrVqmnMmDHy9vZWuXLlNGTIEFWrVk2vvvqqfvvtN5t9S1JcXJw6dOigunXrat68eTp58qSWLVsmSZoyZYrat2+vsWPH6s4779SAAQM0bNgwvf322zf8WQHA3xFygJtgz0xNv379tHPnTusyZsyYAtewWCy5xh955BFt2rRJP/30k5KSkjRo0KAC7a937946fvy4VqxYoU6dOmndunVq1KiRzWzJ448/bj3n5+TJk1q1alWu/derV8/6b3d3dwUGBqpu3brWseDgYEnSqVOnbN7XokUL67/Lli2r6tWra9++fZKkffv2qVWrVjbbt2rVSgcPHlR2dnaBPh8AXEPIAQqhatWqslgs1j/Of7dv3z6VKVPGZmYlICBAVatWtS7lypW7YZ3s7GwdPHhQlStXzrUuMDBQXbt21eDBg3X58mV17ty5wP17e3urQ4cOGjt2rP73v/9pwIABiouLs65/7LHH9NNPP2nTpk3697//rcqVK6t169Y2+yhRooTNa4vFYjN2LZjl5OQUuC8AcCRCDlAIgYGB6tChg2bOnGlz8q8kpaWlacGCBerbt2+eMzD2mDdvns6dO6fevXvnuX7QoEFat26dHnvsMbm7uxe6Tq1atXTx4kXr68DAQPXs2VOJiYlKSkrSwIEDC73vv/vrpe/nzp3Tjz/+aP3ar2bNmrkuZf/2229155133tTnA3B78rjxJgDy8v7776tly5aKiYnRG2+8ocqVK+uHH37Q6NGjVaFCBb355pt27e/SpUtKS0vT1atXdezYMS1btkxTp07VU089pbZt2+b5nk6dOun06dPy9/cvUI3ffvtNDzzwgAYNGqR69erJz89P27Zt06RJk9SjRw+bbR9//HF17dpV2dnZN7xqyx7jx49XYGCggoOD9corr6hcuXLq2bOnJOm5555TkyZN9Prrr6tv377atGmT3n//fc2cOdNh9QHcPgg5QCFVq1ZN27ZtU1xcnPr06aOzZ88qJCREPXv2VFxcnMqWLWvX/hISEpSQkCBPT08FBgYqKipKH3/8se67775832OxWAr0tdc1pUqVUrNmzTR16lQdPnxYWVlZCg8P15AhQ/Tyyy/bbBsdHa3Q0FDVrl1bYWFhdn2W65kwYYJGjBihgwcPqkGDBlq5cqU8PT0lSY0aNdLixYv16quv6vXXX1doaKjGjx+vAQMGOKw+gNuHxbjZa1wBmNKFCxdUoUIFJSYmqlevXkXdDgDYjZkcADZycnJ05swZTZ48WaVLl7beJBAAbjWEHAA2jh49qsqVK6tixYpKSkqyefQEANxK+LoKAACYEpeQAwAAUyLkAAAAUyLkAAAAUyLkAAAAUyLkAAAAUyLkAAAAUyLkAAAAUyLkAAAAUyLkAAAAU/o/yIeXQqRVse4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pusch_config.dmrs.additional_position = 1\n", "\n", "# In order to reduce the number of figures, we here only show\n", "# the pilot pattern of the first stream\n", "PUSCHTransmitter(pusch_config).pilot_pattern.show(stream_ind = 0);" ] }, { "cell_type": "markdown", "id": "aa57e45d", "metadata": {}, "source": [ "### How to control the number of available DMRS ports?\n", "\n", "There are two factors that determine the available number of DMRS ports, i.e., layers, that can be transmitted. \n", "The first is the DMRS Configuration and the second the length of a DMRS symbol. Both parameters can take two values so that there are four options in total.\n", "In the previous example, the DMRS Configuration Type 1 was used. In this case, there are two CDM groups and each group uses either odd or even subcarriers. This leads to four available DMRS ports.\n", "With DMRS Configuration Type 2, there are three CDM groups and each group uses two pairs of adjacent subcarriers per PRB, i.e., four pilot-carrying subcarriers. That means that there are six available DMRS ports.\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 18, "id": "cfe0fcb7", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:17.456250Z", "iopub.status.busy": "2026-02-13T15:50:17.456120Z", "iopub.status.idle": "2026-02-13T15:50:17.725386Z", "shell.execute_reply": "2026-02-13T15:50:17.724666Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Available DMRS ports: [0, 1, 2, 3]\n" ] }, { "data": { "image/png": "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O3OO1NRUSVKpUqUKpF5mZqbmzZuny5cvq0mTJk6tFRsbq44dO9r8b+ksBw4cUEhIiCpWrKjevXvr6NGjTq23bNky1a9fX4888ojKli2r++67T9OnT3dqzRuuXbumf//73+rfv79dD721R9OmTZWUlKT9+/dLknbs2KENGzaoQ4cOTqknSdevX1dmZma25wl5eXk5/cjckSNHdOrUKZv/r/r7+6tRo0am/L1zQ2pqqiwWi0qUKOH0WteuXdMnn3wif39/1alTx+n1UDTcEQ/oLEjnzp1TZmZmtqecBwYGau/evYXUlXNkZWVpyJAhatasmWrWrOnUWrt27VKTJk109epV+fj4aPHixapevbrT6s2bN09bt2512PUUN9OoUSMlJiaqSpUqOnnypN566y21aNFCP//8s3x9fZ1S8/Dhw5o6daqGDh2qESNGaPPmzRo0aJDc3d3Vp08fp9S8YcmSJbp48aL69u3rtBqvv/660tLSVLVqVbm6uiozM1Pvvvuuevfu7bSavr6+atKkid5++21Vq1ZNgYGB+vzzz7Vx40ZVqlTJaXUl6dSpU5KU4++dG+vM5urVq3rttdf06KOPOvWhnStWrFCvXr105coVBQcHa82aNSpdurTT6qFoIeTcxWJjY/Xzzz87/b9SJalKlSravn27UlNT9cUXX6hPnz5av369U4JOSkqKBg8erDVr1hTIU37/fnShdu3aatSokcLDw7VgwQI99dRTTqmZlZWl+vXr67333pMk3Xffffr55581bdo0p4ecGTNmqEOHDgoJCXFajQULFmjOnDmaO3euatSooe3bt2vIkCEKCQlx6vubPXu2+vfvr3LlysnV1VX16tXTo48+quTkZKfVvBtlZGSoR48eMgxDU6dOdWqtVq1aafv27Tp37pymT5+uHj16aNOmTSpbtqxT66Jo4HTV/yhdurRcXV11+vRpm/HTp08rKCiokLpyvAEDBmjFihVau3atypcv7/R67u7uqlSpkiIjIxUfH686deroww8/dEqt5ORknTlzRvXq1ZObm5vc3Ny0fv16TZo0SW5ubsrMzHRK3RtKlCihe++9VwcPHnRajeDg4GwBsVq1ak4/Tfbbb7/p66+/1tNPP+3UOsOGDdPrr7+uXr16qVatWnriiSf00ksvKT4+3ql177nnHq1fv16XLl1SSkqKfvrpJ2VkZKhi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KlWqaPbs2daxhIQEPfLIIzanw+rUqaN//OMfqly5soYPHy5PT0+VLl1azzzzjCpXrqw333xTv//+u83ckhQXF6e2bduqVq1amjVrlk6fPq3FixdLksaPH682bdpo5MiRuvfee9W3b18NGDBA77///i1/VgDwvwg5wG2w50hN7969tX37dusyfPjwPNewWCzZxh9//HFt3LhRhw8fVmJiovr375+n+bp3764TJ05o2bJlat++vdatW6d69erZHC15+umnrdf8nD59WitXrsw2f+3ata3/dnV1VUBAgGrVqmUdCwwMlCSdOXPGZr8mTZpY/12qVClVqVJFe/bskSTt2bNHzZo1s9m+WbNmOnDggDIzM/P0/gDgBkIOkA+VKlWSxWKx/nH+X3v27FHJkiVtjqz4+/urUqVK1qV06dK3rJOZmakDBw4oIiIi27qAgAB16tRJTz31lK5evaoOHTrkuX9PT0+1bdtWI0eO1A8//KC+ffsqLi7Ouv7JJ5/U4cOHtXHjRv373/9WRESEWrRoYTNHsWLFbF5bLBabsRvBLCsrK899AYAjEXKAfAgICFDbtm01ZcoUm4t/JenUqVOaM2eOevbsmeMRGHvMmjVLFy5cUPfu3XNc379/f61bt05PPvmkXF1d812nevXqunz5svV1QECAunbtqoSEBCUmJqpfv375nvt//f3W9wsXLmj//v3W037VqlXLdiv7999/r3vvvfe23h+Au5PbrTcBkJOPP/5YTZs2VXR0tN555x1FRETol19+0bBhw1SuXDm9++67ds135coVnTp1StevX9exY8e0ePFiTZgwQS+88IJatWqV4z7t27fX2bNn5efnl6cav//+ux555BH1799ftWvXlq+vr7Zs2aJx48apS5cuNts+/fTT6tSpkzIzM29515Y9Ro8erYCAAAUGBuqNN95Q6dKl1bVrV0nSyy+/rAYNGujtt99Wz549tXHjRn388ceaMmWKw+oDuHsQcoB8qly5srZs2aK4uDj16NFD58+fV1BQkLp27aq4uDiVKlXKrvmmT5+u6dOny93dXQEBAYqMjNT8+fP10EMP5bqPxWLJ02mvG3x8fNSoUSNNmDBBhw4dUkZGhkJDQ/XMM89oxIgRNttGRUUpODhYNWrUUEhIiF3v5WbGjBmjwYMH68CBA6pbt66WL18ud3d3SVK9evW0YMECvfnmm3r77bcVHBys0aNHq2/fvg6rD+DuYTFu9x5XAKZ06dIllStXTgkJCerWrVthtwMAduNIDgAbWVlZOnfunD744AOVKFHC+iWBAHCnIeQAsHH06FFFRESofPnySkxMtHn0BADcSThdBQAATIlbyAEAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCn9HyrtCJxCo7u5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pusch_config.dmrs.config_type = 2\n", "PUSCHTransmitter(pusch_config).pilot_pattern.show(stream_ind = 0);\n", "print(\"Available DMRS ports:\", pusch_config.dmrs.allowed_dmrs_ports)" ] }, { "cell_type": "markdown", "id": "0e7b8a25", "metadata": {}, "source": [ "In the above figure, you can see that the pilot pattern has become sparser in the frequency domain. However, there are still only four available DMRS ports. This is because we now need to mask also the resource elements that are used by the third CDM group. This can be done by setting the parameter `NumCDMGroupsWithoutData` equal to three." ] }, { "cell_type": "code", "execution_count": 19, "id": "e98b5c61", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:17.727093Z", "iopub.status.busy": "2026-02-13T15:50:17.726959Z", "iopub.status.idle": "2026-02-13T15:50:17.989101Z", "shell.execute_reply": "2026-02-13T15:50:17.988361Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Available antenna ports: [0, 1, 2, 3, 4, 5]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAHHCAYAAABdm0mZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARhRJREFUeJzt3Xl8TPf+x/H3JJFFNgRZSCJK7WvsSxWxlaC0tNXWVrrEVq222ktUl6AtqrXcKom6VGnt96KaorQosbaW2lqxUyRFRSTn90cf5tdpgkzMJHG8no/HeTzM95zz/XwmvZO871nmWAzDMAQAAGAyLvndAAAAgDMQcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcgAAgCkRcnBPslgsOVrWrl2rTz/9VBaLRbNmzcoyz8aNG+Xi4qKXX375tjUvXryo/v37q0SJEvL29lbz5s21bds2Z7w9LVu2TM2aNVPJkiVVuHBhlS1bVt26ddPKlSut25w4cUKjRo3Sjh07nNJDfsvMzNS4ceMUEREhT09PVa9eXZ9//nl+twUgD1l4dhXuRf/5z39sXn/22WdavXq1Zs+ebTPeqlUrlSxZUg888ID27dunffv2KSAgQJKUnp6u2rVrKzU1VXv27JG3t/dN62VmZqpp06bauXOnhg0bpuLFi2vKlClKTk5WUlKSypcv77D39v7772vYsGFq1qyZOnXqpMKFC+vgwYP65ptvVKNGDSUkJEiStm7dqrp16yo+Pl69evVyWP2CYvjw4RozZoz69eununXrasmSJfrvf/+rzz//XI899lh+twcgLxgAjJiYGONWH4eff/7ZKFSokNGrVy/rWFxcnCHJWLp06W3n/+KLLwxJxoIFC6xjZ86cMYoUKWI8/vjjd9b836Snpxt+fn5Gq1atsl1/+vRp67+3bNliSDLi4+NzNPfly5cd0WKeOHbsmFGoUCEjJibGOpaZmWk0bdrUKF26tHH9+vV87A5AXuF0FZADlStX1rBhw5SQkKB169bpyJEjGj16tLp06aLo6Ojb7v/ll18qMDBQXbp0sY6VKFFC3bp105IlS5SWluaQPs+dO6fU1FQ1btw42/UlS5aUJK1du1Z169aVJPXu3dt6eu7GUZ4HH3xQVatWVVJSkh544AEVLlxYr7/+uiQpLS1NsbGxKleunDw8PBQaGqpXXnkly3uIj49XixYtVLJkSXl4eKhy5cqaOnVqlp7KlCmjDh06aO3atapTp468vLxUrVo1rV27VpK0cOFCVatWTZ6enoqMjNT27dtv+3NYsmSJ0tPT9cILL1jHLBaLnn/+eR07dkwbN2687RwA7n6EHCCH/vWvf6ls2bJ69tln9dxzz8nNzU2TJk3K0b7bt29X7dq15eJi+5GrV6+erly5ol9++cUhPZYsWVJeXl5atmyZzp8/f9PtKlWqpNGjR0uS+vfvr9mzZ2v27Nl64IEHrNv8/vvvateunWrWrKmJEyeqefPmyszMVMeOHfX+++8rOjpaH330kTp37qwJEyaoe/fuNjWmTp2q8PBwvf766/rggw8UGhqqF154QZMnT87Sz8GDB/XEE08oOjpacXFxunDhgqKjozVnzhy9+OKLevLJJ/Xmm2/q0KFD6tatmzIzM2/5c9i+fbu8vb1VqVIlm/F69epZ1wO4B+T3oSSgILjd6aobVq1aZUgyJBkTJ07M8fze3t5Gnz59soz/97//NSQZK1eutKvfWxk5cqQhyfD29jbatWtnvPPOO0ZSUlKW7W51uqpZs2aGJGPatGk247NnzzZcXFyM9evX24xPmzbNkGR8//331rErV65kmbdNmzZG2bJlbcbCw8MNScYPP/xgHbvxc/by8jJ+++036/i///1vQ5KxZs2aW/4M2rdvn6WOYfx1yk2S8dprr91yfwDmwJEcwA7FihWzHo1p3bp1jvf7888/5eHhkWXc09PTut5R3nzzTc2dO1e1atXSqlWr9MYbbygyMlK1a9fW3r17czyPh4eHevfubTO2YMECVapUSRUrVtS5c+esS4sWLSRJa9assW7r5eVl/XdKSorOnTunZs2a6fDhw0pJSbGZt3LlymrYsKH1df369SVJLVq0UFhYWJbxw4cP37L3vPx5Ayi43PK7AeBukZGRof79+yskJESXLl3SoEGDtHr16hzt6+Xlle11N1evXrWuv5mUlBSbP8ru7u4qVqzYLes9/vjjevzxx5WamqrNmzcrISFBc+fOVXR0tH766SfrH/tbKVWqlNzd3W3GDhw4oL1796pEiRLZ7nPmzBnrv7///nvFxsZq48aNunLlSpb35O/vb3399yAjybouNDQ02/ELFy7csvc7+XkDMA9CDpBDH374obZv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MGGCXFxc1LVrV6WlpalNmzaaMmVKfrcFAECBkZycbHNpxq2O4tzQp08f6+mhyZMnZ1kfHR2t8PBwTZ8+XSEhIcrMzFTVqlV17do1SX9d23PkyBGtWLFC33zzjbp166aoqCh9+eWX1jlatWqlzz//XKtWrVKPHj2s45cuXdKzzz6rQYMGZakbFhamX375Jedv/jYKVMj5+6EySfL09NTkyZOz/Q8AAACUq+tP27Ztq2vXrslisahNmzY2637//Xft379f06dPV9OmTSX9daFwdnW7d++u7t2765FHHlHbtm11/vx5FStWTJLUsWNHRUdH64knnpCrq6see+wxSX8FpD179qhcuXLZ9laxYkVdv35dSUlJ1tNV+/fvz3KNbk4UqJADAACcz9XVVXv37rX++++KFi2qgIAAffLJJwoODtbRo0f12muv2Wwzfvx4BQcHq1atWnJxcdGCBQsUFBSU5ZTSww8/rNmzZ+upp56Sm5ubHnnkEb366qtq0KCBBgwYoGeeeUbe3t7as2ePVq9erY8//th6CuzZZ5/V1KlT5ebmpiFDhsjLy8vu90nIAQDgHnSzoz8uLi6aN2+eBg0apKpVq6pChQqaNGmSHnzwQes2vr6+GjdunA4cOCBXV1fVrVtX//vf/+TikvWm7UceeUSZmZl66qmn5OLioi5dumjdunV644031LRpUxmGofvuu0/du3e37hMfH69nnnlGzZo1U2BgoN5++22NGDHC7vdoMQzDsHuvu0hqaqr8/f1V/fWlcvX0zu92nGZe99J5Wu+xL47laT0A2eOz71gZVy9r17sdlZKS4rSvILnxdykpKUk+Pj65nufSpUuKjIx0aq93u3x/rAMAAIAzEHIAAIApEXIAAIApEXIAAIApEXIAAIApEXIAAIApEXIAAIApEXIAAIApEXIAAIAp8VgHk5h+dkYeV2xz+00AOB2ffeDmOJIDAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMiZADAABMyS2/G4Bj9CvRN0/rJepYntYDkD0++8DNcSQHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYklt+NwDHmH52Rh5XbJPH9QBkh8/+3Svh3Gfy+NMj1/unXU6TJNWtW1eurq6KiYlRTEyMo9ozBUIOAAB3sS1btsjPzy+/2yiQOF0FAABMiZADAABMiZADAABMiZADAABMye6QM2rUKGVmZmYZT0lJ0eOPP+6QpgAAAO6U3SFnxowZatKkiQ4fPmwdW7t2rapVq6ZDhw45tDkAAIDcsjvk7Nq1S6VLl1bNmjU1ffp0DRs2TK1bt9ZTTz2lH374wa65pk6dqurVq8vPz09+fn5q2LChVqxYYV1/9epVxcTEKCAgQD4+PuratatOnz5tb8sAAOAeZPf35BQtWlTz58/X66+/rmeffVZubm5asWKFWrZsaXfx0qVLa8yYMSpfvrwMw9CsWbPUqVMnbd++XVWqVNGLL76o//73v1qwYIH8/f01YMAAdenSRd9//73dtQAAwL0lVxcef/TRR/rwww/1+OOPq2zZsho0aJB27txp9zzR0dF66KGHVL58ed1///1655135OPjo02bNiklJUUzZszQ+PHj1aJFC0VGRio+Pl4//PCDNm3alJu2AQDAPcTukNO2bVu9+eabmjVrlubMmaPt27frgQceUIMGDTRu3LhcN5KRkaF58+bp8uXLatiwoZKSkpSenq6oqCjrNhUrVlRYWJg2btx403nS0tKUmppqswAAgHuP3SEnIyNDu3bt0iOPPCJJ8vLy0tSpU/Xll19qwoQJdjewe/du+fj4yMPDQ88995wWLVqkypUr69SpU3J3d1eRIkVstg8MDNSpU6duOl9cXJz8/f2tS2hoqN09AQCAu5/dIWf16tUKCQnJMt6+fXvt3r3b7gYqVKigHTt2aPPmzXr++efVs2dP7dmzx+55bhg+fLhSUlKsS3Jycq7nAgAAd69cXZOzfv16Pfnkk2rYsKGOHz8uSZo9e7b27dtn91zu7u4qV66cIiMjFRcXpxo1aujDDz9UUFCQrl27posXL9psf/r0aQUFBd10Pg8PD+vdWjcWAABw77E75Hz11Vdq06aNvLy8tH37dqWl/fWo95SU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+fLl8vHxUXp6ujIzM/XEE09o1KhRiomJuek+e/fulZubm+rXr28dCwgIUIUKFbR3796b7teqVSuFh4erbNmyatu2rdq2bauHH35YhQsXtvMd5l6OQs6ECRPUo0cPeXp6asKECTfdzmKxEHIAAMhDfn5+NiHnVpo3b66pU6fK3d1dISEhcnPL9Qmd2/L19dW2bdu0du1aff311xo5cqRGjRqlLVu25NlFzjl6d0eOHMn23wAA4O7h7e2tcuXK2bVPpUqVdP36dW3evNl6uur333/X/v37VblyZUmSu7u7MjIysuzr5uamqKgoRUVFKTY2VkWKFNG3336rLl263PmbyQG77q5KT0/Xfffdd8vDUwAAwDzKly+vTp06qV+/ftqwYYN27typJ598UqVKlVKnTp0kSWXKlNGlS5eUmJioc+fO6cqVK1q+fLkmTZqkHTt26LffftNnn32mzMxMVahQIc96tyvkFCpUSFevXnVWLwAAoACKj49XZGSkOnTooIYNG8owDP3vf/9ToUKFJEmNGjXSc889p+7du6tEiRIaN26cihQpooULF6pFixaqVKmSpk2bps8//1xVqlTJs77tPhkXExOjsWPH6tNPP3XquTwAAOA4t/pG43+uW7t2rc3rokWL3vYB3FOnTtXUqVNvOU9eszulbNmyRYmJifr6669VrVo1eXt726xfuHChw5oDAADILbtDTpEiRXh8AwAAKPDsCjnXr19X8+bN1bp1a5sv/AEAACho7Lrw2M3NTc8995zS0tKc1Q8AAIBD2P2Aznr16mn79u3O6AUAAMBh7L4m54UXXtBLL72kY8eOKTIyMsuFx9WrV3dYcwAAALlld8h57LHHJNk+o8piscgwDFkslmy/8RAAACCv2R1yeKwDAAC4G9gdcsLDw53RBwAAgEPl+iuL9+zZo6NHj+ratWs24x07drzjpgAAAO6U3SHn8OHDevjhh7V7927rtTjSX9flSOKaHAAAUCDYfQv54MGDFRERoTNnzqhw4cL6+eef9d1336lOnTr5/owKAACAG+w+krNx40Z9++23Kl68uFxcXOTi4qImTZooLi5OgwYN4jt0AABAgWD3kZyMjAz5+vpKkooXL64TJ05I+uuC5P379zu2OwAAgFyy+0hO1apVtXPnTkVERKh+/foaN26c3N3d9cknn6hs2bLO6BEAAMBudoecf/3rX7p8+bIkafTo0erQoYOaNm2qgIAAffHFFw5vEAAAIDfsPl3Vpk0bdenSRZJUrlw57du3T+fOndOZM2fUokULu+aKi4tT3bp15evrq5IlS6pz585ZTnldvXpVMTExCggIkI+Pj7p27arTp0/b2zYAALjH2B1yUlJSdP78eZuxYsWK6cKFC0pNTbVrrnXr1ikmJkabNm3S6tWrlZ6ertatW1uPFEnSiy++qGXLlmnBggVat26dTpw4YQ1ZAAAAN5OrZ1dFR0frhRdesBmfP3++li5dqv/97385nmvlypU2rxMSElSyZEklJSXpgQceUEpKimbMmKG5c+dajxLFx8erUqVK2rRpkxo0aGBv+wAA4B5h95GczZs3q3nz5lnGH3zwQW3evPmOmklJSZH015EhSUpKSlJ6erqioqKs21SsWFFhYWHauHFjtnOkpaUpNTXVZgEAAPceu0NOWlqarl+/nmU8PT1df/75Z64byczM1JAhQ9S4cWNVrVpVknTq1Cm5u7urSJEiNtsGBgbq1KlT2c4TFxcnf39/6xIaGprrngAAwN3L7pBTr149ffLJJ1nGp02bpsjIyFw3EhMTo59++knz5s3L9RySNHz4cKWkpFiX5OTkO5oPAADcney+Juftt99WVFSUdu7cqZYtW0qSEhMTtWXLFn399de5amLAgAFavny5vvvuO5UuXdo6HhQUpGvXrunixYs2R3NOnz6toKCgbOfy8PCQh4dHrvoAAADmYfeRnMaNG2vjxo0qXbq05s+fr2XLlqlcuXLatWuXmjZtatdchmFowIABWrRokb799ltFRETYrI+MjFShQoWUmJhoHdu/f7+OHj2qhg0b2ts6AAC4h9h9JEeSatasqblz595x8ZiYGM2dO1dLliyRr6+v9Tobf39/eXl5yd/fX3379tXQoUNVrFgx+fn5aeDAgWrYsCF3Vv3D9LMz8rhimzyuByA7fPaBm8tVyMnIyNCiRYu0d+9eSVLlypXVqVMnubnZN93UqVMl/XVn1t/Fx8erV69ekqQJEybIxcVFXbt2VVpamtq0aaMpU6bkpm0AAHAPsTvk/Pzzz+rYsaNOnTqlChUqSJLGjh2rEiVKaNmyZdY7o3LCMIzbbuPp6anJkydr8uTJ9rYKAADuYXZfk/PMM8+oSpUqOnbsmLZt26Zt27YpOTlZ1atXV//+/Z3RIwAAgN3sPpKzY8cObd26VUWLFrWOFS1aVO+8847q1q3r0OYAAAByy+4jOffff3+2D8g8c+aMypUr55CmAAAA7lSOQs7fH5EQFxenQYMG6csvv9SxY8d07NgxffnllxoyZIjGjh3r7H4BAAByJEenq4oUKSKLxWJ9bRiGunXrZh27cQFxdHS0MjIynNAmAACAfXIUctasWePsPgAAABwqRyGnWbNmzu4DAADAoey+u+q777675foHHngg180AAAA4it0h55/fTizJ5nodrskBAAAFgd23kF+4cMFmOXPmjFauXKm6devm+inkAAAAjmb3kRx/f/8sY61atZK7u7uGDh2qpKQkhzQGAABwJ+w+knMzgYGB2r9/v6OmAwAAuCN2H8nZtWuXzWvDMHTy5EmNGTNGNWvWdFRfsFO/En3ztF6ijuVpPQDZ47MP3JzdIadmzZqyWCxZniDeoEEDzZw502GNAQAA3Am7Q86RI0dsXru4uKhEiRLy9PR0WFMAAAB3yu6QEx4e7ow+AAAAHCrHFx5v3LhRy5cvtxn77LPPFBERoZIlS6p///5KS0tzeIMAAAC5keOQM3r0aP3888/W17t371bfvn0VFRWl1157TcuWLVNcXJxTmgQAALBXjkPOjh071LJlS+vrefPmqX79+po+fbqGDh2qSZMmaf78+U5pEgAAwF45DjkXLlxQYGCg9fW6devUrl076+u6desqOTnZsd0BAADkUo5DTmBgoPXOqmvXrmnbtm1q0KCBdf0ff/yhQoUKOb5DAACAXMhxyHnooYf02muvaf369Ro+fLgKFy6spk2bWtfv2rVL9913n1OaBAAAsFeObyF/66231KVLFzVr1kw+Pj6aNWuW3N3dretnzpyp1q1bO6VJAAAAe+U45BQvXlzfffedUlJS5OPjI1dXV5v1CxYskI+Pj8MbBAAAyA2HPIVckooVK3bHzQAAADiKw55CDgAAUJAQcgAAgCkRcgAAgCnZfU0OAAC4c+vWtZSrp3eu98+4elnSh6pbt65cXV0VExOjmJgYxzVoAoQcAADuYlu2bJGfn19+t1EgcboKAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEiEHAACYEk8hN4npZ2fkccU2eVwPQHb4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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pusch_config.dmrs.num_cdm_groups_without_data = 3\n", "PUSCHTransmitter(pusch_config).pilot_pattern.show(stream_ind = 0);\n", "print(\"Available antenna ports:\", pusch_config.dmrs.allowed_dmrs_ports)" ] }, { "cell_type": "markdown", "id": "1d723977", "metadata": {}, "source": [ "The second parameter that controls the number of available DMRS ports is the ``length``, which can be equal to either one or two.\n", "Let's see what happens when we change it to two." ] }, { "cell_type": "code", "execution_count": 20, "id": "cbc1719f", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:17.990774Z", "iopub.status.busy": "2026-02-13T15:50:17.990641Z", "iopub.status.idle": "2026-02-13T15:50:18.247125Z", "shell.execute_reply": "2026-02-13T15:50:18.246408Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Available DMRS ports: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n" ] }, { "data": { "image/png": "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7typpUuX6uTJk4qOjtb8+fP1+OOP33bfkJAQnT59Otv49bHQ0NCb7jt48GC7e/S0atXKdlHu7fj7+6tdu3Zq166dChUqpDlz5mjr1q1q1arVbfe9URCwWq2qWbOmpk6desN9roeSI0eOqG3btqpSpYqmTp2qsLAweXp66t///rfee++9bNfUuLu73/B4Nxs3bnPni5CQEK1bt06GYchisdjGc/LzBmAehBwgB5KSkhQTE6Nu3bqpW7duslqtmjNnjoYOHarOnTvbzUrcSJ06dbRp0yZZrVa7i4+3bt2qwoUL67777rvpvq+//rqeeOIJ2+tixYrl6j00aNBAc+bMsf2h//sf/5yqUKGCdu/erbZt295y/2+++UYZGRlavny53SzN309nuVKdOnX06aefat++fapWrZptfOvWrbb1AMyPa3KAHHj55ZdlGIY++OADSZKbm5tmzpypCxcu2L5afSuPPvqozp49q8WLF9vGLly4oC+//FJRUVE3vH7kumrVqikyMtK21K9f/6bbpqen3/Tr0StXrpQkVa5cWZJsNy+8fPnybfu/rkePHjp58qRmzZqVbd2ff/6ptLQ0Sf+dgfn7jEtycrLi4uJyXOtOdOvWTYUKFdLHH39sGzMMQzNnzlTp0qXVrFmzu9IHgLzFTA5wG0uWLNGyZctsX4O+rm7duoqOjtaHH36ofv362e47cyOPPvqomjRpov79++uXX36x3fE4KytL48aNc1qv6enpatasmZo0aaKOHTsqLCxMly9f1tKlS7Vp0yZ1795ddevWlfTXrEzRokU1c+ZM+fn5ydfXV40bN1ZERMRNj//kk09q0aJFeuGFF7Ru3To1b95cWVlZ2r9/vxYtWqTVq1erQYMGat++vTw9PRUVFaXnn39eqampmjVrlkqVKnXD03bOVqZMGQ0ZMkRvv/22MjMz1bBhQ9vPYN68eTc9DQbAZPL0u11APnGzr5D/8ccfRpkyZYw6derc8C65KSkpRmhoqFGvXr3b3kX34sWLxtNPP20EBgYahQsXNlq1amVs377dae/BMP664/GsWbOM7t27G+Hh4YaXl5dRuHBho27dusbbb79tZGRk2G2/bNkyo1q1aoaHh4fd18lbtWplVK9e/YY1rl69akyePNmoXr264eXlZRQrVsyoX7++MW7cOCM5Odm23fLly41atWoZ3t7eRrly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fPnyrugRAADAYQ6HnH/84x9KS0uTJI0fP15dunRRy5YtFRgYqIULFzq9QQAAgNxwOOR06NDB9u+KFStq//79unjxoooVK2b7hhUAAEBec/ianOTkZF28eNFurHjx4rp06ZJSUlKc1hgAAMCdcDjk9OrVSwsWLMg2vmjRIttzrQAAAPKawyFn69atatOmTbbx1q1ba+vWrU5pCgAA4E45HHIyMjJ07dq1bOOZmZn6888/ndIUAADAnXI45DRq1EiffPJJtvGZM2eqfv36TmkKAADgTjn87ao333xTkZGR2r17t9q2bStJWrt2rbZv365vv/3W6Q0CAADkhsMzOc2bN9eWLVtUpkwZLVq0SN98840qVqyoPXv2qGXLlq7oEQAAwGEOz+RIUp06dTR//nxn9wIAAOA0uQo5WVlZWrJkifbt2ydJqlatmrp16yYPj1wdDgAAwOkcTiU///yzunbtqjNnzqhy5cqSpMmTJ6tkyZL65ptvVKNGDac3CQAA4CiHr8l55plnVL16dZ04cUKJiYlKTExUUlKSatWqpeeee84VPQIAADjM4ZmcXbt2aceOHSpWrJhtrFixYpo4caIaNmzo1OYAAAByy+GZnPvuu09nz57NNn7u3DlVrFjRKU0BAADcqRyFnJSUFNsSGxurQYMG6auvvtKJEyd04sQJffXVVxoyZIgmT57s6n4BAAByJEenq4oWLSqLxWJ7bRiGevToYRszDEOSFBUVpaysLBe0CQAA4JgchZx169a5ug8AAACnylHIadWqlav7AAAAcCqHv121cePGW66///77c90MAACAszgcclq3bp1t7O/X67jympxJkyZp5MiRGjx4sKZNm+ayOgAAoOBz+Cvkly5dslvOnTunVatWqWHDhi59Cvn27dv1z3/+U7Vq1XJZDQAAYB4Oz+QEBARkG2vXrp08PT01dOhQJSQkOKWxv0tNTVWfPn00a9Ysvfnmm04/PgAAMB+HZ3JuJigoSAcOHHDW4exER0erc+fOioyMvO22GRkZdvf1SUlJcUlPAAAgf3N4JmfPnj12rw3D0OnTpzVp0iTVqVPHWX3ZLFiwQImJidq+fXuOto+NjdW4ceOc3gcAAChYHA45derUkcVisd0A8LomTZpo9uzZTmtMkpKSkjR48GCtWbNG3t7eOdpn5MiRGjp0qO11SkqKwsLCnNoXAADI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3Fjh4eFatGiRnn76aZfUtFqtatCggd566y1JUt26dfXTTz9p5syZLg85n332mTp16qTQ0FCX1Vi0aJHmzZun+fPnq3r16tq1a5eGDBmi0NBQl76/uXPnasCAASpdurTc3d1Vr1499e7dWwkJCS6reS/KzMxUjx49ZBiGZsyY4dJabdq00a5du3ThwgXNmjVLPXr00NatW1WqVCmX1kX+wOmq/1GiRAm5u7vr7NmzduNnz55VcHBwHnXlfAMHDtSKFSu0bt06lSlTxuX1PD09VbFiRdWvX1+xsbGqXbu23n//fZfUSkhI0Llz51SvXj15eHjIw8NDGzZs0PTp0+Xh4aGsrCyX1L2uaNGiuu+++3T48GGX1QgJCckWEKtWrery02S//fabvvvuOz3zzDMurTNs2DCNGDFCvXr1Us2aNfXkk0/qlVdeUWxsrEvrVqhQQRs2bFBqaqqSkpK0bds2ZWZmqnz58i6te/13i9l/70j/DTi//fab1qxZ49JZHEny9fVVxYoV1aRJE3322Wfy8PDQZ5995tKayD8IOf/D09NT9evX19q1a21jVqtVa9eudfk1JHeDYRgaOHCglixZou+//14RERF50ofValVGRoZLjt22bVvt3btXu3btsi0NGjRQnz59tGvXLrm7u7uk7nWpqak6cuSIQkJCXFajefPm2b76f/DgQYWHh7uspiTFxcWpVKlS6ty5s0vrpKeny83N/teTu7u7rFarS+te5+vrq5CQEF26dEmrV69Wt27dXFovIiJCwcHBdr93UlJStHXrVlP83rnuesA5dOiQvvvuOwUGBt71Hlz5uwf5D6erbmDo0KHq27evGjRooEaNGmnatGlKS0tT//79XVIvNTXV7v/1Hzt2TLt27VLx4sVVtmxZp9aKjo7W/PnztWzZMvn5+dnO9wcEBMjHx8epta4bOXKkOnXqpLJly+qPP/7Q/PnztX79eq1evdol9fz8/LJdY+Tr66vAwECXXHv02muvKSoqSuHh4Tp16pRiYmLk7u6u3r17O73Wda+88oqaNWumt956Sz169NC2bdv0ySef6JNPPnFZTavVqri4OPXt21ceHq791REVFaWJEyeqbNmyql69unbu3KmpU6dqwIABLq27evVqGYahypUr6/Dhwxo2bJiqVKnilM/+7T7nQ4YM0ZtvvqlKlSopIiJCo0ePVmhoqLp37+6ymhcvXtTx48dt96q5HpyDg4NzNYN0q3ohISF69NFHlZiYqBUrVigrK8v2+6d48eLy9PR0ar3AwEBNnDhRXbt2VUhIiC5cuKCPPvpIJ0+edNmtD5AP5fG3u/KtDz74wChbtqzh6elpNGrUyPjxxx9dVmvdunWGpGxL3759nV7rRnUkGXFxcU6vdd2AAQOM8PBww9PT0yhZsqTRtm1b49tvv3VZvRtx5VfIe/bsaYSEhBienp5G6dKljZ49exqHDx92Sa2/++abb4waNWoYXl5eRpUqVYxPPvnEpfVWr15tSDIOHDjg0jqGYRgpKSnG4MGDjbJlyxre3t5G+fLljTfeeMPIyMhwad2FCxca5cuXNzw9PY3g4GAjOjrauHz5slOOfbvPudVqNUaPHm0EBQUZXl5eRtu2be/4Z327mnFxcTdcHxMT4/R617+mfqNl3bp1Tq/3559/Gg899JARGhpqeHp6GiEhIUbXrl2Nbdu25aoWCiaLYbj4FqIAAAB5gGtyAACAKRFyAACAKRFyAACAKRFyAACAKRFyAACAKRFyAACAKRFyAACAKRFyANwV69evl8Vi0eXLl+/oOOXKldO0adOc0hMAcyPkAHcgKSlJAwYMUGhoqDw9PRUeHq7Bgwfr999/t9uudevWslgs2ZZr165lW+/l5aXSpUsrKipKixcvzlbz+nY//vij3XhGRoYCAwNlsVi0fv36m/Z8/vx5vfjiiypbtqy8vLwUHBysDh066IcffrjzHwgA5COEHCCXjh49qgYNGujQoUP64osvdPjwYc2cOdP2MNeLFy/abf/ss8/q9OnTdsvfnwF1ff2RI0f09ddfq1q1aurVq5eee+65bLXDwsIUFxdnN7ZkyRIVKVLktn0/8sgj2rlzp+bMmaODBw9q+fLlat26dbZgBgAFHSEHyKXo6Gh5enrq22+/VatWrVS2bFl16tRJ3333nU6ePKk33njDbvvChQvbHnx4owcgXl9fpkwZNWnSRJMnT9Y///lPzZo1S999953dtn379tWCBQv0559/2sZmz56tvn373rLny5cva9OmTZo8ebLatGmj8PBwNWrUSCNHjlTXrl0lSQMGDFCXLl3s9svMzFSpUqX02WefSfpr5unll1/WkCFDVKxYMQUFBWnWrFm2B9n6+fmpYsWKWrlyZbYefvjhB9WqVUve3t5q0qSJfvrpJ7v1X3/9tapXry4vLy+VK1dO77777i3fEwDcDCEHyIWLFy9q9erVeumll7I9vT04OFh9+vTRwoULdaePhuvbt6+KFSuW7bRV/fr1Va5cOX399deSpOPHj2vjxo168sknb3m8IkWKqEiRIlq6dKkyMjJuuM0zzzyjVatW6fTp07axFStWKD09XT179rSNzZkzRyVKlNC2bdv08ssv68UXX9Rjjz2mZs2aKTExUe3bt9eTTz6p9PR0u+MPGzZM7777rrZv366SJUsqKipKmZmZkqSEhAT16NFDvXr10t69ezV27FiNHj1a8fHxOf6ZAcB1hBwgFw4dOiTDMFS1atUbrq9ataouXbqk8+fP28Y+/vhjW8goUqSIXn311dvWcXNz03333adff/0127oBAwZo9uzZkqT4+Hg9+OCDKlmy5C2P5+Hhofj4eM2ZM0dFixZV8+bNNWrUKO3Zs8e2TbNmzVS5cmXNnTvXNhYXF6fHHnvM7nRY7dq19Y9//EOVKlXSyJEj5e3trRIlSujZZ59VpUqVNGbMGP3+++92x5akmJgYtWvXTjVr1tScOXN09uxZLVmyRJI0depUtW3bVqNHj9Z9992nfv36aeDAgXr77bdv+7MCgP9FyAHugCMzNX369NGuXbtsy8iRI3Ncw2KxZBt/4okntGXLFh09elTx8fEaMGBAjo73yCOP6NSpU1q+fLk6duyo9evXq169enazJc8884ztmp+zZ89q5cqV2Y5fq1Yt27/d3d0VGBiomjVr2saCgoIkSefOnbPbr2nTprZ/Fy9eXJUrV9a+ffskSfv27VPz5s3ttm/evLkOHTqkrKysHL0/ALiOkAPkQsWKFWWxWGx/nP/Xvn37VKxYMbuZlYCAAFWsWNG2lChR4rZ1srKydOjQIUVERGRbFxgYqC5duujpp5/WlStX1KlTpxz37+3trXbt2mn06NH6z3/+o379+ikmJsa2/qmnntLRo0e1ZcsW/etf/1JERIRatmxpd4xChQrZvbZYLHZj14OZ1WrNcV8A4EyEHCAXAgMD1a5dO3388cd2F/9K0pkzZzRv3jz17NnzhjMwjpgzZ44uXbqkRx555IbrBwwYoPXr1+upp56Su7t7rutUq1ZNaWlptteBgYHq3r274uLiFB8fr/79++f62P/r7199v3Tpkg4ePGg77Ve1atVsX2X/4YcfdN99993R+wNwb/K4/SYAbuTDDz9Us2bN1KFDB7355puKiIjQzz//rGHDhql06dKaOHGiQ8dLT0/XmTNndO3aNZ04cUJLlizRe++9pxdffFFt2rS54T4dO3bU+fPn5e/vn6Mav//+ux577DENGDBAtWrVkp+fn3bs2KEpU6aoW7dudts+88wz6tKli7Kysm77rS1HjB8/XoGBgQoKCtIbb7yhEiVKqHv37pKkV199VQ0bNtSECRPUs2dPbdmyRR9++KE+/vhjp9UHcO8g5AC5VKlSJe3YsUMxMTHq0aOHLl68qODgYHXv3l0xMTEqXry4Q8ebNWuWZs2aJU9PTwUGBqp+/fpauHChHnrooZvuY7FYcnTa67oiRYqocePGeu+993TkyBFlZmYqLCxMzz77rEaNGmW3bWRkpEJCQlS9enWFhoY69F5uZdKkSRo8eLAOHTqkOnXq6JtvvpGnp6ckqV69elq0aJHGjBmjCRMmKCQkROPHj1e/fv2cVh/AvcNi3Ol3XAGYUmpqqkqXLq24uDg9/PDDed0OADiMmRwAdqxWqy5cuKB3331XRYsWtd0kEAAKGkIOADvHjx9XRESEypQpo/j4eLtHTwBAQcLpKgAAYEp8hRwAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQcAAJgSIQcAAJjS/wM1VFN91KzlNAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pusch_config.n_size_bwp = 1 # We reduce the bandwidth to one PRB for better visualization\n", "pusch_config.dmrs.length = 2\n", "PUSCHTransmitter(pusch_config).pilot_pattern.show(stream_ind = 0);\n", "print(\"Available DMRS ports:\", pusch_config.dmrs.allowed_dmrs_ports)" ] }, { "cell_type": "markdown", "id": "9fe17ece", "metadata": {}, "source": [ "The pilot pattern is now composed of four 2x2 blocks within a PRB. These blocks are used by the four DMRS ports within the same CDM group. This means that we can now support up to twelve layers! \n", "\n", "Let's create a setup with three transmitters, each sending four layers using four antenna ports. We choose the DMRS ports for each transmitters such that they belong to the CDM group. This is not necessary and you are free to choose any desired allocation. \n", "It is however important to understand, that for channel estimation to work, the channel is supposed to be static over 2x2 blocks of resource elements. This is in general the case for low mobility scenarios and channels with not too large delay spread. You can see from the results below that the pilot sequences of the DMRS ports in the same CDM group are indeed orthogonal over the 2x2 blocks." ] }, { "cell_type": "code", "execution_count": 21, "id": "d936f636", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.249326Z", "iopub.status.busy": "2026-02-13T15:50:18.249197Z", "iopub.status.idle": "2026-02-13T15:50:18.676379Z", "shell.execute_reply": "2026-02-13T15:50:18.675435Z" } }, "outputs": [], "source": [ "pusch_config = PUSCHConfig()\n", "pusch_config.n_size_bwp = 1\n", "pusch_config.dmrs.config_type = 2\n", "pusch_config.dmrs.length = 2\n", "pusch_config.dmrs.additional_position = 1\n", "pusch_config.dmrs.num_cdm_groups_without_data = 3\n", "pusch_config.num_antenna_ports = 4\n", "pusch_config.num_layers = 4\n", "pusch_config.dmrs.dmrs_port_set = [0,1,6,7]\n", "pusch_config.precoding = \"codebook\"\n", "pusch_config.tpmi = 4\n", "\n", "pusch_config_1 = pusch_config.clone()\n", "pusch_config_1.dmrs.dmrs_port_set = [2,3,8,9]\n", "pusch_config_2 = pusch_config.clone()\n", "pusch_config_2.dmrs.dmrs_port_set = [4,5,10,11]\n", "\n", "pusch_transmitter_multi = PUSCHTransmitter([pusch_config, pusch_config_1, pusch_config_2])" ] }, { "cell_type": "code", "execution_count": 22, "id": "c1ef3b92", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.678242Z", "iopub.status.busy": "2026-02-13T15:50:18.678108Z", "iopub.status.idle": "2026-02-13T15:50:18.681881Z", "shell.execute_reply": "2026-02-13T15:50:18.681269Z" } }, "outputs": [ { "data": { "text/plain": [ "matrix([[ True, False, False, False],\n", " [False, True, False, False],\n", " [False, False, True, False],\n", " [False, False, False, True]])" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract the first 2x2 block of pilot symbols for all DMRS ports of the first transmitter\n", "p = pusch_transmitter_multi.pilot_pattern.pilots[0].cpu().numpy()\n", "p = np.matrix(p[:, [0,1,12,13]])\n", "\n", "# Test that these pilot sequences are mutually orthogonal\n", "# The result should be a boolean identity matrix\n", "np.abs(p*p.getH())>1e-6" ] }, { "cell_type": "markdown", "id": "c31350c2", "metadata": {}, "source": [ "There are several other parameters that impact the pilot patterns. The full DMRS configuration can be displayed with the following command.\n", "We refer to the [API documentation of the PUSCHDMRSConfig class](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.PUSCHDMRSConfig.html) for further details." ] }, { "cell_type": "code", "execution_count": 23, "id": "372e465c", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.684294Z", "iopub.status.busy": "2026-02-13T15:50:18.684176Z", "iopub.status.idle": "2026-02-13T15:50:18.687073Z", "shell.execute_reply": "2026-02-13T15:50:18.686350Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PUSCH DMRS Configuration\n", "========================\n", "additional_position : 1\n", "allowed_dmrs_ports : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n", "beta : 1.7320508075688772\n", "cdm_groups : [0, 0, 0, 0]\n", "config_type : 2\n", "deltas : [0, 0, 0, 0]\n", "dmrs_port_set : [0, 1, 6, 7]\n", "length : 2\n", "n_id : None\n", "n_scid : 0\n", "num_cdm_groups_without_data : 3\n", "type_a_position : 2\n", "w_f : [[ 1 1 1 1]\n", " [ 1 -1 1 -1]]\n", "w_t : [[ 1 1 1 1]\n", " [ 1 1 -1 -1]]\n", "\r\n" ] } ], "source": [ "pusch_config.dmrs.show()" ] }, { "cell_type": "markdown", "id": "ddc22dc4", "metadata": {}, "source": [ "## Transport Blocks and MCS\n", "\n", "The modulation and coding scheme (MCS) is set in 5G NR via the MCS index and MCS table which are properties of transport block configuration [TBConfig](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.TBConfig.html). When you create an instance of ``PUSCHConfig``, a default instance of ``TBConfig`` is created. It can be accessed via the following command:" ] }, { "cell_type": "code", "execution_count": 24, "id": "8c08f4e0", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.688891Z", "iopub.status.busy": "2026-02-13T15:50:18.688764Z", "iopub.status.idle": "2026-02-13T15:50:18.694110Z", "shell.execute_reply": "2026-02-13T15:50:18.693539Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Transport Block Configuration\n", "=============================\n", "channel_type : PUSCH\n", "mcs_index : 14\n", "mcs_table : 1\n", "n_id : None\n", "num_bits_per_symbol : tensor([4], device='cuda:0', dtype=torch.int32)\n", "target_coderate : tensor([0.5400], device='cuda:0')\n", "tb_scaling : 1.0\n", "\r\n" ] } ], "source": [ "pusch_config = PUSCHConfig()\n", "pusch_config.tb.show()" ] }, { "cell_type": "markdown", "id": "c0d2301c", "metadata": {}, "source": [ "You can see that the current MCS Table is 1 and the MCS index is 14. Looking at the corresponding table in the API documentation of [TBConfig](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.TBConfig.html), you can see that we should have a 16QAM modulation (i.e., 4 bits per symbol) and a target coderate of 553/1024=0.54 which matches the values above. The data scrambling ID $n_\\text{ID}$ is set to `None` which implies that the physical layer cell id $N^\\text{cell}_\\text{ID}$ will be used instead.\n", "\n", "We can change the MCS index and table as follows:" ] }, { "cell_type": "code", "execution_count": 25, "id": "2d06067d", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.696199Z", "iopub.status.busy": "2026-02-13T15:50:18.696083Z", "iopub.status.idle": "2026-02-13T15:50:18.700443Z", "shell.execute_reply": "2026-02-13T15:50:18.699870Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Transport Block Configuration\n", "=============================\n", "channel_type : PUSCH\n", "mcs_index : 26\n", "mcs_table : 2\n", "n_id : None\n", "num_bits_per_symbol : tensor([8], device='cuda:0', dtype=torch.int32)\n", "target_coderate : tensor([0.8950], device='cuda:0')\n", "tb_scaling : 1.0\n", "\r\n" ] } ], "source": [ "pusch_config.tb.mcs_index = 26\n", "pusch_config.tb.mcs_table = 2\n", "pusch_config.tb.show()" ] }, { "cell_type": "markdown", "id": "ac404602", "metadata": {}, "source": [ "The transport block segmentation allows the PUSCH transmitter to fill resource grids of almost arbitrary size and with any of the possible DMRS configurations.\n", "The number of information bits transmitted in a single slot is given by the property ``tb_size`` of the ``PUSCHConfig``.\n" ] }, { "cell_type": "code", "execution_count": 26, "id": "1eb1b886", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.702431Z", "iopub.status.busy": "2026-02-13T15:50:18.702315Z", "iopub.status.idle": "2026-02-13T15:50:18.709601Z", "shell.execute_reply": "2026-02-13T15:50:18.709009Z" } }, "outputs": [ { "data": { "text/plain": [ "303240" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Adding more PRBs will increase the TB size\n", "pusch_config.carrier.n_size_grid = 273\n", "pusch_config.tb_size" ] }, { "cell_type": "code", "execution_count": 27, "id": "a0b5e407", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.711412Z", "iopub.status.busy": "2026-02-13T15:50:18.711297Z", "iopub.status.idle": "2026-02-13T15:50:18.718460Z", "shell.execute_reply": "2026-02-13T15:50:18.717868Z" } }, "outputs": [ { "data": { "text/plain": [ "1213032" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Adding more layers will increase the TB size\n", "pusch_config.num_antenna_ports = 4\n", "pusch_config.num_layers = 4\n", "pusch_config.tb_size" ] }, { "cell_type": "markdown", "id": "77a07cff", "metadata": {}, "source": [ "For more details about how the transportblock encoding/decoding works, we refer to the API documentation of the [TBEncoder](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.TBEncoder.html)." ] }, { "cell_type": "markdown", "id": "c8f838a3", "metadata": {}, "source": [ "## Looking into the PUSCHTransmitter\n", "\n", "We have used the ``PUSCHTransmitter`` class already multiple times without speaking about what it actually does. In short, it generates for every configured transmitter a batch of random information bits of length ``pusch_config.tb_size`` and outputs either a frequency to time-domain representation of the transmitted OFDM waveform from each of the antenna ports of each transmitter.\n", "\n", "However, under the hood it implements the sequence of layers shown in the following figure: " ] }, { "attachments": { "45dafb96-b379-4430-82c8-9df578084676.jpg": { "image/jpeg": "/9j/4AAQSkZJRgABAQABSgFKAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAAFKAAAAAQAAAUoAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAATSgAwAEAAAAAQAAAggAAAAA/8AAEQgCCAE0AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/bAEMAAgICAgICAwICAwUDAwMFBgUFBQUGCAYGBgYGCAoICAgICAgKCgoKCgoKCgwMDAwMDA4ODg4ODw8PDw8PDw8PD//bAEMBAgICBAQEBwQEBxALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/dAAQAFP/aAAwDAQACEQMRAD8A/fyiiigAooooAKKKKACiiigAooooA8h+LHxKvfAcnhHQ9BsYtS1/xprdvpFjDPI0USr5cl3dzSMqscQ2kEzgAfM4VeN2RS8efArwz8RPEUfibWNd8TafcRRRwrDpPiLU9LtSsbMwZre0niiZzuwzFSWAAJwBUXxL8W+JtB+Jnwn0DRbZJ9O8S6xf2upu0BlaG3g0m7uY3WQf6omeKNCx6htvUivcBQB5T8SfhB4f+KTac+uatr2mHTBKI/7F1zUNH3+btz532GaHzcbBt3525O3G45k8R/CTQfE/gbTPAF7quu21jpQgEdzZ61f2moyfZ0Ma+dfQTJcSlgcuXkO9vmbJ5r1KigDzDTfhRoelfDy4+GsGq63Jp1ysqNdz6zfT6oombc2zUJJWulIPCkSZUcKQMUfD/wCFGhfDjStR0fRtV1vUIdSbe76vrN9qsyHbsxFLeSyvGMc4UgZ5xmvT6KAPHfhx8E/Dfww1K61TRNa8RanLdwiFk1nX9S1iJVDBspHezyqjZGNygHHHSqei/AbwvoXjw/EK113xPPfm4uLn7Nc+I9UuNN3XIcMv2CW4a28td52J5e1MLsA2jHt1FAHiOvfAbwt4h8df8LButd8T29/59vcfZrTxJqltp262CBV+wRXC22xgg8xPL2yEsXBLHN34kfBTw38T9RtdT1vWvEWmSWkJhRNF1/UtHiYFi26SOyniV2ycbmBOOOlew5ooA8v8e/CfQ/iJo+m6JrGra5p8OmNuSTSdZvtKnkITZ++ms5YpJRjnDsRnnGeaS++E2hah8OoPhlNq2uJp0AjUXcWs30WqkRyeYN2opKLpiTwxMmWX5TkcV6jRQB5X4c+EWgeGPA+qeALLVteubHV/O825vdbv7zUY/PjEbeRfTzPcQ7QMp5cg2NllwSTTPht8H/D/AMLm1FtE1fX9T/tNYlk/trXNQ1gJ5W7Hk/bppvKJ3ndsxuwN2dox6vmigDxLwB8B/C/w419/EWja54m1Cd4XgMWr+I9U1W2CyFSSIL24ljDjaMOF3AZAOCczJ8DvDSfEL/hZQ1vxIdR+0G5+ynxDqR0vcV27f7OM/wBl2Y5CeXgHnrzXs9FAHi/jP4G+GfHPiqDxfqeueJLG7t1hVYNN8Q6lp1kRCxZS9pbTxwOST85ZDuHDZFaHxK+D3h/4pTWE+uavr+mHTlkVBouuaho6v5pUnzRYzQiUjaNpfO3JxjJz6xRQB5T4n+EHh/xX4K0jwJfatr1pY6N5PlXFjrmoWWoSeREYl+0XsEyXE+VYl/Mdt7YdssAams/hPoVl8OZfhjFquuNp0odTdyazfSaqBJJ5p26i8pugQeFIkyq/KMLxXqFFAHmHgX4UaF8PtB1Hw9pGq63fwamzO8uq6zfapcxlk8s+VPdyyyRAAZARgA3zDnms74b/AAV8OfC+/u9Q0TWvEWpvexLE6a1r+o6xGoVtwMaXs8qxt6soBI4PFewUUAeK+HPgT4Y8MeN38fWWu+Jrm+eW4lNveeItTu9Ozc7twFjNO1sFXcdiiMBMDaBgUzV/gP4a1nx6vxFm1/xPbagtzBc/ZrbxHqcGmlrcKAhsEnFr5bBB5ieXh8sWyWOfbaKAPLPDnxK/tf4p+MPhXqOn/Yb3w3babqNrKJfMW907UllRJtuxfLdLm3uImTLfKqPu+favqdeVWXiPwLN8a9X8JWulqnjK10DTr26v/IQNJpk91dx20BnzvYJNFOwQjau4kcsa9VoAKKKKACiiigD/0P38ooooAKKKKACiiigAooooAKKKKAPJPH3xLn8GePfht4MisFuk8e6pe6c8zSFDbC10261AOqhTv3G32YJGN2c8YPrdeV+OPF/g/wAP+Ofh5oHiDSjfat4m1K8tNIuRDFJ9iuYdOubqWQu5Dxh7eGSPdGCxLBSNpJHqlABRRRQAUUUUAFeA/tWapqeh/sy/FfWdFu5tP1Cx8LazPb3NvI0U0MsdnIySRyIQysrAFWBBB5Fe/Vy/jbwdoPxC8H634E8Uwtc6N4hsrjT72JXaNpLe5jMcih0IZSVYjIII7UAfmZP4n8UfCDwr8Y9Nlg1nSreDwTH4g03Qdb8Q32pTXVvYrINWvrPV47me5tncSwwiJJF8qQJMABJXvuu/tFfE3RNd8bSab4e0u48KfDzXfDui3TSXdwdSu01mDT5JZY1KeWhthfBhuZzNtK4jOC3q8P7L3wo+weK7PU4dS1mTxnpJ0LUbnUtVvb64OllWU2sEk8rm3jO4swh2bmwzZYAjqdR+B3w91O18UWdzaTiPxjqGn6pqRS5lRpLvS0tY7Z1KsCgVbOEMq4Vtp3A7myAeJR/tNapH8ddK+G6w2GsaDrWuXvh9bzTodQIsry1tLi6CTXssC2E0wNrLHPbwymSBsbs/MBV8OftC/FFtB8M/Erxroekab4L13xG3h+byZp5Ly1Sa+n02yvXYjytk9ytujR4zGsu9n+UqPU4P2aPhna+KrHxbanU4Z9K1q58QWNsup3IsbXUr4ym7litd/lD7R58u9SpA8x9gUsScf4u/A+9139n7WPgL8NYLKGy8SRXenTz6rcTOLG21F5JLi6jVUkaeaJ5N8MLNGpbAMiKKAPnL4i+IPHvxPstC+MXifQ9dvPhPYyeI4LjT/Cer3Wn6nHb294kWna7J9lntZruJraCaQ28TsyiZGSKUgkenX37Sfi/7P4i8beCtG07Vfh34O1jSdGnnlu5f7SvorxbNri9t/lMQS3S8RlRyXnKOMoSm72XxL+z34G8T+HNF8IS3esaVouiab/ZCWek6rd6ZBNYlUQwzR2skYcbYwA3DKCwVgGYHOv8A9l74RX/iBdc+w3drbNdadfz6XbX1xBpNzeaSiJZTz2KOIZHhWKLGVw3lRFwxijKgHN6P8f8AXdV8L6fr/wDZVsj3fxAvvB7pvfaLaz1S508XAOM+YywB9p+UE4ri9L/aF+Ll34M8MeJLrQdFj1D4h60NB8PWQuLjYsqSXby3d7PtO2P7JaPMsMaFy+Iy/wA2V9e/4Zq+GK+Ko/Fca6lE8OuN4kisk1O6TTo9Wk3Ga5W0Egi3SszM6lSpdmcKHZmO5qfwI+HmrfDqw+GFzb3UekaTcJd2MkF5PBe2l1FK00c8F3E6zRyK7HDBuVJQ5UkEA8a+Inx7+I3w81/wr8NtQ0/TrjxRr9vqWpT3lpaarf2UGnafJDErLa2cM1000slxGpBIjjUMxkYhEf3v4O+OtZ+JPw50jxj4i8P3PhfU7wTJc6fdJKjxS28zwMyCaOKUxSlPMhMkaO0bKWRWJUctd/s9eCr230mSfUtcbWNEmvJrTWP7YuzqcYvyDcw/aS5Jt5Cqn7OR5KlEKIpRCPX9A0W28OaJYaDZTXFxBp8EcEcl3cS3dw6xqFBlnnZ5ZXIHzO7FmPJJNAGvRRRQAUUUUAFFFFAHllnY/DhPjRq2pWkynx5LoGnxXkQkkLDSY7q6a0Yx/wCrAM7XADD5jgg8AY9Try2z8BaFa/GfVvidFqTNrGp6Dp+kS2JKbUtrG6uriKYD7+We5dST8p2jHIOfUqACiiigAooooA//0f38ooooAKKKKACiiigAooooAKKKKAPH/i1cfCvwyfDHxN+KUwso/CeqxDTr12mEVre6uraUjSiL5dji6MZaUeWm7exXAYevKysAVOQazta0XR/EekXugeILGDU9M1GGS3urW5jWaCeGVSrxyRuCroykhlIII4NcA/wh8LW3w5tPhZ4ZuNR8MaFp4hS0/sm+ntLi3igkEqRRXCsZFj42bN23y/kxs4oA9SorzbQfhpa6B4O1HwbH4g1y+i1Lzgb281Oa41CHz0CHyLpz5ke3GU2n5W5FR+AfhhafD+W+mtvEWva4b9Y1I1nVJ9RWLyyxBiExOwtu+Yj72BnoKAPTaK8e8HfByx8GeIj4jg8V+JtWkMc0X2bVNZub20xMysW8iQlNylQEbGVBIGATkHwbsV8cjx3/AMJX4mMwuzefYDrNz/Zm4oU8r7HnyvJwc+Xjbu+b73NAHsNFeO+L/gzYeMPEv/CTzeLPE+lS+XBH9m0zWrmzs8QMzA/Z42Ee5ixDtjLgANkAAanj/wCF1n8QZ7G4ufEev6GbFJUC6Nqk+nJKJSpJlWEgOV2/KTyoLY6mgD06ivNfEXwztPEnhPTPCUviHXbCPS/K23ljqc1tfzeVGY/39yhDy7s7n3febDHkUkHwxtLfwBL8Ph4h12SGbfnUX1OdtVXfL5p23pPmjB+VcHhPlHFAHpdFea+C/hnaeCdJ1TSLbxBrurrqrmRptV1Oe+uISYhFi3klJMS4XdhcDflsbiSaHw9+Edj8O7y4vbTxP4j103EEduY9b1e51KNBESwdFnYhZDnDOOWGAScCgD1mivhqwGueEf2mrTwnZeJdZvtKuJpLh7e/1Ge7jzeQzTugSRiojRuI1AxGoCrgAY+hNU+DdjqvjL/hNH8V+JraU3EFz9ht9ZuYtOzAEAT7Kp8vy32fOmMNls/eNeJk2e0sdKvGkmvZTcHe2rVtVZvTX18jChiFU5rdHY9horyX4gfCKy+IeoRahdeKPEehmK3Nv5Wi6xcabEwYk72SBgDJzgP1AAArS8cfDW18dWWm2Vz4g1zRhpjF1k0nUprCSYlNmJ3iIMoA5Abjd83XFe2bnpFFeYah8LrLUfAFl8PW8Ra/BBYi3C6hBqtxHqsn2Zw6+beq3nPvIxJuPzjIbIJy/R/hjaaP4I1HwMniLXruHUhODfXOpzzanD567T5F2x82Pb1TafkPK4oA9MorzbwH8NLXwCuoLbeIdd1v+0Nmf7Y1ObUPK8vd/qfOJ8vO75sdcD0rK8D/AAesvA2tNrdv4q8S6y7QvB5GraxcX9th2Vt4ilJUONuFbqASBwTQB69RXjsPwasIfHCeOv8AhLPE8kyXcl4LB9auTpm6RWTyzZ58owgNlYyNoIDDkA0viv4N2HizxOPFM3ivxNpki/Z/9F07Wrm0sv8ARm3DNvGwT5zxJx844bI4oA9hoyK8r+IPwosfiHeWd7deJfEOhNZRSwhNF1a406OQTMrFpUhYB3XaAjEZUEgEZOZPGfwn0Xx34X0zwlrWsa5b2enGMmTT9XvNOurkRxmPFzc2kkU0isDuYFsM3zHmgDL0z4c3MHx41v4xLfRS2Wr+G9M0JLdQTIkmn3l7cvIW+6VYXQUAcgqc+3slcz4O8G+Fvh94Y07wZ4K0yDRtE0mIQ2tpbLsiiTJOAPckkk8kkkkk101ABRRRQAUUUUAf/9L9/KKKKACiiigDzi6+LPgOy+Jtl8HbrUXj8W6jZPqNvZm3nxJaREh5RNs8nCkYPz5BIGMkV6PX4ufHPxXf3X7QX7R/xoi8VXnhPTPgz4Ks/D1rcWjwRT3Gq36teRRQzSiQRhp2jRlCBpX2Lu2qQ36l/Ae78dX/AMFPAd98Ti7eLbjQ9Ok1YyKiSG9e3Qz71jAQNvJ3BQADnHFAHrGRRkV4V8YtF+L+rXOlN8L9RFjFEkwugZUi3MSnl/fjfOAG6Y614z/wh37Wn/QwL/4FQ/8Axivjcz4sq4avKhHBVZpfajFOL0vo7/L1PPrY+UJOKpyfmkfbeRRkV8Sf8Id+1p/0MC/+BUP/AMYo/wCEO/a0/wChgX/wKh/+MVw/681v+hdX/wDAV/8AJGX9py/59S+4+28ijIr4k/4Q79rT/oYF/wDAqH/4xR/wh37Wn/QwL/4FQ/8Axij/AF5rf9C6v/4Cv/kg/tOX/PqX3H23kUZFfEn/AAh37Wn/AEMC/wDgVD/8Yo/4Q79rT/oYF/8AAqH/AOMUf681v+hdX/8AAV/8kH9py/59S+4+28ijIr4k/wCEO/a0/wChgX/wKh/+MUf8Id+1p/0MC/8AgVD/APGKP9ea3/Qur/8AgK/+SD+05f8APqX3H23kUZFfEn/CHftaf9DAv/gVD/8AGKP+EO/a0/6GBf8AwKh/+MUf681v+hdX/wDAV/8AJB/acv8An1L7j7byKMiviT/hDv2tP+hgX/wKh/8AjFH/AAh37Wn/AEMC/wDgVD/8Yo/15rf9C6v/AOAr/wCSD+05f8+pfcfbeRRkV8Sf8Id+1p/0MC/+BUP/AMYo/wCEO/a0/wChgX/wKh/+MUv9eq3/AELq/wD4Cv8A5IP7Tl/z6l9wmt/8ne6b9If/AEjlr7cHSvzm8H2PjPTv2j9DtPH9yLvWlcGWQOsmUNrKYxuVUHA9q/RkdK4PDDFOtHH1XBxbrzdno1pHR+YspnzKo7W95hRRRX6gesFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/9P9/KKKKACiiigDx6b9nz4GXPiaXxnc+ANDm12e8XUJb19Pga4kvEYslw8hUlpUJJR2yyZO0ivYelFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUmaWsjX9LbWtFvdKS6lsnu4XjWeBzHLEzDAdGUggqeazqykoNxV327iex8da5/wAne6b9If8A0jlr7bFfkDqH/Cf2vj5rK5vbuXxTb3Is1l85/PMwPlIFkJ3YYN8pz91vSv1b8IaLd+HvDenaPf3suo3VtCqzXE7tJJLKeXYsxJwWJwM8DAr8Z8JeIZYyvj4+xcU6sptvo5WSj6qzueJlFdylUVut/v6HSUUUV+1HuBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9T9/KKKKACiiigAooooAKKKKACiiigDl/GnjTwt8O/Cup+NvGupQ6RoejwtcXd1O22OKNe57kk4CqASxIABJAr57T9oT4o6rGuoeFfgF4v1HS5xuguLm50TTJJYz91/st5qEdxEGHIWaNJBnDIrZAP2hUj1b4ofAPwpqC+dpeoeL7i6uIG/1csmmaLqF5a716MIriOOZQcgSIjDlQR9VgDFAHyt/wALz+Of/Ru3if8A8HHhz/5Z0f8AC8/jn/0bt4n/APBx4c/+WdfVWBRgUAfKv/C8/jn/ANG7eJ//AAceHP8A5Z0f8Lz+Of8A0bt4n/8ABx4c/wDlnX1VgUYFAHyr/wALz+Of/Ru3if8A8HHhz/5Z0f8AC8/jn/0bt4n/APBx4c/+WdfVWBRgUAfKv/C8/jn/ANG7eJ//AAceHP8A5Z0f8Lz+Of8A0bt4n/8ABx4c/wDlnX1VgUYFAHyr/wALz+Of/Ru3if8A8HHhz/5Z0n/C8/jn/wBG7eJ//Bx4c/8AlnX1XgUYFAHwDda18Vbv4oW3xQf9njxKLm2tjEYP7X8OfPcD5I5/+QljKRllOTnJUgcGvU/+F5/HP/o3bxN/4OPDn/yzr6rwKMCuHBZbQw7qOhHl55OT85Pd/gZwpRjflW+p8q/8Lz+Of/Ru3if/AMHHhz/5Z0f8Lz+Of/Ru3if/AMHHhz/5Z19VYFGBXcaHyr/wvP45/wDRu3if/wAHHhz/AOWdH/C8/jn/ANG7eJ//AAceHP8A5Z19VYFGBQB8q/8AC8/jn/0bt4n/APBx4c/+WdH/AAvP45/9G7eJ/wDwceHP/lnX1VgUYFAHyr/wvP45/wDRu3if/wAHHhz/AOWdH/C8/jn/ANG7eJ//AAceHP8A5Z19VYFGBQB8q/8AC8/jn/0bt4n/APBx4c/+WdJ/wvn40W4M1/8As8eK1t0GXMOpeHZ5MDrtjXVAWPsOtfVeBSYFAHBfDf4meEPit4d/4SXwddPNBFNJa3MNxDJa3dndQ8S211bTKssM0ZI3I6g4IPIIJ76vlPwikej/ALZHxG0rTV8i11nwh4Z1e6jXhJL8Xmp2ZuCvTzGt4IY2bqyxoCSFXH1ZQAUUUUAFFFFAH//V/fyiiigAooooAKKKKACiiigAooooA+Vfjn/yXL9nb/sZ9Y/9RzU6+qh0r5V+Of8AyXL9nb/sZ9Y/9RzU6+qh0oAKKKKACiiigAooooA4rx14g8UeG9Kjv/Cvht/E1x5mJLdLuG0McQRmMm+chTggLtHPOegNfNehftT+KfEPw/8ACfxDsPhleLY+PJtMh0OOTVLJXuP7TV5FaTDEQiOJN77skj5VBb5a+v76N5rOeKMZZ43AHqSCBXwC3wZ8a237J/wO+H/iLwO/ijUfBcvh6TW9BSeyLstjbvHMoeeeO2cxSFW4lwdvyk8ZAPWG/agluNM8OJpHgq+uvEOv+I9R8LnS3urWLyL/AEu3ubmc/ad7QyReXbMVZWySQpCuGUenzfGXwz4R8PR6z8arzTfhvcSeY32fVdVtAPKSVYhIJQ6oQzOg46FgDya+Ebr4D/ESy0HwpJP8J31HwhpHjq81qy8EWt/p7TaTolzoM9oIWee4htAx1GVrgwxTyJGHwjkAgfRWgeA/EPiD4p/DnxpP8PpfCPh/w/4R8SaM+nX01hPJYTXN3potI8Ws9xGRLBbylTG7BV+VypbaQD6B8WfF34VeA4NMuvG/jHR/D8OtkCwfUL+3tVutwBHkmV1EnBByueoqW6+K3wxsfG1p8Nb3xbpMHi2/jEtvpEl9AuoTRlWcNHbF/MYFVZgQvQE9Aa+Cvgv8Mvi/8C4/DGs6/wDDO48c3F58PvDPheW3sbvTPtGk3mitdm4hlN7cQxm2n+0o2+GST5oyGT7pPReJvhR8UbzVda+HFr4Je4TxH8QdK8YDxh9psRbW1jZ31pfMk6NKLz7XBFbGyhSOB42TyyZVUuEAPprxZ+0P8OPDvxB8P/CzT9a03VvFesavDpdzpcOoQfbrBZrSa7E81sGMu3bEBgqOHVs4rtdD+Lnws8TaxrHh3w54w0fVNV8OhjqVpa39vPcWQjJD/aI0ctHtIIbcBggg818P6B8KPitp154U+Hs3gCWBvDvj3WvEF14siurA2txa6qmrPHdorXBvTcA3kMUyGFcMDsJiAxB8DvgL410Hw/4V8J+NfC+v2utfDTw5d6bZag+paS2h3F1NZfYpFs0tSl7JDcA+aFu40CMqM4Miq1AH334T+IHgXx4t2/gjxDp+vpYNGlw1hdRXSwtNGJY1cxMwUtGwcA8lSD0NdfXlfwO8F/8ACu/g34G8Ey2CaZc6Hoem2U9vGVYRzW9siSKXUkOQ4OWydxycnOa9UoAKKKKACiiigAooooA+VNE/5PZ8Zf8AZP8Aw3/6ddYr6rr5U0T/AJPZ8Zf9k/8ADf8A6ddYr6roAKKKKACiiigD/9b9/KKKKACiiigAooooAKKKKACiiigD5V+OnHxx/Z2Pb/hJ9XH5+HNTr6qHSvGPjZ8NNV+IehaTf+Eb+PSfGHhHUYtZ0K8nVnt0vIo5IXiuEUgtBcW80sEoHzKshdMOqkecx/tBfFTS4ksvFHwC8XtqcQ2zNpE+i39gzrwWt55NRt5HjPVTJDG+MbkU5AAPq2ivlT/hpPxp/wBEB+IX/frQ/wD5b0v/AA0n40/6ID8Qv+/Wh/8Ay3oA+qqK+VP+Gk/Gn/RAfiF/360P/wCW9L/w0n40/wCiA/EL/v1of/y3oA+qqK+VP+Gk/Gn/AEQH4hf9+tD/APlvR/w0n40/6ID8Qv8Av1of/wAt6APquivlT/hpPxp/0QH4hf8AfrQ//lvR/wANJ+NP+iA/EL/v1of/AMt6APquivlT/hpPxp/0QH4hf9+tD/8AlvR/w0n40/6ID8Qv+/Wh/wDy3oA+q6K+Tf8AhqsJcLpE/wALvF0OvuMppDx6X9ubgsMAagYeVBYfveg554qf/hpPxp/0QH4hf9+tD/8AlvXLhcdRruaozUuVuLs72a3T7NdiIVIyvyvY+q6K+VP+Gk/Gn/RAfiF/360P/wCW9H/DSfjT/ogPxC/79aH/APLeuos+q6K+VP8AhpPxp/0QH4hf9+tD/wDlvR/w0n40/wCiA/EL/v1of/y3oA+q6K+VP+Gk/Gn/AEQH4hf9+tD/APlvR/w0n40/6ID8Qv8Av1of/wAt6APquivlT/hpPxp/0QH4hf8AfrQ//lvS/wDDSfjT/ogPxC/79aH/APLegD6qor5U/wCGk/Gn/RAfiF/360P/AOW9KP2jPH9xmGx/Z/8AHrTsDsE39gwRlu26RtWIUe+DQAaGD/w2x4yPYfD/AMN/+nXWK+qq+fPgv8PfGum674l+LPxYe1HjXxiLWB7Owkeaz0rS7DzDZ6fFK6oZ2R5ppZpyieZLKwCiNUA+g6ACiiigAooooA//1/38ooooAKKKKACiiigAooooAKKKKACkwPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSqt5eWWnW0l7fzR21vENzySMERR6sx4A+tW6o6lp1nq+n3Ol6jEJ7W7jeKWNhkMjjawI9wairzcr5N+l9rid7aHw5rOu6HJ+1Xp+sx6hbtp6CHNwJUMIxaSKcvnbwSB1619yWF/p+qWqXum3EV3byZ2yROro204OGXIOCMV+UOp/CvWrL4nn4Y26lriS6WGCQrwbd/nWc9iBFlm/2lIr9UvD2h6f4Z0Sx8P6VGIrPT4UhiX/ZQYyfc9SfWvxjwlzLG16+YLEUeSPtZN6/bdrxXpbV+aPEyipOUqnMra/j2NjA9KMD0paK/aj3BMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooAKKKKACiiigAooooA//0P38ooooAKKKKACiiigAooooAKKKKAPKvjB8U7L4TeFI9ZOnTa5rGqXUOmaPpNqyLc6nqVznybaNnIReFZ5JGO2OJHkb5UNeVJ4X/bH1hF1G68f+D/Dckw3HT7fw3eamlvnny/tcmp2zTlehk8iIN1CLnAX46kt8bv2d4WOY28U6s5XtuTw5qe0/UZ4r6oHSgD5Z/wCEE/a//wCit+Fv/CMuP/l1R/wgn7X/AP0Vvwt/4Rlx/wDLqvqeigD5Y/4QT9r/AP6K34W/8Iy4/wDl1R/wgn7X/wD0Vvwt/wCEZcf/AC6r6nooA+WP+EE/a/8A+it+Fv8AwjLj/wCXVH/CCftf/wDRW/C3/hGXH/y6r6nooA+WP+EE/a//AOit+Fv/AAjLj/5dUf8ACCftf/8ARW/C3/hGXH/y6r6nooA+WP8AhBP2v/8Aorfhb/wjLj/5dUf8IJ+1/wD9Fb8Lf+EZcf8Ay6r6nooA+N5Pg3+1FL4nh8YSfFLwodWgtns0m/4QyfIhdg5H/IZ65GAc8AkdzXQ/8IJ+1/8A9Fb8Lf8AhGXH/wAuq+p6KypUIU+bkild3dur7vzEopbHyx/wgn7X/wD0Vvwt/wCEZcf/AC6o/wCEE/a//wCit+Fv/CMuP/l1X1PRWoz5Y/4QT9r/AP6K34W/8Iy4/wDl1R/wgn7X/wD0Vvwt/wCEZcf/AC6r6nooA+WP+EE/a/8A+it+Fv8AwjLj/wCXVH/CCftf/wDRW/C3/hGXH/y6r6nooA+WP+EE/a//AOit+Fv/AAjLj/5dUf8ACCftf/8ARW/C3/hGXH/y6r6nooA+WP8AhBP2v/8Aorfhb/wjLj/5dU1/BX7Ytupmt/in4Ru5EBKxTeD7uONyOgZk1ksAe5AzX1TRQB4r8IPirqHjuXXvCXjPSF8OeN/CE0MGradHP9pgKXKeZbXlpMVRpbS5UN5bsisHSSNlDxsK9qr5V0Jiv7a3jSNThX8AeGmYDoWXVdYAJ9wDivqqgAooooAKKKKAP//R/fyiiigAooooAKKKKACiiigAooooA+Vfjn/yXL9nb/sZ9Y/9RzU6+qh0r5V+Of8AyXL9nb/sZ9Y/9RzU6+qh0oAKKKKACiiigAooooAKp6hewabY3Go3TbIbWN5XY9lRSzH8hVyuE+KHhLUfH/w28VeBdI1T+w7zxFpd5p0V+IvONq93C0QmEe5NxTduA3LkjqKAPhfwT+2xq3iLwf8AAfUtY07+ydZ+IOvTabr1pdW7xSWdtErW6S7C37lZru508Ru+Qyzqo+aRTX03B+0ZokXjy8+H/iPwxrXh69jttRu7Ge9SzMGpQ6Xg3BgFvdTSxnaweMXMcJkQ7kBAbHHa9+yR4X1HVvF2u6VqDWN74jsvDsNvui8yKyu/DtwlxFdKgddzStb2okAIyIEBJrzzSf2SfEvgvVn8UWuvaVeRaZceJb0Q2mg/Z9U1Qa9DPv8At18bqR57pHeMLIEWNlUhoifLaMA7/Tf2yPBUugT+JfEvhXxD4Wsn8K3XjHTjqVvag6ppNjBHPdNbC3uZtssCzRbop/Kc7wVDLuI3k/as8D6bHrf/AAn2h614JuNI0sa3Fb6pbRPLqGnGRIRLZCymuRK/nSRxGElZleSMNGBIhPy9N+z18ZNU/ZhkvfHup/21rei/CvUfD2heHdP0xtPniutT0uGKdbwtc3K3F4DCkMZjSJEzJ8h38evXn7KniX4qaZdX/wAb/F8OoapJ4fh0TShpOl/2dBpafaLa+kneC5uLz7RO9za2+9ZG8nZF5flgPJuAOwb9rvwhp+navJ4o8K69oWs6LPosU2jzR2VzfSQ+ILz7BYzwmyu7iCRHuAyMol81Ch3IMpu+kvCutX/iHQLPWdT0W78O3V0pZ7C/MDXNuQxG2Q20s8OSBn5JGGD1zXzFZ/s1a5d+FBoniHUvDdlfJr3h7V1n8O+GxpEbw6DqEF/5MsZu52kadoSN/mBY92QjYO769oAKKKKACiiigAooooAKKKKAPlTRP+T2fGX/AGT/AMN/+nXWK+q6+VNE/wCT2fGX/ZP/AA3/AOnXWK+q6ACiiigAooooA//S/fyiiigAooooAKKKKACiiigAooooA+Vvj1/o3xj/AGetTnIS2i8WajA0h4USXPh7U0iXPq7fKPU4FfVA6CuJ+Inw98MfFHwleeDPFsDy2N2Y5A8MjQXFvPA4lguLeZCHimhkVXjkUhlYAivEl8B/tYaOi6dofxV8P6nZQALFPrXheWbUGUAAGeWz1K0gkf1ZIIwf7tAH1JRXy3/wiv7Y/wD0UbwV/wCEnf8A/wAuqP8AhFv2x/8Aoo3gr/wk7/8A+XVAH1JRXy3/AMIr+2P/ANFG8Ff+Enf/APy6o/4RX9sf/oo3gr/wk7//AOXVAH1JRXy3/wAIr+2P/wBFG8Ff+Enf/wDy6o/4Rb9sf/oo3gr/AMJO/wD/AJdUAfUlFfLf/CK/tjf9FG8Ff+Enf/8Ay6o/4RX9sf8A6KN4K/8ACTv/AP5dUAfUlFfLf/CK/tj/APRRvBX/AISd/wD/AC6o/wCEV/bG/wCijeCv/CTv/wD5dUAfUlFfB9347/abs/iDB8JpPFXhh9buNhXUB4fuhaKHjabBtv7TMh+VSv8ArhyQegxXpn/CLftj/wDRRvBX/hJ3/wD8uq8vLM5oYx1VQd/ZycJaW95b/nuY0q8Z35ejsfUlFfLf/CK/tjf9FG8Ff+Enf/8Ay6o/4RX9sf8A6KN4K/8ACTv/AP5dV6hsfUlFfLf/AAiv7Y//AEUbwV/4Sd//APLqj/hFf2x/+ijeCv8Awk7/AP8Al1QB9SUV8t/8It+2P/0UbwV/4Sd//wDLqj/hFv2x/wDoo3gr/wAJO/8A/l1QB9SUV8t/8Ir+2P8A9FG8Ff8AhJ3/AP8ALqj/AIRX9sf/AKKN4K/8JO//APl1QB9SUV8t/wDCK/tjf9FG8Ff+Enf/APy6p6eEP2vrhhDd/EzwjbwvgPJbeErvzlXuY/N1h0DY6FlYA9VPSgCr4bK3f7anjye2YSLY+BPC8E+058uWTUtYlVW9CU+bHpg19V15h8K/hVovwr0e8tLK7utY1bWbpr/VtWv3WS+1K9dQhmmZVVAFRVSOONVjijVUjVVAFen0AFFFFABRRRQB/9P9/KKKKACiiigAooooAKKKKACiiigAoopM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtZGvar/AGHo17rH2aW8FlE8xhgAMrhBkhAxALY6DIzWtmkOCMHv7VnVjJwai7Po+3mJ7aH5n6h8XvD178dLP4oRWt0NMgEeYyqeeQtu8WQN+3qwP3ulfoj4U8Qx+K/D1j4igtZrKHUIxNHFcBVlEbfdLBSwG4YI56EZ54r4R1f4CzSfHVPC0Fuy+H79jqO8AhEsw2ZYsjgEOfLA/uspr9Coo44Y1hiUIiAKqgYAA4AA9hX454U4XNoV8dLMGlH2j0ta83bma8rWt0dzxspjVUqnP3/ElopM0Zr9nPaFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWiiigAooooAKKKKAP/1P38ooooAKKKKACiiigAooooAKKKKAPnj9obxr4w0LTfC3gH4cXcemeK/iNrMeiWWoSxrMmnQrbzXt7eCNvleWG0t5fIVgUM5j3gpurOsP2TPhEkJk8QnW/EupTHfPf6pr2pz3E0h+8xC3CRRgnny4USNf4UUcVm/HP/AJLl+zt/2M+sf+o5qdfVQ6UAfOv/AAyh8CP+gDdf+DfU/wD5Ko/4ZQ+BH/QBuv8Awb6n/wDJVfRVFAHzr/wyh8CP+gDdf+DfU/8A5Ko/4ZQ+BH/QBuv/AAb6n/8AJVfRVFAHzr/wyh8CP+gDdf8Ag31P/wCSqP8AhlD4Ef8AQBuv/Bvqf/yVX0VRQB86/wDDKHwI/wCgDdf+DfU//kqj/hlD4Ef9AG6/8G+p/wDyVX0VRQB86/8ADKHwI/6AN1/4N9T/APkqj/hlD4Ef9AG6/wDBvqf/AMlV9FUUAfOf/DJ3wG3B/wDhH7jcBjd/a2pZwe2ftOce1O/4ZQ+BH/QBuv8Awb6n/wDJVfRWRRSSA+df+GUPgR/0Abr/AMG+p/8AyVR/wyh8CP8AoA3X/g31P/5Kr6KopgfOv/DKHwI/6AN1/wCDfU//AJKo/wCGUPgR/wBAG6/8G+p//JVfRVFAHzr/AMMofAj/AKAN1/4N9T/+SqP+GUPgR/0Abr/wb6n/APJVfRVFAHzr/wAMofAj/oA3X/g31P8A+SqP+GUPgR/0Abr/AMG+p/8AyVX0VRQB86/8MofAj/oA3X/g31P/AOSqq3f7JPwPuIDHb6bqdhLkFJ7PXtXtZ42HIKSxXaspB9+e/FfSlFAHzL8FvEPjHw/8QfGXwG8d6xL4kn8M2+n6vo+rXIjF5daLqhmijjvDEsaNc29zazxmRUAki8pmzIXNfTVfKmif8ns+Mv8Asn/hv/066xX1XQAUUUUAFFFFAH//1f38ooooAKKKKACiiigAooooAKKKKAPlX45/8ly/Z2/7GfWP/Uc1OvqodK+Vfjn/AMly/Z2/7GfWP/Uc1OvqodKACiiigAooooAK8h/aCeSP4C/EmSF3ikXw1rBV42ZHUiylwVZSGUjsQQR2r16szW9G0zxHo1/4e1u3W707U7eW1uYXztlhmQpIhxg4ZSQcGgDwzxl45n+H37P9h4kt9Xh0bUDZaVbWk9zp9xq++7uzDBFEljbSRT3EsruEjjRwS7DJxmvCPBv7SvxNsBFP8U7axtNN8N+M38I+Ir5rY6bsivtNt73TL/yXurkW+bi5htZIvOm3GRZA6jKD6Bj/AGY/gtHot94eXRblrC/igiaN9U1GTyvssqzW727PcFreWGRFeOWEpIhUFWGBXI+Pf2XvDWs/DvW/hZ4DitNB0TxxcxHxNJdC6v7i7t1RUleJpLgEXsqRov2mQuRgOyuwFAHgFj+0h+0N47vbTSPBtpZ6VeS6JH4pG/w/d6uZLDWr27XRrV4kv7NreRbS2DXUrF8yuQiKEO71rw78WvjXrPiTWdW8VRaX4N8O+EPDmi65rGlzW0l5qKXV5Z3U97ZC7W4jiRYHiTEvlOSAw2jIK+5+NfgX8L/iBdabqHiTR2+2aRbtZ29xZ3Vzp9wtm5UtatLZywvJbsVUtC7NGxAJUkVt6l8K/AGr2HiTTNS0eOe28X2MemaqheQC7s4onhSFyGBCiORl+XBIJyaAPyn8I/FX4yaN4d+EngjxbLLc6/8ADjXNP13xXLAzrHLpGvSRWmnp8x3SIBq0hO7IBsZCfmVc/Vmn/tDfEFvjhpegWd3aeIvAviLXtZ8OQ3EOiXWniyvdLsrq7ITUJryRb8o1nJBMY7aOLfu2yZiZD9V6t8Kfh5ri6yuqaHBN/wAJDYWumX7fMjz2dk0jW8RdSGAjaZypBBBY81x0H7OPwhsPEbeMNM0IwaxHez6nbSG7umhtL66V1nmtrcymG3M/mOZxEiiYszSBiSaAPlbwP+0R8erbwX8M/Hfj240HV7L4reHL/ULeHTtOuLGbSr+20qTVofMMl3cC4tmiiaORsRMsnl4BVzsXW/2lfjf8KNB0zVvHY0TxfP4v8Hz+INKh02yuNLNnqFu9hF9nuPMurtpreV79SJVEbJsKlWLAj1v4Vfsj+Evhj8K7Hw3Bi+8ZWvhY+HTq1xcXdzFHvtxFK1rBcSyLaxSyKryRwKgbaN2cCut+Gv7LHwj8BeFE0S70KHWLy70K30DUZr+a51FZrGOFI5LWIX0sxhtXZN5gj2oW+YgtzQB4jrHxr/aV8HeDPFtzrOj2t9d2R8Ppo+r3Ojz6PZzXeq6pHp9xaTWbXt1KVhV0lE6Sj5ZMbC0Z3/bXg+y8W2GhQ2/jfVLTWdXDymW4srNrCAqzsY1WB5rhhsTCkmQ7iC2FztHCaR8A/hZo3h+98LRaXPe6bqFzaXc0eoX97qDGWwmW4tdsl3NK6LBKitGisEXAwMV7FQAUUUUAFFFFABRRRQB8qaJ/yez4y/7J/wCG/wD066xX1XXypon/ACez4y/7J/4b/wDTrrFfVdABRRRQAUUUUAf/1v38ooooAKKKKACiiigAooooAKKKKAPlX9pVk8M678KvjBqZMfh/wD4kkudYmAJFrY6jpl5ppunwDiKGa5jaZuiR7pGIVSa+orW6try3iu7OVZ4JlDpJGQ6OrDIZWGQQR0IqSaGK4ie3nRZIpFKsrAMrKwwQQeCCOoNfMM37G37P6tt0bRtR8O2oLFbPQ9e1fRrFCzFmMdnYXcNuhLEk7Ixk8mgD6hzRmvln/hjf4Kf89PFH/hZeI/8A5YUf8Mb/AAU/56eKP/Cy8R//ACwoA+ps0Zr5Z/4Y3+Cn/PTxR/4WXiP/AOWFH/DG/wAFP+enij/wsvEf/wAsKAPqbNGa+Wf+GN/gp/z08Uf+Fl4j/wDlhR/wxv8ABT/np4o/8LLxH/8ALCgD6mzRmvln/hjf4Kf89PFH/hZeI/8A5YUf8Mb/AAU/56eKP/Cy8R//ACwoA+ps0Zr5Z/4Y3+Cn/PTxR/4WXiP/AOWFH/DG/wAFP+enij/wsvEf/wAsKAPqbNGa/NTUvhB4RsvjnZ/CSC71weG7jyy8Z8Qau1yd8DzHF4bs3I+dR0k6fKPl4r6F/wCGN/gp/wA9PFH/AIWXiP8A+WFeDkefQx0q8YRa9lNwd+rVtV5anNh8QqjlZbOx9TZozXyz/wAMb/BT/np4o/8ACy8R/wDywo/4Y3+Cn/PTxR/4WXiP/wCWFe8dJ9TZozXyz/wxv8FP+enij/wsvEf/AMsKP+GN/gp/z08Uf+Fl4j/+WFAH1NmjNfLP/DG/wU/56eKP/Cy8R/8Aywo/4Y3+Cn/PTxR/4WXiP/5YUAfU2aM18s/8Mb/BT/np4o/8LLxH/wDLCj/hjf4Kf89PFH/hZeI//lhQB9TZoyK+Wf8Ahjf4Kf8APTxR/wCFl4j/APlhUkX7HPwLV/8ATLXXdSgYMr21/wCKNdvbWVWGCstvcXzxSKQeVdSD6UAUfhhdWvj39pf4jfFDw3ILvw5p+i6N4UjvU5gudR026v7q+WF+ki2/2qOJ3UlRKHTO5GA+sayNA8P6F4V0Wy8OeGdPt9K0rTolgtrS1iWGCCJBhUjjQBVUDoAK16ACiiigAooooA//1/38ooooAKKKKACiiigAooooAKKKKACimsyopZjgDkk189X37Wf7NlhqN1pUvxG0aW6sZGhuEt7pbjypUOGR2h3qrAjBUnI7igD6Hor5w/4a7/Zt/wCh/wBO/OT/AOIo/wCGu/2bf+h/0785P/iKAPo+ivnD/hrv9m3/AKH/AE785P8A4ij/AIa7/Zt/6H/Tvzk/+IoA+j6K+cP+Gu/2bf8Aof8ATvzk/wDiKP8Ahrv9m3/of9O/OT/4igD6Por5w/4a7/Zt/wCh/wBO/OT/AOIo/wCGu/2bf+h/0785P/iKAPo+sjX11h9FvR4fkji1Pyn+zNMu+PzQPk3qCMqTweRXg/8Aw13+zb/0P+nfnJ/8RSH9rv8AZtIx/wAJ/p35yf8AxFRUhzRcb2v2E1dWPia/+J3jJ/iQnj+8hgTX7NhGY/Jby1eJGgKGPfkkZI+996v1E8IN4jk8NadN4tMX9rywq9ysKFI0d+dgBLH5QdpOeSCa/PrUviJ+zPe/HC38c/8ACd6WdEZft08eZOb+IhVXHl4w5xKfdT619Nf8Nd/s2D/mf9O/OT/4ivyfwz4XzDAVsZPHVXLmm7Xej7z9Xp+J5GV4WpTlN1H1+/z+Z9IUV84f8Nd/s2/9D/p35yf/ABFH/DXf7Nv/AEP+nfnJ/wDEV+tnsH0fRXzh/wANd/s2/wDQ/wCnfnJ/8RR/w13+zb/0P+nfnJ/8RQB9H0V84f8ADXf7Nv8A0P8Ap35yf/EUf8Nd/s2/9D/p35yf/EUAfR9FfOH/AA13+zb/AND/AKd+cn/xFH/DXf7Nv/Q/6d+cn/xFAH0fRXzh/wANd/s2/wDQ/wCnfnJ/8RUb/thfsxQbTefEjR7ONmC+Zc3H2eIE9MyShUH4kUAfSdFVrO9s9RtIb6wnS5trhFkjliYOjowyrKy5BBHII4NWaACiiigAooooA//Q/fyiiigAooooAKKKKACiiigAooooA+T/ANqKF/F118NPgldTy2+h/EnxE1jrQgdo5LjTNP0+71Oa03qQRHdNapDMP4oWkTjdkfTGheH9D8MaPZ6B4b0+30rTLCJILe1tIUgghijG1EjjQBVVQMAAYAr5t+Of/Jcv2dv+xn1j/wBRzU6+qh0oATaKNopaKAE2ijaKWvGvBP7Qnwa+Iuux+GfB3ii3v9TnjmlggKywvcR2zbJnt/ORBMsbcOYywU9cUAeybRRtFGRRkUAG0UbRRkUZoANoo2ijIrH8Q+ItB8JaHfeJvE+oQaVpOmRNPdXd1IsMEMSDLO7uQFUepoA2Noo2ivN/AXxe+HXxOnv7TwTq66hc6YkMlzC0M1vNHFc7/JlMc6RuY5fLfZIAVba20nBx2F54g0iw1fT9Bu5/Lv8AVVma2j2sfMFuFaU5A2jaGHUjPbNAGxtFG0VyGp+PfCmj+KrXwXqV95Gr3unXurRRNG+02WnyQRXMpkC7Bsa4iG0sGO7KggNh2n+PPB2rQ+HrjTNXt7qLxZb/AGrSXjcMt7B5Qn8yEjhl8pg+fQigDrdoo2ijNGaADaKNoozS5oATaKNopaKAE2iopraC5ieC4jWWOQFWVlDKQeoIPBqaigD5B+C+i6Z8J/j58Qvgh4OhWw8HvpOj+K9O02JQltplxqc95Z3lvaRrhYreR7NLgRKAqyySsOHwPr6vlTRP+T2fGX/ZP/Df/p11ivqugAooooAKKKKAP//R/fyiiigAooooAKKKKACiiigAooooA+Vfjn/yXL9nb/sZ9Y/9RzU6+qh0r5V+Of8AyXL9nb/sZ9Y/9RzU6+qh0oAKKKKACvyR+EGl+P8ASIvgvr3ja7Op6JDY663g+KCyFpHYeJJ0uYre31KRneSUS2bypbv+6jMgYSKXaDH63UmB0oA/HT4SXviPxP4GvdUm+NR8L+KpPBl/L4zjn1PVdR1DTdRubZP9MudNu2EelzWV0WKx26wq0ZdUUqqMl7w54/8ACWs2nhLSPiD4i1Hw18I9Lu9fttQ1+y8XatNpOp6zDFYvYPBr73Ed41k8U11tieVYhdxtDmRkTd+vgRQSwGC3X3xSeVHs8vaNvpjj8qAPzI+GXxg1rwbFoOp/GfXtS06213whq0OivqYuFm1AWWrXH2BmixubUptNa3laPaLiTLHZlXVYvgDp/j7xiLTX9a1LXdQ1nw38LPAep6baXGpX0NrPr9xaan50l1EJUS4ld0jEomDAkguCwUj9PSqnBIzjkfWnYFAH5TWPi/Sbf9n7Wdf+DXjfXPEXxYm0rS5fFNvd6pqV7qGnJLd241iZtKZ3WwuoInnKRW8COoXEMbbQDjf2faXvgm78aeG/Fi/Er4YaD4k8L6pqGkaRqmp+J2tv7PuXmu7hbq9ea5mVQ1tPLaIzqPs7YTc7K364BFUkgYLdfehUVRhQAPbjrQB+afxO/aBv/ihoHxj0r4TeN7HX/C9t4TW607VPDkFwt3pl/NIsRhfUYp3jluMbpkSNYpI1KhlPDN3vxa8PeLPhR4o0X/hTVxrGpa4/hXxrcWlrfanfajDe6rFDbz2fnJczNGzee7CMEqFBKJtTgfdyRxxjaihR1wBgU/FAH4t3+r+ELa7n8VfBfxZqvjTX9R+F3iOxu7rVdRvdQlh8QahfaRbwRzQ3DMlhO88j+bbRRwhdmDEoRcdbong/xZ8NfHfhK91p9SHh/wDZy1qz8JaSYgxXVbDxMPKV5IwpMgtba5sYQ4YDzEkZsAcfrqEVc7QBk5/Gl2j060Afh7H8Vdf/AOET8e6/4O8S32m2+v8Awx8YandacPEGq6xdaPrlgbeSziuLq+fFnqcMM03nW9sIvLKsGVhHHIfSvFnjLQdN0D4iSfBf4g6vq/gO08IwzeINQGuX2orpeuC/tkj+y6hNLLLBcPaG5a5ijl/d7Im8tGf5/wBSvHfgjQPiL4K17wB4ljd9I8SWVzp94sTeW7QXUZilCuOVYqx561F4u8B6D428HXPgbWhL/Zt2kSSeTIY5cQujrhxyDlBk96APzC8XeMNasLX4lWP7PPinWNd+GsUvg5b7VDqWpaqllLearcQ+IBZ6kzT3SpHYrC1z9mkY2uWdBFJk10eiWOpa7pXhDSPCXxLn1/wP4j8fWVpHJ4f1zU9Qazt4tIvpb21GsTyPcSQTyxxkgyMImZlR1cIE/UwKqjCjHU8e/NCoqAKoAA6AUAZWgaLY+G9EsNA0wzNaadBHbxG4nlupikahVMk87PLK+B8zyMzMeWJPNa9FFABRRRQB8qaJ/wAns+Mv+yf+G/8A066xX1XXypon/J7PjL/sn/hv/wBOusV9V0AFFFFABRRRQB//0v38ooooAKKKKACiiigAooooAKKKKAPnr4/+EPE2pR+DviR4J0861rvw31n+2YtNV0jk1C2mtLiwvLeJ5CEExt7l3h3MqtIiqzKrFhhQftofsxLCg134gad4ZvsfvdP1120nUbdu6zWl4sU0ZHuuD1BIwa+oqhkt4JSDLGrkeoB/nQB80/8ADaP7Jf8A0V7wv/4Nbf8A+Lo/4bR/ZL/6K94X/wDBrb//ABdfSf2K0/54J/3yP8KPsVp/zwT/AL5H+FAHzZ/w2j+yX/0V7wv/AODW3/8Ai6P+G0f2S/8Aor3hf/wa2/8A8XX0n9itP+eCf98j/Cj7Faf88E/75H+FAHzZ/wANpfsl/wDRXvC//g1t/wD4uj/htH9kv/or3hf/AMGtv/8AF19J/YrT/ngn/fI/wo+xWn/PBP8Avkf4UAfNn/DaX7Jf/RXvC/8A4Nbf/wCLo/4bR/ZL/wCiveF//Brb/wDxdfSf2K0/54J/3yP8KPsVp/zwT/vkf4UAfNn/AA2j+yX/ANFe8L/+DW3/APi6P+G0f2S/+iveF/8Awa2//wAXX0n9itP+eCf98j/Ck+x2f/PBP++R/hQB4IP2sf2am0g+IF+JegnS1ODd/bovs4O7Zgy52feIXr1461kf8No/sl/9Fe8L/wDg1t//AIuvPdbjQftcabAFAjIh+THy/wDHnL26V9qCzsz/AMsE/wC+B/hXzPDefyx0sTGUbeyqSgvNK2v4nJhcQ6jndbNo+bf+G0f2S/8Aor3hf/wa2/8A8XR/w2l+yX/0V7wv/wCDW3/+Lr6T+xWn/PBP++R/hR9itP8Angn/AHyP8K+mOs+bP+G0f2S/+iveF/8Awa2//wAXR/w2j+yX/wBFe8L/APg1t/8A4uvpP7Faf88E/wC+R/hR9itP+eCf98j/AAoA+bP+G0f2S/8Aor3hf/wa2/8A8XR/w2j+yX/0V7wv/wCDW3/+Lr6T+xWn/PBP++R/hR9itP8Angn/AHyP8KAPmz/htH9kv/or3hf/AMGtv/8AF0f8No/sl/8ARXvC/wD4Nbf/AOLr6T+xWn/PBP8Avkf4UfYrT/ngn/fI/wAKAPmz/htH9kv/AKK94X/8Gtv/APF05f2zf2VZm8qy+KegX87fcgs71Lu4kP8Adigg3yyMeyopY9hX0j9itP8Angn/AHyP8KclrbxtvjiVWHcKAaAPmf4MaXr/AIy+JPi79oPXdKuNAs/Een6bomiWF7GYb7+y9Llupxd3ULYaB7qa7cpC4DpEiGQK7MifT9FFABRRRQAUUUUAf//T/fyiiigAooooAKKKKACiiigAooooAKKw/EPiXw/4S03+2PE2o2+l2PnQW/nXMixR+dcyrDCm5iBukkdUUdSxAHJrz7xn4t+Lej68tj4M8AweI9LMcbNeS6zFYsJGZg6CFoJCdgAOdwDZwOlAHrtFebePvEfxI0F7EeAfB0PipZxIbkzaomneQV27AN8Mvmbst0xjHfPC674j+I9j4O03V9C8Hw6p4hufJ+1aW+qJbx229CZcXRiZZPLb5RhBu68dKAPSKK80sfEnxKn8BXeu3vg2C28UxCbyNGGqJJFKUciIG9EIVN64Y/uzt6c9al8E+IviLrVhqU/jbwhD4burZgLWGLU0vxcrsySzrFGIzu+XBB45z2oA9Goryf4f+Kvivr19NB8QfAlv4Utkt1kSaHWI9SLzEgGLYkERAAyd+ecYwKg0fxd8Xrvxj/ZGsfD+30/w9588f9qLrUc8nkpv8qX7KIFbMmFym/5N3U45APX6K8g13xd8XbHxeNJ0LwBb6poHnW6HU31qO3k8qTb50n2UwM2Ysthd/wA+3qM8WPiB4q+K+g30MHw/8C2/iu2eBnkmm1iPTSkwJCxbHglLAjkvnjOMGgD1esjXtJTXdFvdHkmktheRPF5sLtHJGWGA6MpBDKeQQa47xp4j+I+jabplz4L8Hw+I7y5bF3BLqaWAtl2bsrI0UglO/wCXAA4+bPYsu/EnxKi8A22vWng2CfxTJ5fm6MdURIo90m2TF75JVtifOP3Y3H5eOtRVpxnFwktHoJpNWZ+ZOoWHjez8evok9zdTeJILoWayedIZmlz5aFZN28KwIIOeEPpX6ueD9Bfwx4a07QprqW+mtIVWWeZ2kklkPLuWck8sTgdhgDivC9M8IeLNY16f4ya/4Og0vxXp1pcQ2ujrqUdxFdzooFvM12IlWMlWeM5jO3hucV6f4C8SfEnXXv18e+DYPCywLGbYxaomo+eW3bwQkMXl7cLyc53dsc/l3h1wDLJ62Kq1ZOTlJqOt/d3v6vr6HlZbl7ouTk/T0PSqK8h8GeLfi9rGvmw8Z+ALbw7pXlSuLyLWo75zKrKI08hYIzhwWJbd8uAMHOQL4t+Lp8cDRG8AWw8M/ajF/a/9tR+b9m2Eib7H5G7JfC+X5mcHOe1fqh6x69RXkPi3xb8XdJ8SLp3hLwBba/o5WAtfSa1HZOGdiJR9naByfLXBB3/OTj5etaPj/wAS/E3Qbiyj8AeC4PFUMySG4ebVU04wMpXYoV4Zd+8FiTkbcY5zwAem0V5x4g8RfEaw8Jabqvh7wfDq2vXPk/a9NfU0to7behaTFyYnWTY+FGEG7OeOlNt/EfxIk8ATa9c+DoIfFSeZ5ejDVEaJysm1M3vkhV3J85/dnB+XnrQB6TRXnHg7xF8RtX0jU7vxl4Qh8PX9sxFpbRaml8LlRGGBaVYoxES+UwQ3A3Z7Vn/D/wAVfFbX72eD4g+BbfwpbpAjxyw6xHqXmTE4aMokERUAchsnPTAoA9XoryHw94u+L1/4tOk+Ifh/b6ToPm3CjUk1qO5fy4y3kv8AZhAjZlAXK7/kzjLYzRqfi/4tWnjP+x9P+H8V94cNxDENVGsQxy+S4XzJjaPFnEZLDaJCWC5HJxQB69RVO21Cxu57m1tbmKaeycRzojqzROyhwrqCSpKMGAODgg9DVygAooooAKKKKAP/1P38ooooAKKKKACiiigAooooAKKKKAPB/i7YeCtZ8cfCjSfF+pz2048Qy3ml2KRGSDUL+y027lRLg4IVYED3CEkDzY0IO4AV7uOleVeOvDXgbWfHXw71nxPqv2HWdB1O8uNDt/Pji+23cunXNvNGEcFpdlrJLJtQgjbuPyqRXq1ABRRRQAUUUUAFFcZ8R/GEXw8+Hvifx/Pbm8i8NaXe6m8IbYZVs4HmKBsHBYJjODivlTV/2t/E3gbw14gvPif4BTSNb0rwldeMbO3sNVXULO/sLJ4o54xctb28kU0bTxbleDad/wAjPhsAH29RXzp8Yv2hdP8Ag3rSWesaPLf6fH4T8R+Kria3kHnJF4e+xloI4mUK7TC6OGMihSnOQxK5Fx8d/HXhT4aHxx8Q/BFsmqapd2NloGleH9XXV21afUdq28azzW9nHE24kyMd0axq0m8qDQB9RUV87R/Fj4l+G7HRX+Kvg3TtDvNc1+z0aFdO1ptRhEV3G7/aGkks7VgyMhUx7MHgh+1cz8Uf2l7vwJq/i/w/oHhuLXb/AMOReETbB7/7NDdXHi3VJ9Lijd1hmMKwPEHZwshZWwFGOQD6vor5v8N/tF6PajxDpvxotrT4d6x4WurC0vRcajFcafI2pxmS1a2vCsO8SlXQLJFFJuXBTBUnqLz9ov4Fadc6NZal470ezuPEFtDe2MU93HFJPa3MoghnCuQRFLKfLR2AVn+UEnigD2iivNdR+Mfwr0jxrb/DjU/Fem23ii6eGOPTXuUF0ZLhWaFPLzkNIqMUU4LBSQCAaboPxl+FHijxHeeEfDvi3TNR1mwFw01rBdRvKotJBFcHAPIhkISUjOxjhsGgD0yivnDw1+038NPGvxCk8L+DNf0rWtDs9AutbvdVtr5HitVt7mOBQ+Bs8p1aRxLvA/dnGRkjqdP/AGifgVqvhnUfGdh480abQ9IktYry9F7EILZr0qLbzXJAQTb18tmwHBBUkUAezUVg+GfFHh/xlolv4j8L30epaZd7vJuITmOQIxRip4yAwIzW9QAUUUUAFFFFAHkeh/DSbQfjR4q+J9lfJHYeK9K0q0uLBYypN9pslz/pjPu2s0kE0cJ+XdthUFiAAvrleKaf4N8W2/7Q+u/EC4nDeGb7wvpWmW8XnMSl9a3t7NcN5P3VDRTQjeOW24P3RXtdABRRRQAUUUUAf//V/fyiiigAooooAKKKKACiiigAooooA8m8efDSTxn48+HHjNdRFovgLVLzUWgMRc3X2vTbrTxGG3L5e37R5mcNnbtwM5HrNeLfEfwP4p8S/Ej4V+JtDnSHTfCWr395qitK0bS29xpV3aRoqKCJCJ5o2IYgALu6gCvaaACiiigAooooA83+Mnh3WvGHwi8b+EvDccUur61oepWVmkzBImuLm2kjiEjEMFUuw3HacDselfOut/sheFB8BvG/gXwdA9r4w8aeGX0abVNV1C81WYN5BWKE3N3LPKlskpJEcZCDJZUya+0qKAPjW28P/G/xh8SNO+LHinwPYaNN4Q8KavpdrpT6tHcrquparJaSOnnpCVhtF+xhVldDI3mEtCu3DeSab+zf8SbaLU/E/gTwxp/gODw/rmjeIfCvhCW/82wiv7KO5h1Ri1srw2S6hBdNCscIeNHQXBXe7KP0looA+QvHfg/4g/HvSdF0P4j/AA70/T/D9h4j0u8n07Ub+31I3dlAk32k3EKRtBtVzH5aCRy4yzBCNp8k8efsb251H4gaR8LvDOl+F/DHiz/hX5W30hl0kltA1ye91OUfZRG0Uv2Z0EcikOWAwQVBr9GKKAPlrXf2cvC2iaN4c0P4faKkkMPi3S9f1WXULqa9uro2TZ+0T3N4809xLHtj8ve5KhVC4CjHmPxE+AHivV/iX8Rbq/0i+8W+FPifFYwzxWuvtpK2sUVoLG4tbqHA325QGWN4i775HUooAc/edFAHyh8PvB/xJ+GXivxd4atvC8Gq6D4q159Ui12K/jimitriCGFlvIpF8557YR7ISm9XjVAzxkEV833X7Lfxh8X/AAi8F/AO9trXwnb/AA60LWtKj8QW12sq6nLd6XcaTbNHbxqJY4pVn+03SyFSkiKieb/rR+n9FAH50+O/gp8ZfjTpGp6Tq/hHTvBkf/CCyeH4ov7TS4gnvvt1rcG3/wBHi3R2MiW3liTHmbJDmFSuG19W+AHibxppGo6xceFrvS/El7qXg+O4bWNfGrfadM0PXItUnjXG6NUjHneVn55N+GVOlff9FACCloooAKKKKACiiigDxTT5fiGf2h9dguxcf8IKvhfSmsyVX7N/axvb0XeGxuMnkC3yCcAYx1Ne114np3jzxJdftE6/8M5YYhoGmeF9J1eGURt5rXl9e39vKrSbtpUR20ZVQuQSSScgD2ygAooooAKKKKAP/9b9/KKKKACiiigAooooAKKKKACiiigDgviV4X8R+LvCVzpPhDxFN4W1tJIbmzv4UEqpPbSLKiTwkr51vIV2TR7lLxswVlbDDI/4SD4q6P8ADez1jV/CdvrfjNREt3pej36LbF2k2SPBc3ywfIqfvMOA2MqNzYz6pRQB5toPivx3qXg7Utd1nwRcaRrdr532bSHvrSaW68tA0e2eJzCnmNlRvYY6tgVH4A8W+PvEs19H4z8CXPg9LZY2gee/s7wXBctvVRayOVKYBO7AO4Yzg49NooA8e8HeOfidrviI6V4o+Gt34Z03ypnGoS6nYXUe+NlCJ5VvK0uZASwO3ACndgkAqPHPxOPjn/hHT8NbsaB9rMH9tf2nYeT5GzcLj7P5v2jaT8uzbvzzjHNewUUAeO+L/HXxP0PxJ/ZPhn4aXfiTTPLgb+0YtT0+2j3SMwkTyp5VlzEACTtwwI25OQNTx/4u8f8Ahqexj8GeBLnxhHcJK07wX9nZC3ZCoRWF1IhbeCSCuQNpzjIz6dRQB5t4i8V+PNL8J6ZrWh+B7jWtYu/K+1aXHfWkElpvjLPumlcQyeWwCHYxznIyKbb+LfHsvw/m8TTeBriHxHHv26Eb+zMz7Zdi4uQ5txvT94MtwPlOG4r0uigDzXwX4s8ea/pOqXvinwPceF72zcra2s99Z3RvF8oOHWS2kdYwXJjxJg5BONuCaPw98a/EfxReXEHjX4eXXgyCKCOWOa41GxvRLI5IaILaSyFSg5LH5TnAJ5x6xQelAHz14S+Oeo+JfiZc/Da68KTadNZvdLNcNeQyqqW/3X2JyRJlCACSN3PQ46TVfHPxPs/Gf9g6d8NbrUNE+0QRf2uup2EcXkyBPMm8h5BPiLc2V27m2naDkZ8E+H3/ACdV4o+l9/K3r7cr5Hg7Oa+No1p12rxqTiraaRehw4CvKpGTl0bR5L8QPGvxI8M6hFbeC/h1deMbZ7cyvPb6lY2YSUMQItl3IjEkAEMPl5wTWl448VeOvD1lps/hLwRceK57titzDBfWlobUBNwZmuXRXBb5fkyc84xzXpFFfXHceY6j4v8AH9r4AsvE1l4Dub3xDcC387Qlv7JJ7fzXCybrl5BbN5Knc21zuAITccAu0jxb49vfBGo+IdU8C3Om69aCc2+itfWcs115a5jC3CSGBPNPA3sNv8WBXplFAHm3gPxX478SDUP+Ex8D3HhE22z7P599aXn2ndu3bfsrvs24Gd+M7uOhrJ8D+OPiZ4h1s6f4u+G934UsfIeQXk2pWF2hkVlCxeXbSPJlgSQ2No2nJyRn1+igDx2Dx18T5PHC+HpvhpdxaC13JAda/tPTzCIFVitwbcS+ftYgKEC7wWGRgEhfFfjn4naN4oGj+HPhrd+IdKP2fOpRanYW8Y81sS/uZ5Vl/cj5m+X5h93J4r2GigDyz4geMfiH4Zu7ODwX4AufGUM8UrzS2+oWVkIHQqEjK3UiFi4JIK5A2kMQcZs+LfEnxG07wxp+oeDfBqa1rl4FEtjc6lFZQ2jNEWPnXASbcquAhMUbnncARXpVFAHLeDB4wPhnTpfiCtgviN4s3q6Z5ps0lYk7IWmAkdUGF3sFLEbtq52jqaKKACiiigAooooA/9f9/KKK4j4ma/rvhX4c+KfE/hjTzq2saRpV9eWVmDg3NzbwPJFDn/bdQv40AdvkUhIAyTxX5c/8Jh8RfCWh+Ab7w38U9S8eX3xC8E6/qGpF2tZES4t9LF5Bq9lHGi/Zo4rkrbLCm5D5yZBZCx9Wm+JGq+MPGnwd8J6P4rluNN8X/D3X9R1A2NwhknmEOmC2uw6BiHBmmMbjgsW4OOAD7ptru1vbeO7s5knglAZJI2DIwPcMOCPpVjIr8rvhT/aei/so/s3aZ4b8c6tpsfi6+8O22oXEN5C0lvbPpU7SWkLSRusMTSQqu3G4H7rBsVrWfxR8b+D/AIjweBk8fXmv+FNH+Kel6G2p3zwtItpqXh6e6bS7i5SNFlEd80Co7ZkLSJEzs3BAP0zuLu1tAjXUyQiR1jUuwUM7nCqM9STwB1NWK/K34o6zdfErxT4itNX8X3kOi+FPjF4ZsLKSzu444reKfS7JWi37WAKXc7unOVnxzkba/ULSoI7PTLS0iuZLxYIkjE0riSSXYAu93/iY4yx7mgCv4h1/RvCmg6l4o8R3cen6Vo9tNeXdzKcRwW9uhklkc9lRVJJ9BVzT9QstVsLbVNPlE1reRJNFIOjxyKGVhnnBBBr82P2gdU8TePb/APaN0XXfHV/4T0n4feEiulaPZXFvbJereaZLcy6ndM6GWWN5S1oke8Rr5Ln77Apmap4s8X6toXxRu7n4lX3w9j+FnhPRbjQobNrdYcSaQt6dTuYZY3a6jluN1qIiSmIXC4kbIAP1FyKXIr8r/in43+Lup/Dz4zfFG28a614S1jwL4c0PWNP02ya2W1tL+XS0vLhJo5YJDMrudjxuSgGSoDncOw8TeN/EXwe8TfFnwh4g8c+J9Z0VfDXha/0+RZLF9VtdW17ULvTPLsp5oEgjFxNHDjzwYYWZiNkfAAP0B8UeKfDngrQL3xV4t1K30jR9Nj825u7qQRQQx5A3O7cKMkcmt0MGAIPBr8odf8efFbSvhl8fPDOoeLL6x1b4dHRdTsXi1W31a6s/tsYeSyuLprSMSRtsLNHLEXUScORsI7j4h+JviVay/H/4kWHjvWLM/DDxBpsekaXC9uNPFuum6ZeXEUsZhLyrcG4kVt8hCAgx7GySAfpRXG3fxC8FWOpXGjXOs2yX1rdWljLDvy63V8N1vAQM/vJE+cJ1CYcgKc18++MfGfx+svHuoab4c0e/m0GK8gjgmj0GyuY2gdYjIy3D67byMqlnBZrZGGDiNwFMnaXP7Nvw4ufGD+Oi2ox6m3iWHxZ+7vpUiGpwWP8AZ2Qi4HlvbfJInRxweOKAPR4fiV4GufHNz8NLTWYLjxPZW6XVzYREvLbwyco020FY94BKByCwBKggGu5yK/Kq8tPFPgLwh+1j4p8HeL9WstctvFMFtaXU0yTrbyzafpEiz+WyAM6ed5QyceSiR9tx9I+LF78RfBvxQ+H3wL0DxTq9/aeI7DW9auLu61m307UNSvLJ7SJbWK7e3dY4kWd52ggjQnAwwjV1YA/Q3IrkvEnjvwh4PvtG03xNq0Gm3PiG5az09Jm2m5uEiaZo046iNGbnHAr4P8M6z8YtZ8b/AA6+DHxW8fS6PDc6T4i1Y32k3lv9s1r7DqEFvYQSXkdukReG1m8y5ECRGSRQQNm9a9Q/Z10BvjB8IfBXi74m6pe+JNa8Ja/4km0+/uZI1kea21DUNLtrp1gjjhd0tGIjwmwbtwUkKQAfUngvxr4U+Ivhiw8aeB9Ug1rQ9UQyW13bNvilVWKEqfZgQfQiupPSuT8DeCvD3w58I6V4I8KW7W2laPCsECO7SuQOWeSRyXeR2JZ3YlmYlicmusPSgD4k+H3/ACdV4o/3b7+VvX21mvzd1LwdrPjr9oDxToWhaodIujNczeeDIPljWIFf3TK3O4d8cV6R/wAMz/Ez/oe2/wC+7z/49X4fwhnmYYeOKp4bBOrH21T3lOK67Wep87gcTVgpqFPmXM+qR9tZozXxL/wzP8TP+h7b/vu8/wDj1H/DM/xM/wCh7b/vu8/+PV9f/rTnH/Qsl/4Mgdv13Ef8+X96PtrNGa+Jf+GZ/iZ/0Pbf993n/wAeo/4Zn+Jn/Q9t/wB93n/x6j/WnOP+hZL/AMGQD67iP+fL+9H21mjNfEv/AAzP8TP+h7b/AL7vP/j1H/DM/wATP+h7b/vu8/8Aj1H+tOcf9CyX/gyAfXcR/wA+X96PtrNGa+Jf+GZ/iZ/0Pbf993n/AMeo/wCGZ/iZ/wBD23/fd5/8eo/1pzj/AKFkv/BkA+u4j/ny/vR9tZozXxL/AMMz/Ez/AKHtv++7z/49R/wzP8TP+h7b/vu8/wDj1H+tOcf9CyX/AIMgH13Ef8+X96PtrNeaeLfix4R8DeIrDw/4omex/tGFpo7hlzAu19hV2HK9RyRt9SK+cP8Ahmf4mf8AQ9t/33ef/Hq8V+I/wj8c6B4m0vw497P4p1G/geWIQiaRkRXCkHzGfaMnOSQvrXz3E/HWd4XCOtTy9xacdXKMlq0rWWrvtoYYnMcRGN/ZW+d/yP07s72z1C2jvLCdLm3mG5JI2DowPcMMgirVfJXwP+Cfj3wVcR6vrevyaXA53vpdqyyxye0xcGMH18td3+3X1rX6Hw1mmKxmFjWxeHdGT+y2n8+69Gkz08LWnOHNONmFFFFe+dJ//9D9/KCM0UUAeeeE/hH8LPAeq6trvgnwhpGgajrzFtQubCxgtprslixMzxopfLMWO7uSepNVfCnwW+EHgTVTrngnwRomgakzXDG5sNPt7abN1s8/95Git+98tN/PzbVz0Fem0UAfNPjj9lX4Q+LYNP06y8L6LpmmnxFD4g1mzTS7doNZkihuIyl3HhVkJafzN7hsMvTJyPTIvg18JIPATfC2HwXoyeDnyW0ZbCAaeSz+YSbbZ5eS/wA+dud3Oc816VRQB5nb/Bf4QWnhXUPA1n4J0WDw7qwjF5p0en26Wdx5UaRR+bCqBHKRxoikjIVVA4ArDf4N/ZPLs/CPjDWfCWi2scUNppOkppsFhZwxIEWOCN7KRkT5c43HBJxgYA9oooA8f1f4D/Czxfa6UvxO8O6f4/1HSIJLaLUdfsLO8u2jlyJAzeSqAODhgiKp9K1/EXwb+Evi/UdF1fxX4M0bWL7w5sGmT3lhBPLZCMhkEDSITGFKggKRggEcgV6TRQBy+p+CfB2tW2s2WsaHY31v4jjWLU457eORL6NU8tUuFZSJVCfKA+Rt46VDq/gDwN4gbVG13w9p+otrdkmm35uLWKU3djGXZLafep8yFTK5VGyoLsQPmOeuooA8u0j4I/Bzw/p1xo+heB9E0+xvLWOxnt7fT7eOKa1hkaWOGRFQK6JI7uqsCAzMRyTXU3Hgjwbd2+s2l1oVjLD4ilWbU0e2jZb6VY0iD3AK4lYRxRoC+TtRR0UCuoooATA9KWiigDlpvA/gy5ttXs7jQrGSDxBOt1qMbW0ZW9nRI41luAVxK4SKNQz5ICKM4UYreN/h34C+Jejjw98RPDun+JtMEiyi21K1iu4RIvRwkqsAw7Ec12VFAHmGvfBP4O+KPC2l+BvEngfQ9U8O6GUNhptzp1vLZ2hRSq+RAyGOPCkr8oHBI6GqnwQ+FVr8FvhzZfDqwuxeWthd6lPCyQi3SOK/vp7yOBI1ZgqQLMIkAONqDAA4HrVFABQelFcd4+1HxLo/hLUdW8JQRXWpWUZmSGZWZZVTl1AVlO4rnbz1xXPi8SqNKVWSbUU3pq9Oy7kzlyptnyr8Pv8Ak6rxR9L7+VvX23X5Q+G/in4qs/iXdeO9Isba61jWmeMW5VzEz3RjUBAGDclVAye/Nfqfpf8AaH9nW39rGNr3y088xAiPzcfNsBJO3OcZJ4r8o8I+IKGMpYqFBP8AiSldqytJ6fPR6dDx8mrRlGaXdv7y/RRRX6+e0FFFFABRRRQAUUUUAFFFFABTPLTeZNo3EYzjnHpmn0UAFFFFABRRRQB//9H9/KKKKACiiigAooooAKKKKACiiigArx/xn8ffg98PfEQ8JeMvFFppesGGG4+yy7zJ5VwzJE+FVuHZGCnuVPoaqfGTw5468XzeC/DnhO/l0nSZNftbvXrq1ufs10NNsEkulghYEMftF1HBFMF5MDSrxnI9qAFAHm/j74v/AA3+FzWKePtdg0U6kJDbecHPmCLbvxsVvu7lzn1pdd+Lvw48M+DtO+IGu67BZ+HtW8k2t44fy5ftCF4sYUn51GRkCvSKKAPNLH4w/DTUvAN38UbHX7ebwrYiYz6gN/kxi3cpKTld3yMCDx1FS+Cfi38OfiPYalqngjXINXtdIYJdyQh8QsU8zDblBzs54zxXo2BRgUAeT/D745/Cf4q30um/D3xLba5cwW63TpAH4gchVfLKowSRjmoNH+Pnwg1/xj/wr/R/E9rdeIfPntfsaiTzPOtd/nJygXKbGzz2Nev4FGBQB5Br3x7+EHhjxePAWveJ7Wy18zW9uLRxJ5nm3W0QrwhXLl1xz3qf4gfHL4T/AArvodN+IPiS20S5uIGuo0nD5aFCVZ/lVhgEEGvV8ClwKAPN/Gnxd+HHw703TNX8a67BpNnrLbbOSYPiZtnmYXapOdnzc9qZd/GD4aWXgC3+KN3r0EfhW78vytQIfyX86Tyo8fLu+Z/lHHWvS8CjAoA+Cfhjonw0n8deJPjLour2954C8NiW7iu0D+VDcMpeZCCob/RlLNwDw6Y5Bx9WeAfjB8Nfig9/H4B16DWm0xY2uRCH/dCXdsJ3Kv3tjYx6V6TgUYFeHkPDuFy2nOlhY2UpOT9X+iWi8kc+Hw0KSah1dzyHwZ8e/hB8QvEB8K+DPE9tqurCKWc28QkD+VAyrI3zIBhWdQeepFC/Hv4Qt45Hw0Hie2/4Sc3RsRYYk837SEMhj+7tzsBbrjHOa9fwKMCvcOg8h8W/Hv4Q+BPEi+D/ABd4nttM1l1gdbaUSbytyxSE/KhHzsCBz1FaPj/4yfDL4W3Fla+P9ft9Fl1FJJLdZg+ZFhKhyNqt90uufqK9NwKMCgDzjxD8XPhz4U8Jab478Q65BY6Dq/k/Zbtw/ly+ehkjxhS3zKCRkCm2/wAX/hvd+AJvilb69BJ4VtxIZNQAfyVEUnlOT8u75X+U8da9JwKMCgDzjwd8XPhz8QdI1PXvBmuwarYaMxS7liD7YWWMSkNuUHOwhuAeDWf8Pvjj8KPipez6f8PfEltrlxbQJcyJBvysMh2q/wAyqME9K9XwKMCgDyDw98e/hB4r8WnwJ4d8T2t9rwluITaRiTzBJaFhOvKAZQowPPao9Y/aB+DPh/xkvw+1vxbZWPiF7q3sls5mZJDdXWzyIQSu0vJ5i7QDklgBzXseBSFVPUe9AC5zRXi/hr/hY1h8b/Gmn6u1xe+Cr/TdJ1DSp5VjEdrfE3FtfWcTKAxTZDbz4cEh5XwxXCp7RQAUUUUAFFFFAH//0v38ooooAKKKKACiiigAooooAKKKKAPEfiX8O9d8XfEr4T+LtLkgSx8Eazf6hfCV2WRornSLyxQQgKQzebcISGKgKCck4B9urxP4k2nxCuPiT8KZ/CRuRoNtq9+/iDyZAkRsm0q7WDzlLAuv2sw7QASGwegJr2ygAooooAKKKKAIbm5t7O3lu7uVYYIVZ5JHYKiIoyzMx4AAGST0ryHwX+0F8HPiFqL6T4Q8T29/di0e/jjKSwm4s0IDXNt5qILiAFl/ew705HPIrG/am8MeIPGf7OnxE8LeFrN9S1TUtFu4obON9j3eUy9urcYMyBowf9qvnHxJ8Tfh58d/iJ8Hv+FMzLrcng671TVNXkt4WU6JYNol5ZNaXodVNvPLcTwx/ZWxLlGJQCNiAD6K0/8Aal+BGqaTca/Y+KBJpdpp8uqSXhs7xLYWUCCR5hM0IRlCkEYYlh0zXVeEvjj8J/HMGuTeF/EtreP4YjEuqQHfDc2MbIZFe4t5VSaJWRSylkAYAlc1+f8Aa+CvGWk/8EzdVm1XxPqeupqPwuto7bSLm1tI0sHGnA+XCbe3juHOGEeJnkOFH8W4m18dvF2nfFHxVrnir4WPc3Gl2/ge98H3WuWtvMsFzqXivUbC0sLe3mKAXDWu2aWRk3LBvG4gswAB+kkXjbwnPqGiaTDqsD3niO1mvtOiD/PdWtuImlliH8SIJotx6DevrVEfEnwGdHi8QDXbX+zp9T/sVJ/MHltqX2s2H2UH/nr9qBh2/wB/ivzG8NaB4v8Ahj8QvCvibxFJPaeGPgHqS+A7V5EZheaPqVrLKLpm/ixG+lRFgMB4Zs9Rt8mtvBHxXtfhTYaVq9nqzWOk6TB8cJHiKru1/atzJoYhZTLt+2CW52k7gSF3dBQB+5GRXMa94z8OeGdV8PaLrV0be88VXr6fpyeW7ia6jtprxk3KpCYht5W3OQvy4zuIB/Mix8Y3uofEC11G08Sa0/xsuviAsQ8PHU7/AOxDwi97tWU6X5v2L7B/YxE/2vyv+PrjzPtH7us3wZdaN4r+I/wd17VfEmq6p8XIfFWtr4p0q51K9ePSpW0TVkWNdMdxbWsMbeVHazLCjSxsGDyeYzEA/VnxBr2leFtA1LxPrk32bTdItpry6l2s3lwW6GSRtqgsdqqTgAk9hV2wvrXU7G31GzfzLe6jSWNsEZSRQynB5GQe9fkvpPxG1H4ifBj4eeAtK1u/13xXa/DTxNY+IrLfcS3CazHpNvH9n1AN/wAvomLYjm/e5JYDByaf7QXxdsNe8I6Pd/D3XLrSNZsPh/Fr3hq+TWNVsm1W/CSNFbadpFoyRX08LQZuxdI4hV41eEo7soB+uMOp6dcX1xplvdRS3dmsbTwq4MkSy58suoOVD7Ttz1wcdKu5FfmP4nv7TQPiX8Y/EvgTUrlPil4m8H2uqeELY390YdUuDpk4d7O0kl+y3JieFCF2N5JYEBBKS/n2pa7p83h3xvpP7PXjnxFrnheXwMza1qT6vqOpXGm+I2u7aO0EVxdyyS2188D3LXNvGVMZSMyRxkrvAP16orlfB3g/SvA+jDQ9HmvLiHzZZmkv724v53kmbc5aa5eR8EnhQdqj5VCqAK6qgAooooAKKKKAPFNP8beK7j9ojXfh3PCq+G7DwvpWqW8vksGe9u729gnUy52kLHBEQgGRuyeox7XXklj8TJrz45618H/7PVItJ8O6brv2zzSWkbULu8tvJ8vbgBBabt2453YwMZPrdABRRRQAUUUUAf/T/fyiiigAooooAKKKKACiiigAooooA8W+I3i/xf4f+JHws8P+HoPO0rxNq1/aau/kNL5VtBpV3dRPvHEWbiKJdx4O7b1Ir2muD+JGs+M/DvhS51zwJoa+JdTsnhlbTjMIJbm2WQfaEt3bCfaPK3GFZCqM4Csyg7hky/Gb4d6d8N7f4seJ9U/4Rfw1MsbPPrcUmmNbtJJ5SpPHcqjxP5nyYcDJ6cEZAPUqK8x8PfGj4TeLfBOpfEjwz4t0zVPC2jidrzU7e5SS0txbIJJjJKDtURoQzZPA5NRfDn43/CH4vSX8Xwu8Y6X4qfShG12NNuo7kwCbcIzJsJ27tjYz1wfSgD1OivG/BH7Q3wN+JPiOXwh4A8daP4g1uCOSWSzsbyOedI4WCyMyKSQFLAEnoTSr+0J8D38f/wDCq08c6QfGAuDa/wBkfa4/tvnhdxj8nO7dt5xjpzQB7HTVRVyVAGTk47mvHPGn7Q/wN+HXiWLwb478daPoGuzpFJHZXt5HDcOkxKxssbEEhiCBjqa0fiN8cPhB8IZbCH4o+MdL8KvqiyNajUrqO288QlRIY95G7aXXOOmR60AeqUV5b4m+N3wh8GeDdJ+Ifivxhpek+Gde8n7BqVzdRxWl19oiM0XlSsdr741Lrg8qCRxUlt8aPhPefDuT4t2vi3TZvBcQctrCXKNYgJL5LEzA7cLJ8h54PFAHpuBz70YGc96818D/ABk+FfxL0PUPE3w+8V6d4i0nSmZLu6sLhLiGF0TzGV3QkAhDuI9Ko/Dr47/Br4uXl5p/ww8aaV4pudPjWW4j067juWhRztVnCE7QTwM0Aer7F3bsDOMZ9qAqgkgcnrXl+g/Gz4TeKNe/4Rjw94r0/UNVE89qbeGdXk8+1LLNFgfxxlWDL1BBFZGr/tGfAjQPHI+GWt+PdGsfFhuILQaVNexJeG4uthhjEJO7dJvXaMc7hjrWdOrGV+V3to/USknse0BVGcDGeTSbFyDgZGcfjXkXxD+P/wAE/hLqdto3xN8b6R4XvryH7RDBqN3HbSSRbim9VcjK7lIyO4rU8ffGT4VfCzTbDWfiR4r03w1Y6oxS1n1C5S3jmYLv2ozkAnac49K0GekhFGMAfKMD2FCqq52jGTn8a821P4yfCvRfANt8VNW8V6dZ+D7tYnh1aW4RLJ1nbbEyzE7SHPCnPNN0L4z/AAo8T+Br/wCJvh7xZpuo+E9LEzXWqQXKSWcItlDTF5QdoCKctzwOtAHptFeW/Dr43fCH4uDUT8MPGOl+Kf7IERvP7Ouo7n7OJt3lmTYTt37G2567T6Vl+AP2ifgV8Vdbk8NfDbx5o3ibVYoHuXtdPvYriZYUZVaQohJChnUE+pHrQB7NRXjVr+0P8DL7x6fhbZ+O9Hn8XrcyWh0lLyM3ouIgS8fkg7tyhSSMcYNO8WftCfA/wJ4sh8CeM/HOkaL4iuPJ8rT7u7jiuZPtBxFtjY7jvPC46mgD2OivKfiN8c/g78IriytPih4y0rwtNqSSPbLqN1HbGZYiA5TeRu2lgDjpkVb8WfGH4Z+B/DWmeL/FHiC2s9J1vYNPmG6U3jSxGZEtkiVnmd41LqiKzMAcA0AVLLxd4OuPjZrHgS30kp4psPD+nalcaj5MQElhdXd3DBb+aD5reXLBK5QqEXflSSzAerV5b4H07wl4p1Rfjfp2j32max4j0q1sHOoxTWt19gtJp5rdJLWU/um33Ej8qsmHAfoAvqVABRRRQAUUUUAf/9T9/KKKKACiiigAooooAKKKKACiiigApjxpIux1DD0IzT6KAI1hiRDGqKFPUADH5UkcMMWTGirnrgAfyqWigCFLeCNt0caqfUKAaPs8G/zPLXfnOdozn61NRQBC9vBI2941Y+pUE06SGKXHmIrY6ZAP86kooAjaGJ0EbIpUdAQMD8KPJiEflBF2emBj8qkooAiSGKMFY0VQ3UAAZojghiJMaKhPoAP5VLWTruuaV4b0q51vWpxbWNou+WUqzBFzjJCgnAzyccd6ipUjCLnN2S1bfQTaSuz4518ef+1zpUC8LF5BwOny2kz9Pxr7W+zwFvMMaluDnAzx71+fkfjrwld/tOjxm+qwrocf3btiVjOLPyxyRn75I+tffOlarp2t6db6tpNwl1Z3SB4pYzlHQ9GU9wfWvzDw0zGjXnmDpzTbrzas09NEn6PozysrnFupZ7yZbkghlO6SNWI45AP86V4YpQBIisB0yAakor9SPWIjDEyCIopQdsDH5ULDCqGNUUKeoAGD+FS0UARRwwxZ8tFXPXAApEt4I23Rxqp9QAKmooAhFvAH8wRruznO0Zz9aHt4JG3vGrN6kAn+VTUUARSQwy4MqK+OmQD/ADp4RQAAB8vT2+lOooAKKKKACiiigAooooA//9X9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqOpafaatp9zpl/GJra7ieGVD0ZJAVYfiDV6ipnBSTjJXTBo/LHQvg5qmofF6X4bXW/wAmxnY3M3Q/Ykwwkz6yIyqP9pvY1+o1ra29jbQ2dpGIoIEWNEUYCqowoHsBxVGHQ9Lt9Yudfht0XULyKKCWYD5njhLFFPsC7f5ArWr4XgbgTD5JGv7LV1JN37R+yvl1836Hn4DAKgpW6v8ADoFFFFfeHoBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9b9/KwPFfibRvBXhfV/GPiKcWulaFZ3F9dzHpHb20bSyN+CqTW/WR4g0LS/FGhaj4a1uAXWnatbTWlzE33ZIJ0MciH2ZSRQB8h237UfjnRrWz1P4k/D6Lw7ZeKdF1LWPDnlauLue4fTrRr82N/H9niFtcyWymQCJ7hBskBfKjd3/iD46a1b6v4L8MeHtAgutU8ceFNZ8QWpuLxoIYbjTIrN47aRlhkOyVrwBpQuUCZ8t84HOeG/2Vfs8+hw/EDxzqnjPS/CeiXug6PbXUcMDRW9/AtrLcXUsQ3XV4LdfJWYhAFZzsLOzG94I/Zs1bw94z8KeMPFfj6/8U/8IZod54f061mtLW2jFneCAPJK0KiR7hhbxh33BDtG2NCWLAHmPwy/aI+Nbfs7/Czxt4r8L6brnir4hT6XYWOzVTbxXgvrF7r7ZdMtkFtWJibfBGkoUfddzha7PRv2oddHiLSvAHjXwcmjeLJPF9v4V1C3g1A3VpCt5pVxq1vfWtw1vE1xFJFBsKtFEVkLg/c+bh9d/Z4+I/gjwR8LPhp4M8VX2taf4U8Vac2nXrWFmZ9F0qztL1F+0D5UuUAdLcvsD7WDY35kr0Q/srtPp11q9941vrrx9c+JLbxSPED2tv8Aur6ztjYwwpZgCIWq2jPB5e4uVdmMnmHeADkfip+0R8T49W1Hw58MNDsftvhvx/o3hedr2+MKXsF/YW9/94Ws3kiR7gQOQrsigyLuJ2D7Y0yXUJtNtZtWgjtb54kaeKKQzRxylRvVJCqF1VsgMVUkc4HSvlSP9lef+yPExu/Heo3fiTxD4n0/xamrPa2qtbajpsdvFCi28aJG1v5dusZjb5ihILlvnPqra18YtCEekR+G7bxQLWONG1N9Ri083T7QXf7MIZBF8xIC7zwM55oA+f8A9pD45fEIaD8WPBnwd8NRaqfA/hy6l1zV5tXbSnsLm6sZLiGKxEcE7TXUcO2dtzQKgaMCTcx2yf8ADRvjzTdIvrPwF4KHjK0+HOi6ZdeJ7u51Q2VyZbiwjvmt7CI28/2u5FswlYSyQoS6IJCxbZ0fiX9nTxB45u/FniOy8TXXgKT4m6SNO8T6TbxWupQSyJA9olzDNLGpS4+zlY2fBVkVAUDKGDvEv7K11qMOv6f4Q8fal4TsPGmlWWleIEtLa2klu1srYWYubaWVSbW5ktgsLyAONirtVXUPQBzXj79rnxF4e07xd4w8GeB4vEXg/wAC6fpms6jqEmqrZzTadqNqLvNnb/Z5fMnjiO4pI8SMCoWTcWC9np37QHjiO98f+F/Fng/TtG8TeD9ItNetYm11Tpt1p9+9xHC1xfy20X2V43tZBPmKREGGRnzWr4i/Zk8Ma74Q+JPgiDU7jT9L+IumWelMkSRn7Bb2VmLJBBkfNlBn584PtUXxP/Zi0D4n6l4r1TUNaurKfxRpGh6WfLihkSBvD+oS6lazbJVZJQ00uJYpAUdBtI5NAHg+r/tZ33jn4H/EjWNOsLM6l4IlsY9Qn8M+JBPbtYX6pMt3p2pLZ7jKqMR5UluhLAjdsZXb0rxj+074y8Ma343m0/wJDqPhL4a6xZ6XrmovqwhuxFd21lcm4tbQ27LL5KXm6VXmi+VP3ZdiVW7qP7LGpeItP+JNt4s8e3eoXHxN07TrG8kjsLS3SybTi4jazjVWwhV8bJmlIPzbjnFdl4l/Z10jxH4c+K/h1taurVfivex3t1MkcTPZvHZWlkBCHBVhstFb5wfmY8Y4oA7TWvivFo2uXGhnw1q92YJFj+0QRW5hbcFO5S1wrbRu5yoPB4PFePav4G/aQu/iNcatDr1ofDEvjHTbw26308En/CM2mnFHtVSOIhZf7QP2hwGzcL+7kk8oeXXs2r/Az4KeINem8U6/4A8P6nrVxLHcS31zpVrNdSTQhBHI0zxly6CNNrE5G1cdBXqWOMUAfCvgz4wfH3X5fj0mraDpd1pvgjVNTstMeHV3tblHt7GzuIbUbbFgEaGZpzdMxdJW8rymRBIcmw/al8Zad4KsD4E8Ft4qttB8AaB401C61bWxb3j6fqEFyzRhvsr+fe4tGbLeVG5J3PHwG9+034F3ei+KPH+paP4omh0H4iyz3t/pj2sMnl6hPYw2DTw3HDhPLgRvLIPz5O7B21zujfst6FonhvWPDlpr95t1fwFpfgIzeVDvittKhu4Y7pV27DM32tiVK7MqMDGRQBwsf7YGp+FYte1D4x+CD4YsbTwhP430w2Wox6nPeabbSJHNbzJ5cCQXqGe3BQSSQky4SZgjGsbwT+1Xc/GvU9c+D+mQaCvifWPD2p3+lS+HfFSapFC9v5cJt7+5gtUksLlXuI2VkinXAcqxKAN7B4s/Zf8ABfjmW2j8VXlzeWMfgu98FTW6hYxLaX0lrJJPvA3LKptU2Y4BJODxXdfDXwB488H3Er+MPHk/i+BbaK2t45dOs7IoYiSZ5Xt0DyTyAhXIKx4UFYlO4kA4j4JfCP4kfDzXJb3xp41vPE1pB4b8P6HGlxcTTC4vdMjk+2akySkiKS5eRVKhnZhHveRiwC/R11cLaW0t06u6wozkRqXchRkhVUEsfQAZJ4FT1yvjgeNW8Jaqvw5NgviYwN/Z51QSmxFx/CbgQ4kMfqEIJ7EdaAPm7wh+2F4V8beKrrwDoXg3xJJ4r0vW49I1PSjbW32jTLeVEkXU7xluDFFZlZBg7zKSGVYiVbH13XxZ8G/2ffi78KvjV4q+IV74usPEGmfECKwutfae2kjujqdpHNGwsooyIobcq8SR73kdIogreZIzS19p0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//X/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z" } }, "cell_type": "markdown", "id": "0ddd20f7", "metadata": {}, "source": [ "![Picture 1.jpg](attachment:45dafb96-b379-4430-82c8-9df578084676.jpg)" ] }, { "cell_type": "markdown", "id": "bd633a17", "metadata": {}, "source": [ "Information bits are either randomly generated or provided as input and then encoded into a transport block by the [TBEncoder](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.TBEncoder.html). The encoded bits are then mapped to QAM constellation symbols by the [Mapper](https://nvlabs.github.io/sionna/phy/api/mapping/Mapper.html). The [LayerMapper](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.LayerMapper.html) splits the modulated symbols into different layers which are then mapped onto OFDM resource grids by the [ResourceGridMapper](https://nvlabs.github.io/sionna/phy/api/ofdm/sionna.phy.ofdm.ResourceGridMapper.html). If precoding is enabled in the [PUSCHConfig](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.PUSCHConfig.html), the resource grids are further precoded by the [PUSCHPrecoder](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.PUSCHPrecoder.html) so that there is one for each transmitter and antenna port. If ``output_domain`` equals “freq”, these are the ouputs \n", "x\n", ". If ``output_domain`` is chosen to be “time”, the resource grids are transformed into time-domain signals by the [OFDMModulator](https://nvlabs.github.io/sionna/phy/api/ofdm/sionna.phy.ofdm.OFDMModulator.html)." ] }, { "cell_type": "markdown", "id": "ac65ef08", "metadata": {}, "source": [ "Let us configure a ``PUSCHTransmitter`` from a list of two ``PUSCHConfig`` and inspect the output shapes: " ] }, { "cell_type": "code", "execution_count": 28, "id": "15ee99f9", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.720577Z", "iopub.status.busy": "2026-02-13T15:50:18.720463Z", "iopub.status.idle": "2026-02-13T15:50:18.919619Z", "shell.execute_reply": "2026-02-13T15:50:18.918823Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape of b: torch.Size([32, 2, 2728])\n", "Shape of x: torch.Size([32, 2, 4, 14, 48])\n" ] } ], "source": [ "pusch_config = PUSCHConfig()\n", "pusch_config.num_antenna_ports = 4\n", "pusch_config.num_layers = 2\n", "pusch_config.dmrs.dmrs_port_set = [0,1]\n", "pusch_config.precoding = \"codebook\"\n", "pusch_config.tpmi = 7\n", "\n", "pusch_config_1 = pusch_config.clone()\n", "pusch_config.dmrs.dmrs_port_set = [2,3]\n", "\n", "pusch_transmitter = PUSCHTransmitter([pusch_config, pusch_config_1])\n", "\n", "batch_size = 32\n", "x, b = pusch_transmitter(batch_size)\n", "\n", "# b has shape [batch_size, num_tx, tb_size]\n", "print(\"Shape of b:\", b.shape)\n", "\n", "# x has shape [batch_size, num_tx, num_tx_ant, num_ofdm_symbols, num_subcarriers]\n", "print(\"Shape of x:\", x.shape)" ] }, { "cell_type": "markdown", "id": "5f492ecd", "metadata": {}, "source": [ "If you want to transmit a custom payload, you simply need to deactive the ``return_bits`` flag when creating the transmitter:" ] }, { "cell_type": "code", "execution_count": 29, "id": "3d6e5ba3", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:18.921204Z", "iopub.status.busy": "2026-02-13T15:50:18.921071Z", "iopub.status.idle": "2026-02-13T15:50:19.120665Z", "shell.execute_reply": "2026-02-13T15:50:19.119973Z" } }, "outputs": [], "source": [ "pusch_transmitter = PUSCHTransmitter([pusch_config, pusch_config_1], return_bits=False)\n", "x_2 = pusch_transmitter(b)\n", "assert np.array_equal(x.cpu().numpy(), x_2.cpu().numpy()) # Check that we get the same output for the payload b generated above" ] }, { "cell_type": "markdown", "id": "69052c60", "metadata": {}, "source": [ "By default, the ``PUSCHTransmitter`` generates frequency-domain outputs. If you want to make time-domain simulations, you need to configure the ``output_domain`` during the initialization:" ] }, { "cell_type": "code", "execution_count": 30, "id": "601b1e56", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:19.122193Z", "iopub.status.busy": "2026-02-13T15:50:19.121983Z", "iopub.status.idle": "2026-02-13T15:50:19.323515Z", "shell.execute_reply": "2026-02-13T15:50:19.322758Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape of x: torch.Size([32, 2, 4, 728])\n" ] } ], "source": [ "pusch_transmitter = PUSCHTransmitter([pusch_config, pusch_config_1], output_domain=\"time\", return_bits=False)\n", "x_time = pusch_transmitter(b)\n", "\n", "# x has shape [batch_size, num_tx, num_tx_ant, num_time_samples]\n", "print(\"Shape of x:\", x_time.shape)" ] }, { "cell_type": "markdown", "id": "07f11907", "metadata": {}, "source": [ "The last dimension of the output signal correspond to the total number of time-domain samples which can be computed in the following way:" ] }, { "cell_type": "code", "execution_count": 31, "id": "2f4c25f4", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:19.324885Z", "iopub.status.busy": "2026-02-13T15:50:19.324739Z", "iopub.status.idle": "2026-02-13T15:50:19.327718Z", "shell.execute_reply": "2026-02-13T15:50:19.327182Z" } }, "outputs": [ { "data": { "text/plain": [ "728" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(pusch_transmitter.resource_grid.cyclic_prefix_length \\\n", " + pusch_transmitter.resource_grid.fft_size) \\\n", "* pusch_transmitter.resource_grid.num_ofdm_symbols" ] }, { "cell_type": "markdown", "id": "1f050ea6", "metadata": {}, "source": [ "## Components of the PUSCHReceiver\n", "\n", "The [PUSCHReceiver](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.PUSCHReceiver.html) is the counter-part to the [PUSCHTransmitter](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.PUSCHTransmitter.html) as it *simply* recovers the transmitted information bits from received waveform. It combines multiple processing blocks in a single layer as shown in the following figure:" ] }, { "attachments": { "f7ad545c-20f0-47d6-8f02-6473dce4f964.jpg": { "image/jpeg": "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" } }, "cell_type": "markdown", "id": "ebd40350", "metadata": {}, "source": [ "![Picture 2.jpg](attachment:f7ad545c-20f0-47d6-8f02-6473dce4f964.jpg)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "a01b5609", "metadata": {}, "source": [ "If the ``input_domain`` equals “time”, the inputs $\\mathbf{y}$\n", " are first transformed to resource grids with the [OFDMDemodulator](https://nvlabs.github.io/sionna/phy/api/ofdm/sionna.phy.ofdm.OFDMDemodulator.html). Then channel estimation is performed, e.g., with the help of the [PUSCHLSChannelEstimator](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.PUSCHLSChannelEstimator.html). If ``channel_estimator`` is chosen to be “perfect”, this step is skipped and the input $\\mathbf{h}$ is used instead. Next, MIMO detection is carried out with an arbitrary [OFDMDetector](https://nvlabs.github.io/sionna/phy/api/ofdm/sionna.phy.ofdm.OFDMDetector.html). The resulting LLRs for each layer are then combined to transport blocks with the help of the [LayerDemapper](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.LayerDemapper.html). Finally, the transport blocks are decoded with the [TBDecoder](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.TBDecoder.html).\n", " \n", "If we instantiate a ``PUSCHReceiver`` as done in the next cell, default implementations of all blocks as described in the [API documentation](https://nvlabs.github.io/sionna/phy/api/nr/sionna.phy.nr.PUSCHReceiver.html) are used. \n" ] }, { "cell_type": "code", "execution_count": 32, "id": "0e2c8f36", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:19.328992Z", "iopub.status.busy": "2026-02-13T15:50:19.328876Z", "iopub.status.idle": "2026-02-13T15:50:19.399055Z", "shell.execute_reply": "2026-02-13T15:50:19.398475Z" } }, "outputs": [ { "data": { "text/plain": [ "LinearDetector(\n", " (_detector): LinearDetector(\n", " (_constellation): Constellation()\n", " (_demapper): Demapper(\n", " (_constellation): Constellation()\n", " (_logits2llrs): SymbolLogits2LLRs()\n", " )\n", " )\n", " (_resource_grid): ResourceGrid(\n", " (_pilot_pattern): PUSCHPilotPattern()\n", " (pilot_pattern): PUSCHPilotPattern()\n", " )\n", " (_stream_management): StreamManagement()\n", " (_removed_nulled_scs): RemoveNulledSubcarriers()\n", ")" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pusch_receiver = PUSCHReceiver(pusch_transmitter)\n", "pusch_receiver._mimo_detector" ] }, { "cell_type": "markdown", "id": "48501379", "metadata": {}, "source": [ "We can also provide custom implementations for each block by providing them as keyword arguments during initialization.\n", "In the folllwing code snippet, we first create an instance of the [KBestDetector](https://nvlabs.github.io/sionna/phy/api/ofdm/sionna.phy.ofdm.KBestDetector.html), which is then used as MIMO detector in the ``PUSCHReceiver``." ] }, { "cell_type": "code", "execution_count": 33, "id": "66c43c7a", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:19.400616Z", "iopub.status.busy": "2026-02-13T15:50:19.400489Z", "iopub.status.idle": "2026-02-13T15:50:19.599695Z", "shell.execute_reply": "2026-02-13T15:50:19.599018Z" } }, "outputs": [], "source": [ "# Create a new PUSCHTransmitter\n", "pusch_transmitter = PUSCHTransmitter([pusch_config, pusch_config_1])\n", "\n", "# Create a StreamManagement instance\n", "rx_tx_association = np.ones([1, pusch_transmitter.resource_grid.num_tx], bool)\n", "stream_management = StreamManagement(rx_tx_association,\n", " pusch_config.num_layers)\n", "\n", "# Get relevant parameters for the detector\n", "num_streams = pusch_transmitter.resource_grid.num_tx \\\n", " * pusch_transmitter.resource_grid.num_streams_per_tx\n", "\n", "k = 32 # Number of canditates for K-Best detection\n", "\n", "k_best = KBestDetector(\"bit\", num_streams, k,\n", " pusch_transmitter.resource_grid,\n", " stream_management,\n", " \"qam\", pusch_config.tb.num_bits_per_symbol)\n", "\n", "# Create a PUSCHReceiver using the KBest detector\n", "pusch_receiver = PUSCHReceiver(pusch_transmitter, mimo_detector=k_best)" ] }, { "cell_type": "markdown", "id": "5decf6b8", "metadata": {}, "source": [ "Next, we test if this receiver works over a simple Rayleigh block fading channel:" ] }, { "cell_type": "code", "execution_count": 34, "id": "0ec8ce0c", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:19.601235Z", "iopub.status.busy": "2026-02-13T15:50:19.601105Z", "iopub.status.idle": "2026-02-13T15:50:21.608238Z", "shell.execute_reply": "2026-02-13T15:50:21.607258Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BER: 0.0\n" ] } ], "source": [ "num_rx_ant = 16\n", "rayleigh = RayleighBlockFading(num_rx=1,\n", " num_rx_ant=num_rx_ant,\n", " num_tx=pusch_transmitter.resource_grid.num_tx,\n", " num_tx_ant=pusch_config.num_antenna_ports)\n", "\n", "channel = OFDMChannel(rayleigh,\n", " pusch_transmitter.resource_grid,\n", " add_awgn=True,\n", " normalize_channel=True)\n", "\n", "x, b = pusch_transmitter(32)\n", "no = 0.1\n", "y = channel(x, no)\n", "b_hat = pusch_receiver(y, no)\n", "print(\"BER:\", compute_ber(b, b_hat).cpu().numpy())" ] }, { "cell_type": "markdown", "id": "86bebb7b", "metadata": {}, "source": [ "## End-to-end PUSCH Simulations\n", "\n", "We will now implement an end-to-end model that is capable of running PUSCH simulations for many different configurations.\n", "You can use it as a boilerplate template for your own experiments." ] }, { "cell_type": "code", "execution_count": 35, "id": "eb2425de", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:21.610581Z", "iopub.status.busy": "2026-02-13T15:50:21.610304Z", "iopub.status.idle": "2026-02-13T15:50:21.620354Z", "shell.execute_reply": "2026-02-13T15:50:21.619697Z" } }, "outputs": [], "source": [ "class Model(Block):\n", " \"\"\"Simulate PUSCH transmissions over a 3GPP 38.901 model\n", "\n", " This model runs BER simulations for a multiuser MIMO uplink channel\n", " compliant with the 5G NR PUSCH specifications.\n", " You can pick different scenarios, i.e., channel models, perfect or\n", " estimated CSI, as well as different MIMO detectors (LMMSE or KBest).\n", " You can chosse to run simulations in either time (\"time\") or frequency (\"freq\")\n", " domains and configure different user speeds.\n", "\n", " Parameters\n", " ----------\n", " scenario : str, one of [\"umi\", \"uma\", \"rma\"]\n", " 3GPP 38.901 channel model to be used\n", "\n", " perfect_csi : bool\n", " Determines if perfect CSI is assumed or if the CSI is estimated\n", "\n", " domain : str, one of [\"freq\", \"time\"]\n", " Domain in which the simulations are carried out.\n", " Time domain modelling is typically more complex but allows modelling\n", " of realistic effects such as inter-symbol interference of subcarrier\n", " interference due to very high speeds.\n", "\n", " detector : str, one of [\"lmmse\", \"kbest\"]\n", " MIMO detector to be used. Note that each detector has additional\n", " parameters that can be configured in the source code of the _init_ call.\n", "\n", " speed: float\n", " User speed (m/s)\n", "\n", " Input\n", " -----\n", " batch_size : int\n", " Number of simultaneously simulated slots\n", "\n", " ebno_db : float\n", " Signal-to-noise-ratio\n", "\n", " Output\n", " ------\n", " b : [batch_size, num_tx, tb_size], torch.float\n", " Transmitted information bits\n", "\n", " b_hat : [batch_size, num_tx, tb_size], torch.float\n", " Decoded information bits\n", " \"\"\"\n", " def __init__(self,\n", " scenario, # \"umi\", \"uma\", \"rma\"\n", " perfect_csi, # bool\n", " domain, # \"freq\", \"time\"\n", " detector, # \"lmmse\", \"kbest\"\n", " speed # float\n", " ):\n", " super().__init__()\n", " self._scenario = scenario\n", " self._perfect_csi = perfect_csi\n", " self._domain = domain\n", " self._speed = speed\n", "\n", " self._carrier_frequency = 3.5e9\n", " self._subcarrier_spacing = 30e3\n", " self._num_tx = 4\n", " self._num_tx_ant = 4\n", " self._num_layers = 2\n", " self._num_rx_ant = 16\n", " self._mcs_index = 14\n", " self._mcs_table = 1\n", " self._num_prb = 16\n", "\n", " # Create PUSCHConfigs\n", "\n", " # PUSCHConfig for the first transmitter\n", " pusch_config = PUSCHConfig()\n", " pusch_config.carrier.subcarrier_spacing = self._subcarrier_spacing/1000\n", " pusch_config.carrier.n_size_grid = self._num_prb\n", " pusch_config.num_antenna_ports = self._num_tx_ant\n", " pusch_config.num_layers = self._num_layers\n", " pusch_config.precoding = \"codebook\"\n", " pusch_config.tpmi = 1\n", " pusch_config.dmrs.dmrs_port_set = list(range(self._num_layers))\n", " pusch_config.dmrs.config_type = 2\n", " pusch_config.dmrs.length = 2\n", " pusch_config.dmrs.additional_position = 1\n", " pusch_config.dmrs.num_cdm_groups_without_data = 3\n", " pusch_config.tb.mcs_index = self._mcs_index\n", " pusch_config.tb.mcs_table = self._mcs_table\n", "\n", " # Create PUSCHConfigs for the other transmitters by cloning of the first PUSCHConfig\n", " # and modifying the used DMRS ports.\n", " pusch_configs = [pusch_config]\n", " for i in range(1, self._num_tx):\n", " pc = pusch_config.clone()\n", " pc.dmrs.dmrs_port_set = list(range(i*self._num_layers, (i+1)*self._num_layers))\n", " pusch_configs.append(pc)\n", "\n", " # Create PUSCHTransmitter\n", " self._pusch_transmitter = PUSCHTransmitter(pusch_configs, output_domain=self._domain)\n", "\n", " # Create PUSCHReceiver\n", " self._l_min, self._l_max = time_lag_discrete_time_channel(self._pusch_transmitter.resource_grid.bandwidth)\n", "\n", "\n", " rx_tx_association = np.ones([1, self._num_tx], bool)\n", " stream_management = StreamManagement(rx_tx_association,\n", " self._num_layers)\n", "\n", " assert detector in[\"lmmse\", \"kbest\"], \"Unsupported MIMO detector\"\n", " if detector==\"lmmse\":\n", " detector = LinearDetector(equalizer=\"lmmse\",\n", " output=\"bit\",\n", " demapping_method=\"maxlog\",\n", " resource_grid=self._pusch_transmitter.resource_grid,\n", " stream_management=stream_management,\n", " constellation_type=\"qam\",\n", " num_bits_per_symbol=pusch_config.tb.num_bits_per_symbol)\n", " elif detector==\"kbest\":\n", " detector = KBestDetector(output=\"bit\",\n", " num_streams=self._num_tx*self._num_layers,\n", " k=64,\n", " resource_grid=self._pusch_transmitter.resource_grid,\n", " stream_management=stream_management,\n", " constellation_type=\"qam\",\n", " num_bits_per_symbol=pusch_config.tb.num_bits_per_symbol)\n", "\n", " if self._perfect_csi:\n", " self._pusch_receiver = PUSCHReceiver(self._pusch_transmitter,\n", " mimo_detector=detector,\n", " input_domain=self._domain,\n", " channel_estimator=\"perfect\",\n", " l_min = self._l_min)\n", " else:\n", " self._pusch_receiver = PUSCHReceiver(self._pusch_transmitter,\n", " mimo_detector=detector,\n", " input_domain=self._domain,\n", " l_min = self._l_min)\n", "\n", " # Configure antenna arrays\n", " self._ut_array = AntennaArray(\n", " num_rows=1,\n", " num_cols=int(self._num_tx_ant/2),\n", " polarization=\"dual\",\n", " polarization_type=\"cross\",\n", " antenna_pattern=\"omni\",\n", " carrier_frequency=self._carrier_frequency)\n", "\n", " self._bs_array = AntennaArray(num_rows=1,\n", " num_cols=int(self._num_rx_ant/2),\n", " polarization=\"dual\",\n", " polarization_type=\"cross\",\n", " antenna_pattern=\"38.901\",\n", " carrier_frequency=self._carrier_frequency)\n", "\n", " # Configure the channel model\n", " if self._scenario == \"umi\":\n", " self._channel_model = UMi(carrier_frequency=self._carrier_frequency,\n", " o2i_model=\"low\",\n", " ut_array=self._ut_array,\n", " bs_array=self._bs_array,\n", " direction=\"uplink\",\n", " enable_pathloss=False,\n", " enable_shadow_fading=False)\n", " elif self._scenario == \"uma\":\n", " self._channel_model = UMa(carrier_frequency=self._carrier_frequency,\n", " o2i_model=\"low\",\n", " ut_array=self._ut_array,\n", " bs_array=self._bs_array,\n", " direction=\"uplink\",\n", " enable_pathloss=False,\n", " enable_shadow_fading=False)\n", " elif self._scenario == \"rma\":\n", " self._channel_model = RMa(carrier_frequency=self._carrier_frequency,\n", " ut_array=self._ut_array,\n", " bs_array=self._bs_array,\n", " direction=\"uplink\",\n", " enable_pathloss=False,\n", " enable_shadow_fading=False)\n", "\n", " # Configure the actual channel\n", " if domain==\"freq\":\n", " self._channel = OFDMChannel(\n", " self._channel_model,\n", " self._pusch_transmitter.resource_grid,\n", " normalize_channel=True,\n", " return_channel=True)\n", " else:\n", " self._channel = TimeChannel(\n", " self._channel_model,\n", " self._pusch_transmitter.resource_grid.bandwidth,\n", " self._pusch_transmitter.resource_grid.num_time_samples,\n", " l_min=self._l_min,\n", " l_max=self._l_max,\n", " normalize_channel=True,\n", " return_channel=True)\n", "\n", " def new_topology(self, batch_size):\n", " \"\"\"Set new topology\"\"\"\n", " topology = gen_topology(batch_size,\n", " self._num_tx,\n", " self._scenario,\n", " min_ut_velocity=self._speed,\n", " max_ut_velocity=self._speed)\n", "\n", " self._channel_model.set_topology(*topology)\n", "\n", " def call(self, batch_size, ebno_db):\n", " self.new_topology(batch_size)\n", " \n", " x, b = self._pusch_transmitter(batch_size)\n", "\n", " no = ebnodb2no(ebno_db,\n", " self._pusch_transmitter._num_bits_per_symbol,\n", " self._pusch_transmitter._target_coderate,\n", " self._pusch_transmitter.resource_grid)\n", " y, h = self._channel(x, no)\n", " if self._perfect_csi:\n", " b_hat = self._pusch_receiver(y, no, h)\n", " else:\n", " b_hat = self._pusch_receiver(y, no)\n", " return b, b_hat" ] }, { "cell_type": "markdown", "id": "d18f8840", "metadata": {}, "source": [ "We will now compare the PUSCH BLER performance over the 3GPP 38.901 UMi channel model with different detectors and either perfect or imperfect CSI.\n", "Note that these simulations might take some time depending or you available hardware. You can reduce the `batch_size` if the model does not fit into the memory of your GPU. Running the simulations in the time domain will significantly increase the complexity and you might need to decrease the `batch_size` further. The code will also run on CPU if not GPU is available. \n", "\n", "If you do not want to run the simulation yourself, you can skip the next cell and visualize the results in the next cell." ] }, { "cell_type": "code", "execution_count": 36, "id": "ddbb4e6b", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T15:50:21.622328Z", "iopub.status.busy": "2026-02-13T15:50:21.622205Z", "iopub.status.idle": "2026-02-13T16:57:32.205667Z", "shell.execute_reply": "2026-02-13T16:57:32.204610Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " -2.0 | 1.3676e-01 | 9.9805e-01 | 573629 | 4194304 | 511 | 512 | 76.0 |reached target block errors\n", " -1.0 | 8.7683e-02 | 8.9258e-01 | 367770 | 4194304 | 457 | 512 | 6.6 |reached target block errors\n", " 0.0 | 4.1442e-02 | 5.8398e-01 | 173822 | 4194304 | 299 | 512 | 0.7 |reached target block errors\n", " 1.0 | 1.2943e-02 | 2.3242e-01 | 108575 | 8388608 | 238 | 1024 | 1.2 |reached target block errors\n", " 2.0 | 3.6297e-03 | 6.2500e-02 | 106568 | 29360128 | 224 | 3584 | 4.4 |reached target block errors\n", " 3.0 | 1.3603e-03 | 1.9345e-02 | 119817 | 88080384 | 208 | 10752 | 13.1 |reached target block errors\n", " 4.0 | 5.2584e-04 | 5.9177e-03 | 147770 | 281018368 | 203 | 34304 | 42.1 |reached target block errors\n", " 5.0 | 1.8929e-04 | 2.1945e-03 | 141318 | 746586112 | 200 | 91136 | 115.5 |reached target block errors\n", " 6.0 | 6.5375e-05 | 6.4785e-04 | 167811 | 2566914048 | 203 | 313344 | 392.4 |reached target block errors\n", " 7.0 | 2.4188e-05 | 2.5000e-04 | 101452 | 4194304000 | 128 | 512000 | 639.8 |reached max iterations\n", " 8.0 | 1.7673e-05 | 1.5234e-04 | 74128 | 4194304000 | 78 | 512000 | 639.4 |reached max iterations\n", " 9.0 | 3.2361e-06 | 3.5156e-05 | 13573 | 4194304000 | 18 | 512000 | 639.0 |reached max iterations\n", " 10.0 | 4.1063e-06 | 3.5156e-05 | 17223 | 4194304000 | 18 | 512000 | 638.7 |reached max iterations\n", "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " -2.0 | 7.0204e-02 | 8.3789e-01 | 294459 | 4194304 | 429 | 512 | 32.8 |reached target block errors\n", " -1.0 | 3.9704e-02 | 5.5859e-01 | 166531 | 4194304 | 286 | 512 | 6.7 |reached target block errors\n", " 0.0 | 1.7533e-02 | 2.7637e-01 | 147078 | 8388608 | 283 | 1024 | 0.6 |reached target block errors\n", " 1.0 | 7.9398e-03 | 1.2695e-01 | 133208 | 16777216 | 260 | 2048 | 1.0 |reached target block errors\n", " 2.0 | 3.8701e-03 | 6.2779e-02 | 113627 | 29360128 | 225 | 3584 | 1.8 |reached target block errors\n", " 3.0 | 1.6959e-03 | 2.6953e-02 | 106696 | 62914560 | 207 | 7680 | 3.9 |reached target block errors\n", " 4.0 | 1.1067e-03 | 1.5703e-02 | 116050 | 104857600 | 201 | 12800 | 6.6 |reached target block errors\n", " 5.0 | 5.8025e-04 | 8.7674e-03 | 109519 | 188743680 | 202 | 23040 | 11.8 |reached target block errors\n", " 6.0 | 2.6680e-04 | 3.8297e-03 | 114140 | 427819008 | 200 | 52224 | 26.9 |reached target block errors\n", " 7.0 | 1.3525e-04 | 2.0889e-03 | 106079 | 784334848 | 200 | 95744 | 52.1 |reached target block errors\n", " 8.0 | 1.1287e-04 | 1.4224e-03 | 130667 | 1157627904 | 201 | 141312 | 74.7 |reached target block errors\n", " 9.0 | 5.7170e-05 | 7.6593e-04 | 122293 | 2139095040 | 200 | 261120 | 137.8 |reached target block errors\n", " 10.0 | 4.0511e-05 | 4.5072e-04 | 147995 | 3653238784 | 201 | 445952 | 235.4 |reached target block errors\n", "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " -2.0 | 1.8189e-01 | 1.0000e+00 | 762896 | 4194304 | 512 | 512 | 37.0 |reached target block errors\n", " -1.0 | 1.5612e-01 | 1.0000e+00 | 654812 | 4194304 | 512 | 512 | 8.3 |reached target block errors\n", " 0.0 | 1.3223e-01 | 9.8633e-01 | 554593 | 4194304 | 505 | 512 | 0.7 |reached target block errors\n", " 1.0 | 9.1353e-02 | 8.8281e-01 | 383163 | 4194304 | 452 | 512 | 0.6 |reached target block errors\n", " 2.0 | 4.7218e-02 | 6.1133e-01 | 198048 | 4194304 | 313 | 512 | 0.6 |reached target block errors\n", " 3.0 | 1.8713e-02 | 2.6270e-01 | 156980 | 8388608 | 269 | 1024 | 1.3 |reached target block errors\n", " 4.0 | 7.2241e-03 | 1.0205e-01 | 121200 | 16777216 | 209 | 2048 | 2.5 |reached target block errors\n", " 5.0 | 4.7125e-03 | 4.9316e-02 | 158124 | 33554432 | 202 | 4096 | 5.1 |reached target block errors\n", " 6.0 | 3.3754e-03 | 2.7865e-02 | 212360 | 62914560 | 214 | 7680 | 9.5 |reached target block errors\n", " 7.0 | 2.2203e-03 | 1.7833e-02 | 214188 | 96468992 | 210 | 11776 | 14.6 |reached target block errors\n", " 8.0 | 1.9059e-03 | 1.3941e-02 | 231819 | 121634816 | 207 | 14848 | 19.5 |reached target block errors\n", " 9.0 | 1.6476e-03 | 1.1837e-02 | 228046 | 138412032 | 200 | 16896 | 22.7 |reached target block errors\n", " 10.0 | 1.4685e-03 | 1.0927e-02 | 227891 | 155189248 | 207 | 18944 | 24.1 |reached target block errors\n", "EbNo [dB] | BER | BLER | bit errors | num bits | block errors | num blocks | runtime [s] | status\n", "---------------------------------------------------------------------------------------------------------------------------------------\n", " -2.0 | 1.3866e-01 | 9.9414e-01 | 581582 | 4194304 | 509 | 512 | 33.9 |reached target block errors\n", " -1.0 | 1.0409e-01 | 9.4141e-01 | 436570 | 4194304 | 482 | 512 | 7.9 |reached target block errors\n", " 0.0 | 7.0459e-02 | 7.7539e-01 | 295528 | 4194304 | 397 | 512 | 0.3 |reached target block errors\n", " 1.0 | 4.0889e-02 | 5.6055e-01 | 171502 | 4194304 | 287 | 512 | 0.3 |reached target block errors\n", " 2.0 | 2.0068e-02 | 2.9102e-01 | 168343 | 8388608 | 298 | 1024 | 0.6 |reached target block errors\n", " 3.0 | 1.3894e-02 | 1.8880e-01 | 174825 | 12582912 | 290 | 1536 | 0.8 |reached target block errors\n", " 4.0 | 5.6930e-03 | 8.2031e-02 | 119391 | 20971520 | 210 | 2560 | 1.4 |reached target block errors\n", " 5.0 | 4.6320e-03 | 5.4199e-02 | 155425 | 33554432 | 222 | 4096 | 2.2 |reached target block errors\n", " 6.0 | 3.0931e-03 | 3.1400e-02 | 168652 | 54525952 | 209 | 6656 | 3.6 |reached target block errors\n", " 7.0 | 2.4344e-03 | 2.3667e-02 | 173577 | 71303168 | 206 | 8704 | 4.7 |reached target block errors\n", " 8.0 | 2.0154e-03 | 1.8973e-02 | 177519 | 88080384 | 204 | 10752 | 5.8 |reached target block errors\n", " 9.0 | 1.6125e-03 | 1.2390e-02 | 216428 | 134217728 | 203 | 16384 | 8.8 |reached target block errors\n", " 10.0 | 1.5448e-03 | 1.2015e-02 | 213812 | 138412032 | 203 | 16896 | 9.1 |reached target block errors\n" ] } ], "source": [ "PUSCH_SIMS = {\n", " \"scenario\" : [\"umi\"],\n", " \"domain\" : [\"freq\"],\n", " \"perfect_csi\" : [True, False],\n", " \"detector\" : [\"kbest\", \"lmmse\"],\n", " \"ebno_db\" : list(range(-2,11)),\n", " \"speed\" : 3.0,\n", " \"batch_size_freq\" : 128,\n", " \"batch_size_time\" : 28, # Reduced batch size from time-domain modeling\n", " \"bler\" : [],\n", " \"ber\" : []\n", " }\n", "\n", "start = time.time()\n", "\n", "for scenario in PUSCH_SIMS[\"scenario\"]:\n", " for domain in PUSCH_SIMS[\"domain\"]:\n", " for perfect_csi in PUSCH_SIMS[\"perfect_csi\"]:\n", " batch_size = PUSCH_SIMS[\"batch_size_freq\"] if domain==\"freq\" else PUSCH_SIMS[\"batch_size_time\"]\n", " for detector in PUSCH_SIMS[\"detector\"]:\n", " model = Model(scenario, perfect_csi, domain, detector, PUSCH_SIMS[\"speed\"])\n", " model._channel_model.allocate_topology_tensors(batch_size=batch_size, num_bs=1, num_ut=model._num_tx)\n", " ber, bler = sim_ber(model,\n", " PUSCH_SIMS[\"ebno_db\"],\n", " batch_size=batch_size,\n", " max_mc_iter=1000,\n", " num_target_block_errors=200,\n", " compile_mode=\"reduce-overhead\")\n", " PUSCH_SIMS[\"ber\"].append(list(ber.cpu().numpy()))\n", " PUSCH_SIMS[\"bler\"].append(list(bler.cpu().numpy()))\n", "\n", "PUSCH_SIMS[\"duration\"] = time.time() - start" ] }, { "cell_type": "code", "execution_count": 37, "id": "c247baed", "metadata": { "execution": { "iopub.execute_input": "2026-02-13T16:57:32.208370Z", "iopub.status.busy": "2026-02-13T16:57:32.208236Z", "iopub.status.idle": "2026-02-13T16:57:32.483432Z", "shell.execute_reply": "2026-02-13T16:57:32.482433Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Simulation duration: 1.12 [h]\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Uncomment to show precomputed results\n", "#PUSCH_SIMS = eval(\"{'scenario': ['umi'], 'domain': ['freq'], 'perfect_csi': [True, False], 'detector': ['kbest', 'lmmse'], 'ebno_db': [-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'speed': 3.0, 'batch_size_freq': 128, 'batch_size_time': 28, 'bler': [[0.865234375, 0.525390625, 0.236328125, 0.0703125, 0.022894965277777776, 0.0081787109375, 0.0031916920731707315, 0.0011800130208333333, 0.0007274208566108007, 0.000298828125, 0.000189453125, 0.000107421875, 4.6875e-05], [0.501953125, 0.2412109375, 0.13411458333333334, 0.06556919642857142, 0.037109375, 0.021073190789473683, 0.012251420454545454, 0.007244318181818182, 0.0038869121287128713, 0.0027646346830985913, 0.0015751008064516128, 0.0009838684538653367, 0.0007239105504587156], [0.994140625, 0.97265625, 0.849609375, 0.513671875, 0.234375, 0.115234375, 0.05126953125, 0.028878348214285716, 0.023092830882352942, 0.018694196428571428, 0.013671875, 0.012451171875, 0.013739224137931034], [0.919921875, 0.724609375, 0.533203125, 0.2802734375, 0.16536458333333334, 0.08984375, 0.056919642857142856, 0.043619791666666664, 0.035006009615384616, 0.02055921052631579, 0.017578125, 0.018465909090909092, 0.01532451923076923]], 'ber': [[0.08414149284362793, 0.03808903694152832, 0.013622879981994629, 0.00516200065612793, 0.0018940899107191297, 0.0006881306568781534, 0.0002859627328267912, 0.00012890001138051352, 9.374645169220823e-05, 3.3643484115600584e-05, 2.6883602142333983e-05, 1.2900114059448242e-05, 6.676435470581055e-06], [0.032366275787353516, 0.015960693359375, 0.009874105453491211, 0.004354306629725865, 0.00270201943137429, 0.0015692459909539473, 0.0008932893926447088, 0.0005442922765558416, 0.0002903820264457476, 0.00021878598441540356, 0.00013986518306116904, 7.878217911185171e-05, 6.43913898992976e-05], [0.15517663955688477, 0.12702298164367676, 0.08907222747802734, 0.036322832107543945, 0.015564680099487305, 0.008847415447235107, 0.005330264568328857, 0.003527675356183733, 0.0029088469112620633, 0.0025938579014369418, 0.002038750155218716, 0.0017822608351707458, 0.001927071604235419], [0.10343790054321289, 0.06611466407775879, 0.043680429458618164, 0.0217667818069458, 0.013199090957641602, 0.007306861877441406, 0.005208117621285575, 0.004094309277004666, 0.003994941711425781, 0.002383282310084293, 0.0023060985233472743, 0.002356225794011896, 0.002158962763272799]], 'duration': 4399.180883407593}\")\n", "print(\"Simulation duration: {:1.2f} [h]\".format(PUSCH_SIMS[\"duration\"]/3600))\n", "\n", "plt.figure()\n", "plt.title(\"5G NR PUSCH over UMi Channel Model (8x16)\")\n", "plt.xlabel(\"SNR (dB)\")\n", "plt.ylabel(\"BLER\")\n", "plt.grid(which=\"both\")\n", "plt.xlim([PUSCH_SIMS[\"ebno_db\"][0], PUSCH_SIMS[\"ebno_db\"][-1]])\n", "plt.ylim([1e-5, 1.0])\n", "\n", "i = 0\n", "legend = []\n", "for scenario in PUSCH_SIMS[\"scenario\"]:\n", " for domain in PUSCH_SIMS[\"domain\"]:\n", " for perfect_csi in PUSCH_SIMS[\"perfect_csi\"]:\n", " for detector in PUSCH_SIMS[\"detector\"]:\n", " plt.semilogy(PUSCH_SIMS[\"ebno_db\"], PUSCH_SIMS[\"bler\"][i])\n", " i += 1\n", " csi = \"Perf. CSI\" if perfect_csi else \"Imperf. CSI\"\n", " det = \"K-Best\" if detector==\"kbest\" else \"LMMSE\"\n", " legend.append(det + \" \" + csi)\n", "plt.legend(legend);" ] }, { "attachments": {}, "cell_type": "markdown", "id": "3ad298b2", "metadata": {}, "source": [ "Hopefully you have enjoyed this tutorial on Sionna's 5G NR PUSCH module!\n", "\n", "Please have a look at the [API documentation](https://nvlabs.github.io/sionna/phy/api/phy.html) of the various components or the other available [tutorials](https://nvlabs.github.io/sionna/phy/tutorials/index.html) to learn more." ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.12" } }, "nbformat": 4, "nbformat_minor": 5 }