{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Fakultät für Physik \n", "\n", "## Physikalisches Praktikum P1 für Studierende der Physik\n", "\n", "Versuch P1-53, 54, 55 (Stand: September 2023)\n", "\n", "[Raum F1-13](https://labs.physik.kit.edu/img/Praktikum/Lageplan_P1.png)\n", "\n", "# Vierpole und Leitungen" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Name: _surname1_ Vorname: _name1_ E\\-Mail: _mail1_\n", "\n", "\\begin{equation*}\n", "\\begin{split}\n", "&\\\\\n", "&\\\\\n", "\\end{split}\n", "\\end{equation*}\n", "\n", "Name: _surname2_ Vorname: _name2_ E\\-Mail: _mail2_\n", "\n", "\\begin{equation*}\n", "\\begin{split}\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "\\end{split}\n", "\\end{equation*}\n", "\n", "Gruppennummer: _groupnumber_\n", "\n", "\\begin{equation*}\n", "\\begin{split}\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "\\end{split}\n", "\\end{equation*}\n", "\n", "Betreuer: \n", "\n", "\\begin{equation*}\n", "\\begin{split}\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "\\end{split}\n", "\\end{equation*}\n", "\n", "Versuch durchgeführt am: _date_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "**Beanstandungen:**\n", "\n", "\\begin{equation*}\n", "\\begin{split}\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "&\\\\\n", "\\end{split}\n", "%\\text{\\vspace{10cm}}\n", "\\end{equation*}\n", "\n", "
\n", "Testiert am: __________________ Testat: __________________" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Hilfsfunktionen. Nicht weiter beachten\n", "from IPython.core.display import Markdown\n", "from IPython.display import display\n", "def M_helper_func(txt):\n", " #print(txt)\n", " #print('fr\"'+txt.replace(\"§\",\"$\").replace(\"{\",\"{{\").replace(\"}\",\"}}\").replace(\"[!\",\"{\").replace(\"!]\",\"}\")+'\"')\n", " execreturnvalue = \"\"\n", " loc = {}\n", " exec('execreturnvalue = fr\"
'+txt.replace(\"{\",\"{{\").replace(\"}\",\"}}\").replace(\"[!\",\"{\").replace(\"!]\",\"}\")+'
\"', globals(), loc)\n", " display(Markdown(loc[\"execreturnvalue\"]))\n", " return loc[\"execreturnvalue\"]\n", "\n", "from IPython.core.magic import (register_line_magic,\n", " register_cell_magic)\n", "\n", "from IPython.core import magic\n", "\n", "def register_line_magic(f):\n", " setattr(f, magic.MAGIC_NO_VAR_EXPAND_ATTR, True)\n", " return magic.register_line_magic(f)\n", "\n", "@register_line_magic\n", "def m(line):\n", " M_helper_func(line)\n", "\n", "import os\n", "import numpy as np\n", "from numpy import pi\n", "import matplotlib.pyplot as plt\n", "import matplotlib as mpl\n", "import scipy as sci\n", "import kafe2\n", "import pandas as pd\n", "import uncertainties\n", "from uncertainties import ufloat, unumpy\n", "from uncertainties.unumpy import uarray as uarr\n", "from uncertainties.unumpy import nominal_values, nominal_values as nomv, std_devs, std_devs as stdv\n", "from uncertainties.umath import sqrt as usqrt, sin as usin,exp as uexp\n", "import scipy\n", "import matplotlib.image as mpimg\n", "from io import StringIO\n", "\n", "mpl.rcParams['figure.dpi'] = 100\n", "class ng:\n", " def __init__(self,x=None,stat=None,syst=None):\n", " if x == None:\n", " self.syst = None\n", " self.stat = None\n", " else:\n", " self.syst = ufloat(x,0)\n", " self.stat = ufloat(x,0)\n", " if syst != None:\n", " self.syst = ufloat(x,syst)\n", " if stat != None:\n", " self.stat = ufloat(x,stat)\n", " def SetSyst(self,syst):\n", " self.syst = ufloat(nomv(self.syst),syst)\n", " def SetStat(self,stat):\n", " self.stat = ufloat(nomv(self.stat),stat)\n", " def __str__(self):\n", " return f'{nomv(self.stat):.2}±ₛₜₐₜ{stdv(self.stat):.2}±ₛᵧₛₜ{stdv(self.syst):.2}'\n", " def __add__(self,o):\n", " res = ng()\n", " if type(o) == ng:\n", " res.syst = self.syst + o.syst\n", " res.stat = self.stat + o.stat\n", " else:\n", " res.syst = self.syst + o\n", " res.stat = self.stat + o\n", " return res\n", " def __iadd__(self,o):\n", " return self.__add__(o)\n", " def __sub__(self,o):\n", " res = ng()\n", " if type(o) == ng:\n", " res.syst = self.syst - o.syst\n", " res.stat = self.stat - o.stat\n", " else:\n", " res.syst = self.syst - o\n", " res.stat = self.stat - o\n", " return res\n", " def __isub__(self,o):\n", " return self.__sub__(o)\n", " def __mul__(self,o):\n", " res = ng()\n", " if type(o) == ng:\n", " res.syst = self.syst * o.syst\n", " res.stat = self.stat * o.stat\n", " else:\n", " res.syst = self.syst * o\n", " res.stat = self.stat * o\n", " return res\n", " def __imul__(self,o):\n", " return self.__mul__(o)\n", " def __truediv__(self,o):\n", " res = ng()\n", " if type(o) == ng:\n", " res.syst = self.syst / o.syst\n", " res.stat = self.stat / o.stat\n", " else:\n", " res.syst = self.syst / o\n", " res.stat = self.stat / o\n", " return res\n", " def __itruediv__(self,o):\n", " return self.__truediv__(o)\n", " def __pow__(self,o):\n", " res = ng()\n", " if type(o) == ng:\n", " res.syst = self.syst**o.syst\n", " res.stat = self.stat**o.stat\n", " else:\n", " res.syst = self.syst**o\n", " res.stat = self.stat**o\n", " return res\n", " def __ipow__(self,o):\n", " return self.__pow__(o)\n", "def sin(o):\n", " if type(o) == ng:\n", " res = ng()\n", " res.syst = usin(o.syst)\n", " res.stat = usin(o.stat)\n", " return res\n", " else:\n", " return np.sin(o)\n", "def exp(o):\n", " if type(o) == ng:\n", " res = ng()\n", " res.syst = uexp(o.syst)\n", " res.stat = uexp(o.stat)\n", " return res\n", " else:\n", " return np.exp(o)\n", "def sqrt(o):\n", " if type(o) == ng:\n", " res = ng()\n", " res.syst = usqrt(o.syst)\n", " res.stat = usqrt(o.stat)\n", " return res\n", " else:\n", " return np.sqrt(o)\n", " \n", "def uplot(x,y,*args, **kwargs):\n", " utypes = (uncertainties.core.\n", "Variable,uncertainties.core.AffineScalarFunc)\n", " xplt = x\n", " yplt = y\n", " if type(x[0]) in utypes:\n", " xplt = nomv(x)\n", " kwargs[\"xerr\"] = stdv(x)\n", " if type(y[0]) in utypes:\n", " yplt = nomv(y)\n", " kwargs[\"yerr\"] = stdv(y)\n", " plt.errorbar(xplt,yplt,*args,**kwargs)\n", "\n", "def pltimg(path):\n", " try:\n", " img = mpimg.imread(path)\n", " imgplot = plt.imshow(img)\n", " plt.axis('off')\n", " plt.show()\n", " except Exception as e:\n", " print(\"Image Not Found\")\n", " print(e)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 1.1\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "C = 1E-9\n", "f = 1.7E3\n", "ω = 2*np.pi*f\n", "U_e = 8.0\n", "\n", "%m Bei der Aufgabe geht es darum, die Übertragungsfunktion eines Hochpassfilters zu untersuchen. Wir haben eine Eingangsspannung von [!U_e!]V an den Hochpassfilter angelegt. Dabei haben wir bei verschiedenen Frequenzen folgende Daten gemessen:\n", "\n", "a11 = \"\"\"\n", "R,DeltaT,U_a\n", "1E3,144E-6,200E-3\n", "1E4,136E-6,840E-3\n", "1E5,92E-6,5.4\n", "1E6,16E-6,7.12\n", "\"\"\"\n", "\n", "mpg = pd.read_csv(StringIO(a11))\n", "mpg.rename(columns={\"R\": 'Widerstand in Ohm', \"DeltaT\": \"Δt in s\",\"U_a\": \"Ausgansspannung in V\"}, inplace=True)\n", "display(mpg)\n", "\n", "%m Der verwendete Kondensator hat eine Kapazität von 1nF und es wurde bei einer Frequenz von 1.7KHz gemessen.\n", "%m Es gilt $ω_0 = \\frac{1}{C R}$ womit sich folgende zwei Plots ergeben:\n", "\n", "R_theo = np.logspace(3,6,500)\n", "μ_theo = 1/np.sqrt(1 + 1/(ω**2*C**2*R_theo**2))\n", "Deltaφ_theo = np.arctan(1/(ω*C*R_theo))\n", "ω_0_theo = 1 / (R_theo * C)\n", "logω_theo = np.log10(ω/ω_0_theo)\n", "\n", "R, Deltat, U_a = np.genfromtxt(StringIO(a11), delimiter=',')[1:].transpose()\n", "\n", "μ = U_a / U_e\n", "Deltaφ = 2*pi*Deltat*f\n", "ω_0 = 1 / (R * C)\n", "logω = np.log10(ω/ω_0)\n", "\n", "plt.title(\"Spannungsübertrag\")\n", "plt.plot(logω_theo, μ_theo, \"--\", label=\"$\\mu_{Theo}$\")\n", "plt.plot(logω, μ, \"X\", label=\"$\\mu$\")\n", "plt.legend()\n", "plt.ylabel(r\"Spannungsverhältnis $\\left|\\frac{U_1}{U_0}\\right|$\")\n", "plt.xlabel(r\"$\\log(\\omega/\\omega_{0})$\")\n", "plt.show()\n", "\n", "plt.title(\"Phasendifferenz\")\n", "plt.plot(logω_theo, Deltaφ_theo, \"--\", label=\"$\\Deltaφ_{Theo}$\")\n", "plt.plot(logω, Deltaφ, \"X\", label=\"$\\Deltaφ$\")\n", "plt.ylabel(r\"Phasendifferenz arg$\\left(\\frac{U_1}{U_0}\\right)$\")\n", "plt.xlabel(r\"$\\log(\\omega/\\omega_{0})$\")\n", "plt.legend()\n", "plt.show()\n", "\n", "%m Wobei nach der Versuchsdokumentation die theoretischen Erwartungswerte $\\mu=\\frac{1}{\\sqrt{\\omega^{2}C^{2}R^{2}+1}}$ sowie $\\Delta\\varphi = \\arctan\\left(\\frac{1}{\\omega\\,C\\,R}\\right)$ als gestrichelte Linien aufgetragen sind. Es ist zu sehen, dass die Messwerte recht nah an den theoretischen Werten liegen. Die Abweichungen für höhere Frequenzen kommen dadurch zustande, dass das theoretische Modell die rellen Widerstände vernachlässigt." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 1.2: Differenzierglied\n", "\n", "Wiederholen Sie die Messreihe aus Aufgabe 1.1, aber legen statt einer sinus- eine **dreieckförmige** Wechselspannung (gleicher Frequenz und Amplitude) am Eingang der Schaltung an. Für $\\omega\\ll\\omega_{0}$ wird die Schaltung zum Differenzierglied. Beschreiben Sie was Sie sehen und vergleichen Sie Ihre Beobachtung mit Ihrer Erwartung.\n", "\n", "---\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "U_e = 8\n", "\n", "%m In diesem Versuch wird das differenzierede Verhalten des Hochpassfilters untersucht. Wir haben eine Dreiecksfrequenz von [!U_e!]V an den Hochpassfilter angelegt zu sehen auf Channel1 in gelb. \n", "\n", "plt.title(f\"R={R[0]}Ω\")\n", "pltimg(\"Fotos/A12_1.jpg\")\n", "%m Wie zu erwarten war, verhält sich der Hochpass wie ein Diffenzierglied für den kleinsten Widerstand, da hier $\\omega << \\omega_0$. Das Oszilloskop zeigt also eine Rechteckwelle am Ausgang wobei ein hoher Anteil an rauschen zu erkennen ist, da einerseits ein Differenzierglied immer das Rauschen auf dem Eingang verstäkt und andererseits die Signalspannung sehr stark geschwächt ist (hier nur noch 65.6mV am Ausgang) was das Signal-to-Noise-Ratio weiter verschlechtert.\n", "\n", "plt.title(f\"R={R[1]}Ω\")\n", "pltimg(\"Fotos/A12_2.jpg\")\n", "%m Auch für den zweitkleinsten Widerstand erzeugt der Hochpass noch eine Rechteckwelle am Ausgang wobei führenden Ecken abgerundet sind, weil der größere Widerstand dafür sorgt, dass bei gleicher Eingangsspannung weniger Strom fließt wodurch der Kondensator langsamer geladen wird. \n", "\n", "plt.title(f\"R={R[2]}Ω\")\n", "pltimg(\"Fotos/A12_3.jpg\")\n", "%m Mit weiter steigendem Widerstand werden die führenden Ecken werden weiter abgerundet.\n", "\n", "plt.title(f\"R={R[3]}Ω\")\n", "pltimg(\"Fotos/A12_4.jpg\")\n", "%m Im Grenzfall $R\\to\\inf$ nähert sich das Ausgangssignal einer Dreieckswelle an ohne einen differenzierenden Effekt vorzuweisen. Hier ist jetzt $\\omega >> \\omega_0$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 1.3: Tiefpass-Filter\n", "\n", "Gehen Sie zur Charakterisierung des Tiefpass-Filters analog zu Aufgabe 1.1 vor.\n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "C = 1E-9\n", "f = 1.7E3\n", "ω = 2*np.pi*f\n", "U_e = 8.0\n", "\n", "%m Bei der Aufgabe geht es darum, die Übertragungsfunktion eines Tiefpassfilters zu untersuchen. Wir haben eine Eingangsspannung von [!U_e!]V an den Tiefpassfilter angelegt. Dabei haben wir bei verschiedenen Frequenzen folgende Daten gemessen:\n", "\n", "a13 = \"\"\"\n", "R,DeltaT,U_a\n", "1E3,-780E-9,8.4\n", "1E4,-8.8E-6,8.2\n", "1E5,-71E-6,5.6\n", "1E6,-126E-6,1.2\n", "\"\"\"\n", "\n", "mpg = pd.read_csv(StringIO(a13))\n", "mpg.rename(columns={\"R\": 'Widerstand in Ohm', \"DeltaT\": \"Δt in s\",\"U_a\": \"Ausgansspannung in V\"}, inplace=True)\n", "display(mpg)\n", "\n", "%m Der verwendete Kondensator hat eine Kapazität von 1nF und es wurde bei einer Frequenz von 1.7KHz gemessen.\n", "\n", "R_theo = np.logspace(3,6,500)\n", "μ_theo = 1/np.sqrt(1 + ω**2*C**2*R_theo**2)\n", "Deltaφ_theo = -np.arctan(ω*C*R_theo)\n", "ω_0_theo = 1 / (R_theo * C)\n", "logω_theo = np.log10(ω/ω_0_theo)\n", "\n", "R, Deltat, U_a = np.genfromtxt(StringIO(a13), delimiter=',')[1:].transpose()\n", "\n", "μ = U_a / U_e\n", "Deltaφ = 2*pi*Deltat*f\n", "ω_0 = 1 / (R * C)\n", "logω = np.log10(ω/ω_0)\n", "\n", "%m Es gilt weiterhin $ω_0 = \\frac{1}{C R}$ womit sich folgende zwei Plots ergeben:\n", "\n", "\n", "plt.title(\"Spannungsübertrag\")\n", "plt.plot(logω_theo, μ_theo, \"--\", label=\"$\\mu_{Theo}$\")\n", "plt.plot(logω, μ, \"X\", label=\"$\\mu$\")\n", "plt.legend()\n", "plt.ylabel(r\"Spannungsverhältnis $\\left|\\frac{U_1}{U_0}\\right|$\")\n", "plt.xlabel(r\"$\\log(\\omega/\\omega_{0})$\")\n", "plt.show()\n", "\n", "plt.title(\"Phasendifferenz\")\n", "plt.plot(logω_theo, Deltaφ_theo, \"--\", label=\"$\\Deltaφ_{Theo}$\")\n", "plt.plot(logω, Deltaφ, \"X\", label=\"$\\Deltaφ$\")\n", "plt.ylabel(r\"Phasendifferenz arg$\\left(\\frac{U_1}{U_0}\\right)$\")\n", "plt.xlabel(r\"$\\log(\\omega/\\omega_{0})$\")\n", "plt.legend()\n", "plt.show()\n", "\n", "%m Wobei nach der Versuchsdokumentation die theoretischen Erwartungswerte $\\mu = \\frac{1}{\\sqrt{\\omega^{2}C^{2}R^{2}+1}}$ sowie $\\Delta\\varphi = -\\arctan\\left(\\omega\\,C\\,R\\right)$ als gestrichelte Linien aufgetragen sind. Es ist zu sehen, dass die Messwerte recht nah an den theoretischen Werten liegen." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 1.4: Integrierglied\n", "\n", "Gehen Sie zur weiteren Untersuchung des Tiefpass-Filters analog zu Aufgabe 1.2 vor, aber verwenden Sie statt einer sinus- (oder dreieck-) eine **rechteckförmige** Wechselspannung. Für $\\omega\\gg\\omega_{0}$ wird die Schaltung zum Integrierglied. Beschreiben Sie was Sie sehen und vergleichen Sie Ihre Beobachtung mit Ihrer Erwartung. \n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "U_e = 8\n", "\n", "%m In diesem Versuch wird das integrierende Verhalten des Tiefpassfilters untersucht. Wir haben eine Dreiecksfrequenz von 8V an den Tiefpassfilter angelegt zu sehen auf Channel1 in gelb. Da wir leider vergessen haben eine Rechteckwelle anstatt einer Dreieckswelle am Eingang anzulegen sind die Ergebnisse nicht ganz so schön wie erhofft aber nichtdestotrotz ist der Effekt sichtbar.\n", "\n", "plt.title(f\"R={R[3]}Ω\")\n", "pltimg(\"Fotos/A14_4.jpg\")\n", "%m Wie zu erwarten war, verhält sich der Tiefpass wie ein Integrierglied für den größten Widerstand, da hier $\\omega >> \\omega_0$. Das Oszilloskop zeigt hier jeweils einen Parabelförmigen verlauf am Ausgang, wie beim Integral einer geraden zu erwarten ist.\n", "\n", "plt.title(f\"R={R[2]}Ω\")\n", "pltimg(\"Fotos/A14_3.jpg\")\n", "%m Auch für den zweitkleinsten Widerstand erzeugt der Tiefpass noch eine leicht parabelförmigen Verlauf wobei die Parabeln verzerrt sind.\n", "\n", "plt.title(f\"R={R[1]}Ω\")\n", "pltimg(\"Fotos/A14_2.jpg\")\n", "%m Mit weiter reduziertem Widerstand werden die Kanten weiter verzerrt und die Kurve fängt an sich der Eingangsspannung anzunähern.\n", "\n", "plt.title(f\"R={R[0]}Ω\")\n", "pltimg(\"Fotos/A14_1.jpg\")\n", "%m Im Grenzwert $R\\to 0$ nähert sich das Ausgangssignal der Eingangswelle an, ohne einen integrierenden Effekt. Hier ist jetzt $\\omega << \\omega_0$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Aufgabe 2: Drosselkette\n", "\n", "**Hinweise zu allen hier durchzuführenden Messungen finden Sie in der Datei [Hinweise-Aufgabe-2.md](https://gitlab.kit.edu/kit/etp-lehre/p1-praktikum/students/-/tree/main/Vierpole_und_Leitungen/doc/Hinweise-Aufgabe-2.md).** \n", "\n", "### Aufgabe 2.1: Bestimmung der charakteristischen Impedanz $Z_{0}$\n", "\n", "Bestimmen Sie $Z_0$ für $\\omega\\ll\\omega_0$.\n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#f = 20e3\n", "#U_0 = 6\n", "uR = ufloat(225, 10)\n", "\n", "C = 2e-9 \n", "L = 96e-6\n", "Z_A_theo = np.sqrt(L/C)\n", "\n", "%m In diesem Versuch soll die charakteristische Impedanz $Z_0$ der Drosselkette bestimmt werden. Der theoretische Erwartungswert errechnet sich aus der angegebenen Kapazität von 2nF und Induktivität von $96\\mu H$ der Drosselkette zu $Z_{0Theo}=\\sqrt{\\frac{L}{C}}=[!Z_A_theo:.2f!]\\,\\Omega$. Wir haben bei einer Einstellung des Potentiometers am Ausgang der Drosselkette von $[!uR.n:.2f!]\\,\\Omega$ die geringsten Reflektionen erhalten. Zur Einstellung haben wir eine Rechteckwelle verwendet, da man hier besonders gut die Veränderungen durch eine Reflektion erkennen kann. Da das Potentiometer relativ viel Spiel hatte haben wir nur eine Unsicherheit von $[!uR.n:.2f!]\\,\\Omega$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 2.2: Bestimmung der Grenzfrequenz $\\omega_{0}$\n", "\n", "Bestimmen Sie $\\omega_0$. \n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%m In dieser Aufgabe soll die charakteristische Frequenz der Drosselkette bestimmt werden, indem die Ausgangsspannung $U_5$ bei verschiedenen Eingangsfrequenzen $\\omega_0$ gemessen wird. \n", "\n", "%m Um den regelbaren Widerstand entpsprechen einstellen zu können muss vorher der Zusammenhang $Z_0(\\omega)$ bestimmt werden. Hier werden die im Datenblatt angegebenen Werte für C und L verwendet um über den Zusammenhang $Z_0 = \\sqrt{\\frac{L}{C (1-\\frac{\\omega^2}{\\omega_0^2})}}$ mit $\\omega_0 = \\sqrt{L C}^{-1}$ die nötige Ausgangsimpedanz $Z_0 = Z_A$ zu bestimmen.\n", "\n", "C_theo = 2e-9 \n", "L_theo = 96e-6\n", "\n", "#w = np.logspace(6.5,6.7,1000)\n", "w = np.linspace(4.4e6,4.7e6, 1000)\n", "\n", "w_0 = 2/np.sqrt(L_theo*C_theo)\n", "Z_0 = np.sqrt(L_theo/(C_theo*(1-w**2/w_0**2))+0j)\n", "\n", "f = w/2/np.pi\n", "\n", "plt.title(\"Theoretische Impedanz $Z_0$\")\n", "plt.plot(f, np.real(Z_0), \"--\", label=\"Realteil\")\n", "plt.plot(f, np.imag(Z_0), \"--\", label=\"Imaginärteil\")\n", "plt.axvline(1/np.pi/np.sqrt(L_theo*C_theo), linestyle=\"--\", color=\"k\", label=\"$w_0$\")\n", "plt.ylim((-100,2000))\n", "plt.ylabel(\"Complexer Widerstand in $\\Omega$\")\n", "plt.xlabel(\"Frequenz in Hz\")\n", "plt.legend()\n", "plt.show()\n", "\n", "n = 6\n", "Z_L = 1j*w*L_theo\n", "Z_C = 2/(1j*w*C_theo)\n", "γ = np.arccosh(Z_L/Z_C+1)\n", "A = np.cosh(n*γ)-np.sinh(n*γ)\n", "\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "ax.plot(f, np.abs(A), label=\"$U_5/U_0$\")\n", "ax.axvline(1/np.pi/np.sqrt(L_theo*C_theo), linestyle=\"--\", color=\"k\", label=\"$w_0$\")\n", "ax2 = plt.gca().twinx()\n", "ax2.plot(f, np.angle(A), label=\"Phase\", color=\"green\")\n", "ax.legend(loc=\"upper left\")\n", "ax2.legend(loc=0)\n", "ax.set_ylabel(r\"Verstärkung $\\left|\\frac{U_5}{U_0}\\right|$\")\n", "ax2.set_ylabel(r\"Phasendifferenz arg$(\\frac{U_5}{U_0})$\")\n", "ax.set_xlabel(\"Frequenz in Hz\")\n", "plt.show()\n", "\n", "%m Es ist zu sehen, dass der Widerstand divergiert und auch schon für kleine Frequenzen weit oberhalb des Regelbereiches des regelbaren Widerstandes liegt. Es ist also mit dem Versuchsaufbau nicht möglich den Widerstand sinnvoll nachzuregeln. Deswegen haben wir einen konstanten, ausreichend großen Widerstand von 1.5KΩ gewählt um Reflektionen in der Nähe der Grenzfrequenz möglichst zu vermeiden, da nur in diesem Bereich eine genaue Messung wichtig ist. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%m Wir haben uns davon überzeugt, dass die Eingangsspannung ausreichend unabhängig von der eingestellten Frequenz ist, indem wir einmal verschiedene Frequenzen eingestellt haben und festgestellt haben, dass sich die Eingangsspannung nicht sichtbar verändert.\n", "\n", "U_0 = ufloat(6.08, 0.1)\n", "\n", "%m Wir haben folgende Messwerte bei der Messung der Drosselkette erhalten:\n", "\n", "a22 = \"\"\"\n", "f,U_6\n", "720E3,2.78\n", "725E3,3.1\n", "730E3,3.58\n", "735E3,3.34\n", "740E3,2.42\n", "745E3,1.64\n", "750E3,1.09\n", "755E3,777E-3\n", "758.6E3,608E-3\n", "760E3,546E-3\n", "763.96E3,430E-3\n", "765E3,400E-3\n", "770E3,299E-3\n", "775E3,230E-3\n", "780E3,180E-3\n", "785E3,143E-3\n", "790E3,116E-3\n", "795E3,95E-3\n", "800E3,73.2E-3\n", "\"\"\" #keine Änderung mehr ab da, nur noch rauschen\n", "\n", "f, U_6 = np.genfromtxt(StringIO(a22), delimiter=',')[1:].transpose()\n", "w = f * (2 * np.pi)\n", "U_6 = np.sqrt(2) * U_6 #effektiv zu anderer, unten bei Tabelee ncho machen\n", "\n", "w_theo = np.linspace(min(f)*2*pi,max(f)*2*pi, 1000)\n", "C_theo = 2e-9 \n", "L_theo = 96e-6\n", "n=6\n", "Z_L = 1j*w_theo*L_theo\n", "Z_C = 2/(1j*w_theo*C_theo)\n", "γ = np.arccosh(Z_L/Z_C+1)\n", "w_theo = np.linspace(np.min(w),np.max(w), 1000)\n", "f_theo = w_theo/2/np.pi\n", "A_theo = np.cosh(n*γ)-np.sinh(n*γ)\n", "\n", "mpg = pd.read_csv(StringIO(a22))\n", "mpg[\"U_6\"] = np.sqrt(2) * mpg[\"U_6\"]\n", "mpg.rename(columns={\"f\": 'Frequenz in Hz',\"U_6\": \"Ausgansspannung in V\"}, inplace=True)\n", "display(mpg)\n", "\n", "%m Hier sind nun die Messwerte zusammen mit den theoretischen Werten aufgetragen.\n", "\n", "w_0_theo = 2/np.sqrt(L_theo*C_theo)\n", "index_theo = np.min(np.where((np.abs(A_theo) <= 0.1) == 1))\n", "w_border_theo = (w_theo[index_theo] + w_theo[index_theo-1])/2\n", "\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "ax.plot(f_theo, np.abs(A_theo), label=\"$U_5/U_0$ (theo)\")\n", "uplot(f, U_6/U_0, fmt=\"x\")\n", "ax.axvline(w_0_theo/2/pi, linestyle=\"--\", color=\"k\", label=\"$w_0 (theo)$\")\n", "ax.axvline(w_border_theo/2/pi, linestyle=\"--\", color=\"g\", label=\"$\\omega_{10\\%} (theo)$\")\n", "ax.legend(loc=\"upper left\")\n", "ax.set_ylabel(r\"Verstärkung $\\left|\\frac{U_5}{U_0}\\right|$\")\n", "ax.set_xlabel(\"Frequenz in Hz\")\n", "x = np.linspace(f[0],f[len(f)-1])\n", "ax.plot(x,0.1*np.ones(len(x)))\n", "plt.show()\n", "\n", "\n", "%m Es ist zu erkennen, dass die Kurvenformen nicht besonders ähnlich sind. Es spielen also noch andere Effekte eine Rolle, die unser Modell nicht darstellen kann. Das dürfte daran liegen, dass unser Modell die vorhandene Widerstände des Aufbaus vernachlässigt. Deswegen kann auch kein sinvoller Fit an die Daten gemacht werden.\n", "\n", "index = np.min(np.where((U_6/U_0 <= 0.1) == 1))\n", "w_border = (w[index] + w[index-1])/2\n", "Δw_border = abs((w[index] - w[index-1])/2) # Hier haben wir eine Unsicherheit von 100Hz\n", "uw_boder = ufloat(w_border, Δw_border)\n", "\n", "uw_boder = ufloat(763.96e3*2*pi, 100*2*pi)\n", "\n", "index_theo = np.min(np.where((np.abs(A_theo) <= 0.1) == 1))\n", "w_border_theo = (w_theo[index_theo] + w_theo[index_theo-1])/2\n", "\n", "\n", "\n", "%m Wie in der Aufgabenstellung vorgegeben wird jetzt $\\omega_0$ so gewählt, dass das Modell bei $\\frac{U_6}{U_0} = 0.1$ auf die Daten passt. Dieses Verfahren finde ich persönlich nicht besonders sinvoll, da hier Effekte eine großen Einfluss haben, die unser Modell nicht darstellen kann, was dafür sorgt, dass unsere Ergebnisse wenig mit der Realität zutun haben und einen großen unbekannten systematischen Fehler aufweisen werden. Für die Aufgabenstellung führen wir die Auswertung hier trotzdem einmal vor. \n", "\n", "\n", "%m Wir haben einmal einen groben Kurvenverlauf von 720KHz bis 800KHz aufgetragen um einen Überblick zu gewinnen. Danach haben wir die Frequenz so reguliert, das das Oszilloskop am Ausgang gerade 10% der Eingangsspannung, also 608mV angezeigt hat. Diese Einstellung konnten wir bis auf 100Hz genau machen. Es ergibt sich eine Grenzkreisfrequenz $\\omega_{10\\%} = [!uw_boder.n:.2f!]\\,\\mathrm{Hz}$ mit einer Unsicherheit von $[!uw_boder.s:.2f!]\\,\\mathrm{Hz}$.\n", "\n", "w_0 = uw_boder/w_border_theo*w_0_theo\n", "\n", "%m In der Kurvenverlauf der theoretischen Funktion gilt $\\frac{\\omega_{10\\%}}{\\omega_0} = [!w_border_theo/w_0_theo!]$ Da die thoretischen Werte nah genug an den echten Messwerten liegen kann in guter Näherung angenommen, dass dieses Verhältnis auch für die Messwerte gilt. Damit ergibt such $w_0$ = [!w_0.n:.2f!]Hz $\\pm$ [!w_0.s:.2f!]Hz. Dieser Wert ist aufgrund der oben genannten Probleme mit dem Modell natürlich nicht mir dem theoretischen Wert vereinbar.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 2.3: Bestimmung von $C$ und $L$ der in der Drosselkette verbauten Elemente\n", "\n", "Aus Ihren Messergebnissen aus den Aufgaben 2.1 und 2.2 können Sie die Kapazität $C$ und die Induktivität $L$ der in der Drosselkette verbauten Elemente bestimmen. Pflanzen Sie die Unsicherheiten Ihrer Messungen fort und vergleichen Sie Ihre Ergebnisse mit den technischen Daten zu diesem Versuch (siehe [Datenblatt.md](https://git.scc.kit.edu/etp-lehre/p1-for-students/-/blob/main/Vierpole_und_Leitungen/Datenblatt.md)). \n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "Z_0 = ufloat(250,5)\n", "f_0 = ufloat(720e3,1e3)\n", "\n", "%m Wir haben für die Impedanz $Z_0$ einen Wert von $[!Z_0.n:.2f!]\\,\\Omega\\pm[!Z_0.s:.2f!]\\,\\Omega$ bestimmt und für die Frequenz $f_0$ einen Wert von $[!f_0.n*1e-3:.2f!]\\,KHz\\pm[!f_0.s*1e-3:.2f!]\\,KHz$.\n", "\n", "C = 1/(np.pi*f_0*Z_0)\n", "L = Z_0 / (np.pi*f_0)\n", "\n", "%m Daraus ergeben sich mit Gaussscher Unsicherheitsfortpflanzung $L=[!L.n*1e6:.2f!]\\,\\mu H\\pm[!L.s*1e6:.2f!]\\,\\mu H$ und $C=[!C.n*1e9:.2f!]\\,nF\\pm[!C.s*1e9:.2f!]\\,nF$.\n", "\n", "%m Unter anbetracht der Probleme mit dem Modell liegen diese Werte noch recht nah an den Werten im Datenblatt mit Abweichungen unter 15%. Allerdings sind die Werte wie zu erwarten war nicht im ramen der statistischen Unsicherheiten mit den Datenblattwerten vereinbar, da die systematischen Unsicherheiten nicht bestimmt werden konnten." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 2.4: Bestimmung der Phasendifferenz $\\Delta\\varphi$\n", "\n", " - Stellen Sie den Verlauf von $\\Delta\\varphi(\\omega)$ für mindestens 6 bis 8 Werte von $\\omega$ dar. Führen Sie die gleiche Messreihe sowohl für die gesamte Drosselkette, als auch für ein einzelnes $\\pi$-Glied aus der Drosselkette durch und überzeugen Sie sich von den folgenden Eigenschaften:\n", " \n", " - Für **ein einzelnes $\\pi$-Glied** gilt $\\Delta\\varphi(\\omega_{0})=\\pi$. \n", "\n", " - Bei vorgegebener Frequenz ist $\\Delta\\varphi(\\omega)$ für die **sechsgliedrige Drosselkette** gegenüber des einzelnen $\\pi$-Glieds 6-mal größer. \n", "\n", " - Bestimmen Sie, in einer weiteren Messreihe, $\\omega(\\Delta\\varphi)$ für fünf vorgegebene Werte von $\\Delta\\varphi=1\\pi,2\\pi,3\\pi,4\\pi,5\\pi$. Bestimmen Sie hieraus einen weiteren Messwert für $\\omega_{0}$. Vergleichen Sie den so ermittelten Wert mit Ihrem Ergebnis aus Aufgabe 2.2.\n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "a24 = \"\"\"\n", "f,DeltaT_1,DeltaT_6\n", "10e3,3800e-9,104e-9\n", "100e3,2700e-9,2.9e-6\n", "300e3,2700e-9,3e-6\n", "500e3,2800e-9,3e-6\n", "600e3,2960e-9,3.12e-6\n", "650e3,3240e-9,3.16e-6\n", "690e3,3320e-9,3.44e-6\n", "\"\"\"\n", "\n", "f, DeltaT_1, DeltaT_6, = np.genfromtxt(StringIO(a24), delimiter=',')[1:].transpose()\n", "w = f * (2 * np.pi)\n", "\n", "φ_1 = f*DeltaT_1*2*pi\n", "φ_6 = f*DeltaT_6*2*pi\n", "\n", "%m In diesem Versuch sollte die Phasendifferenz eines $\\pi$-Glieds und der Drosselkette untersucht werden. In der folgenden Tabelle sind unsere Messwerte für verschiedene Frequenzen zusammen mit den daraus bestimmte Phasenverschiebungen und dem Verhältnis der Phasenverschiebungen zwischen dem einzelnen $\\pi$-Glied und der Drosselkette.\n", "\n", "mpg = pd.read_csv(StringIO(a24))\n", "mpg.rename(columns={\"f\": 'Frequenz in Hz', \"DeltaT_1\": \"Δt_1 in s\",\"DeltaT_6\": \"Δt_6 in s\"}, inplace=True)\n", "mpg[\"φ_1\"] = φ_1\n", "mpg[\"φ_6\"] = φ_6\n", "mpg[\"φ_6/φ_1\"] = φ_6/φ_1\n", "display(mpg)\n", "\n", "%m Leider können wir in den gemessenen Daten keinen der gesuchten Effekte wiederfinden. Das Verhältnis der Phasenverschiebung sollte der Theorie nach jeweils ungefähr 6 sein, ist aber in der Praxis für alle Frequenzen nahe 1. Und auch die Phase nahe $\\omega_0$ ist weit entfernt von $\\pi$. Es könnte sein, dass etwas mit unserem Versuchsaufbau nicht gestimmt hat aber das ist im Nachhinein schwer nach zu vollziehen. Es wurde auch explizit darauf geachtet, dass keine Verschiebung um $2\\pi$ in der Phase übersehen wurde." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%m In dieser Aufgabe soll nun über die Phasenverschiebung mit Lissajous-Figuren die Grenzfrequenz bestimmt werden. Wir haben folgende Messwerte erhalten: \n", "\n", "a24_2 = \"\"\"\n", "n,f6\n", "1,195e3\n", "2,365e3\n", "3,519e3\n", "4,634e3\n", "5,714.7e3\n", "\"\"\"\n", "\n", "n, f6, = np.genfromtxt(StringIO(a24_2), delimiter=',')[1:].transpose()\n", "φ = n*pi\n", "\n", "mpg = pd.read_csv(StringIO(a24_2))\n", "mpg.rename(columns={\"n\": 'Phasenverschiebung in π rad', \"f6\": \"Frequenz in Hz\"}, inplace=True)\n", "display(mpg)\n", "\n", "(m,), pcov = scipy.optimize.curve_fit(lambda x, m: m*x, φ, f6)\n", "\n", "\n", "\"\"\"\n", "plt.plot(φ, f6, \"x\")\n", "plt.plot(np.linspace(0,16), np.linspace(0,16)*m)\n", "plt.gca().set_ylim(bottom=0)\n", "plt.show()\n", "\"\"\"\n", "\n", "def prop_model(x, m):\n", " return x*m\n", "\n", "xy_data = kafe2.XYContainer(x_data=φ, y_data=f6)\n", "xy_data.add_error(axis='x', err_val=0.05*pi)\n", "xy_data.add_error(axis='y', err_val=10)\n", "lin_fit = kafe2.Fit(data=xy_data, model_function=prop_model)\n", "\n", "lin_fit.do_fit()\n", "p = kafe2.Plot(lin_fit)\n", "#p.x_label = 'Phase in radian'\n", "p.y_label = 'Frequenz in Hz'\n", "p.plot()\n", "p.show()\n", "\n", "m, = lin_fit.parameter_values\n", "Δm, = lin_fit.parameter_errors\n", "um = ufloat(m, Δm)\n", "w_0 = 6*pi*um\n", "\n", "%m Aus dem proportionalen Fit ergibt sich für $ω_0$ ein Wert von [!w_0.n:.0f!] Hz mit einer Unsicherheit von [!w_0.s:.0f!] Hz. Es wurde ein 5% Ableseungenauigkeit für die Liassau-Figur angenommen, da es nicht so einfach war zu erkennen, wann genau die Geradenform ereicht war und eine 10 Hz Messunsicherheit auf der Frequenz. Es ist außerdem klar zu erkennen, dass die proportionale gerade kein gutes Modell für die Daten ist, da ein sichtbarer Block überhalb der Kurve liegt." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 2.5: Reflexionen\n", "\n", "Studieren Sie Reflexionen am Ende der Drosselkette qualitativ. Schließen Sie hierzu das Ende der Drosselkette (impedanzfrei) kurz und fügen Sie eine entsprechende Impedanz am Ketten anfang zu, um dort Reflexionen so weit wie möglich zu reduzieren. Schließen Sie eine rechteckförmige Wechselspannung an, beschreiben Sie, was Sie beobachten und diskutieren Sie, ob diese Beobachtungen Ihrer Erwartung entsprechen. \n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%m In diesem Versuch soll die Reflektion am Ende der Drosselkette untersucht werden. Wir haben eine Rechteckspannung mit 20KHz an den Eingang der Drosselkette angelegt. \n", "\n", "plt.title(f\"Reflektion\")\n", "pltimg(\"Fotos/Reflection_1.jpg\")\n", "\n", "%m Hier ist keine sinvolle Aussage über die Reflektion möglich, da keine genaue Abgrenzung der refkeltierten Welle möglich ist. Es ist lediglich erkennbar, dass es Verzerrungen im Signal gibt. Dies könnte daran liegen, dass der Eingangswiderstand unserer Drosselkette defekt war und somit Mehrfachreflektionen am Eingang möglich waren, die das Signal verzerrt haben." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Aufgabe 3: Koaxialkabel\n", "\n", "**Hinweise zu allen hier durchzuführenden Messungen finden Sie in der Datei [Hinweise-Aufgabe-3.md](https://gitlab.kit.edu/kit/etp-lehre/p1-praktikum/students/-/tree/main/Vierpole_und_Leitungen/doc/Hinweise-Aufgabe-3.md).** \n", "\n", "### Aufgabe 3.1: Bestimmung der charakteristischen Impedanz $Z_{0}$\n", "\n", "Bestimmen Sie $Z_0$ für $\\omega\\ll\\omega_0$, analog zu Aufgabe 2.1. Hierzu können Sie eine rechteckförmige Spannung mit der Frequenz $\\nu=1.1\\,\\mathrm{MHz}$ verwenden. (Die Grenzfrequenz von Koaxialkabeln liegt i.a. im $\\mathrm{GHz}$-Bereich.) \n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "uR = ufloat(48,5)\n", "\n", "%m In diesem Versuch soll die charakteristische Impedanz $Z_0$ des Koaxialkabels bestimmt werden. Wir haben bei einer Einstellung des Potentiometers am Ausgang der Drosselkette von $[!uR.n:.2f!]\\,\\Omega$ die geringsten Reflektionen erhalten. Zur Einstellung haben wir eine Rechteckwelle verwendet, da man hier besonders gut die Veränderungen durch eine Reflektion erkennen kann. Da das Potentiometer relativ viel Spiel hatte haben wir nur eine Unsicherheit von $[!uR.s:.2f!]\\,\\Omega$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 3.2: Bestimmung der Verzögerungszeit pro Länge $\\tau'$\n", "\n", "Bestimmen Sie die **Verzögerungszeit pro Länge des Kabels $\\tau$'**. Tun Sie dies auf zwei verschiedene Arten: \n", "\n", " - Indem Sie das Signal am Anfgang mit dem Signal am Ende des Kabels vegleichen. Verwenden Sie hierzu ein geeignetes recheckförmiges Signal und verwenden Sie das Oszilloskop im Zweikanalmodus. \n", " \n", " - Bestimmen Sie die Laufzeit, indem Sie das Kabelende (impedanzfrei) kurzschließen und am Kabelanfang das am Kabelende reflektierte Signal mit dem Referenzsignal des Frequenzgenerators vergleichen. Wählen Sie auch hier eine rechteckförmige Wechselspannung.\n", " \n", " - Vergleichen Sie beide Ergebnisse im Rahmen der bestimmten Unsicherheiten. \n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "l = 10\n", "udt1 = ufloat(62e-9,10e-9)\n", "udt2 = ufloat(125e-9,3e-9)\n", "\n", "uτ1 = udt1/l\n", "uτ2 = udt2/2/l\n", "\n", "%m In dieser Aufgabe geht es darum die Verzögerungszeit im Kabel zu untersuchen. Das Kabel hat eine Länge von [!l!]m. Wir haben eine Verzögerung am Ende des Kabels von [!udt1.n!]s±[!udt1.s!]s gemessen. Am Anfang des Kabels haben wir eine Verzögerung von [!udt2.n!]s±[!udt2.s!]s gemessen. Damit ergeben sich sich $\\tau_1=[!uτ1.n*10**9!]\\frac{ns}{m}\\pm[!uτ1.s*10**9!]\\frac{ns}{m}$ und $\\tau_2=[!uτ2.n*10**9!]\\frac{ns}{m}\\pm[!uτ2.s*10**9!]\\frac{ns}{m}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aufgabe 3.3: Bestimmung der Dielektrizitätskonstanten $\\epsilon$\n", "\n", "Bestimmen Sie $\\epsilon$ aus den Werten, die Sie in den Aufgaben 4.1 und 4.2 bestimmt haben. Verwenden Sie hierzu alle Messungen, die Sie durchgeführt haben: \n", "\n", " - Bestimmen Sie $\\epsilon$ aus Ihrer Messung von $Z_{0}$ aus Aufgabe 4.1;\n", " - Bestimmen Sie $\\epsilon$ aus den beiden Messungen von $\\tau'$ aus Aufgabe 4.2;\n", " - Vergleichen Sie die von Ihnen bestimmten Werte für $\\epsilon$ untereinander und vergleichen Sie sie mit der Erwartung aus den technischen Angaben zu diesem Versuch (siehe [Datenblatt.md](https://git.scc.kit.edu/etp-lehre/p1-for-students/-/blob/main/Vierpole_und_Leitungen/Datenblatt.md)).\n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "c = 299792458\n", "uμ_0 = ufloat(1.25663706212e-6, 0.0000000000019e-6)\n", "uϵ_0 = ufloat(8.8541878128e-12, 0.000000000013e-12)\n", "di = 0.5e-3\n", "da = 1.75e-3\n", "\n", "C = 925e-12\n", "\n", "uμ= (2*pi*R**2*C)/(uμ_0*np.log(da/di))\n", "\n", "uϵ_τ1 = c**2*uτ1**2\n", "uϵ_τ2 = c**2*uτ2**2\n", "\n", "%m Aus den zuvor bestimmten Werten für $τ$ lässt sich $\\epsilon$ mit folgender Formel bestimmen: $\\epsilon =\\frac{c^{2}}{v^{2}\\,\\mu} = \\frac{c^{2}\\tau^2}{\\mu}$. $\\mu$ ist in diesem Fall in guter Näherung gleich 1. Damit ergeben sich $\\epsilon_{\\tau 1} = [!uϵ_τ1.n:.2f!] \\pm [!uϵ_τ1.s:.2f!]$ sowie $\\epsilon_{\\tau 2} = [!uϵ_τ2.n:.2f!] \\pm [!uϵ_τ2.s:.2f!]$\n", "\n", "uϵ_Z0 = uμ_0*np.log(da/di)**2/(4*pi**2*uR**2*uϵ_0)\n", " \n", "%m Auch aus $Z_0$ lässt sich $\\epsilon_{Z_0} = \\frac{\\mu_0 \\mu}{4 \\pi^2 Z_0^2\\epsilon_0}\\left(\\log(\\frac{r_a}{r_i})\\right)^2$ ausrechnen. Damit ergibt sich $\\epsilon_{Z_0} = [!uϵ_Z0.n:.2f!] \\pm [!uϵ_Z0.s:.2f!]$.\n", "\n", "ϵ = (uϵ_τ1+uϵ_τ2+uϵ_Z0)/3\n", "\n", "%m Damit ergibt sich ein gemittelter Gesamtwert von $\\epsilon_{Z_0} = [!ϵ.n:.2f!] \\pm [!ϵ.s:.2f!]$.\n", "\n", "ϵ_tech = C/(2*pi*l*uϵ_0)*np.log(da/di)\n", "\n", "%m Über die technischen Angaben zum Versucht lässt sich $\\epsilon$ auch bestimmen mit einem Wert von $\\epsilon_{Z_0} = [!ϵ_tech.n:.2f!]$.\n", "\n", "%m Damit ist der von uns bestimmte Wert 2σ weit vom angegebenen Wert entfernt." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "argv": [ "/usr/bin/python3", "-m", "ipykernel", "--matplotlib=inline", "-c", "%config InlineBackend.figure_formats = set(['retina'])\nimport matplotlib; matplotlib.rcParams['figure.figsize'] = (12, 7)", "-f", "{connection_file}" ], "display_name": "Python 3 (Ubuntu Linux)", "env": {}, "language": "python", "name": "python3-ubuntu", "resource_dir": "/usr/local/share/jupyter/kernels/python3-ubuntu" }, "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.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }