{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"nbsphinx": "hidden"
},
"source": [
"# Characterization of Systems in the Time Domain\n",
"\n",
"*This Jupyter notebook is part of a [collection of notebooks](../index.ipynb) in the bachelors module Signals and Systems, Communications Engineering, Universität Rostock. Please direct questions and suggestions to [Sascha.Spors@uni-rostock.de](mailto:Sascha.Spors@uni-rostock.de).*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Analysis of a Passive Electrical Network\n",
"\n",
"[Electrical networks](https://en.wikipedia.org/wiki/Electrical_network) composed of linear passive elements, like resistors, capacitors and inductors can be described by linear ordinary differential equations (ODEs) with constant coefficients. Hence, in view of the theory of signals and systems they can be interpreted as linear time-invariant (LTI) systems. The different ways to characterize the properties of an LTI system introduced before are illustrated at the example of a second-order analog [low-pass filter](https://en.wikipedia.org/wiki/Low-pass_filter).\n",
"\n",
"![Circuit of a 2nd-order analog low-pass filter](lowpass.png)\n",
"\n",
"It is assumed that no energy is stored in the capacitor and inductor for $t<0$. It is furthermore assumed that $x(t) = 0$ for $t<0$. Hence $y(t) = 0$ and $\\frac{d y(t)}{dt} = 0$ for $t<0$. For illustration, the normalized values $L = 0.5$, $R = 1$, $C = 0.4$ are used for the elements of the electrical network."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Differential Equation\n",
"\n",
"The differential equation describing the input/output relation of the electrical network is derived by applying [Kirchhoff's circuit laws](https://en.wikipedia.org/wiki/Kirchhoff's_circuit_laws) to the network. This results in the following ODE\n",
"\n",
"\\begin{equation}\n",
"C L \\frac{d^2 y(t)}{dt^2} + C R \\frac{d y(t)}{dt} + y(t) = x(t)\n",
"\\end{equation}\n",
"\n",
"This ODE is defined in `SymPy`"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$$C L \\frac{d^{2}}{d t^{2}} y{\\left (t \\right )} + C R \\frac{d}{d t} y{\\left (t \\right )} + y{\\left (t \\right )} = x{\\left (t \\right )}$$"
],
"text/plain": [
" 2 \n",
" d d \n",
"C⋅L⋅───(y(t)) + C⋅R⋅──(y(t)) + y(t) = x(t)\n",
" 2 dt \n",
" dt "
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import sympy as sym\n",
"%matplotlib inline\n",
"sym.init_printing()\n",
"\n",
"t, L, R, C = sym.symbols('t L R C', real=True)\n",
"x = sym.Function('x')(t)\n",
"y = sym.Function('y')(t)\n",
"\n",
"ode = sym.Eq(L*C*y.diff(t, 2) + R*C*y.diff(t) + y, x)\n",
"ode"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The normalized values of the network elements are stored in a dictionary for later substitution"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAOIAAAAyBAMAAACzABrLAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIrt2EIlmRJmrMu/dzVR9PQywAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD+klEQVRYCb1YTWgTQRR+22yanyZNFIQKgsGKWBUNKiJ4cKEnaaE92HNy9GZuHhS6SMHUUggqQsHSXDx5aKXeFFqxSIWKwWuRerAXL621/tKyvvnZZGYzs7uBxHeYfe/73rwv2Z2/XQC0gznSdtySi65EZMdy3c5eb7/m9QtFpVDf9Ckl7gGTKx5AH5rrWUrGfitzjAoUSkpGAq9N70qxbzCUo3TXtjIrYUHPgpKRwUgLitG/tG8mJ5fgUc8uJL4pGRlsRTH5nfYdqcgleJRYhgT7SUq6DraiaLAHOGLXe3uclPp+y1mtKJpBivN5ubgyaqviqlLCA7ZTMW57iivDdireUCp4wTYq9o7CAW95RdxGxacAFxUKXqh9isZqeXLZW14Rt08x7ThOTaHggRKn9x56IH3omY+DAzPFQ/pszkTm9k8EJgGcdwaOnRXy2A4jK0YWLdh8KyRp3MyyhpDhHYD5xvLJdxhJ0TxjAcRDLN3zo3JpdUTW7C6hGnva5h+azUqkX2AQW1D3F9GrJTHS+RHcBNJNioD/HI2VKHxGN2ljE2AbATyj09t4V3ONVD6iWedXBDf2SGtWSeu/nO6TFLSUTS+aJpMD4x3heBpX3CoiFH9OiCjbK4lrujVJ0GSxHxwaqTVxAjDef/lklcQ8jSvSgTJFiZSw+VokU2fRX5wxdRkUL2TNBxbxeBpXhKkSDNsEBzxjoIlVcAFwHHwaHiMPSLAMTRMA7q4DZEYF2FXsXYThCYqz7f6rkKNxMzWA7qyGbMA4DaTTjKsYewPA7iqbieKvavSWvPE8QEJCVEHsJ8CWLTCuIlFjI8cgIydqCTncFW80gQpVgEucEy6W4KMbx4dUyCcbIFdkx8f3FMdx23udevJY9Q7JD/jD6DOXCLkPmM8w5Wb+FtaTx+p4kUiwFcC8O3OPRGh8PlbBxOeVWmEga81ZZ2bWqZBAno9rFktgbXRsrAjx/iJGLM3dYc5RXrdQLn2iZb7QJG1jlD9Wkey1tBkiwaa67ry6tkfvcsBoOgx0hkbFulqfr+Q6RXrvwMxr+1PiEcBLdAb9szgr7VbNPZhidzMhIUsWzGUBihKoC0Ip6jq7+BOAuaobBF0DFB9fuB9UgfE4YUJagOJxOFoKU4m/ooVJDVDEY8NymDLyxPTtEagY5tgDUPYVkUh/xa4axIVNU+opBt22GPn7/oo9+I687V+Asptg4OwIZ/6KuIr05IILJUchYgWnsQxXsaLsYNhwJUSpI+UyTsmQ5q8IfZMTIQptOI7vSUwqwb88ZHIS2skgyQ6CXXSD7aRQvTY5qaNx4TrcQWeoxorTF4AO6tRLu18CIcK+69SJjjl33K+d//eL7j/AZQfnGLm0TQAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left \\{ C : \\frac{2}{5}, \\quad L : \\frac{1}{2}, \\quad R : 1\\right \\}$$"
],
"text/plain": [
"{C: 2/5, L: 1/2, R: 1}"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"RLC = {R: 1, L: sym.Rational('.5'), C: sym.Rational('.4')}\n",
"RLC"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Impulse Response\n",
"\n",
"The passive electrical network and the ODE describing its input/output relation can be interpreted as an LTI system. Hence, the system can be characterized by its [impulse response](impulse_response.ipynb) $h(t)$ which is defined as the output of the system for a Dirac Delta impulse $x(t) = \\delta(t)$ at the input. For the given system, the impulse response is calculated by explicit solution of the ODE"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$$h{\\left (t \\right )} = C_{1} e^{\\frac{t \\left(- R - \\frac{\\sqrt{C \\left(C R^{2} - 4 L\\right)}}{C}\\right)}{2 L}} + C_{2} e^{\\frac{t \\left(- R + \\frac{\\sqrt{C \\left(C R^{2} - 4 L\\right)}}{C}\\right)}{2 L}} - \\frac{e^{\\frac{t \\left(- R - \\frac{\\sqrt{C \\left(C R^{2} - 4 L\\right)}}{C}\\right)}{2 L}} \\theta\\left(t\\right)}{\\sqrt{C \\left(C R^{2} - 4 L\\right)}} + \\frac{e^{\\frac{t \\left(- R + \\frac{\\sqrt{C \\left(C R^{2} - 4 L\\right)}}{C}\\right)}{2 L}} \\theta\\left(t\\right)}{\\sqrt{C \\left(C R^{2} - 4 L\\right)}}$$"
],
"text/plain": [
" \n",
" ⎛ ________________⎞ ⎛ ________________⎞ \n",
" ⎜ ╱ ⎛ 2 ⎞ ⎟ ⎜ ╱ ⎛ 2 ⎞ ⎟ \n",
" ⎜ ╲╱ C⋅⎝C⋅R - 4⋅L⎠ ⎟ ⎜ ╲╱ C⋅⎝C⋅R - 4⋅L⎠ ⎟ \n",
" t⋅⎜-R - ───────────────────⎟ t⋅⎜-R + ───────────────────⎟ \n",
" ⎝ C ⎠ ⎝ C ⎠ \n",
" ──────────────────────────── ──────────────────────────── \n",
" 2⋅L 2⋅L ℯ\n",
"h(t) = C₁⋅ℯ + C₂⋅ℯ - ─\n",
" \n",
" \n",
" \n",
"\n",
" ⎛ ________________⎞ ⎛ ________________⎞ \n",
" ⎜ ╱ ⎛ 2 ⎞ ⎟ ⎜ ╱ ⎛ 2 ⎞ ⎟ \n",
" ⎜ ╲╱ C⋅⎝C⋅R - 4⋅L⎠ ⎟ ⎜ ╲╱ C⋅⎝C⋅R - 4⋅L⎠ ⎟ \n",
"t⋅⎜-R - ───────────────────⎟ t⋅⎜-R + ───────────────────⎟ \n",
" ⎝ C ⎠ ⎝ C ⎠ \n",
"──────────────────────────── ──────────────────────────── \n",
" 2⋅L 2⋅L \n",
" ⋅Heaviside(t) ℯ ⋅Heav\n",
"───────────────────────────────────────── + ──────────────────────────────────\n",
" ________________ ________________ \n",
" ╱ ⎛ 2 ⎞ ╱ ⎛ 2 ⎞ \n",
" ╲╱ C⋅⎝C⋅R - 4⋅L⎠ ╲╱ C⋅⎝C⋅R - 4⋅L⎠ \n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"iside(t)\n",
"────────\n",
" \n",
" \n",
" "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solution_h = sym.dsolve(\n",
" ode.subs(x, sym.DiracDelta(t)).subs(y, sym.Function('h')(t)))\n",
"solution_h"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The integration constants $C_1$ and $C_2$ have to be determined from the initial conditions $y(t) = 0$ and $\\frac{d y(t)}{dt} = 0$ for $t<0$. "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJcAAAAVBAMAAAC5yWGZAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEER2zVSJ3ZkiZjKru+/kt61jAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB90lEQVQ4EaWUv0vkQBTHv1GS2+yiLginKLriHyB7eK2LHNjK2ghWrijaiK6CWOqBjZWWFkL2T9jOO7SwEUQtFOy0sLGxUfEHooW+9zKZTLJuEJxi5vvefN43Q+YlAKxefH+4Y77H75HvewF7Z+xi3/NsDZwcuSVWejiT61qHoi54yYxT5rnwC/ZMhZUeQ2jb1IEWdcEZRsSsa4HURqQ2XYZzqj0CUR8MzYazRPcFFbI27as3EMnWB7WZ88QV/yJlLatokLSZTQC1mVfmis6g7McqqRyZvQaZYE0AxSw1CMznA1rWHKXglZB5iKQpSAALzHoVYKXKCugYlMXimc2eJTQmBVrTJ/ySYYJekZptkZK3spXN9JfDwlwJDTUnU2AKqZBUoHtehLVGRivsYVdhhwjoAuyaC1BgS4/7ph+rQOcPZagF/A5zyM8wazpFWj4OXUVCWtFBOmuYKXB8k/a5ab08iYmoWfoKdDdZ0yoE1Xcjmz6IOQ7YzKYeGKU6dTK5TSyhu2o9Rs0CEDvylBAEdJ+h/fKwh8qUmfQZfvYfA8uxoynQlX8EDNAwU88335mfsmNmCtzGf6X0Ep5MpWrN6FY+Ge7F7t94Wswar3TanXrJ68AXrbHYD5vf3+/iG2ucsK7jaTOumEGStm5kd+sgCfriXma2CHwAJpmAO532qpoAAAAASUVORK5CYII=\n",
"text/latex": [
"$$\\left \\{ C_{1} : 0, \\quad C_{2} : 0\\right \\}$$"
],
"text/plain": [
"{C₁: 0, C₂: 0}"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"integration_constants = sym.solve((solution_h.rhs.limit(\n",
" t, 0, '-'), solution_h.rhs.diff(t).limit(t, 0, '-')), ['C1', 'C2'])\n",
"integration_constants"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Substitution of the values for the integration constants $C_1$ and $C_2$ into the result from above yields the impulse response of the low-pass"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$$h{\\left (t \\right )} = - \\frac{e^{\\frac{t \\left(- R - \\frac{\\sqrt{C \\left(C R^{2} - 4 L\\right)}}{C}\\right)}{2 L}} \\theta\\left(t\\right)}{\\sqrt{C \\left(C R^{2} - 4 L\\right)}} + \\frac{e^{\\frac{t \\left(- R + \\frac{\\sqrt{C \\left(C R^{2} - 4 L\\right)}}{C}\\right)}{2 L}} \\theta\\left(t\\right)}{\\sqrt{C \\left(C R^{2} - 4 L\\right)}}$$"
],
"text/plain": [
" ⎛ ________________⎞ ⎛ ____________\n",
" ⎜ ╱ ⎛ 2 ⎞ ⎟ ⎜ ╱ ⎛ 2 \n",
" ⎜ ╲╱ C⋅⎝C⋅R - 4⋅L⎠ ⎟ ⎜ ╲╱ C⋅⎝C⋅R - 4\n",
" t⋅⎜-R - ───────────────────⎟ t⋅⎜-R + ───────────────\n",
" ⎝ C ⎠ ⎝ C \n",
" ──────────────────────────── ───────────────────────\n",
" 2⋅L 2⋅L \n",
" ℯ ⋅Heaviside(t) ℯ \n",
"h(t) = - ────────────────────────────────────────── + ────────────────────────\n",
" ________________ __________\n",
" ╱ ⎛ 2 ⎞ ╱ ⎛ 2 \n",
" ╲╱ C⋅⎝C⋅R - 4⋅L⎠ ╲╱ C⋅⎝C⋅R -\n",
"\n",
"____⎞ \n",
" ⎞ ⎟ \n",
"⋅L⎠ ⎟ \n",
"────⎟ \n",
" ⎠ \n",
"───── \n",
" \n",
" ⋅Heaviside(t)\n",
"──────────────────\n",
"______ \n",
" ⎞ \n",
" 4⋅L⎠ "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h = solution_h.subs(integration_constants)\n",
"h"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The impulse response is plotted for the values of $R$, $L$ and $C$ given above"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"application/pdf": "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b250IC9XaWR0aHMgMTIgMCBSID4+CmVuZG9iagoxMyAwIG9iago8PCAvQXNjZW50IDkyOSAvQ2FwSGVpZ2h0IDAgL0Rlc2NlbnQgLTIzNiAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsgLTEwMjEgLTQ2MyAxNzk0IDEyMzMgXSAvRm9udE5hbWUgL0RlamFWdVNhbnMgL0l0YWxpY0FuZ2xlIDAKL01heFdpZHRoIDEzNDIgL1N0ZW1WIDAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9YSGVpZ2h0IDAgPj4KZW5kb2JqCjEyIDAgb2JqClsgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAzMTggNDAxIDQ2MCA4MzggNjM2Cjk1MCA3ODAgMjc1IDM5MCAzOTAgNTAwIDgzOCAzMTggMzYxIDMxOCAzMzcgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNgo2MzYgNjM2IDMzNyAzMzcgODM4IDgzOCA4MzggNTMxIDEwMDAgNjg0IDY4NiA2OTggNzcwIDYzMiA1NzUgNzc1IDc1MiAyOTUKMjk1IDY1NiA1NTcgODYzIDc0OCA3ODcgNjAzIDc4NyA2OTUgNjM1IDYxMSA3MzIgNjg0IDk4OSA2ODUgNjExIDY4NSAzOTAgMzM3CjM5MCA4MzggNTAwIDUwMCA2MTMgNjM1IDU1MCA2MzUgNjE1IDM1MiA2MzUgNjM0IDI3OCAyNzggNTc5IDI3OCA5NzQgNjM0IDYxMgo2MzUgNjM1IDQxMSA1MjEgMzkyIDYzNCA1OTIgODE4IDU5MiA1OTIgNTI1IDYzNiAzMzcgNjM2IDgzOCA2MDAgNjM2IDYwMCAzMTgKMzUyIDUxOCAxMDAwIDUwMCA1MDAgNTAwIDEzNDIgNjM1IDQwMCAxMDcwIDYwMCA2ODUgNjAwIDYwMCAzMTggMzE4IDUxOCA1MTgKNTkwIDUwMCAxMDAwIDUwMCAxMDAwIDUyMSA0MDAgMTAyMyA2MDAgNTI1IDYxMSAzMTggNDAxIDYzNiA2MzYgNjM2IDYzNiAzMzcKNTAwIDUwMCAxMDAwIDQ3MSA2MTIgODM4IDM2MSAxMDAwIDUwMCA1MDAgODM4IDQwMSA0MDEgNTAwIDYzNiA2MzYgMzE4IDUwMAo0MDEgNDcxIDYxMiA5NjkgOTY5IDk2OSA1MzEgNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTc0IDY5OCA2MzIgNjMyIDYzMiA2MzIKMjk1IDI5NSAyOTUgMjk1IDc3NSA3NDggNzg3IDc4NyA3ODcgNzg3IDc4NyA4MzggNzg3IDczMiA3MzIgNzMyIDczMiA2MTEgNjA1CjYzMCA2MTMgNjEzIDYxMyA2MTMgNjEzIDYxMyA5ODIgNTUwIDYxNSA2MTUgNjE1IDYxNSAyNzggMjc4IDI3OCAyNzggNjEyIDYzNAo2MTIgNjEyIDYxMiA2MTIgNjEyIDgzOCA2MTIgNjM0IDYzNCA2MzQgNjM0IDU5MiA2MzUgNTkyIF0KZW5kb2JqCjE1IDAgb2JqCjw8IC9laWdodCAxNiAwIFIgL2ZvdXIgMTcgMCBSIC9oIDE4IDAgUiAvb25lIDIwIDAgUiAvcGFyZW5sZWZ0IDIxIDAgUgovcGFyZW5yaWdodCAyMiAwIFIgL3BlcmlvZCAyMyAwIFIgL3NpeCAyNCAwIFIgL3QgMjUgMCBSIC90d28gMjYgMCBSCi96ZXJvIDI3IDAgUiA+PgplbmRvYmoKMyAwIG9iago8PCAvRjEgMTQgMCBSID4+CmVuZG9iago0IDAgb2JqCjw8IC9BMSA8PCAvQ0EgMCAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+Ci9BMiA8PCAvQ0EgMSAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+ID4+CmVuZG9iago1IDAgb2JqCjw8ID4+CmVuZG9iago2IDAgb2JqCjw8ID4+CmVuZG9iago3IDAgb2JqCjw8IC9EZWphVnVTYW5zLW1pbnVzIDE5IDAgUiA+PgplbmRvYmoKMiAwIG9iago8PCAvQ291bnQgMSAvS2lkcyBbIDEwIDAgUiBdIC9UeXBlIC9QYWdlcyA+PgplbmRvYmoKMjggMCBvYmoKPDwgL0NyZWF0aW9uRGF0ZSAoRDoyMDE5MDQxNjA5MzE1OSswMicwMCcpCi9DcmVhdG9yIChtYXRwbG90bGliIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcpCi9Qcm9kdWNlciAobWF0cGxvdGxpYiBwZGYgYmFja2VuZCAzLjAuMykgPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMTYgMDAwMDAgbiAKMDAwMDAwNzk3MSAwMDAwMCBuIAowMDAwMDA3NzUyIDAwMDAwIG4gCjAwMDAwMDc3ODQgMDAwMDAgbiAKMDAwMDAwNzg4MyAwMDAwMCBuIAowMDAwMDA3OTA0IDAwMDAwIG4gCjAwMDAwMDc5MjUgMDAwMDAgbiAKMDAwMDAwMDA2NSAwMDAwMCBuIAowMDAwMDAwNDA0IDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMjk3MiAwMDAwMCBuIAowMDAwMDA2NTI5IDAwMDAwIG4gCjAwMDAwMDYzMjkgMDAwMDAgbiAKMDAwMDAwNTkzOSAwMDAwMCBuIAowMDAwMDA3NTgyIDAwMDAwIG4gCjAwMDAwMDI5OTMgMDAwMDAgbiAKMDAwMDAwMzQ1OCAwMDAwMCBuIAowMDAwMDAzNjIwIDAwMDAwIG4gCjAwMDAwMDM4NTYgMDAwMDAgbiAKMDAwMDAwNDAyNiAwMDAwMCBuIAowMDAwMDA0MTc4IDAwMDAwIG4gCjAwMDAwMDQzOTggMDAwMDAgbiAKMDAwMDAwNDYyMCAwMDAwMCBuIAowMDAwMDA0NzQxIDAwMDAwIG4gCjAwMDAwMDUxMzEgMDAwMDAgbiAKMDAwMDAwNTMzNSAwMDAwMCBuIAowMDAwMDA1NjU2IDAwMDAwIG4gCjAwMDAwMDgwMzEgMDAwMDAgbiAKdHJhaWxlcgo8PCAvSW5mbyAyOCAwIFIgL1Jvb3QgMSAwIFIgL1NpemUgMjkgPj4Kc3RhcnR4cmVmCjgxODUKJSVFT0YK\n",
"image/svg+xml": [
"\n",
"\n",
"\n",
"\n"
],
"text/plain": [
"