{
"cells": [
{
"cell_type": "markdown",
"id": "39f2436e",
"metadata": {},
"source": [
"# The Bode plot of a filter"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "8bb3bb1c",
"metadata": {},
"outputs": [],
"source": [
"using Plots"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "b4355761",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"33.333333333333336"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"RC = 100/3"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "b9ff794f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.1111111111111111"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"LC = 1/9"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "8249af2b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"H (generic function with 1 method)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"H(s) = ((1/RC)*s)/(s^2 + s/RC + 1/LC)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "07bc7a38",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.01:0.01:6.0"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"maxomega = 6\n",
"omegas = 0.01:0.01:maxomega"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "fec1f529",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 + 1im"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"I = Complex(0,1)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "500d7abf",
"metadata": {},
"outputs": [],
"source": [
"gains = [abs(H(I*w)) for w in omegas];\n",
"phases = [angle(H(I*w)) for w in omegas];"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "b06e2d66",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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rZcvX56WlvbYY4/VnAJaTXx8/IULF7ynmRcvXhw7dmxdO/M8365du+zsbPmFu3btkre73e7c3Fzv/J1qOI4zGo3jxo3z3WixWG7uq+dGyb9rdYKw5t9VCaIkCjzHc0Sc4qXJBaj5l1KtoNtVVmpq6o4dOwYPHjx69OhZs2bdf//93bt3/+yzz2JjY2+9izImJuby5cvy47b0GqgAACAASURBVMLCwujo6Gr5HRMTk56e7n1aWFgod5PWFBQUFBcXt27dOt+NFotFnZMPURRVK4jjOHXK4jmnwWg0KX83dDkb5C95pal2PipJktFovInDsJYXVFRUSJIkd1FGRER41xq9++675Yz83R/aq1cvj8ezfft2Ivr111/T09OHDh1KRBkZGd7F27yHYn5+/pYtWzp16kRE99133759+zIyMojo22+/DQ8Pl7eD0uSVZXD5hJ+YP3++vLJ2TEzMRx99dPz48RdffJHn+S+//PIWBwiJKDU19bvvvpMff/fdd6mpqTV32Llzp9yXdejQIUmSMECoGp7jRFw/obpaWoQNGjQwmUwXL15s0aJFs2bNFi1aZLPZjEaj3Fa7njmcOp1uyZIlEyZM6NGjx759+xYsWCC/asuWLe+///6gQYOIKCkpqX379iaT6cCBA/fff7/cyRkfH//CCy/06tWrc+fOe/fuXbFihTqn83Blsox8EGJ+IGNdu3b1jsdPnDhx4sSJoijermNhxowZXbt2bdy4cXBw8Jtvvrl582Z5e3R09Pvvvz9q1KgBAwbExsY++OCDQ4YMeeONN2bMmKFa9zLgOkImaglCjuPS0tK+/vrrgQMHTpw4cc6cOXfffXebNm22bt3ao0ePxMTE6/m5kyZNSktL+/XXX5s3b+59yUMPPTRy5Ej5cU5OzrFjx9xud5MmTXyXT5w7d+7EiRPPnz/fvn37qKioW36DcF0wa9TP3cYzwrvuumv37t0fffSR3BmTkpIib3/ppZfklh/HcVu3bv3nP//5888/P/fccw899NDtKhp+F3plmKh9CPG9994rKysjorCwsG3btr3xxhvnz59/+OGHX3nllesfGIuJial2oa7ZbDabzfLjkJCQmn0ysqZNm8pT5kA1chDiGib/cfbs2W+++ebChQvVrl96++23b32eUdu2bd94441qG6dPn+59HBYW9uKLL95iKXBTsIolA7UHYXx8fHx8vPy4S5cuq1evVrFKwABWlvErK1aseOKJJyRJio6ONhiumcUrimgw1Gc4BpnASp5AhJVl/MzLL788YMCAlStXYnQg0KBXhonag3DcuHElJSU1t8fGxjZp0uS+++7DZM56BmOE/qOioiI3N/ezzz5DCgYgHINM1DkCf/jw4e3bt587d85isZw+fXrbtm2nTp06ceLEkiVLunbt+s4776hZS1Aaukb9R1BQUFRUlMViYV0RYAAtQiZqD8K0tDR5peyzZ8/u2bMnKytLvnbilVdeycnJefDBB//85z/7LgEDdzrchsl/cBz30ksvvfrqq+Xl5azrAmrDySgTtXSNut3uF198cc2aNW3btvVuTE1N/etf//riiy8ePnz43Xff/eKLL3766SfvtRBwpxMl4kjCNUwM7d+/f/ny5d6nFy9ebN68ee/evX1X36XbNGsU/BZahEzUEoSFhYXFxcU178YZFxd36tQpIgoODm7cuLF8fQXUD2gRMpefn79t2zbvU71er9frDx06VG03zBqt39AiZKKWIAwPDzcajatWrfLeNV62atUq78qfRUVFERERalQQVCGRxBGHg5ChYcOGDRs2jHUtgDG0CJmoJQgNBsOMGTMWLFiQnp4+fPjwqKio3Nzczz//fOvWrcuWLSOin376qaSkBBNH6xPMGgXwBxieYKL2yycWLlxoNpvffPPNtWvXyltiY2Pff//9adOmEVGTJk0OHTpUs+8U7lwIQn9TUVHxySefHDx48NKlS1FRUW3atPnTn/5UbakmqH9wDDJRexDyPD937tw5c+ZcvHgxLy+vUaNG8fHx3sXVaq6dBne6qrtP4CD0D6dPnx48ePD58+fj4uLi4uLOnDmzatWqV1999csvvxw4cCDr2oGC0DXKxG+tLCMIQlJSUlJSklqVAWbkFqHAkQdHoR+YOnWq2+3etWuXdz3e06dP//GPf5w0adKFCxeqLboG9QlORpnATY6AiMgtkobHQegXrFbrrl27/u///s93Vfq77rrrs88+KywsPHjwIMO6geKw5jYLCEIgIvJIJKBF6B+0Wq0gCL73JpPFx8cLgqDOLcWBFZyMMoEgBCIij0Q8SQhCf6DT6YYNG/bJJ59U2/7ZZ581bty4Q4cOTGoF6sAYIRO4+wQQoUXoZyZPnjxt2rSMjIyxY8fGxcVdvnx569atX331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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"
"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gainplot = plot(omegas, gains, xlabel=\"omega\", ylabel = \"gain\",\n",
" label = \"\", legend=(0.7,0.5))\n",
"phaseplot = plot(omegas, phases, xlabel=\"omega\", ylabel = \"phase\",\n",
" label = \"\", legend=(0.7,0.5))\n",
"plot(gainplot, phaseplot)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "11ae0529",
"metadata": {},
"outputs": [],
"source": [
"# savefig(\"figFilterBode.png\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.12",
"language": "julia",
"name": "julia-1.12"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.12.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}