{
"cells": [
{
"cell_type": "markdown",
"id": "617fe864-a317-42a2-926e-544e96026286",
"metadata": {},
"source": [
"# Filter Networks #\n",
"\n",
"### Approach ###\n",
"\n",
"Analysing simple RC networks for the purpose of producing phase shifts of sine waves which in turn might be useful later for producing oscillatory networks."
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "693e7655",
"metadata": {},
"outputs": [],
"source": [
"from IPython.display import Image\n",
"from sympy import Matrix, symbols, Symbol, init_printing, Function, dsolve, checkodesol, sin, cos,exp, pi, Eq, \\\n",
" solveset, collect, cancel, simplify, lambdify, acos, atan, sqrt, I, integrate, factor, factor_list, Matrix, expand, \\\n",
" conjugate, Rational, sympify\n",
"import sympy\n",
"import matplotlib.pyplot as plt\n",
"from scipy.signal import find_peaks\n",
"from scipy.integrate import solve_ivp\n",
"import numpy as np\n",
"from sympy.abc import phi\n",
"from functools import reduce\n",
"init_printing()"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "a16c4a3f",
"metadata": {},
"outputs": [],
"source": [
"from IPython.display import display\n",
"from sympy import Function, Equality, Mul, Add"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "d8541032",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'1.13.1'"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from system_eqns import systemEqns\n",
"import sympy \n",
"sympy.__version__"
]
},
{
"cell_type": "markdown",
"id": "0a699a5b",
"metadata": {},
"source": [
"## The simplest RC network\n",
"\n",
"A network containing only one capacitor and resistor"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "effe33dd",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Image(url='https://images.kiwiheretic.xyz/RC-filter0.jpg', width=600)"
]
},
{
"cell_type": "markdown",
"id": "6057575f",
"metadata": {},
"source": [
"This is the simplest RC filter I can think of. It only contains one current path for $ \\textit{i} $.\n",
"\n",
"Therefore:\n",
"\n",
"$$ V_{in} = V_c + R \\textit{i} $$\n",
"\n",
"However $ \\textit{i} = C \\frac{d V_c}{dt} $ and we want to think about the case where $ V_{in} = A \\sin( 2 \\pi f t) $ and so we have:\n",
"\n",
"$$ A \\sin (2 \\pi f t ) = V_c(t) + R C \\frac{d V_c}{dt} $$\n"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "ec4b6463",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\left( V_{in}, \\ V_{c}, \\ C, \\ R, \\ i, \\ t, \\ f, \\ A, \\ \\tau, \\ \\omega\\right)$"
],
"text/plain": [
"(V_{in}, V_c, C, R, i, t, f, A, τ, ω)"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Vin, Vc, C, R, i, t, f, A, tau, w = symbols(\"V_{in} V_c C R i t f A tau omega\", real=True, positive=True)\n",
"Vin, Vc, C, R, i, t, f, A, tau, w"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "cd33a7be",
"metadata": {},
"outputs": [],
"source": [
"def multiplyIt(x, y):\n",
" return sympify(x)*sympify(y)"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "aa2552f8-b13f-44dc-b39c-ceaaa24040b6",
"metadata": {},
"outputs": [],
"source": [
"def getSym(expr, symbolName):\n",
" for sym in expr.free_symbols:\n",
" if sym.name == symbolName:\n",
" return sym\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "0fb16257",
"metadata": {},
"outputs": [],
"source": [
"# Define the voltage across the capacitor as a function of time\n",
"VC = Function(\"V_c\")"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "2ff1f3dd",
"metadata": {},
"outputs": [],
"source": [
"# Define \"driving term\" of the differential equation\n",
"dt =A*sin(2*pi*f*t)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "ba8ccfa4",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle A \\sin{\\left(2 \\pi f t \\right)} = C R \\frac{d}{d t} V_{c}{\\left(t \\right)} + V_{c}{\\left(t \\right)}$"
],
"text/plain": [
" d \n",
"A⋅sin(2⋅π⋅f⋅t) = C⋅R⋅──(V_c(t)) + V_c(t)\n",
" dt "
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Present the differential equation of the circuit\n",
"eqn1 = Eq(dt , VC(t) + R * C * VC(t).diff(t))\n",
"eqn1"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "d0b3ec67",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle V_{c}{\\left(t \\right)} = - \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} + \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} + C_{1} e^{- \\frac{t}{C R}}$"
],
"text/plain": [
" -t \n",
" ───\n",
" A⋅C⋅R⋅ω⋅cos(ω⋅t) A⋅sin(ω⋅t) C⋅R\n",
"V_c(t) = - ──────────────── + ──────────── + C₁⋅ℯ \n",
" 2 2 2 2 2 2 \n",
" C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 "
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solve for the voltage across the capacitor wrt time\n",
"dsoln = dsolve(eqn1, VC(t)).subs(2*pi*f, w)\n",
"dsoln"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "b6f3dac6-c950-48b4-bae6-c95b000191fa",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\left( C_{1} e^{- \\frac{t}{C R}}, \\ \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}, \\ - \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}\\right)$"
],
"text/plain": [
"⎛ -t ⎞\n",
"⎜ ─── ⎟\n",
"⎜ C⋅R A⋅sin(ω⋅t) -A⋅C⋅R⋅ω⋅cos(ω⋅t) ⎟\n",
"⎜C₁⋅ℯ , ────────────, ──────────────────⎟\n",
"⎜ 2 2 2 2 2 2 ⎟\n",
"⎝ C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 ⎠"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"terms = dsoln.args[1].args\n",
"terms"
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "c3b1ca2a-616a-4ab1-9be9-99d466fe848c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"exp"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(terms[0].args[1])"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "cd43b477-21dd-4064-a5ad-ce4390806d3d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEIUlEQVR4nO2ZX2gcVRTGf6mppbWKLSpUUAwa/6RIk2xRimhFsKD0oRb/oFDUB6UI2qKpYhE+PwWVak21IAZ9CPZF6UNFoYpFBY1VSWhMrdWHWEoELYKhpLVqSRsf7l2ZjJvdSbLJTmE/WGbumTPffHv23HvPnmkYGxujjuqgsdYCKsH2NUA/8JOk1hrLKYs5tRaQAa8DrwItts+utZhyyHUwba8laNwCzAVaaquoPHIbTNvzgVeADklHgV+BtpqKqoDcBhN4CuiR1B/HPwCttZNTGbncgGxfBjwGLEuYDwDLayIoIxryWBrZ3gWsAU4lzA3AMWCRpPyJJoeZaXsVsBIoACcTl64GdgJNwKEaSKuIXAXT9lzgNWCrpH2pa0PxtI2cBjNvG9AG4EJCbTkOkkaAI+R4E8rlmnmmIm+ZeUajHswqohHAdn2uTxOSGuprZhUxqdLI9iXADuAiYBR4XtLO2eaYCa5qYLJr5iiwUVILsArYZvucGnDMBNe0Ma1pbnsAWC3pl1pyzATXVPC/aW67FdhE+Et3AfAb0AdskdSb8CsAZ6WF2/4UuCUOR4HD8d63SjyrJMdUUE2uFO9NQAfh7+3FwIOSukv5jpvmth8gBO4f4B7gSuD+OF6f8FsMvAM8XIKzHdgMLAGuAN4FumyP60VW4JgUpsJlu9v2sxlcFxI6VhuAv8o5/peZtlcAbwObJHUmfIaAL6JgbM8D3gdekrQ3JfBy4HzgY0lHoq0LeAZYSniXU5YjXu8EbgSuk3Q6da2P0OfcmIVrupC0G9gdn9Vdzjc5zbcC36YCmSQdtt0AdAOfSdpRwq0AjAAD8eFLCN3y08C+aCvLYfsq4FHg1nQgI34kdtwz6JlVFIv2ZmAFcG8F/xsI03+/7TXRtk7S9/G8QJgWI7bnAPMJbbQnJB3MyNEBDEj6fAINw8D1GblmFcXMbI/HvnLOknooX061E5aKl4HzgBeAQUnbsnDEH+BOwgu0oq0TOCRpezSdC/yZUU+SezNhLS9iHjBmuyNhu03Sl1n4SqEoZEE8Hp8qUUQ7sFfSYOxHrgcesX1txvubCGtuMrPuBk4kxsuAg0webxLad8XPByVsZZOpEoqZeSAeVwLvpZ1sL5B0Im1P+TQBi0kEQtJh2/3AOuDJDHoWxePxyHkzoRw5GcfNhC/9YgaucZA0TFgiinqPAcOSBifLNREa44N6bX8EbI+vWL8CxgiZ9hBgoKcCV4Gw0aSzZg+wlmzBHIoc99k+SmgSfwisjgX5G8B+YFcGrqrA9kJCiQdhJl8aa/FhSUNJ3+R6cwdh530c+A7oJbxu/Zps6V8Afpb0d8q+B2i2vbQSgaTfgaeBu4BPgC7ChtQGfAP8Adwu6dSEJNXHckJJ10/YUB3Pn0s71rtGVUS9OVxF/Avl/KCGAMMcWgAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{A}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"terms[1].coeff(sin(w*t))"
]
},
{
"cell_type": "code",
"execution_count": 67,
"id": "b5915fc9-dfc5-4da5-ae99-d51ee8009753",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"sin"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(sin(w*t))"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "c068c13d-9775-4e30-a283-66996e5db57f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{sin: 3}"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"{ sin: 3 }"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "b5b073b5-e7db-4e75-aded-d8fa32a51d87",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} + \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A⋅C⋅R⋅ω⋅cos(ω⋅t) A⋅sin(ω⋅t) \n",
"- ──────────────── + ────────────\n",
" 2 2 2 2 2 2 \n",
" C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nonTransient = sum(terms[1:])\n",
"nonTransient"
]
},
{
"cell_type": "markdown",
"id": "4a3c5e39",
"metadata": {},
"source": [
"### Find value for $ C_1 $\n",
"At this point we want to find $ C_1 $ by setting $ V_c(0) = 0 $. This seems reasonable that the capacitor starts off with no charge on it."
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "a93838da",
"metadata": {},
"outputs": [],
"source": [
"c1 = Symbol('C1')"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "e7608c5e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c1 in dsoln.free_symbols"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "804836bb",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A C R \\omega}{C^{2} R^{2} \\omega^{2} + 1} + V_{c}{\\left(0 \\right)}$"
],
"text/plain": [
" A⋅C⋅R⋅ω \n",
"──────────── + V_c(0)\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solve for C1\n",
"c1eq = solveset(dsoln.subs([(t,0)]), c1).args[0]; c1eq"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "bc4fa20e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEqElEQVR4nO2ZW4hVVRzGf2OWaHZRKjAokrJIicaZKKSLESQUPpRUUiDVQyGBKaVGFn19BRWWjSVEgz0M2UNRURR0kwrKrFA0L10ezGSCkqBB1OyCzfSw1tY123PZZ2afUeh8cDh7/9d/feuy/2ut//5228DAAC2Ug9HNbsD2hcBm4AdJ7RXK24ElwEzgNOBXYCOwXNKG6PMxcE2schDYFctXN7n7DWHUCLTxPPAsMNX2CWmB7TsIE/c3MBc4H7g93s9PXDuAZcAk4DzgVaDb9vRmd74RNDUybc8hPLDlwIPAVOCbWDYDeAlYIqkrqdYLfGZ7YvQ7FzgV+EDS7mjrBh4GphGiPmuvC7gSuFRSf64vG4F1khaVPc4MTYtM22OBZ4DFkvYAvwBpJK0Avs5N5CFI6ouXncBeYEvknRR5+4FNSXsXAAsID6efI/F9rv3S0czIfIAQCVnkfAu0A9ieAswAbi3A0wmMB/baHgWMBf4B7pf0XeK3GNgi6dMqPH3AZY0OohE0JTJtnwPcCzyUmLdzODI64v/GAnQdhO2gHbgC+BBYLWll0t4o4CbgjcTWZXtBwnMS8EcDw2gYzYrMLmAC8JPtzNYG7LPdBoyLtv0FuDqAVyTtALA9H9hpu1vStugzmbCvbkvq3QI8ktxfDKSRXDpKj0zbswhpTichmrLfXOAUwsC3R/eZVTjGxf/JwESSSZK0i3DozEuqTIj/+2O9q4EzCdtBtq20A28NeWAFUGpk2j4eeA5YIWlTrqw3Xk6X9Kbt94FV8aD6AhggROFdgIF1hAfSz5ERtRaYAyyN973R7zbbewjp2LvAbNtbgBeArTR5MsuOzIXA6YTBDIKkvcBu4iEE3Eg4le8jpEsbCIfWlxzeSzuBHyX9laNbC0yxPS1y/0ZIvW4GPgK6CQfSdOAr4Hfgekn/ljDGqmhrvU6Wh5F4A/rfoDWZJWI0gO3WWh8mJLW19swS0VBqZPssYA1wBkEKe1zS6yPN0QyuMtDonnkQWCRpKjALWGn7xKPA0QyuYWNYyzwmxLMl/Xw0OZrBNRQcscyLKN/RrxM4Lt/xRlTxahxDQZlcOd6rCC8AnYRX1Dsl9VTyHbTMiyrfUbh9Gbi7AmchVbwOR0MYCpftHtuPFnAdT9ASFgJ/1nI8FJkNKN9jgLeBpyStz3WwkCpeiyOWF1bM63ENF5LeA96LbfXU8k2XeV3lO8pnPcAnktZUcKuritfjSBTza+sp5gX6M6LIkvaiyvflhOW/1fYN0TYv0RWLqOL1OBpRzOtxjSiyyCykfEtaR+10KlPFnwZOBp4AdqSqeC2ORDFfnti6gJ2SVkXTIcW8QH9S7mWEvTzDGGDA9uLEdp2kz4vwVULWkUaU71roANZL2hH1zPnAPbYvKli/mmJ+ILkfqmL+IoPF6ncq2Ip8RqmKLDJT5fu1vJPtcZIO5O05n4qquO1MFV9arW6Coor5kwW4BiF+7cy+eGJ7H9CXfQ4pA6NjQxsKKt+1UFQVr4VjQjFPYXs8IcWDsJLPjrl4n6Te1Dfdb4oo37VQSBWvhWNFMc/hEkJKt5lwoDpeP5Z3bKlGJaIlDpeI/wCMAUPn66tDHwAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{A C R \\omega}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A⋅C⋅R⋅ω \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# We will assume VC = 0 at t = 0. No charge on capacitor at start. \n",
"c1eq.args[0]"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "e61d4d03",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} + \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} + C_{1} e^{- \\frac{t}{C R}}$"
],
"text/plain": [
" -t \n",
" ───\n",
" A⋅C⋅R⋅ω⋅cos(ω⋅t) A⋅sin(ω⋅t) C⋅R\n",
"- ──────────────── + ──────────── + C₁⋅ℯ \n",
" 2 2 2 2 2 2 \n",
" C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eqn1 = dsoln.rhs; eqn1"
]
},
{
"cell_type": "markdown",
"id": "2aa9fc95",
"metadata": {},
"source": [
"At this point I am going to try and ignore the transient part of the solution"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "8e6be21a-fffe-43c0-8f72-b8802214579a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} + \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A⋅C⋅R⋅ω⋅cos(ω⋅t) A⋅sin(ω⋅t) \n",
"- ──────────────── + ────────────\n",
" 2 2 2 2 2 2 \n",
" C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nonTransient"
]
},
{
"cell_type": "markdown",
"id": "544e0b9c-be81-4713-a933-18b10137b76f",
"metadata": {
"jp-MarkdownHeadingCollapsed": true
},
"source": [
"### Computation of phase and magnitude \n",
"\n",
"We might like to find out the amplitude and phase of the above formula given that it has both a sin and cosine term in it. The result will be a superposition which will have a different amplitude and phase of any of them separately. \n",
"\n",
"If we remember that for $ C_1 \\sin( \\theta ) + C_2 \\cos (\\theta) = C_3 * \\cos ( \\theta + \\alpha ) $. The constants $ C_1, C_2 \\mathrm{and} C_3 $ have nothing to do with the constant of integration $ C_1 $ mentioned above. It is simply because I am running out of meaningful variable names.\n",
"\n",
"Then:\n",
"\n",
"$$ C_3^2 = C_1^2 + C_2^2 $$\n",
"\n",
"and\n",
"\n",
"we can try to reduce this formula:\n",
"\n",
"$$ C_1 \\sin( \\theta ) + C_2 \\cos (\\theta) = C_3 * \\cos ( \\theta + \\alpha ) $$\n",
"$$ \\Rightarrow C_1 \\sin( \\theta ) + C_2 \\cos (\\theta) = C_3 * \\cos ( \\theta ) \\cos (\\alpha ) - C_3 * \\sin ( \\theta ) \\sin (\\alpha ) $$\n",
"$$ \\Rightarrow C_1 = C_3 * \\sin (\\alpha ) \\textrm{ and } C_2 = C_3 * \\cos (\\alpha ) $$\n",
"$$ \\Rightarrow \\tan( \\alpha ) = C_1 / C_2 $$\n",
"$$ \\Rightarrow \\tan^2( \\alpha ) = C_1^2 / C_2^2 $$\n",
"$$ \\Rightarrow \\tan^2( \\alpha ) + 1 = C_1^2 / C_2^2 + C_2^2/C_2^2 =\\frac{C_1^2 + C_2^2}{C_2^2} $$\n",
"$$ \\Rightarrow \\cos^2( \\alpha ) = \\frac{C_2^2}{C_1^2 + C_2^2} $$\n",
"$$ \\Rightarrow \\alpha = \\cos^{-1} \\left( \\sqrt {\\frac{ C_2^2 } { C_1^2 + C_2^2 }} \\right) $$"
]
},
{
"cell_type": "markdown",
"id": "5750b889-b0d4-4def-b879-7de0b4f15a12",
"metadata": {},
"source": [
"### Compute V_out "
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "9d2e8ec0",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A C R \\omega \\left(C R \\omega \\sin{\\left(\\omega t \\right)} + \\cos{\\left(\\omega t \\right)}\\right)}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
"A⋅C⋅R⋅ω⋅(C⋅R⋅ω⋅sin(ω⋅t) + cos(ω⋅t))\n",
"───────────────────────────────────\n",
" 2 2 2 \n",
" C ⋅R ⋅ω + 1 "
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Find the voltage at the output\n",
"vout = simplify(A * sin(w*t) - nonTransient)\n",
"vout"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "96b9d83f-50e8-4974-b9bd-be0e4e0e6b17",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A C^{2} R^{2} \\omega^{2} \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} + \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" 2 2 2 \n",
"A⋅C ⋅R ⋅ω ⋅sin(ω⋅t) A⋅C⋅R⋅ω⋅cos(ω⋅t)\n",
"─────────────────── + ────────────────\n",
" 2 2 2 2 2 2 \n",
" C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vrsterms = expand(vout)\n",
"vrsterms"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "f64e2cea-1fbf-4842-bda5-a1d2e7d5fd6e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\left( \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}, \\ \\frac{A C^{2} R^{2} \\omega^{2} \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}\\right)$"
],
"text/plain": [
"⎛ 2 2 2 ⎞\n",
"⎜A⋅C⋅R⋅ω⋅cos(ω⋅t) A⋅C ⋅R ⋅ω ⋅sin(ω⋅t)⎟\n",
"⎜────────────────, ───────────────────⎟\n",
"⎜ 2 2 2 2 2 2 ⎟\n",
"⎝ C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 ⎠"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vrstermslist = vrsterms.args\n",
"vrstermslist"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "fdd288fe-941d-42f7-bc45-2dd64c7cfcb8",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEqElEQVR4nO2ZW4hVVRzGf2OWaHZRKjAokrJIicaZKKSLESQUPpRUUiDVQyGBKaVGFn19BRWWjSVEgz0M2UNRURR0kwrKrFA0L10ezGSCkqBB1OyCzfSw1tY123PZZ2afUeh8cDh7/9d/feuy/2ut//5228DAAC2Ug9HNbsD2hcBm4AdJ7RXK24ElwEzgNOBXYCOwXNKG6PMxcE2schDYFctXN7n7DWHUCLTxPPAsMNX2CWmB7TsIE/c3MBc4H7g93s9PXDuAZcAk4DzgVaDb9vRmd74RNDUybc8hPLDlwIPAVOCbWDYDeAlYIqkrqdYLfGZ7YvQ7FzgV+EDS7mjrBh4GphGiPmuvC7gSuFRSf64vG4F1khaVPc4MTYtM22OBZ4DFkvYAvwBpJK0Avs5N5CFI6ouXncBeYEvknRR5+4FNSXsXAAsID6efI/F9rv3S0czIfIAQCVnkfAu0A9ieAswAbi3A0wmMB/baHgWMBf4B7pf0XeK3GNgi6dMqPH3AZY0OohE0JTJtnwPcCzyUmLdzODI64v/GAnQdhO2gHbgC+BBYLWll0t4o4CbgjcTWZXtBwnMS8EcDw2gYzYrMLmAC8JPtzNYG7LPdBoyLtv0FuDqAVyTtALA9H9hpu1vStugzmbCvbkvq3QI8ktxfDKSRXDpKj0zbswhpTichmrLfXOAUwsC3R/eZVTjGxf/JwESSSZK0i3DozEuqTIj/+2O9q4EzCdtBtq20A28NeWAFUGpk2j4eeA5YIWlTrqw3Xk6X9Kbt94FV8aD6AhggROFdgIF1hAfSz5ERtRaYAyyN973R7zbbewjp2LvAbNtbgBeArTR5MsuOzIXA6YTBDIKkvcBu4iEE3Eg4le8jpEsbCIfWlxzeSzuBHyX9laNbC0yxPS1y/0ZIvW4GPgK6CQfSdOAr4Hfgekn/ljDGqmhrvU6Wh5F4A/rfoDWZJWI0gO3WWh8mJLW19swS0VBqZPssYA1wBkEKe1zS6yPN0QyuMtDonnkQWCRpKjALWGn7xKPA0QyuYWNYyzwmxLMl/Xw0OZrBNRQcscyLKN/RrxM4Lt/xRlTxahxDQZlcOd6rCC8AnYRX1Dsl9VTyHbTMiyrfUbh9Gbi7AmchVbwOR0MYCpftHtuPFnAdT9ASFgJ/1nI8FJkNKN9jgLeBpyStz3WwkCpeiyOWF1bM63ENF5LeA96LbfXU8k2XeV3lO8pnPcAnktZUcKuritfjSBTza+sp5gX6M6LIkvaiyvflhOW/1fYN0TYv0RWLqOL1OBpRzOtxjSiyyCykfEtaR+10KlPFnwZOBp4AdqSqeC2ORDFfnti6gJ2SVkXTIcW8QH9S7mWEvTzDGGDA9uLEdp2kz4vwVULWkUaU71roANZL2hH1zPnAPbYvKli/mmJ+ILkfqmL+IoPF6ncq2Ip8RqmKLDJT5fu1vJPtcZIO5O05n4qquO1MFV9arW6Coor5kwW4BiF+7cy+eGJ7H9CXfQ4pA6NjQxsKKt+1UFQVr4VjQjFPYXs8IcWDsJLPjrl4n6Te1Dfdb4oo37VQSBWvhWNFMc/hEkJKt5lwoDpeP5Z3bKlGJaIlDpeI/wCMAUPn66tDHwAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{A C R \\omega}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A⋅C⋅R⋅ω \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get cosine coefficient\n",
"coscf = reduce(multiplyIt, (filter(lambda x:type(x) not in [cos],vrstermslist[0].args)))\n",
"coscf"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "653a6ade-b6ed-4039-a3e0-a2d9be144ce2",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAhCAYAAAClWJfKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEr0lEQVR4nO2ZbYhVVRSGnzFLNPtQ+jIoktJICccZKSTKCBIKf5RUUiDVj0KCUkqLJHp7CyosG0uIhvoxZD+KiKLAQqmgzArNr+zjh5lMUBI0iF99YE4/9j525jj33n3nHr2D3Bcu95y113n3Yp219173vW39/f0cb9ieAJwraYvt84BvgMmSDhxPjrK52pqRzCJsbwXmSPqlmRyNco0c4mSXAZuBHyW1DzLeDiwBZgFnAb8BG4FlkjYUfDuBk/KB2/4YuC7eHgJ2xWdfrRDPURxDRSNcI4Y450vAC8AU26cUgrmLkLi/gXnAZODOeL+g4DseeB24t8DfASwFJgCXAG8C3banFwOpwlE3GuWquzJtzyW8hGXAo8AUYEscmwm8BiyR1JV7rBf4LAab8YwC3gOelbQ+Z78YOBP4SNLuaOsGHgOmElZEVY7ceBdwNXCFpMOFsY3AOkmLUrhSUFdl2h4NPA8slrQH+BXIV8ty4OtCIo9AUl/kaQN6gE8krSq4dQJ7ga3Rd0Kc8zCwKRdLNQ5sXwrcT3ixh4vjwA9Z7LW4UlFvZT5CeJtZdXwHtMeAJgEzgdsTeK4ibAHbbN8UbfMlfUtI5lhgr+0RwGjgH+AhSd8ncgAsBrZK+rRCDH3AlYlcSUhOpu2LgAeAaTnzdmBGvO6I3xtrcUlaR+VV0UHYKp4DTgeeBnZIWpHKEV/CLYStKLN1ATslrYym04ADCfEko57K7ALGAT/bzmxtwL64TMZE2/4GY+oA3pC0A8D2AmCn7e46KmUiYd/N+98GPJ67nwbkK71hJL0N27MJbU4nYVlnn3nAGYTgt0f3WRU4xgxmL/hMBMaTS4KkXYRDZ35KrBHj4vf+yHstcD5hu8i2pHbg3To4a6JmZdo+GXgRWC5pU2GsN15Ol/SO7Q+BlfGg+gLoJ1TaPYCBdTWm6yQcNMWKWQvMBR6uFW9Eb+S5w/YeQiv3ATAnNuQvA9soOZkplbkQODsGNACS9gK7iYcQcDPh5H2Q0C5tIBxaX5KwlxKS+ZOkvwr2tcAk21MTOJD0O6FtuxVYA3QTDqTpwFfAH8CNkv5N4UvFsPg5eaKg4ROshf/RSmaJaCWzRIwEsN3aOBuEpLa6DiDbFwCrgHMI0thTkt6uZ9IyOI4FVxmod5kfAhZJmgLMBlbYPrUJHMeCq2E01BqdKAp5WTjqF1CqSl5Jka5HJR8uCnkN3msIDX8n4Sfp3ZJ6BvMdsMxTVfIainSSSt5shdx2j+0nElzHEnSHhcCf1RyPVGaqSl5NkU5VyYebQl4NklYDq+NcPdV888u8pkqeoEjXVMnrUMivP14KeVnI+sxUlbyWIp2ikg87hbwsZJWZpJInKNI1VfJmKeS2lxL28gyjgH7bi3O2GyR9nsI3GLJAylTJ10vaEbXPBcB9ti9PfL6SQn4wdz9UhfwVBgrb7w9iS5EJKyKrzLxK/lbRyfYYSQeL9oLPoCq57UwlTxF2UxXyZxK4BiD+M9qXi3cf0Jf9PVIGRsaJNgwTlbwpCnk12B5LaPEgrOQLYy/eJ6k375vfb5qukjdLIa+BGYSWbjPhQHW8frLo2FLaS0RLzywRrWSWiP8Ar3O8YZSqVbgAAAAASUVORK5CYII=",
"text/latex": [
"$\\displaystyle \\frac{A C^{2} R^{2} \\omega^{2}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" 2 2 2 \n",
" A⋅C ⋅R ⋅ω \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get cosine coefficient\n",
"sincf = reduce(multiplyIt, (filter(lambda x:type(x) not in [sin],vrstermslist[1].args)))\n",
"sincf"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "1833b696",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAhCAYAAAClWJfKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAErElEQVR4nO2YXWgcVRTHf6nR0hi/il8RKhZtxRRtki1KEa0IFpQ+aFGLQlEfFBE0RVPFIvz3KKhUa6oFMdiHYF8UHxSFKpYqaKxKYtvU+vEQa4mgRTCUqPWDmPXh3gmz4+zOzO5k85D9wzIz9+N/z545954z/5ZSqUStMLMO4DxJB83sfOBLYLmkPxrJkSdPXVylUim3X7FYHC0Wi0vmmiNPnixcrSnf1GXAAeA7SV0VxhSAkyT9GNPXBWwG1gBnAz8DI8BWScNJHGa2F7jeP04BR/3cV7PakhVZuBak5HwJeAHoNLNTYhZcDLwG3BfTdzfOcX8DG4DlwF3++f40HEAPsAXoAC4BXgcGzKw7iy1ZkZUrMTLNbD3O6VuBx4FO4GCofyHwNvCspH2RuauBncBmSf2hrnHgY29sEsfFwJnA+5KO+bYB4AlgBW7HpLGlH7gGuFLSdKRvBBiStCkNVyVUjUwzWwQ8D/RJOg78BHSH+luAQeBDSbtiKLYBX0QcOQNJEyk4CsAkMOrX7PA2TQP709hiZpcCD+JeapkjPb7N+L9ikRSZj+HeWPD2vwa6Qv1X47buITO72bdtlPSVmS0DVgN3JKxRkcPfF4B2YNLMFgCLgH+ARyR9k5KnDxiV9FEFGyaAqzLYFIuKzjSzi4CHgJWh5sPAquBB0hCVo7vHX0eqGZDAEfDsBJ4DTgeeBsYkbU/D41/ArbhjKmjrB45I2uGbTgNmyp4UNsWi2oR+4CzgBzObMrMpoBe4wm+DJLT56+9ZjYqgB9gnaUzSflzSesDMLk85fynuzA1H1e3AidDzSiAc5TUh1plmthZXxhRw2zr4bQDO8AYm4bC/rqmwRltce2TMUmAxIUdIOopLOhtT2AAuIMC/VDO7DrgAd1Tgj6Mu4K2UfBXxv21uZicDLwLbfCSE+8b9bTdwpBqxpGEzew/Y4RPZp0AJF2n3AgYMJdhXwCWaaNTsAdYDjybMB1c5TAN3mtlxXJn3LrDOzEaBl4FD5ODMuMjsBc7xi5ZB0iRwjPIkVA234DLvw7hyahiX1D4j4Sz1KADfS/or0r4HWGZmK5IIJP2CK+luAz4ABnAJqRv4HPgVuEnSvynsqYqWer7NmyhH5ozVRGU0nZkjms7MEa0AZtY8OOuEpJZMCcjMlgC7gHNxUthTkt7MsmgeHLPBlQeybvMpYJOkTmAtsN3MTp0Djtngqht1lUa+6F1XjwibB8dscNWCuC+gLhqkis+VIp6R91pckV/AfYbeI2kwbmzZNm+kKj6XirifM2hmxRRD23E6Qy/wZ7WBM5HZSFU8ScXOoorXoohngaTdwG6/1mC1seFt3hBVPIkjpIrfkKSK16qIzxaCOrORqngSRxZVvCZFfLYQRGbDVPFqHFlV8SyKuJltwZ3lARYCJTPrC7XdKOmTNHxxCAyZD6r4K5QL3e/EtKWRBSsiiMywKv5GdJCZtUk6EW2PjIlVxc0sUMXTCLlpVfFnUnCVQdIE7ogI7P0NmJA0lpWrElr9QvNOFU8LM2vHlXjgdvKFvhafkDQeHhs+b+aVKp4Bq3Al3QFcQjV//2R0YFNpzxFNPTNHNJ2ZI/4DT7m+fRL6SOIAAAAASUVORK5CYII=",
"text/latex": [
"$\\displaystyle \\frac{A^{2} C^{2} R^{2} \\omega^{2}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" 2 2 2 2 \n",
"A ⋅C ⋅R ⋅ω \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c3_2 = simplify(sincf**2 + coscf**2)\n",
"c3_2"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "e441c722",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\operatorname{atan}{\\left(C R \\omega \\right)}$"
],
"text/plain": [
"atan(C⋅R⋅ω)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Now compute the phase shift at the output\n",
"alpha = atan(sincf/coscf)\n",
"alpha"
]
},
{
"cell_type": "markdown",
"id": "68fba51d",
"metadata": {},
"source": [
"### Find magnitude of voltage across $ V_c $ and phase shift ###\n",
"\n",
"The phase shift is in relation to the input voltage and I am not even sure that is quite right. I have to check if this is valid for a sin(w*t) driving force as \n",
"opposed to cos(w*t)\n",
"\n",
"We do this initially by comparing the coefficients of the sin and cos terms but later on we have at doing this\n",
"using complex analysis."
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "54b227ef",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\left( \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}, \\ - \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}\\right)$"
],
"text/plain": [
"⎛ A⋅sin(ω⋅t) -A⋅C⋅R⋅ω⋅cos(ω⋅t) ⎞\n",
"⎜────────────, ──────────────────⎟\n",
"⎜ 2 2 2 2 2 2 ⎟\n",
"⎝C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 ⎠"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nonTransient.args"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "5b88db11",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEIUlEQVR4nO2ZX2gcVRTGf6mppbWKLSpUUAwa/6RIk2xRimhFsKD0oRb/oFDUB6UI2qKpYhE+PwWVak21IAZ9CPZF6UNFoYpFBY1VSWhMrdWHWEoELYKhpLVqSRsf7l2ZjJvdSbLJTmE/WGbumTPffHv23HvPnmkYGxujjuqgsdYCKsH2NUA/8JOk1hrLKYs5tRaQAa8DrwItts+utZhyyHUwba8laNwCzAVaaquoPHIbTNvzgVeADklHgV+BtpqKqoDcBhN4CuiR1B/HPwCttZNTGbncgGxfBjwGLEuYDwDLayIoIxryWBrZ3gWsAU4lzA3AMWCRpPyJJoeZaXsVsBIoACcTl64GdgJNwKEaSKuIXAXT9lzgNWCrpH2pa0PxtI2cBjNvG9AG4EJCbTkOkkaAI+R4E8rlmnmmIm+ZeUajHswqohHAdn2uTxOSGuprZhUxqdLI9iXADuAiYBR4XtLO2eaYCa5qYLJr5iiwUVILsArYZvucGnDMBNe0Ma1pbnsAWC3pl1pyzATXVPC/aW67FdhE+Et3AfAb0AdskdSb8CsAZ6WF2/4UuCUOR4HD8d63SjyrJMdUUE2uFO9NQAfh7+3FwIOSukv5jpvmth8gBO4f4B7gSuD+OF6f8FsMvAM8XIKzHdgMLAGuAN4FumyP60VW4JgUpsJlu9v2sxlcFxI6VhuAv8o5/peZtlcAbwObJHUmfIaAL6JgbM8D3gdekrQ3JfBy4HzgY0lHoq0LeAZYSniXU5YjXu8EbgSuk3Q6da2P0OfcmIVrupC0G9gdn9Vdzjc5zbcC36YCmSQdtt0AdAOfSdpRwq0AjAAD8eFLCN3y08C+aCvLYfsq4FHg1nQgI34kdtwz6JlVFIv2ZmAFcG8F/xsI03+/7TXRtk7S9/G8QJgWI7bnAPMJbbQnJB3MyNEBDEj6fAINw8D1GblmFcXMbI/HvnLOknooX061E5aKl4HzgBeAQUnbsnDEH+BOwgu0oq0TOCRpezSdC/yZUU+SezNhLS9iHjBmuyNhu03Sl1n4SqEoZEE8Hp8qUUQ7sFfSYOxHrgcesX1txvubCGtuMrPuBk4kxsuAg0webxLad8XPByVsZZOpEoqZeSAeVwLvpZ1sL5B0Im1P+TQBi0kEQtJh2/3AOuDJDHoWxePxyHkzoRw5GcfNhC/9YgaucZA0TFgiinqPAcOSBifLNREa44N6bX8EbI+vWL8CxgiZ9hBgoKcCV4Gw0aSzZg+wlmzBHIoc99k+SmgSfwisjgX5G8B+YFcGrqrA9kJCiQdhJl8aa/FhSUNJ3+R6cwdh530c+A7oJbxu/Zps6V8Afpb0d8q+B2i2vbQSgaTfgaeBu4BPgC7ChtQGfAP8Adwu6dSEJNXHckJJ10/YUB3Pn0s71rtGVUS9OVxF/Avl/KCGAMMcWgAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{A}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get sine coefficient\n",
"sincf = reduce(multiplyIt, (filter(lambda x:type(x) not in [sin],nonTransient.args[0].args)))\n",
"sincf"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "620dff99",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAfCAYAAAARB2hWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEyUlEQVR4nO2aa4gWVRjHf2sX0eyiVGDQRcoipdpLFNKVIKHwQ0klRVJ9KCIwpVYjC/79CyosW0uIFvuwJEFRUBTYRSoos0LRtLI+aImBSdAiZnZh2+3DOa/Nju/uzKzz7jvg/mGZec955j/PzDnPeZ45/20ZGBhgDNXB0c12IAu2zwc2Az9Iah3CphVYDFwFnAz8AmwElknaEG0+Aq6Jl/QBO2P/qga6Xxjjmu1ADrwAPAfMsH1sutP2nYSX/zcwDzgXuCP+vjdh2g4sBaYC5wCvAd222xrpfFFUOkJszyVMmmXAw8AM4OtE/yzgZWCxpK7EpbuAT21PiXZnAycB70vaE9u6gUeBmYQIxHYXcAVwiaT+lC8bgXWSFpX9nElUNkJsTwCeBTol7QV2A+nZvBz4KjUYByGpN552APuALZF7auTuBzbFtvOABYTB7T+Uje/r3L90VDlCHiLMyM3x93dAa63T9nRgFnBrDq4OYBKwz/Y4YALwD/CgpG3RphPYIumTITh6gUuLPkRRVDJCbJ8F3A88kmj+lsEztD0eN+agbCcsba3A5cAHwCpJK+L9xgE3AW8mfOiyvSDBcTzwR4HHGBEqOSBAFzAZ+Ml2n+0+YCFwoe2WaDMxHvfn4GsH1kvaLmkTIdnfZ/uC2D+NkGO+SVxzC3Ag8fsiYBsNRuUGxPZsQvnaQZjRtb95wImElwchYoi29XgmxuM0YAqJly1pJyGRz49Nk+Nxf7zmauA0wrJWWx5bgbdG/GA5UakcYvsY4HlgeZzJyb5d8bQN+FHSBtvvAStjAfA5MECIhrsBA+sIA9vPobN7LTAXWEKoyvqB22zvJZTa7wJzbG8BXgS2MgoDUrUIWQicQnghgyBpH7CHRGIHbiRUSw8QyuENhGLgC/7PLR3ADkl/pSjXAtNtz5T0K6Gsvhn4EOgmJPk24EvgN+B6Sf8e9hNmoGVs66RaGLRk2d4JnFng+lcl3V6qR0c40jlkB5AO7eGwu0RfxkBJS5btsXWvBEhqGcshFcOol722TwdWA6cStsGfkPTGaHM0gqsMNKPs7QMWSZoBzAZW2D6uCRyN4DpsNH3Jih9ecyT93EyORnCNBKUvWXnUu4RtB3BU+uGLqHtDcYzQ99K4UrxXEj40OwhbMndJ6qlnW+qSVUC9I4pHrwD31KHKpe5lcBT1vTCX7R7bj+UwnUTYe1sI/DmcYWkRkle9i7bjgbeBpyWtT/HkVfeG5Ij9udW/LK7DhaQ1wJp4r57hbMtcsnKpd3H7vAf4WNLqOqZ51L1hORLq37VZ6l8Of0YVpQxIQfXuMsJyttX2DbFtvqTa9ngedS+Lo4j6l8U1qigrQnKrd5LWMXzuqql7zwAnAE8C22vqXhZHQv1blmjrImzZr4xNB9W/HP4kuZcSclsN44EB252JtuskfZaHrx7KSupF1LssZKl7WWik+vcSg0Wzd+q05ZGUh0RZEZJU715Pd9qeKOlAur2OXV11z3ZN3VuSw5e86t9TObgGIebB2n+yYPt3oFfS9qJcQ6GUASmg3mUhj7qXhcqofzXYnkQo3yGsSmfE77VeSbuStmV+h+RR77KQqe5lEVRJ/UvgYkK5vplQpDieP542bPrWyRgGo2qa+hGP/wBcMlDwbHB+3wAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle - \\frac{A C R \\omega}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" -A⋅C⋅R⋅ω \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get cosine coefficient\n",
"coscf = reduce(multiplyIt, (filter(lambda x:type(x) not in [cos],nonTransient.args[1].args)))\n",
"coscf"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "dca40fff",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAkCAYAAAB2UT9CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAE10lEQVR4nO2bb4hUVRjGf2OaaRZpf0DJaCv7o4jurhQWZQRKWR/M/lEg2QdBglJqLZLimacowzItIZL6sCRBIWhomLRYUGaF4rZm1gcT2UAlahE1LVGnD+eOjbfZnTs7M11G54HLvff8ee4z5z3nfd+ZeyaTy+WoR9i+AegEfpY0MWU5/caAtAVUgLeAN4Cxts9NW0x/UZcGsD2ToH0xMAgYm66i/qPuDGB7CPA60CbpALAXaE5VVAWoOwMAzwKbJHVG9z8CE9OTUxkGpi2gHNi+EngSmFBQvAOYlIqgKiBTT1mQ7TXADOBEQXEGOAQMl1Q/HyZC3awA29OAKUArcKyg6npgFdAE7E5BWkWoCwPYHgS8CSyRtC1W1x1dNlOHBqiXIDwPuJSQ+58GSQeB/dRpIK6rGHAmol5WwBmLhgFSRsMAKWMggO1GIEgBkjKNIJwyGi4oZTQMkDISfRO2fTnwa421nHWQlEn6U8R0YJSkfbUUdDYiqQsa2Rj82qDkCrB9HnC0XGLbo4GVwGXAceAlSav+b45acFUTSVbAHcAX/eA+DsyXNBaYBiyzfX4KHLXgqh5yuVyfRzabfSGbzWZKtUvA05XNZkenzVELrkqOJCsgU+mbJtutwDmS+p1JVYOjFlyVos8YYHs88EMvdROBBYS3VJcA+4CtwGJJWwrajQDeB+YU4dhIcHEQXMSeqP+7sXa9cpSLanIV4b4NaCO8tRsFPCapva8+p1aA7SbbL8fqpwIdRR40mzDYfwMPAdcCj0b3cwvaDQY+Bl6VtLnI81uAhcBI4BrgQ2CF7eYyOBKjv1y2221nEzQdRtgkMI+EiUvhChgPzLa9SNLhPGHBdV7MZOA9YIGkpQVV3cCX0QzDdgZoBz6XtLLIh7oauAjYIGl/VLYCeB4YB3SW4oj6LAVuBW6UdDJWt5WwhWV+Eq5KIWk9sD56dnuSPqcMIGmt7bsJGcJq2xcDvxfpswT4Ljb4hSJ6ostbCKtju+0ZUdksSXmX1gocBLoiwSMJG65OAtuScNi+DngCmBof/Ag/8e+mrVJ6UkE8BqwD7gNWA3cCGworbY8BJgMPlyKWtIm+09xWwpI9aHsAMISw2+FpSTsTcrQBXZJ6S5N7gJsScqWCuAE2AsujAblK0gex+pbovLUKz24huLLXgAuBV4BdkpYl6RxpvJ+wPzRfthTYLWl5VHQB8Ge5wmwvJMSmPAYDOdttBWV3SfqqXO44TpsRko4SgsjNhKwkjqHR+XCRunLRAmyWtCvaajIXeDzKvJKgiRBDCl3Ig8CRgvsJwM5+aHuHsMsif6wtUlaNSVg0DV0HLCIEwzh2ROcpwEfxSttDJR2Jlxdp1wSMoGDwJO2x3QnMAp4pLZ3h0flwxHk7IfU7Ft2PIQzUogRcpyGKY/lYhu1DQI+kXeVylUIxA3xCEP11EWFbbH9KcFNDojY5wmyeAxjYlOC5rYRgG5+dHcBMkhmgO+J4xPYBwp6hdcA9truAt4HtwJoEXFWB7WGEdBqCd7ki+r7UI6m7WJ//BCVJewm/mRRzQQD3ErKVp4DvgS2EHcvfkHxZtgK/SPorVt4BjLE9rhSBpN+A54AHgM+AFYSg3Ax8C/wBTJd0oleS6mMS4V87nYSkwtH1i711aLwTThn/ACUg35mn+r15AAAAAElFTkSuQmCC",
"text/latex": [
"$\\displaystyle \\frac{A}{\\sqrt{C^{2} R^{2} \\omega^{2} + 1}}$"
],
"text/plain": [
" A \n",
"─────────────────\n",
" ______________\n",
" ╱ 2 2 2 \n",
"╲╱ C ⋅R ⋅ω + 1 "
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c3 = sqrt(cancel(sincf**2 + coscf**2))\n",
"c3"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "ebe53008",
"metadata": {},
"outputs": [],
"source": [
"from sympy import Mul, sympify, re, im\n",
"import math "
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "8475e93c",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} + \\frac{A C R \\omega e^{- \\frac{t}{C R}}}{C^{2} R^{2} \\omega^{2} + 1} + \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" -t \n",
" ─── \n",
" C⋅R \n",
" A⋅C⋅R⋅ω⋅cos(ω⋅t) A⋅C⋅R⋅ω⋅ℯ A⋅sin(ω⋅t) \n",
"- ──────────────── + ──────────── + ────────────\n",
" 2 2 2 2 2 2 2 2 2 \n",
" C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpeq2 = dsoln.args[1].subs(c1, c1eq.args[0])\n",
"simpeq2"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "ee48e2dd",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\left\\{ \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} : 1, \\ \\frac{A C R \\omega e^{- \\frac{t}{C R}}}{C^{2} R^{2} \\omega^{2} + 1} : 1, \\ \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1} : -1\\right\\}$"
],
"text/plain": [
"defaultdict(int,\n",
" ⎧ -t ⎫\n",
"⎪ ─── ⎪\n",
"⎪ C⋅R ⎪\n",
"⎨ A⋅sin(ω⋅t) A⋅C⋅R⋅ω⋅ℯ A⋅C⋅R⋅ω⋅cos(ω⋅t) ⎬\n",
"⎪────────────: 1, ────────────: 1, ────────────────: -1⎪\n",
"⎪ 2 2 2 2 2 2 2 2 2 ⎪\n",
"⎩C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 C ⋅R ⋅ω + 1 ⎭)"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpeq2.as_coefficients_dict()"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "d7299630-bec5-4690-962b-554235b9565f",
"metadata": {
"scrolled": true
},
"outputs": [
{
"ename": "AttributeError",
"evalue": "'Add' object has no attribute 'all_coeffs'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[42], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43msimpeq2\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mall_coeffs\u001b[49m()\n",
"\u001b[0;31mAttributeError\u001b[0m: 'Add' object has no attribute 'all_coeffs'"
]
}
],
"source": [
"simpeq2.coeff"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "2488b1d9-7bd9-463c-b8d4-8c9c19107fa6",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEkAAAAUCAYAAADBYxD1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEQElEQVR4nO2YbYhWVRDHf2tG7SpqaSoUtYW0KVbb+oJFigu7RhQVBAVBVkYqgUVvlBD9/VeWGJn4oWKxDyaFGouJIgmBKSlaakKlgkWphJm9mJiZqduHc+7u6fo8zzXdtQ0aeJjn/mfmnDlz5syZe6va2tr4nypTj3/bgf8C9fynBrZrgW+ABZLu72yHbC8AbgYul/RbZ49fYd4RwCbgIUnzU1m3yiTbo4B7gVldFSDbj9lus31PikvaDLwPvGC7dyo7nSB9BwwFpp+uoxVoJnAQeKMLxs5oROSbS8heBgYDj6RgVXcp3LavBHYA8yVN7sJ5tgOXAH0knbT4KK8hHPcTkKtJtm8DHgWGARcCPwE7gcWSXo86teRqUooBM4BZQBPQG/gCmCFpRYH/k4AqYHGFBU4B3gTmSHqigt7XwBXAYEn7IjYLeDpRO2E7+z9R0sL4f1FcQzOwCpLjZnsysIwQoOXAq8BKoBp4oGCBGV0GfALUAgsJCx4OLLPdWGDbBBwHNpQS2h4EzAa+B1QwVnaUbkiwLYRNBFgPOPl9lOiti7w5A9JMmgIcBa6V9EPOwQEFTmU0npA17Vtk+13gA+ApYHUpI9u9gHpge4WC/RzQB3hW0qECP76N/KoMkLTEdj/gPsIpaClj+2nk4zIgX7iPAX/mrST9WOBURruAF3O2q4DdwOgKdhcD5wB7SwnjJj1IKOpvnYIfWaAvyOENkW8pZyjpV+AIcGmGpZn0DuGIbbO9CFgDrJO0/xScymirpOMl8D3A9RXs+kf+Sxn5XcB5wBJJhzPQ9mjgcWCepPWJfk3kf+TGaSAkwecVfAH4GRiUPbRnkqQ5hFTcRbgClwL7bK+2PbJg0IwOlMGPUbnd+D3y88vIx0e+JoffCtzNycEYEvnODLDdE7ga2CYpr5+n6sSnvzsu6W1JYwg7ewshtccBq2xfVDDwmVBWA/uXkddFviOH3xT57gyw3QO4MT6mQR1G2ISyRy2x75f4VPq1RNIBws22MhpNIgSrtdIEZ0B7gf10BCNPfSNvL9i2h9JR59LMaAIGAhsl7Urw+sg/K/CljtCKbM2AtAVotF1Vwmhg5IdLyDqFYlO3Fhhge0gJlawuXgMQ/ZxNR1bURbwm4hC655SyLD1Y4M6YyNtv4jSTlgKHbG8gXKFVwFhgFKHv+LBg8DOlVuBOwhH6KidbCowE5tquB66Lz82EHmeB7eXA7YSAtUhalhsj651m2h5OuAG/lPReTm8CoV9rt09r0jOEHqEBeJjQQJ5L6FIbJZ3UGnQytRLqwMQSsleAuQTnpxI2d4KkjfG5F+FN4Wj0fWp+AElrgWmE4EwjNKT1qY7tvsAdwApJezK827y7AdieDrwENEgqqh1dMf80YB4wVtLHGd6tPpUArxFuqufP9sS2qwlfNlrTAEE3C5KkI4TvSZviq8rZpFqgBXgyL/gL6pdeE6TZnJEAAAAASUVORK5CYII=",
"text/latex": [
"$\\displaystyle \\sin{\\left(\\omega t \\right)}$"
],
"text/plain": [
"sin(ω⋅t)"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpeq2.args[0].coeffs"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "60485e83-f47c-4fab-8634-3a11d301f1ab",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"sin"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(simpeq2.args[0].args[-1])"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "03cfa076",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEIUlEQVR4nO2ZX2gcVRTGf6mppbWKLSpUUAwa/6RIk2xRimhFsKD0oRb/oFDUB6UI2qKpYhE+PwWVak21IAZ9CPZF6UNFoYpFBY1VSWhMrdWHWEoELYKhpLVqSRsf7l2ZjJvdSbLJTmE/WGbumTPffHv23HvPnmkYGxujjuqgsdYCKsH2NUA/8JOk1hrLKYs5tRaQAa8DrwItts+utZhyyHUwba8laNwCzAVaaquoPHIbTNvzgVeADklHgV+BtpqKqoDcBhN4CuiR1B/HPwCttZNTGbncgGxfBjwGLEuYDwDLayIoIxryWBrZ3gWsAU4lzA3AMWCRpPyJJoeZaXsVsBIoACcTl64GdgJNwKEaSKuIXAXT9lzgNWCrpH2pa0PxtI2cBjNvG9AG4EJCbTkOkkaAI+R4E8rlmnmmIm+ZeUajHswqohHAdn2uTxOSGuprZhUxqdLI9iXADuAiYBR4XtLO2eaYCa5qYLJr5iiwUVILsArYZvucGnDMBNe0Ma1pbnsAWC3pl1pyzATXVPC/aW67FdhE+Et3AfAb0AdskdSb8CsAZ6WF2/4UuCUOR4HD8d63SjyrJMdUUE2uFO9NQAfh7+3FwIOSukv5jpvmth8gBO4f4B7gSuD+OF6f8FsMvAM8XIKzHdgMLAGuAN4FumyP60VW4JgUpsJlu9v2sxlcFxI6VhuAv8o5/peZtlcAbwObJHUmfIaAL6JgbM8D3gdekrQ3JfBy4HzgY0lHoq0LeAZYSniXU5YjXu8EbgSuk3Q6da2P0OfcmIVrupC0G9gdn9Vdzjc5zbcC36YCmSQdtt0AdAOfSdpRwq0AjAAD8eFLCN3y08C+aCvLYfsq4FHg1nQgI34kdtwz6JlVFIv2ZmAFcG8F/xsI03+/7TXRtk7S9/G8QJgWI7bnAPMJbbQnJB3MyNEBDEj6fAINw8D1GblmFcXMbI/HvnLOknooX061E5aKl4HzgBeAQUnbsnDEH+BOwgu0oq0TOCRpezSdC/yZUU+SezNhLS9iHjBmuyNhu03Sl1n4SqEoZEE8Hp8qUUQ7sFfSYOxHrgcesX1txvubCGtuMrPuBk4kxsuAg0webxLad8XPByVsZZOpEoqZeSAeVwLvpZ1sL5B0Im1P+TQBi0kEQtJh2/3AOuDJDHoWxePxyHkzoRw5GcfNhC/9YgaucZA0TFgiinqPAcOSBifLNREa44N6bX8EbI+vWL8CxgiZ9hBgoKcCV4Gw0aSzZg+wlmzBHIoc99k+SmgSfwisjgX5G8B+YFcGrqrA9kJCiQdhJl8aa/FhSUNJ3+R6cwdh530c+A7oJbxu/Zps6V8Afpb0d8q+B2i2vbQSgaTfgaeBu4BPgC7ChtQGfAP8Adwu6dSEJNXHckJJ10/YUB3Pn0s71rtGVUS9OVxF/Avl/KCGAMMcWgAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{A}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpeq2.coeff(simpeq2.args[0].args[-1])"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "2e9fd9f3",
"metadata": {},
"outputs": [],
"source": [
"u = symbols('u')"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "66f6c8ec",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A \\sin{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A⋅sin(ω⋅t) \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpeq2.args[0]"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "2baf1a6a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEIUlEQVR4nO2ZX2gcVRTGf6mppbWKLSpUUAwa/6RIk2xRimhFsKD0oRb/oFDUB6UI2qKpYhE+PwWVak21IAZ9CPZF6UNFoYpFBY1VSWhMrdWHWEoELYKhpLVqSRsf7l2ZjJvdSbLJTmE/WGbumTPffHv23HvPnmkYGxujjuqgsdYCKsH2NUA/8JOk1hrLKYs5tRaQAa8DrwItts+utZhyyHUwba8laNwCzAVaaquoPHIbTNvzgVeADklHgV+BtpqKqoDcBhN4CuiR1B/HPwCttZNTGbncgGxfBjwGLEuYDwDLayIoIxryWBrZ3gWsAU4lzA3AMWCRpPyJJoeZaXsVsBIoACcTl64GdgJNwKEaSKuIXAXT9lzgNWCrpH2pa0PxtI2cBjNvG9AG4EJCbTkOkkaAI+R4E8rlmnmmIm+ZeUajHswqohHAdn2uTxOSGuprZhUxqdLI9iXADuAiYBR4XtLO2eaYCa5qYLJr5iiwUVILsArYZvucGnDMBNe0Ma1pbnsAWC3pl1pyzATXVPC/aW67FdhE+Et3AfAb0AdskdSb8CsAZ6WF2/4UuCUOR4HD8d63SjyrJMdUUE2uFO9NQAfh7+3FwIOSukv5jpvmth8gBO4f4B7gSuD+OF6f8FsMvAM8XIKzHdgMLAGuAN4FumyP60VW4JgUpsJlu9v2sxlcFxI6VhuAv8o5/peZtlcAbwObJHUmfIaAL6JgbM8D3gdekrQ3JfBy4HzgY0lHoq0LeAZYSniXU5YjXu8EbgSuk3Q6da2P0OfcmIVrupC0G9gdn9Vdzjc5zbcC36YCmSQdtt0AdAOfSdpRwq0AjAAD8eFLCN3y08C+aCvLYfsq4FHg1nQgI34kdtwz6JlVFIv2ZmAFcG8F/xsI03+/7TXRtk7S9/G8QJgWI7bnAPMJbbQnJB3MyNEBDEj6fAINw8D1GblmFcXMbI/HvnLOknooX061E5aKl4HzgBeAQUnbsnDEH+BOwgu0oq0TOCRpezSdC/yZUU+SezNhLS9iHjBmuyNhu03Sl1n4SqEoZEE8Hp8qUUQ7sFfSYOxHrgcesX1txvubCGtuMrPuBk4kxsuAg0webxLad8XPByVsZZOpEoqZeSAeVwLvpZ1sL5B0Im1P+TQBi0kEQtJh2/3AOuDJDHoWxePxyHkzoRw5GcfNhC/9YgaucZA0TFgiinqPAcOSBifLNREa44N6bX8EbI+vWL8CxgiZ9hBgoKcCV4Gw0aSzZg+wlmzBHIoc99k+SmgSfwisjgX5G8B+YFcGrqrA9kJCiQdhJl8aa/FhSUNJ3+R6cwdh530c+A7oJbxu/Zps6V8Afpb0d8q+B2i2vbQSgaTfgaeBu4BPgC7ChtQGfAP8Adwu6dSEJNXHckJJ10/YUB3Pn0s71rtGVUS9OVxF/Avl/KCGAMMcWgAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{A}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" A \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get sine coefficient\n",
"c1 = reduce(multiplyIt, (filter(lambda x:type(x) not in [sin],simpeq2.args[0].args)))\n",
"c1"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "99628c59",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A C R \\omega e^{- \\frac{t}{C R}}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" -t \n",
" ───\n",
" C⋅R\n",
"A⋅C⋅R⋅ω⋅ℯ \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get cosine coefficient\n",
"c2 = reduce(multiplyIt, (list(filter(lambda x:type(x) not in [cos],simpeq2.args[1].args))))\n",
"c2"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "36345ddc",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\frac{A C R \\omega \\cos{\\left(\\omega t \\right)}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
"-A⋅C⋅R⋅ω⋅cos(ω⋅t) \n",
"──────────────────\n",
" 2 2 2 \n",
" C ⋅R ⋅ω + 1 "
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get third coefficient (of exponential term)\n",
"reduce(multiplyIt, filter(lambda x:type(x) not in [ exp],simpeq2.args[2].args))"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "07f2f49c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A^{2} \\left(C^{2} R^{2} \\omega^{2} + e^{\\frac{2 t}{C R}}\\right) e^{- \\frac{2 t}{C R}}}{\\left(C^{2} R^{2} \\omega^{2} + 1\\right)^{2}}$"
],
"text/plain": [
" ⎛ 2⋅t⎞ -2⋅t \n",
" ⎜ ───⎟ ─────\n",
" 2 ⎜ 2 2 2 C⋅R⎟ C⋅R \n",
"A ⋅⎝C ⋅R ⋅ω + ℯ ⎠⋅ℯ \n",
"───────────────────────────\n",
" 2 \n",
" ⎛ 2 2 2 ⎞ \n",
" ⎝C ⋅R ⋅ω + 1⎠ "
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Compute c3^2 using pythagoras theorem\n",
"c3_2 = simplify(c1**2 + c2**2)\n",
"c3_2"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "907ce05a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A \\sqrt{C^{2} R^{2} \\omega^{2} + e^{\\frac{2 t}{C R}}} e^{- \\frac{t}{C R}}}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" _________________ \n",
" ╱ 2⋅t -t \n",
" ╱ ─── ───\n",
" ╱ 2 2 2 C⋅R C⋅R\n",
"A⋅╲╱ C ⋅R ⋅ω + ℯ ⋅ℯ \n",
"─────────────────────────────\n",
" 2 2 2 \n",
" C ⋅R ⋅ω + 1 "
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# find c3 by taking square root\n",
"c3 = sqrt(c3_2) \n",
"c3\n"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "56dcb8dc",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAAeCAYAAACmPacqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAADzElEQVR4nO3XW6hWRRQH8N85CqFmpfaQaYl2gzLUYyRCodWDdqMLpSRJEkQhCeGlyIrFyiCQzEgIxYSioB66UYFoiFFmheIlRSEsJDMr1ErU7p4e9hzZfn6mppYPrZfZM3vNWv9Z859Za1ra29sdqWTmAAyMiLdrY6/gsYjYlJkTMAmd0IpZEfFiZk7GFGxHF9wfEYsb7bceMZJKrsXFNSCtOK8AuRd3Y1REDMZVaCmqAzE1IgbhUcxoZrzzkaLIzBHFyI7MHIsrCrBVmdkDT2BQRGyHiNiBF2pgnivfX+K3Zj5ajnKb3seEiNhc+o9gI87A6IgY02ROC3ahD/ZgDt46Htt0bgeQItdgiWrlaw4xpz9OwQcqznRrBoSGbcrMPngS16tIuAQTI+K7zOyLb2q63dEaET9l5p6/WdhALIqIGzPzHGzIzOkRsbVRcb+BzOyPVdiq4sNInIm5RaUfttXmXo2l5XshxmVmr2LrtMy8swZmDUTEFryL0YeLzFwsiIjpNYAz8EbprseAzFyHsRiFl4qT5Zn5NJYWjrRjdg3M6zU/7+AmLGgE09Le3i4z+2Ezfsa+2v9O2BsRvRonZuZKDIuIP5ut8p9IR2QGqRg/tIlO02MYEZcdLxCNYH5HN3wbEbuPt5MjlY5t6oHPsQyPq6I0ADdjUkTsO7SJ4yetEBE/qK7601UnZA2ewtf/FhCO8gY+0XK0N/AJlf/BHEo6Q2b+58SJiJaTisAHFVeZORjTMEKVKLdhJWZGxIrMXKJKkvCHKo3MjIj5xwrmAM6UGnYlflUlwwtxV+nfV9TaMB29cT5exbzMHHKsYPZvU2YOx4eYFhGzGxUzsyd6YBPaImJ1Ge+LLRgfES/X9GfjSlzeeHGWJLssIh6oj9cjMwufNgMCEbFTlUh3YW0x2lt1U+9T1UIdzi5SvRKmHeIG34iDItlxmi7AcNzRDEhNhuJU7Covgy6qrD4lIjbU9KZibUQsbWIDdmJY42BHZNpKu/IwYNrwPAarqsFFmB8Rz3QoFJC34bXa2OzMnFSz011VnDcF07W0hysf2rA8IjZFxCoVqSdm5qU1nf6q18K62tgY7K31B6EeyQPArC/tiGYIMrNrqZF71p2Ul8JqjK+p9yjt7jJ3JM5WirRCicF4s9FP52J0RWYuxJzM7IKPVHVsG+5B4iwVURtX9B5uxYOl/1XRG5eZP+JZVd17Q2auVT3mPmsGpn6ablGdjMmqemYFHsLHKi4NxRcR8UsTMBdk5iVlYd/jYdyOxZinIvQQfIIduK5Z7XxSpYO/AGesbpJnnF5+AAAAAElFTkSuQmCC",
"text/latex": [
"$\\displaystyle \\frac{e^{\\frac{t}{C R}}}{C R \\omega}$"
],
"text/plain": [
" t \n",
" ─── \n",
" C⋅R \n",
"ℯ \n",
"─────\n",
"C⋅R⋅ω"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Compute the phase\n",
"c1/c2"
]
},