{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "bf27cda0", "metadata": {}, "outputs": [], "source": [ "from sympy import I, simplify, symbols, Abs, arg, atan, re, im, lambdify\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "97e95b70", "metadata": {}, "outputs": [], "source": [ "xc, r, c, l, w = symbols(\"X_c R C L \\omega\", real=True, positive=True)" ] }, { "cell_type": "code", "execution_count": 31, "id": "8c3c72b6", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{R}{R + \\frac{i}{C \\omega}}$" ], "text/plain": [ "R/(R + I/(C*\\omega))" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1 = r/(r + I/(w*c))\n", "e1\n" ] }, { "cell_type": "code", "execution_count": 32, "id": "9d11b37b", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{R}{\\sqrt{R^{2} + \\frac{1}{C^{2} \\omega^{2}}}}$" ], "text/plain": [ "R/sqrt(R**2 + 1/(C**2*\\omega**2))" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Abs(e1)" ] }, { "cell_type": "code", "execution_count": 33, "id": "78c403ed", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - \\operatorname{atan}{\\left(\\frac{1}{C R \\omega} \\right)}$" ], "text/plain": [ "-atan(1/(C*R*\\omega))" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "atan(im(e1)/re(e1))" ] }, { "cell_type": "code", "execution_count": 34, "id": "9aed6ecc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Unit Square Wave')" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "x = np.linspace(0,6*np.pi,10000 )\n", "y = np.zeros(10000)\n", "\n", "sgn = +1\n", "for n in np.arange(1,1000):\n", " y += sgn*(np.cos((2*n-1)*x)/(2*n-1))\n", " sgn = -sgn\n", " \n", "xpi = x/np.pi\n", "ax.plot(xpi,y*2/np.pi+0.5)\n", "ax.grid()\n", "ax.set_xlabel(\"x*$\\pi$\")\n", "ax.set_ylabel(\"Amplitude\")\n", "ax.set_title(\"Unit Square Wave\")" ] }, { "cell_type": "code", "execution_count": 44, "id": "5e57b54b", "metadata": {}, "outputs": [], "source": [ "rval = 10000 # 10K\n", "cval = 4.7e-6 # 4.7 microFarad\n", "lval = 4.7e-3" ] }, { "cell_type": "code", "execution_count": 45, "id": "05331f22", "metadata": {}, "outputs": [], "source": [ "f = lambdify(w, Abs(e1.subs([(r, rval), (c,cval)])))" ] }, { "cell_type": "code", "execution_count": 46, "id": "097849d7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.999773730057065" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(1000)" ] }, { "cell_type": "code", "execution_count": 47, "id": "8d8ee74a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 0.98, 'Unit Square Wave')" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2) = plt.subplots(1,2, figsize=(12,4.5))\n", "\n", "x = np.linspace(0,6*np.pi,10000 )\n", "y = np.zeros(10000)\n", "y2 = y.copy()\n", "\n", "sgn = +1\n", "for n in np.arange(1,300):\n", " y += sgn*(np.cos((2*n-1)*x)/(2*n-1))\n", " y2 += sgn*(np.cos((2*n-1)*x)/(2*n-1))*f(n)\n", " sgn = -sgn\n", " \n", "xpi = x/np.pi\n", "ax1.plot(xpi,y*2/np.pi+.5)\n", "ax2.plot(xpi, y2*2/np.pi)\n", "ax1.grid()\n", "ax2.grid()\n", "ax1.set_xlabel(\"x*$\\pi$\")\n", "ax1.set_ylabel(\"Amplitude\")\n", "ax2.set_xlabel(\"x*$\\pi$\")\n", "ax2.set_ylabel(\"Amplitude\")\n", "plt.suptitle(\"Unit Square Wave\")" ] }, { "cell_type": "code", "execution_count": null, "id": "b2a1425e", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "a9236a39", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }