{ "cells": [ { "cell_type": "markdown", "id": "70ae3926", "metadata": {}, "source": [ "# Working With Reflection Coefficients and S-Parameters" ] }, { "cell_type": "markdown", "id": "9aff174a", "metadata": {}, "source": [ "In this demo, we will explore how to work with reflection coefficients and S-parameters using the `ReflectionCoefficient` and `SParams` classes from the `edges.cal` module." ] }, { "cell_type": "markdown", "id": "e1554eb6", "metadata": {}, "source": [ "## Imports and Setup" ] }, { "cell_type": "markdown", "id": "9e2edeb0", "metadata": {}, "source": [ "Most of the functionality we need lives in the `edges.cal.sparams` module, so we start by importing that, along with some other useful packages:" ] }, { "cell_type": "code", "execution_count": 1, "id": "b3826154", "metadata": {}, "outputs": [], "source": [ "from edges.cal import sparams as sp" ] }, { "cell_type": "code", "execution_count": 3, "id": "7a1ed13b", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from astropy import units as un\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "781c849a", "metadata": {}, "source": [ "## Defining Reflection Coefficients and S-Parameters" ] }, { "cell_type": "markdown", "id": "1e1579c3", "metadata": {}, "source": [ "Reflection coefficients and S-parameters are fundamental concepts in RF engineering, representing how signals reflect and transmit through components. The `edges.cal.sparams` module provides classes to handle these concepts conveniently. A `ReflectionCoefficient` object represents a single reflection coefficient, while an `SParams` object can represent a full set of S-parameters for a multi-port network. Each of the classes also requires specifying the array of frequencies over which the parameters are defined. For example:" ] }, { "cell_type": "code", "execution_count": 4, "id": "bb82712b", "metadata": {}, "outputs": [], "source": [ "rc = sp.ReflectionCoefficient(\n", " freqs=np.linspace(50,100,101)*un.MHz,\n", " reflection_coefficient=np.ones(101)*0.5 + 1j*0.5\n", ")\n", "\n", "sparams = sp.SParams(\n", " freqs=np.linspace(50,100,101)*un.MHz,\n", " s11 = np.ones(101)*0.3 + 1j*0.4,\n", " s12 = np.ones(101)*0.1 + 1j*0.2,\n", " s21 = np.ones(101)*0.2 + 1j*0.1,\n", " s22 = np.ones(101)*0.4 + 1j*0.3,\n", ")" ] }, { "cell_type": "markdown", "id": "a4e08cef", "metadata": {}, "source": [ "The `ReflectionCoefficient` class can also read from a file containing S-parameter data in standard formats like `.s1p`, using the `.from_s1p()` method." ] }, { "cell_type": "markdown", "id": "8774067e", "metadata": {}, "source": [ "## Defining Reflection Coefficients and S-Parameters from Physical Models" ] }, { "cell_type": "markdown", "id": "cef386e1", "metadata": {}, "source": [ "Instead of manually specifying reflection coefficients or S-parameters, we can also derive them from physical models of components. The `edges.cal.sparams` module provides methods to create `ReflectionCoefficient` and `SParams` objects based on common RF components, such as transmission lines. " ] }, { "cell_type": "code", "execution_count": 11, "id": "55ce5331", "metadata": {}, "outputs": [], "source": [ "transmission_line = sp.TransmissionLine(\n", " freqs = np.linspace(50,100,101)*un.MHz,\n", " resistance = 1*un.ohm/un.m,#attrs.field(validator=unv(un.ohm / un.m))\n", " inductance = 1*un.ohm*un.s/un.m, #attrs.field(validator=unv(un.ohm * un.s / un.m))\n", " conductance = 5e7 *un.siemens/un.m, #attrs.field(validator=unv(un.siemens / un.m))\n", " capacitance = 5e7*un.siemens * un.s/un.m, #attrs.field(validator=unv(un.siemens * un.s / un.m))\n", " length = 0.01*un.m\n", ")" ] }, { "cell_type": "markdown", "id": "987936cc", "metadata": {}, "source": [ "Then we have access to various properties of the transmission line, such as its characteristic impedance:" ] }, { "cell_type": "code", "execution_count": 12, "id": "3f4d36ca", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$[(0.00014142136+0i),~(0.00014142136+0i),~(0.00014142136+0i),~\\dots,~(0.00014142136+0i),~(0.00014142136+0i),~(0.00014142136+0i)] \\; \\mathrm{\\Omega}$" ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "transmission_line.characteristic_impedance" ] }, { "cell_type": "markdown", "id": "51d5db73", "metadata": {}, "source": [ "But most importantly, we can get the S-parameters of the transmission line over the defined frequency range:" ] }, { "cell_type": "code", "execution_count": 14, "id": "459df482", "metadata": {}, "outputs": [], "source": [ "sparams_from_transline = transmission_line.scattering_parameters()" ] }, { "cell_type": "code", "execution_count": 15, "id": "f0049c76", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(sparams_from_transline))" ] }, { "cell_type": "markdown", "id": "15bc65e4", "metadata": {}, "source": [ "Perhaps even more usefully than a transmission line, we can model S-parameters from\n", "coaxial cables:" ] }, { "cell_type": "code", "execution_count": 21, "id": "465c1a72", "metadata": {}, "outputs": [], "source": [ "coax = sp.CoaxialCable(\n", " inner_radius = 0.5*un.mm,\n", " outer_radius = 2.0*un.mm,\n", " length = 0.5*un.m,\n", " relative_dielectric = 1.2,\n", " inner_material = 'brass',\n", " outer_material = 'copper',\n", ")\n", "\n", "sparams_from_coax = coax.as_transmission_line(freqs=transmission_line.freqs).scattering_parameters()" ] }, { "cell_type": "markdown", "id": "5ba9b87d", "metadata": {}, "source": [ "Note that some of the required properties of the coax cable can be set simply by specifying\n", "the material of the inner and outer layers of the coax. " ] }, { "cell_type": "code", "execution_count": 24, "id": "f31b7a80", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(sparams_from_coax.freqs, np.abs(sparams_from_coax.s11), label='|S11| from Coax');\n", "plt.xlabel(\"Freqs [MHz]\")\n", "plt.title(\"S11 from Coaxial Cable Model\");" ] }, { "cell_type": "markdown", "id": "cda75a7d", "metadata": {}, "source": [ "For even more convenience, several particular coaxial cables of common components are pre-defined:" ] }, { "cell_type": "code", "execution_count": 26, "id": "c173dec4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['balun-tube',\n", " 'lowband-balun-tube',\n", " 'midband-balun-tube',\n", " 'SC3792 Connector',\n", " 'SMA Connector',\n", " 'UT-141C-SP',\n", " 'UT-086C-SP',\n", " 'Molex WM10479']" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(sp.KNOWN_CABLES.keys())" ] }, { "cell_type": "code", "execution_count": null, "id": "0fd36513", "metadata": {}, "outputs": [], "source": [ "sma_sparams = sp.KNOWN_CABLES['SMA Connector'].as_transmission_line(\n", " freqs=transmission_line.freqs\n", ").scattering_parameters()" ] }, { "cell_type": "code", "execution_count": 29, "id": "4d621772", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(sma_sparams.freqs, np.abs(sma_sparams.s11), label='|S11| from SMA Connector')\n", "plt.xlabel(\"Freqs [MHz]\")\n", "plt.title(\"S11 from SMA Connector Model\");" ] }, { "cell_type": "markdown", "id": "9d7b69c9", "metadata": {}, "source": [ "## Using Calibration Standards" ] }, { "cell_type": "markdown", "id": "34199fa9", "metadata": {}, "source": [ "It is common to use calibration standards, such as open, short, and load standards, to calibrate measurement systems. The `edges.cal.sparams` module includes predefined models for these standards, allowing users to easily incorporate them into their calibration routines. \n", "\n", "A CalkitStandard is modeled as having a small \"offset\" which is a small length of transmission line. The impedance, delay, and loss of this offset can be specified when creating the standard.\n", "\n", "For example, an open standard can be represented as follows:" ] }, { "cell_type": "code", "execution_count": 38, "id": "dd4c2760", "metadata": {}, "outputs": [], "source": [ "match_standard = sp.CalkitStandard.match(\n", " offset_impedance=50.0 * un.ohm,\n", " offset_delay=30*un.picosecond, \n", " offset_loss=2.1 * un.Gohm/un.s,\n", ")" ] }, { "cell_type": "markdown", "id": "8e4b9c23", "metadata": {}, "source": [ "The reflection coefficient of the standard can then be computed over a specified frequency range:" ] }, { "cell_type": "code", "execution_count": 41, "id": "18afdc4f", "metadata": {}, "outputs": [], "source": [ "rc_match = match_standard.reflection_coefficient(freqs=np.linspace(50,100,101)*un.MHz)" ] }, { "cell_type": "code", "execution_count": 42, "id": "43abc970", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(rc_match.freqs, np.abs(rc_match.reflection_coefficient), label='|Reflection Coefficient| from Match Standard')" ] }, { "cell_type": "markdown", "id": "8732d4ef", "metadata": {}, "source": [ "To define a full `Calkit` of standards, we can use the `Calkit` class, which aggregates multiple `CalkitStandard` objects. This allows us to create a complete calibration kit for our measurement system." ] }, { "cell_type": "code", "execution_count": 45, "id": "6b2f7d64", "metadata": {}, "outputs": [], "source": [ "calkit = sp.Calkit(\n", " open = sp.CalkitStandard.open(resistance=1e12*un.ohm),\n", " short = sp.CalkitStandard.short(),\n", " match = sp.CalkitStandard.match(),\n", ")" ] }, { "cell_type": "markdown", "id": "7d6407a6", "metadata": {}, "source": [ "This _model_ can be evaluated at a set of frequencies, to yield a `CalkitReadings` object:" ] }, { "cell_type": "code", "execution_count": 47, "id": "1d3c1875", "metadata": {}, "outputs": [], "source": [ "calkit_readings = calkit.at_freqs(freqs=np.linspace(50,100,101)*un.MHz)" ] }, { "cell_type": "markdown", "id": "902e52c0", "metadata": {}, "source": [ "We will see later that this object is quite useful." ] }, { "cell_type": "markdown", "id": "8592bae3", "metadata": {}, "source": [ "## Calibrating Reflection Coefficients" ] }, { "cell_type": "markdown", "id": "0547beed", "metadata": {}, "source": [ "Measurements of reflection coefficients are defined relative to a reference plane, which may not coincide with the physical interface of the device under test (DUT). To account for this, we can use calibration techniques to shift the reference plane to the desired location.\n", "\n", "To shift the reference plane of a reflection coefficient measurement, we can use the `de_embed` method provided by the `ReflectionCoefficient` class. This method moves the reference plane from one location in the network to another, where\n", "the intervening network is represented by its S-parameters." ] }, { "cell_type": "markdown", "id": "13132ae3", "metadata": {}, "source": [ "So, for example we have the `rc_match` reflection coefficient defined above. Let's\n", "assume that an SMA Connector is attached to this device, and we want to move the reference\n", "plane to the end of the connector. We can do this as follows:" ] }, { "cell_type": "code", "execution_count": 49, "id": "41ba9450", "metadata": {}, "outputs": [], "source": [ "rc_match_deembedded = rc_match.de_embed(sma_sparams)" ] }, { "cell_type": "code", "execution_count": 50, "id": "2b72b49e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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Z555Rg4dOiQJCQny7bffypkzZyQzM1NeeOEF6du3r7qP3NzcEqHn4sWL4uDgIK+//rrEx8fLzz//LA0bNjQKNSEhIaLVauXDDz+UxMREWbFihVhYWMj27dtLPWZ6vV7q1asno0ePvu/xfeqpp8Tf31/27NkjsbGxEhYWJi1atJC8vDwRETl79qw4OjrK/PnzJTExUaKioiQgIECGDx8uIiLXr1+XUaNGSXBwsKSkpMj169dLLRMxDj16vV66d+8ubdu2le3bt8u5c+fk119/lS1btohIydCzZ88e0Wq1snz5cjl37pxs375dfHx85MMPPzT6XDRp0kS+//57SUpKkjfffFOcnJzk+vXrUlBQID/++KMAkISEBElJSZH09HQRKV/o+d///ic//vijJCUlybFjx+TJJ5+U9u3bi16vFxGRlJQUadu2rUyePFlSUlIkIyNDFixYIFqtVn3/MzOVX+avvPKK9OjRQ/bs2SNnz56VuXPnikajUcPmsmXLxMbGRnr06CFRUVFy5swZuXXrVok2XbhwQTQajUyaNEnOnDkjq1evFnd3d6PQc7/3ryyhoaHy5JNPyqFDhyQxMVEmT54sDRo0UN/LiIgIcXJykueee05Onz4tv/zyi9ja2kpYWJiMGzdOzpw5I99++60AkAMHDhi9Rw0aNJClS5dKQkKCfPDBB2JlZSVxcXEicv+fXRGRTz/9VOrVqyc//vijxMXFyciRI8XZ2Zmhpza4nS7y+1yRT32Lws6/24jEfC2Sl23q1plUtYWebt26yRtvvKE+1+v14uXlJbNnzy61/gsvvCD9+/c3KgsKCpJXX31VRJReHg8PD5k7d666PD09XTQajfzwww8ltlfaX7Blef311+Vvf/tbueqKVDD05GYVfege9iP33n9lFldW6LGzsxNHR0extLQUAOLj46P+Ql61apW0atVKDMXCVW5urtjb28u2bdtEROTnn39We3gKFQ89OTk54uDgIPv37zeqM3LkSAkPDxcRkalTp4qvr68aEO52d4gSkRKh57333ivR1i+++EKcnJzUL9SQkBDp1auX0Xa6du0qU6ZMKXW/aWlpAkA+++yzUpcXSkxMFAASFRWlll27dk3s7e1l3bp16uu9Ozzt3btXLC0t1c/S+PHj1d6cQqWVFQ8927ZtE0tLS0lISCi1bXf/nPTp00c+/vhjozqr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q0l5jquHhweuXLlitLygoAA3btyo8mPP0FONsrKycO7cOXh6eiIwMBA2NjaIjIxUlyckJODChQsIDg42YStrn549eyIhIcGoLDExEc2aNQMA+Pr6wsPDw+hY63Q6xMTE8FhXwrJly+Dm5ob+/furZfw8V53s7GxYWhr/KraysoLBYADAz3N1cHR0hKenJ27evIlt27ZhwIABPM7VpDzHNTg4GOnp6UY9bjt37oTBYEBQUFDVNqhKh0WbucmTJ8vu3bslOTlZoqKiJDQ0VBo2bChXrlwREeUS36ZNm8rOnTvl8OHDEhwcLMHBwSZude1z8OBBsba2llmzZklSUpJ899134uDgIKtXr1brfPLJJ+Lq6iobN26UEydOyIABA3jpaSXo9Xpp2rSpTJkypcQyfp6rxrBhw6Rx48bqJes//fSTNGzYUN555x21Dj/PVWPr1q3y22+/yR9//CHbt2+Xjh07SlBQkOTl5YkIj3NlZWZmyrFjx+TYsWMCQD777DM5duyYnD9/XkTKd1z79u0rAQEBEhMTI/v27RM/Pz9esl7TDRo0SDw9PcXW1lYaN24sgwYNMpo75vbt2/L6669LvXr1xMHBQZ5++mlJSUkxYYtrr19//VXatWsnGo1GWrduLV9//bXRcoPBINOmTRN3d3fRaDTSp08fSUhIMFFra69t27YJgFKPHT/PVUOn08n48eOladOmYmdnJ4888oi8//77kpubq9bh57lqrF27Vh555BGxtbUVDw8PeeONNyQ9PV1dzuNcObt27RIAJR7Dhg0TkfId1+vXr0t4eLg4OTmJVquVESNGSGZmZpW31UKk2LSfRERERHUUx/QQERGRWWDoISIiIrPA0ENERERmgaGHiIiIzAJDDxEREZkFhh4iIiIyCww9REREZBYYeoiIiMgsMPQQERGRWWDoISIiIrPA0ENERERmgaGHiIiIzML/B00pK6ZTe0SUAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(rc_match.freqs, np.abs(rc_match.reflection_coefficient), label='|Reflection Coefficient| from Match Standard')\n", "plt.plot(rc_match.freqs, np.abs(rc_match_deembedded.reflection_coefficient), label='|Reflection Coefficient| after de-embed')\n", "plt.legend()" ] }, { "cell_type": "markdown", "id": "3efaa487", "metadata": {}, "source": [ "One important way to compute the S-parameters of a subsystem\n", "is to use the \"one-port direct/reverse\" method, which uses\n", "measurements of a known standard to compute the S-parameters of\n", "the subsystem (Monsalve+2016). This requires measurements of the\n", "Calkit standards (with a VNA), as well as a model of the intrinsic\n", "reflection coefficients of the standards. " ] }, { "cell_type": "markdown", "id": "47e8e77c", "metadata": {}, "source": [ "We have a couple of particular Calkit standards built-in for convenience.\n", "Let's use one of these to define a (mock) set of measurements:" ] }, { "cell_type": "code", "execution_count": 51, "id": "aadd3f83", "metadata": {}, "outputs": [], "source": [ "calkit_model = sp.AGILENT_85033E\n", "calkit_meas = calkit_model.at_freqs(freqs=np.linspace(50,100,101)*un.MHz)" ] }, { "cell_type": "markdown", "id": "42e264c1", "metadata": {}, "source": [ "Now, to compute the S-parameters of a subsystem through which\n", "these measurements were made when terminated with the calkit standards, we can use a simple method on the `SParams` class:" ] }, { "cell_type": "code", "execution_count": 52, "id": "8d61a49b", "metadata": {}, "outputs": [], "source": [ "solved_sparams = sp.SParams.from_calkit_measurements(model=calkit_model, measurements=calkit_meas)" ] }, { "cell_type": "markdown", "id": "b83c9ef6", "metadata": {}, "source": [ "These S-parameters can then be used for further analysis or de-embedding as needed." ] } ], "metadata": { "kernelspec": { "display_name": "edges-analysis", "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.6" } }, "nbformat": 4, "nbformat_minor": 5 }