
{
"cell_type": "markdown",
"id": "4b24e8dd",
"metadata": {},
"source": [
"The tan function can be equated to the fraction of $ \\frac{\\sin( \\theta )}{\\cos (\\theta )}$ "
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "05abad5c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\operatorname{atan}{\\left(\\frac{e^{\\frac{t}{C R}}}{C R \\omega} \\right)}$"
],
"text/plain": [
" ⎛ t ⎞\n",
" ⎜ ─── ⎟\n",
" ⎜ C⋅R ⎟\n",
" ⎜ℯ ⎟\n",
"atan⎜─────⎟\n",
" ⎝C⋅R⋅ω⎠"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simplify(atan(c1/c2))"
]
},
{
"cell_type": "markdown",
"id": "8f32d128-ddcd-41a1-a055-e3a5207888f6",
"metadata": {},
"source": [
"### Complex Impedance Analysis "
]
},
{
"cell_type": "markdown",
"id": "61093af9",
"metadata": {},
"source": [
"I wish to compare this with the complex analysis of the circuit"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "3bfdd494",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{C R \\omega - i}{C \\omega}$"
],
"text/plain": [
"C⋅R⋅ω - ⅈ\n",
"─────────\n",
" C⋅ω "
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z = R - I / (w*C)\n",
"zc = cancel(Z) # express as fraction\n",
"zc"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "f3db2138",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEcAAAAcCAYAAAAz+aIrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAADE0lEQVR4nO3YXYhVVRQH8J/Si/ZBSS9KEGIWIjXXGSh8CCvoJXwx+qAo6iWIIIjKQgsWC6LAipHEYMhXoZ588MFIogj7nEGbjIrSGAwqwixkGvqc6eGc0TN3PpwZTgdv3D9c9rlrr73X2v+z9jp7ryUTExM6BZm5G6siYksT9i5owkiNeBZ/NWVsSSdFTtPomMjJzCvwHdZFxFdN2FzahJGa0IMxfN2UwU4ip4WjETHelMFOIqcHnzZpsJPIaemSMx2ZeSHW6JIzI64r28+aNNop5PTgm4gYa9Jo9xA4B6YcAjNzBFcuYPzeiLivVo/OI7SfkI/j9wWM/75GX8471LKtMvN/uTe7OWcOdMrXqjFk5u7M3Md/cCvPzBa2YhMuxw8Ywo6IGCx13sYt5ZC/MVL2v1a3P4vAmZpRrZGTmQ8qiPgDd+NqPFD+f7ii2ovtWImr8DoGMnNDnf4sBhHxS0SMUmPkZOZG7MHWiOivdJ3Ae5m5otRbg0vxZkT8WMoGFG9sPY5U5uzHjbi+/TaemUM4FBGP1biGKTWjOrfVy/i4jZgziIhT5WMfTmO4dGglXsI4DlccvQaP4tZZyhRfou5Im1IzqoWczFyLjbhnHup9uAinM3MpluFPPBERX1T0nsRwRLwzyzyncMPivZ4RLZWaUV2R01u2Q/PU3YMXcQmex7GI2DmpUJJ2B3ZUZP34NiJ2laKL8Vv75Jn5HJ45hw83R8S7M8in1IzqSsjLy3Z0Hrq9+CAijkXEYUWifiQzr63orFbkpaMV2V2KkJ9ED6qRNomdWHeO3yez+NZSIaeuyPm8bDfhjfbOzFweEWOZuRorVBYdESOZeQT346lSfFnZjpbjb8Iqxfab3MYtvNBuKyJO4uRCFzBTzagWciJiMDMPYFdmLsP7mFBEyUNIHFLkm3HT3/hB3O4sOSdKvXsz81e8gv3YnJnDeFVR29lXh/8lptWM6jznbFF8dR5XsD+Ip/Ghs7moD8cjov1yexBrM3M9RMRP2IY78RYGFAl6Az7Cz7gtIv6p0f9pNaPu3WoO/AulNQt/mBxX9AAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle - \\frac{i}{C R \\omega - i}$"
],
"text/plain": [
" -ⅈ \n",
"─────────\n",
"C⋅R⋅ω - ⅈ"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Now we try and work out Vout as R/Z\n",
"rzc = (-I/(w*C))/zc\n",
"rzc"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "01ccfae6",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAADpklEQVR4nO2YT2hcVRTGf4mB0lpFiwgVFIpGwSI2GVGKaEVQULpQ8Q8KRV1URCwWTRWL8PkpaKlKigUx6CLYjeJCqVDFooLGqCS0ppa6SaXEhSIYpMaqJXZc3Dvy+jqZuUleMlN8Pxje3DNnvntycu6fOR3VapWSYuhqdQD1sH090AdUgAuAByUNtjSoBDpbHcAMLAcOAo8Bf7Y4lmQ62n2Z254CHi0r839GmcwCKZNZIGUyC6RMZoG05WluezlwSRwOA9uA3cCkpImWBdaEdq3Mq4D98bUUcHz/XCuDakZbVubpSrtW5mlJmcwC6QKwXa71eSKpo9wzC2RWLTjbFwK7gPOBaeB5Se8utsZCaBXBbPfMaWCzpMuBm4Edts9sgcZCaM2beS1z22PAekk/tlJjIbTmwinL3PYaYAuwDjgP+AkYBbZLGsn4VYAz8oHb/gS4MQ6ngSPxu2/UmauuxlwoUiunm9z1P2mZ236AkLi/gXuAS4H74/jhjN8K4C3goTqavcBWYCXhJ+HbwIDtntxcjTRmxVy0bA/afjbBNbnr/19l2l4LvAlskdSf8ZkAPo8BY3sJ8D6wTdJwLsCLgXOAjyT9HG0DwDPAasJPwoYa8fN+4Drgakkncp+NAkOSNqdozRdJe4A9ca7BRr7ZZf4K8E0ukVnRSdsdwCDwqaRdddwqwFFgLE6+EngZOAHsi7aGGrYvAzYBN+UTGfke6EnRWmxql/ZuYC1wbxP/awnL/4Dt26Jtg6Tv4vsKYVkctd1JaFIcB56QdChRow8Yk/TZDDFMAtckai0qtcrsjc/RRs6Shmh8neolbBUvAWcDLwDjknakaMR/wJ3A9oytH/hB0s5oOgv4IzGerPZWwl5eYwlQtd2Xsd0i6YsUvXrUAlkWn1NzFYr0AsOSxiXtIxxaj9i+IvH7qwh7bray7gaOZcZXAoeYPa8DazKv3XVsDYupGbXKPBif64B38k62l0k6lrfnfFYBK8gkQtIR2/uBDcCTCfGcG59TUfMGwnXkeBx3E/7oFxO0TkLSJGGLqMX7O6HZPD5brZnoihON2P4Q2Gl7KfAlUCVU2kZCc3aoiVaFcNDkq2YvcAdpyZyIGvfZ/g14FfgAWB8v5K8BB4D3ErQKIdf17wQuinfxU7r+2f3mdsLJ+zjwLTACPAV8RVr5V4DDkv7K2fcC3bZXNxOQ9AvwNHAX8DEwQDiQeoCvgV+BWyX9kxBPUSR3/cuuUYGUzeEC+Rfmr4kfdXoELQAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{1}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" 1 \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sympy.re(rzc)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "b5d08d9b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAfCAYAAAARB2hWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAERUlEQVR4nO2aa2gcVRzFf6lCaYyiRYQKKkWrYBHTRJTioyIoKP2g4gPFov2giFAs2lYswvEoqFQlxYIY2g/BIigKikJ9FBU0VktCa6rol1RCBBXBILXWBzXxw9ytk3Gze2cz+6J7YJmdO+ee/c/evf//nXu2a2Zmhg5aByc2O4C8sN0LbARWAacDPwKjwBZJI4HzIXBN6HIUmAjXtzc63rxY0OwA8sD2PSRf/l/A7cD5wN3h/P4UtQ/YDCwBzgNeBQZtr2hkvLWgbWaI7ZXADmCjpIHUpUngE9uLA+9c4FTgPUk/hbZB4DFgObA/pTkAXAlcKmk683mjwLCk9fW6p3JomwEBngf2ZgbjGCRNhbf9wCFgDMD2EuA5YBrYV+LbvgBYB1ybHYyAb4GGz6i2GBDby4CVwB0R9H6gBzhkewGwCPgbeFjSNyneBmBM0sdz6EwBl9UedW1olxrSF46jkdwdQC9wBfA+sF3S1hIhDNQtwBuptgHb61I6JwO/zyvqGtAuA9IdjocjuH3AHknjkvaRFPsHbF+U4iwlqTNfpdpuA46kzi8G0jOqIWiXAfk6HFeVu2i7OxyXAotJfdGSJkgK+ZpUl9PC8XDodzVwJklqK6XIXuDNQqLPgbaoIZJGbL8LbLO9CPgMmCGZDfcCBoZJ6sc0//9l7wZuBjaF88nAu9P2r8ALwDvAattjwIvAAZowIO0yQwBuIlktPQR8CYwAjwCf819t6QcOSvoz03c3sMz2cgBJPwOPArcCHwCDJEV+BfAF8Atwg6R/6ng/ZdHV2TppLcxKWbYngHNy9H9F0l2FRnScI1tDDgLZ6V4JPxQYSwcUlLJsd/JeAZDU1akhLYaGL3ttnwXsBM4g2Rp/UtLrjdaoh1YRaMay9yiwXtKFwHXAVtsnNUGjHlrzRtNTVngQWy3p+2Zq1EOrFhSesmIcvRS3Hzghe/N5HL+5NGqMvTCtjO5VJA+e/SRbNGslDZXjFpqycjh6BEPpZeC+MlJRjl8Vjbyx59ayPWT78QhqD8l+3IPAH5WIhc2QWEcvcBcCbwHPSNqT0Yly/CpphOvRbmA1rflC0i5gV/isoUrcIlNWlKNnuwsYAj6StLMMtarjV00jjxsYEU9DUciA5HT0LidJZwds3xja1kgqbZnHOH7VNPK4gdW0GoqiZki0oydpmMq1q+T4PQucAjwFjKcdv0oaKTdwS6ptAPhO0rbQdMwNjIgnrb2ZpLaVsBCYsb0h1Xa9pE9j9MqhqKKex9GrhhjHrxLq6Qa+RGJclV5vl2mLsZnnRFEzJO3ovZa9aLtb0pFsexleWcfPdsnx2zRX3xRi3cCnI7RmIdTB0r9bsP0bMCVpPK/WXChkQHI4etUQ6/hVQsu5gbZ7SJbvkGSls8Pz2pSkyTS3yOeQGEevGqIcv0poUTfwEpLl+n6SRYrD+yeyxKZvnXQwG+3kqR8X+Bct6x38fhVFpgAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle - \\frac{C R \\omega}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" -C⋅R⋅ω \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sympy.im(rzc)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "18c46477",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{C^{2} R^{2} \\omega^{2}}{\\left(C^{2} R^{2} \\omega^{2} + 1\\right)^{2}} + \\frac{1}{\\left(C^{2} R^{2} \\omega^{2} + 1\\right)^{2}}$"
],
"text/plain": [
" 2 2 2 \n",
" C ⋅R ⋅ω 1 \n",
"─────────────── + ───────────────\n",
" 2 2\n",
"⎛ 2 2 2 ⎞ ⎛ 2 2 2 ⎞ \n",
"⎝C ⋅R ⋅ω + 1⎠ ⎝C ⋅R ⋅ω + 1⎠ "
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sympy.re(rzc)**2 + sympy.im(rzc)**2"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "0436eb4f",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAADpklEQVR4nO2YT2hcVRTGf4mB0lpFiwgVFIpGwSI2GVGKaEVQULpQ8Q8KRV1URCwWTRWL8PkpaKlKigUx6CLYjeJCqVDFooLGqCS0ppa6SaXEhSIYpMaqJXZc3Dvy+jqZuUleMlN8Pxje3DNnvntycu6fOR3VapWSYuhqdQD1sH090AdUgAuAByUNtjSoBDpbHcAMLAcOAo8Bf7Y4lmQ62n2Z254CHi0r839GmcwCKZNZIGUyC6RMZoG05WluezlwSRwOA9uA3cCkpImWBdaEdq3Mq4D98bUUcHz/XCuDakZbVubpSrtW5mlJmcwC6QKwXa71eSKpo9wzC2RWLTjbFwK7gPOBaeB5Se8utsZCaBXBbPfMaWCzpMuBm4Edts9sgcZCaM2beS1z22PAekk/tlJjIbTmwinL3PYaYAuwDjgP+AkYBbZLGsn4VYAz8oHb/gS4MQ6ngSPxu2/UmauuxlwoUiunm9z1P2mZ236AkLi/gXuAS4H74/jhjN8K4C3goTqavcBWYCXhJ+HbwIDtntxcjTRmxVy0bA/afjbBNbnr/19l2l4LvAlskdSf8ZkAPo8BY3sJ8D6wTdJwLsCLgXOAjyT9HG0DwDPAasJPwoYa8fN+4Drgakkncp+NAkOSNqdozRdJe4A9ca7BRr7ZZf4K8E0ukVnRSdsdwCDwqaRdddwqwFFgLE6+EngZOAHsi7aGGrYvAzYBN+UTGfke6EnRWmxql/ZuYC1wbxP/awnL/4Dt26Jtg6Tv4vsKYVkctd1JaFIcB56QdChRow8Yk/TZDDFMAtckai0qtcrsjc/RRs6Shmh8neolbBUvAWcDLwDjknakaMR/wJ3A9oytH/hB0s5oOgv4IzGerPZWwl5eYwlQtd2Xsd0i6YsUvXrUAlkWn1NzFYr0AsOSxiXtIxxaj9i+IvH7qwh7bray7gaOZcZXAoeYPa8DazKv3XVsDYupGbXKPBif64B38k62l0k6lrfnfFYBK8gkQtIR2/uBDcCTCfGcG59TUfMGwnXkeBx3E/7oFxO0TkLSJGGLqMX7O6HZPD5brZnoihON2P4Q2Gl7KfAlUCVU2kZCc3aoiVaFcNDkq2YvcAdpyZyIGvfZ/g14FfgAWB8v5K8BB4D3ErQKIdf17wQuinfxU7r+2f3mdsLJ+zjwLTACPAV8RVr5V4DDkv7K2fcC3bZXNxOQ9AvwNHAX8DEwQDiQeoCvgV+BWyX9kxBPUSR3/cuuUYGUzeEC+Rfmr4kfdXoELQAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{1}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" 1 \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# This is the square of the magnitude of voltage dividing impedance across R\n",
"c3_2 = cancel(_)\n",
"c3_2"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "225bcd4b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\operatorname{atan}{\\left(C R \\omega \\right)}$"
],
"text/plain": [
"-atan(C⋅R⋅ω)"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"phase = atan(sympy.im(rzc)/sympy.re(rzc))\n",
"phase"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "26cdf8e7",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAkCAYAAAA6uzK6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAC60lEQVR4nO2ZX2hOYRzHP+8ohGJKWSgipZatiSKSIpYL5V+54sId2cVckPr6kiY3k5W4W+RKodES4cIsF8qGuJELyiSWMlbCXJwznZ295rzv3p0tZ586ved5nvf9/X7f93ee3/N0nlxfXx9pYHstUA/UABXAXknNqTiPUZair2nAc+Ag0Jui30Hk0sp0FNs9wP4sZHrMMC46K4yLzgqpVW/b04BFYbMdOAW0AN2S3qQSREiamV4OPAmvKYDD++MpxgCM0jo92mRyTo+LzgoTAWxnZmJLyo0XsqyQSdETk3zJ9lzg7QjHkgqScolEA7VAhaSukQwoLZI+3nP+F8GQ4PG2PZlhvNOyPQ+4BMwGfgAnJF0p1l4pSJLp9cD9Yfj4AdRJWgpsBM7YnjoMe8Mmiega4HGxDiR1SeoI798DH4HyYu2VgiSic5JKsoOxXQNMkDSqK8GQc9p2JfCsFI5slwMXgX2lsBezXdBBwp9M215g+2RsfANwpwRBTQKuA6cktSf8TbPtYwldFHSQEM10JbDHdoOknn5jkftoQI3AGmCFpF+xscdAm6S6sJ0DmoF7ki4lFFEQklqB1tBf87++/yfTklqAmwQVFtuzCIrOAGwvAQ4Ah+KCQ14C1ZH2amAXsNV2R3hVJhU0EsTn9A1gG3AV2ATcyvObeqBT0t+WsW5gZX9DUhtjbI8fF30XaLJdBiyUdDk6GPZvB05H+hqB15Kawq7pwNdCA7F9BDgS6ZoE9Nmuj/RtlvSgUNtxBmRAUi9BQVhFsKmIswCYwcCKvhP4FmkvA14UEct5oCpyteTpK3q/ECXfknUDaACO5hmbGX72ANheR7BEfA/bi8PgGgoNRFI3wdQgtPWF4J34q0Jt/Yt8om8SBP0wz9gb4Bew2/Zn4CzBn7TFdidwDngKXCt1oEMRO0goA+bbruIvBwmDCoykdwR75UGPt6QPwGFgB3AbuEBQ2KqBR8AnoFbSz5KoSU5BBwmZfEf2G1l//7wdGFt8AAAAAElFTkSuQmCC",
"text/latex": [
"$\\displaystyle \\frac{1}{\\sqrt{\\omega^{2} + 1}}$"
],
"text/plain": [
" 1 \n",
"───────────\n",
" ________\n",
" ╱ 2 \n",
"╲╱ ω + 1 "
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u = sqrt(c3_2).subs([(A,1), (C,1), (R,1)])\n",
"u"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "75116894",
"metadata": {},
"outputs": [],
"source": [
"f1 = lambdify(w, u)"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "25585a9d",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABDYAAAHNCAYAAADlvvsxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACrZElEQVR4nOzdeVhUZf/H8ffMsImKC6sLirviAi5JaJrlVpppq6mlUdlTSlnUU9GiaSXVU2aLaZmm2aJl2aahhFma+77iLriB4IYCwsDM7w9/UoQL0sAZ4PO6Lq7nmTPn3PP5zhjefuec+5jsdrsdEREREREREZEyyGx0ABERERERERGR4lJjQ0RERERERETKLDU2RERERERERKTMUmNDRERERERERMosNTZEREREREREpMxSY0NEREREREREyiw1NkRERERERESkzFJjQ0RERERERETKLDU2RERERERERKTMUmNDRERERERERMosNTZEREREREREpMxSY0PkEtasWUOnTp2oXLkyJpOJjRs3Gh1JSsDLL7+MyWQiLS3N6CgiIiIXpTlJxaA5iUjxqbEhchFWq5W77rqLEydO8M477zBr1izq169vdCwRACIiIvDw8CAvL++S+9x88814enpy6NChUkwmIiKOpjmJODPNScRZuBgdQMQZ7d27l8TERKZOncpDDz1kdByRAlq0aEF2djb79++ncePGhZ5funQpsbGxPPvss9StW9eAhCIi4iiak4gz05xEnIXO2BC5iGPHjgFQvXr1y+6XkZFRCmlECgoODgYgISHhos9HR0dTs2ZNnnvuudKMJSIiJUBzEnFmmpOIs1BjQ+Qf7r//fq6//noA7rrrLkwmE926dcu/7nH79u0MHjyYGjVqcN111+Ufd/jwYR544AH8/f1xd3enZcuWTJ8+vdD4y5Yt45prrsHDw4NGjRrx0Ucf5Y/9zxxBQUGFjr/YvkV9/QvH7tmzh/vvv5/q1atTrVo1IiIiyMzMLDTegw8+SO3atXF3d6dBgwY8+uij5OTk8Ntvv2EymZg3b16hHF9++SUmk4kVK1Zc8j2eO3cuJpOJ33//vdBzH330ESaTia1bt3LmzBmeeOIJgoKCcHd3x8/Pj549e7J+/fpLjv33OhMSErj77rvx8vLC29ubUaNGce7cuYsec+rUqcu+J4mJiYwYMYJmzZpRqVIlvL29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eUTE4V5++WXGjh171QtlOYPc3Fxq165Nv379mDZtmtFxgL/ez9TU1Ks6DbW8effdd1m+fHmBVd5FREQuR3MSx9Kc5Lzly5dz9913c+jQIQCys7Px9fVl2bJlRVqgVORKtMaGiPwr33//PampqbpPuRNq06YNv/32G7t378Zms7F+/XqOHj1qdCwREZESoTmJ87pwR5QL3N3d6datGz///LOBqaQ8UWNDRIpl1apVTJ06laioKNq2bau1G5zQDTfcwMiRI+natSvVqlXjkUcewdXV1ehYIiIiDqU5ifPbtGkTrVq1KrCtd+/eamyIw2jxUBEplsmTJ/P5558TGhrKjBkzjI4jlzBmzBjGjBljdAwREZESozmJ85syZUqhbSNHjmTkyJEGpJHySGtsiIiIiIiIiEiZpUtRRERERERERKTMUmNDRERERERERMqsCrfGhs1m48iRI1StWhWTyWR0HBEREadit9s5c+YMtWvXxmzW9x8lTfMSERGRSyvqvKTCNTaOHDlCYGCg0TFERESc2sGDB6lbt67RMco9zUtERESu7ErzkgrX2KhatSpw/o3x8vJyyJhWq5VFixbRq1evcnErRdXj3FSPc1M9zk31XFl6ejqBgYH5f19KydK85MpUj3NTPc5N9Tg31XNlRZ2XVLjGxoXTPL28vBw6gfD09MTLy6vc/IFUPc5L9Tg31ePcVE/R6bKI0qF5yZWpHuemepyb6nFuqqforjQv0cWzIiIiIiIiIlJmqbEhIiIiIiIiImWWGhsiIiIiIiIiUmapsSEiIiIiIiIiZZYaGyIiIiIiIiJSZqmxISIiIiIiIiJllhobIiIiIiIiIlJmqbEhIiIiIiIiImWWGhsiIiIiIiIiUmapsSEiIiIiIiIiZZahjY0//viDfv36Ubt2bUwmE99///0Vj1myZAnt2rXD3d2dxo0bM2PGjBLPKSIiIiIiIiLOydDGRkZGBiEhIUyaNKlI++/fv5++fftyww03sHHjRp544gkeeughFi5cWMJJRURERERERMQZuRj54jfffDM333xzkfefMmUKDRo04O233wagRYsWLFu2jHfeeYfevXuXVMwrSjyRyalsOHMul2oWFyxmk2FZRERERERERErbmXO5HDxrzGsb2ti4WitWrKBHjx4FtvXu3ZsnnnjiksdkZ2eTnZ2d/zg9PR0Aq9WK1Wp1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2FhkZWUhLCwMbm5ujR4zICBAZ+Xw69evAwDMzc0BANu2bUNxcbH2G5SDBw8iKysLjz32mM5xTpw4AVdXV9jZ2d1rekRERJ0WaxLWJEStgY0Nok7IwsICr732Gl555RVoNBoMHz4cJSUl2LdvHywtLREREQFzc3M8//zzmDt3LmxtbeHg4IC33noLcrnumsOjRo3CypUrMX78eFhbW2P+/PlQKBTNPk9zGBsb44033sDrr78OlUqFYcOGoaCgAOnp6dpbMp966im89tpr+Oabb7Bq1aomjxkeHo7o6GgUFxejS5cu6N69O2QyGX744QeYmZnhtddew7hx47B582a4ublh5syZCAsLq7M6+Z49ezB27Nhm5UFERES6WJOwJiFqDWxsEHVSCxcuhL29PWJiYnDhwgVYW1tjwIABePPNN7VjPvroI9y4cQPjx4+HhYUFXn31VZSUlOgcJzo6GhcvXsQjjzwCKysrLFy4UPvtSHPP0xzvvPMOjIyMMH/+fGRnZ8PZ2RkzZ87U/t7KygqPP/444uPjMXHixCaP169fPwwYMADr16/Hiy++CCcnJyxatAiLFy/GTz/9hA8++ACBgYGYMGEC1q1bh/Hjx+Orr77SOcatW7ewadMmbN26tUW5EBER0Z9Yk7AmIbpfMnH3g2hERI0IDQ2Fv79/nffES8Ho0aPRp08ffP75580aHx8fj7lz5+LEiRN1vvVpjuXLl2Pjxo3Yvn17i/clIiKi+8Oa5E+sSaiz4x0bRGTwiouLkZSUhKSkpDrfYDRm3LhxOHfuHLKyspp8/rU+SqUSX3zxRYv3IyIioo6JNQmRfrCxQUQGLyAgAMXFxViyZEmLXv0GAHPmzLnn8za0aBgRERF1TqxJiPSDj6IQERERERERkcFq+QNcREREREREREQSwcYGERERERERERksNjaIiIiIiIiIyGCxsUFEREREREREBouNDSIiIiIiIiIyWGxsEBEREREREZHBYmODiIiIiIiIiAwWGxtEREREREREZLDY2CAiIiIiIiIig8XGBhEREREREREZLDY2iIiIiIiIiMhg/T/jZAN0xhwwBQAAAABJRU5ErkJggg==",
"text/plain": [
"