Class_Work/qual/figuremaker.ipynb
2024-11-19 18:59:31 -05:00

534 lines
213 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "56bf4898-66b4-4e46-8bee-e23bf3fc66bc",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"plt.rcParams[\"font.family\"] = \"serif\""
]
},
{
"cell_type": "markdown",
"id": "8e0ebd31-d7be-44db-9e15-30aea93fdd55",
"metadata": {},
"source": [
"Make a transfer function (lambda)\n",
"\n",
"Make a weighting function\n",
"\n",
"Make a delta"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "359ac0ff-873a-49f0-9db5-948839bf461f",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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mDauWedHba9b1N66pav2povPLVBdXY2hQ4eiuLgYADB+/Hi4uLhg3759AICQkBBs27YN48ePh6GhIfh8Po4ePUoDfjSA2l63qL11q720N82VRAghRAl1JRFCCFFCgYEQQogSCgyEEEKUUGAghBCihAIDIYQQJRQYCCGEKKHAQAghRAkFBkIIIUooMBDylGOMtWjO/uZkZWWBxs92TBQYSId0+fJlREREgMfjoWvXroiIiFB6GBgYtHUVO4SysjK8+OKL3Nw7L730Euzt7WFubo6IiAhUVFQAqN/ey5cvb/bYqampePHFF1FWVqbV10A0j6bEIB0aj8fD1q1bMXnyZKV0d3d3ZGZmtkmdOpLp06fD19cX8+fP59ImT56MzMxMnD59ul7+xtq7MWvWrEFqaio2bdqkoRoTXaBJ9Ein9P3337d1Fdq9xMRE/PDDD8jOztZaGW+++SYcHBzwzjvvcAvYk/aPupJIp3L69GlMnjwZ4eHhAIBp06bB3t4ekyZNwuLFizFo0CAIhUIcPHgQAPDbb78hJCQEzz77LPr374/NmzcrHe/ChQsIDAxEr1698Nxzz2HdunXg8XiIiIhAamoq1221bds2AMAPP/yArl27wt3dXek4ycnJGD58OPr27YvQ0FDMnTuX66b58ssvuX22bduG5557Dt7e3oiNjVU6RmlpKaZPn44ePXogPDwc/fv3x86dO3Hjxg107doVAoEAERERKCkpQWFhIUJDQ2FhYYFPP/20wbb66aef0Ldv31at/vVkN561tTVMTU257UZGRujTpw/279/f4jJIG2CEdGAA2NatW7nnp06dYjExMUp5YmJimLm5Ofv7778ZY4x98MEH7NChQ+zmzZvMyMiIxcfHM8YYy8vLY05OTmz37t2MMcakUimzsrJin332GWOMsbKyMta3b1/25L+Nm5ubUh22bt3K3NzcuOeVlZXM3d2dbdq0iTHGmEwmY1FRUWz69OlK+xgYGLBt27Yxxhi7du0a4/F4LDU1lcsTHR3NoqKimEwmY4wxtnPnThYYGMgYYywlJYUBYFeuXOHy//TTT2zp0qWNtl1UVBSbMWNGvfSYmBgWHh7e4D5Ptvfj+RITE5mBgQH75ptvlPaZMWMGe/755xutB2l/qCuJdHixsbHcN/bi4mIEBQXVyxMUFMSlv//++wCAmJgYREZGIjAwEABgbW2N0aNHY+PGjYiOjsbu3btRWlqKmTNnAlB8+502bRouXryoVv12796NgoICTJ8+HQCgp6eHKVOmYPz48diwYQO3uDtjDK+++ioAICAgAObm5rh+/Tq8vLyQnp6OPXv24MSJE9DTU/zbRkdHIz09HQDg7e2NsLAwfPfdd+jduzcARXfa2rVrG61Xbm4u99qfFB8fj4iIiGZf265duwAANTU1mDRpEsLDw/HGG28o5TE3N0dcXFyzxyLtBwUG0uEtXryYuxh6+vRpLkg8ztnZuV7azZs3kZOTo/QBWFxczN3RlJiYCAcHBxgaGnLbXV1d1a7fzZs3UVtbi4EDB3JplZWVcHJyQnZ2NtftZGNjw33oA4BYLIZEIgEAJCQkAFAEgDp8Ph9Lly7lnk+ZMgXvvPMO1q5di5KSEpSVlTW5FnBJSYlSeY8LCgpq9OLz45ycnAAAq1atQkpKCm7evFlvH6FQiKKiokbrQdofCgykU6nr636SQCBoMP/gwYPVulD95AdjQ2m1tbX18lhbWzf4QdtUHXk8nlrjAMaOHYtZs2bhwIEDyMrKwsSJE5vMb25uDplMpvLxG/P333/jo48+wpYtW7hA8TiZTAZLS8tWl0N0hy4+k6eWv78/kpKSlNJu3rzJ3aPfrVs3ZGdncxeJAeDu3bv1jiMWiyGVSrnnDx48qFdOdna2Uh6ZTIaYmBjU1NSoVFc/Pz8A4LqO6o7x+AVqExMTjB07Ft999x1+/PFHjBkzpslj2tvbo7CwUKXyG1NVVYVJkyZhxIgRmDRpEgDg9u3bqKys5PIUFhbCzs6uVeUQ3aLAQJ5aixYtQlxcHI4dOwZA8UG7dOlSuLm5AQAmTJgAExMTbNy4EQBQUVGBnTt31jtOUFAQzp8/D0Bx59ChQ4eUtk+YMAHOzs5YtWoVl7Z+/Xrw+fxGu3Ke5OnpiejoaKxfv547I/n2229x48YNpXxTpkzBiRMn4OfnB2Nj4yaPGRoayg1sa6mlS5ciOzsbX3/9NZcWGxuLnJwc7nlqairCwsJaVQ7Rsba++k1IS1y6dImFh4czAMzX15cNHz68wXxz5sxhdnZ2zM7OjoWHhzOpVKq0/ciRI6xXr14sODiYhYaGsrVr1yptP3/+PAsICGA9e/Zko0aNYl9//XW9u5LS0tJYnz59WHBwMIuOjmaxsbFMJBIplZecnMyGDx/O/P392YABA9j06dNZaWkpY0xxR5Kvry8TiURsyJAhjDHGhg8fzkQiEfP19WXbt29njCnukpo2bRp3jOjoaFZUVKRUF7lczjw8PNi5c+eabcPk5GQmFouV2mT06NHMzs6OmZmZsfDwcFZeXt5ge3/44YcsJyeH8fl8Zmtry/r06cM9rK2tWUZGBmOMMYlEwsRiMUtPT2+2PqT9oJHPhKjh9OnTiIyMbLdzAFVWViIsLAxXrlxRKf+cOXNga2uLJUuWaKU+K1asQFFREdasWaOV4xPtoK4kQjqB2NhYyOVy7NmzB+PGjVN5v9WrV+PWrVs4efKkxut08uRJJCYmYuXKlRo/NtEuOmMgREU//vgjVqxYgWvXriE8PBxbtmxRun20LY0fPx7Xr1+Hi4sL9u/fDxMTE7X2LygogJWVlUbrpI1jEt2gwEAIIUQJdSURQghRQoGBEEKIEgoMhBBClFBgIIQQooQCAyGEECUUGAghhCihwEAIIUQJBQZCCCFKKDAQQghR8v85X31Sn4PMMwAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Example frequency range (logarithmic scale)\n",
"frequencies = np.logspace(-1, 2, 10000) # Frequencies from 10 to 1000 Hz\n",
"\n",
"# Example transfer function H(s) = 1 / (s + 1) evaluated at jw (jω)\n",
"# H(jω) = 1 / (jω + 1)\n",
"# s = jw where w = 2 * pi * f\n",
"s = 1j * 2 * np.pi * frequencies # jω = j * 2π * frequency\n",
"\n",
"# Calculate the transfer function response\n",
"P = -s*(1/10)/((1/100)*s+1)/((1/10)*s+1)\n",
"W_2 = 0.21*s/(0.1*s + 1)\n",
"delta = 1/np.cos(s/1e3)\n",
"P_tilde = (1+delta*W_2)*P\n",
"P_env = (1+W_2)*P \n",
"\n",
"# Calculate magnitude and phase\n",
"magnitude = np.abs(P)\n",
"phase = np.angle(P)\n",
"\n",
"magnitude_2 = np.abs(P_tilde)\n",
"phase_2 = np.angle(P_tilde)\n",
"\n",
"# Create subplots\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4, 4))\n",
"\n",
"# Magnitude plot\n",
"ax1.semilogx(frequencies, 20 * np.log10(magnitude)) # Plot magnitude in dB\n",
"ax1.set_title('Bode Plot - Continuous')\n",
"ax1.set_xlabel('Frequency (Hz)')\n",
"ax1.set_ylabel('Magnitude (dB)')\n",
"ax1.set_ylim([-60,60])\n",
"ax1.grid(True)\n",
"\n",
"# Phase plot\n",
"ax2.semilogx(frequencies, np.degrees(phase)) # Plot phase in degrees\n",
"ax2.set_xlabel('Frequency (Hz)')\n",
"ax2.set_ylabel('Phase (Degrees)')\n",
"ax2.set_ylim([-180,180])\n",
"ax2.set_yticks(np.arange(180,-181,-60))\n",
"ax2.grid(True)\n",
"\n",
"# Show the plots\n",
"plt.tight_layout()\n",
"plt.show()\n",
"fig.savefig('nom_cont.png')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "bdc7fd3d-053a-4b56-974b-b74a4f69ff8b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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u89x48ZJN7bZa9myZbh06RLeeustaV1ubi5qamqk5crKSsTGxjp0HHIjd89+E1nriy++EHFxcQKAGDRokEhJSTFabsGCBSI0NFSEhoaKuLg4UVdXJ9t+8OBBMWLECBETEyPGjRsn8vLyZNs/++wzMXToUPHQQw+JRx99VLz11lvtrko6d+6cGD16tIiJiRHp6ekiNzdXaDQa2fHKy8tFSkqKGDJkiBg/frzIysoSN2/eFEK0XJE0aNAgodFoRFJSkhBCiJSUFKHRaMSgQYPEu+++K4RouUpqzpw50j7S09PF9evXZbE0NzeL/v37i08//dRiG5aXl4uAgABZm0ybNk2EhoaKnj17iri4OFFfX2+0vVesWCFqamqESqUSd999txg9erT0ExISIqqqqoQQQmi1WhEQECDOnz9vMR7qmHjnM5EFxcXFSEhI6LDPALpz5w5iY2Nx4sQJq8ovWLAAd999N5YuXeqSeF599VVcv34db7zxhkv2T67HoSQiD5Wbm4vm5mbs3LkTTzzxhNX1XnvtNZw5cwaFhYVOj6mwsBBlZWVYuXKl0/dNymGPgciMDz74AK+++iq+/vprxMXF4e2335ZdPupOaWlp+OabbxAeHo7du3ejR48eNtW/evUqgoODnRqTK/ZJymNiICIiGQ4lERGRDBMDERHJMDEQEZEMEwMREckwMRARkQwTAxERyTAxEBGRDBMDERHJMDEQEZHM/weQU3p1VqQ8sQAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Example frequency range (logarithmic scale)\n",
"frequencies = np.logspace(-1, 2, 20) # Frequencies from 10 to 1000 Hz\n",
"\n",
"# Example transfer function H(s) = 1 / (s + 1) evaluated at jw (jω)\n",
"# H(jω) = 1 / (jω + 1)\n",
"# s = jw where w = 2 * pi * f\n",
"s = 1j * 2 * np.pi * frequencies # jω = j * 2π * frequency\n",
"\n",
"# Calculate the transfer function response\n",
"P = -s*(1/10)/((1/100)*s+1)/((1/10)*s+1)\n",
"W_2 = 0.21*s/(0.1*s + 1)\n",
"delta = 1/np.cos(s/1e3)\n",
"P_tilde = (1+delta*W_2)*P\n",
"P_env = (1+W_2)*P \n",
"\n",
"# Calculate magnitude and phase\n",
"magnitude = np.abs(P)\n",
"phase = np.angle(P)\n",
"\n",
"magnitude_2 = np.abs(P_tilde)\n",
"phase_2 = np.angle(P_tilde)\n",
"\n",
"# Create subplots\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4, 4))\n",
"\n",
"# Magnitude plot\n",
"ax1.semilogx(frequencies, magnitude, 'x') # Plot magnitude in dB\n",
"ax1.set_ylabel('Gain')\n",
"ax1.set_xlabel('Frequency (Hz)')\n",
"ax1.set_ylim([-0.5,1.5])\n",
"ax1.grid(True)\n",
"\n",
"# Phase plot\n",
"ax2.semilogx(frequencies, phase/2, 'x') # Plot phase in degrees\n",
"ax2.set_ylabel('Phase')\n",
"ax2.set_xlabel('Frequency (Hz)')\n",
"ax2.set_ylim([-1.5, 1.5])\n",
"#ax2.set_yticks(np.arange(180,-181,-60))\n",
"ax2.grid(True)\n",
"\n",
"# Show the plots\n",
"plt.tight_layout()\n",
"plt.show()\n",
"fig.savefig('nom_dis.png')\n",
"ax1.set_title('Bode Plot - Discretized')\n",
"fig.savefig('nom_dis_labeled.png')"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "3de5e17b-6a3e-4ef2-b24a-30373135286d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.06270696 0.0900099 0.12891192 0.18379078 0.25967539 0.36060425\n",
" 0.48559287 0.62301098 0.75012556 0.84460884 0.89698469 0.90811321\n",
" 0.87900145 0.80767598 0.69664593 0.56179549 0.42761927 0.31261995\n",
" 0.22310444 0.15715682] [-0.8199144 -0.83498485 -0.85653951 -0.88718468 -0.93023678 -0.98933846\n",
" -1.06715042 -1.16291424 -1.27062149 -1.38134313 -1.48910635 1.54760516\n",
" 1.44179513 1.33236964 1.2219375 1.11848039 1.03025951 0.96092209\n",
" 0.90937199 0.87227083]\n"
]
}
],
"source": [
"print(magnitude, phase/2)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "c92adaf4-7e95-4732-9b92-6554a11abc40",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Calculate magnitude and phase\n",
"magnitude = np.abs(P)\n",
"phase = np.angle(P)\n",
"\n",
"beta = 0.5\n",
"noise = np.random.normal(scale = beta, size = 20)\n",
"magnitude_2 = np.abs(np.abs(P) + np.abs(P)*np.random.normal(scale = beta, size = 20))\n",
"phase_2 = np.angle(P)*np.random.normal(scale = beta, size = 20)+np.angle(P)\n",
"\n",
"# Create subplots\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4, 4))\n",
"\n",
"# Magnitude plot\n",
"ax1.semilogx(frequencies, magnitude_2, 'x') # Plot magnitude in dB\n",
"ax1.set_ylabel('Gain')\n",
"ax1.set_xlabel('Frequency (Hz)')\n",
"ax1.set_ylim([-0.5,1.5])\n",
"ax1.grid(True)\n",
"\n",
"# Phase plot\n",
"ax2.semilogx(frequencies, phase_2/2, 'x') # Plot phase in degrees\n",
"ax2.set_ylabel('Phase')\n",
"ax2.set_xlabel('Frequency (Hz)')\n",
"ax2.set_ylim([-1.5, 1.5])\n",
"#ax2.set_yticks(np.arange(180,-181,-60))\n",
"ax2.grid(True)\n",
"\n",
"# Show the plots\n",
"plt.tight_layout()\n",
"plt.show()\n",
"fig.savefig('nom_dis_1.png')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "548d13c9-d8dd-4bae-bd99-1ec39c7a4d50",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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slPzIS+k9tVvort99dVXIjo6WgAQQ4cOFfHx8TbbLV++XISEhIiQkBARHR0tqqurZcOzsrLEmDFjRFRUlJg0aZJIT0+XDT9x4oQYMWKEGD16tJg1a5Z49913W92VdPHiRTF+/HgRFRUlkpKSRFpamjAajbL5FRUVifj4eDF8+HAxZcoUsXjxYlFTUyOEaLojaejQocJoNIq4uDghhBDx8fHCaDSKoUOHih07dgghmu6SWrRokTSNpKQkcfPmTVksjY2NYuDAgeKLL77ocBkWFRWJwMBA2TKZM2eOCAkJET169BDR0dGitrbW5vJeu3atqKioEHq9Xtx3331i/Pjx0r/g4GBx+fJlIYQQZrNZBAYGikuXLnUYD2kLn3wm+lleXh5MJpPXvgPozp07mDx5MvLz8+1qv3z5ctx3331YvXq1W+JZt24dbt68ibfeesst0yf18FQSkZdLS0tDY2Mj9uzZgyeeeMLu8V5//XWcP38eOTk5Lo8pJycHhYWFWL9+vcunTerjEQMRgE8//RTr1q3D2bNnER0djffee092+6iaEhMT8c033yAsLAx79+5F9+7dHRr/+vXr6N27t0tjcsc0yXuwMBARkQxPJRERkQwLAxERybAwEBGRDAsDERHJsDAQEZEMCwMREcmwMBARkQwLAxERybAwEBGRzP8DzZpCanpRMqYAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"beta = 0.25\n",
"noise = np.random.normal(scale = beta, size = 20)\n",
"magnitude_3 = noise \n",
"phase_3 = noise \n",
"\n",
"# Create subplots\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4, 4))\n",
"\n",
"# Magnitude plot\n",
"ax1.semilogx(frequencies, magnitude_3, 'x') # Plot magnitude in dB\n",
"ax1.set_ylabel('Gain')\n",
"ax1.set_xlabel('Frequency (Hz)')\n",
"ax1.set_ylim([-1.5,1.5])\n",
"ax1.grid(True)\n",
"\n",
"# Phase plot\n",
"ax2.semilogx(frequencies, phase_3/2, 'x') # Plot phase in degrees\n",
"ax2.set_ylabel('Phase')\n",
"ax2.set_xlabel('Frequency (Hz)')\n",
"ax2.set_ylim([-1.5, 1.5])\n",
"#ax2.set_yticks(np.arange(180,-181,-60))\n",
"ax2.grid(True)\n",
"\n",
"# Show the plots\n",
"plt.tight_layout()\n",
"plt.show()\n",
"fig.savefig('nom_dis_2.png')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "cbb8a5ae-d769-4876-9f2c-b00c503c9bc2",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Example frequency range (logarithmic scale)\n",
"frequencies = np.logspace(-1, 2, 10000) # Frequencies from 10 to 1000 Hz\n",
"\n",
"# Example transfer function H(s) = 1 / (s + 1) evaluated at jw (jω)\n",
"# H(jω) = 1 / (jω + 1)\n",
"# s = jw where w = 2 * pi * f\n",
"s = 1j * 2 * np.pi * frequencies # jω = j * 2π * frequency\n",
"\n",
"# Calculate the transfer function response\n",
"P = -s*(1/10)/((1/100)*s+1)/((1/10)*s+1)\n",
"W_2 = 0.21*s/(0.1*s + 1)\n",
"delta = 1/np.cos(s/1e3)\n",
"P_tilde = (1+delta*W_2)*P\n",
"P_env = (1+W_2)*P \n",
"\n",
"# Calculate magnitude and phase\n",
"magnitude = np.abs(P)\n",
"phase = np.angle(P)\n",
"\n",
"magnitude_2 = np.abs(P_tilde)\n",
"phase_2 = np.angle(P_tilde)\n",
"\n",
"# Create subplots\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4, 4))\n",
"\n",
"# Magnitude plot\n",
"ax1.semilogx(frequencies, 20 * np.log10(magnitude_2), '-r') # Plot magnitude in dB\n",
"ax1.set_title('Bode Plot - Continuous')\n",
"ax1.set_xlabel('Frequency (Hz)')\n",
"ax1.set_ylabel('Magnitude (dB)')\n",
"ax1.set_ylim([-60,60])\n",
"ax1.grid(True)\n",
"\n",
"# Phase plot\n",
"ax2.semilogx(frequencies, np.degrees(phase_2), '-r') # Plot phase in degrees\n",
"ax2.set_xlabel('Frequency (Hz)')\n",
"ax2.set_ylabel('Phase (Degrees)')\n",
"ax2.set_ylim([-180,180])\n",
"ax2.set_yticks(np.arange(180,-181,-60))\n",
"ax2.grid(True)\n",
"\n",
"# Show the plots\n",
"plt.tight_layout()\n",
"plt.show()\n",
"fig.savefig('per_cont.png')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "fa23e33f-0891-47ee-ac11-a39c43f73f62",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Example frequency range (logarithmic scale)\n",
"frequencies = np.logspace(-1, 2, 20) # Frequencies from 10 to 1000 Hz\n",
"\n",
"# Example transfer function H(s) = 1 / (s + 1) evaluated at jw (jω)\n",
"# H(jω) = 1 / (jω + 1)\n",
"# s = jw where w = 2 * pi * f\n",
"s = 1j * 2 * np.pi * frequencies # jω = j * 2π * frequency\n",
"\n",
"# Calculate the transfer function response\n",
"P = -s*(1/10)/((1/100)*s+1)/((1/10)*s+1)\n",
"W_2 = 0.21*s/(0.1*s + 1)\n",
"delta = 1/np.cos(s/1e3)\n",
"P_tilde = (1+delta*W_2)*P\n",
"P_env = (1+W_2)*P \n",
"\n",
"# Calculate magnitude and phase\n",
"magnitude = np.abs(P_tilde)\n",
"phase = np.angle(P_tilde)\n",
"\n",
"magnitude_2 = np.abs(P_tilde)\n",
"phase_2 = np.angle(P_tilde)\n",
"\n",
"# Create subplots\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4, 4))\n",
"\n",
"# Magnitude plot\n",
"ax1.semilogx(frequencies, magnitude, 'xr') # Plot magnitude in dB\n",
"ax1.set_ylabel('Gain')\n",
"ax1.set_xlabel('Frequency (Hz)')\n",
"ax1.set_ylim([-0.5,3.5])\n",
"ax1.grid(True)\n",
"\n",
"# Phase plot\n",
"ax2.semilogx(frequencies, phase/2, 'xr') # Plot phase in degrees\n",
"ax2.set_ylabel('Phase')\n",
"ax2.set_xlabel('Frequency (Hz)')\n",
"ax2.set_ylim([-1.5, 1.5])\n",
"#ax2.set_yticks(np.arange(180,-181,-60))\n",
"ax2.grid(True)\n",
"\n",
"# Show the plots\n",
"plt.tight_layout()\n",
"plt.show()\n",
"fig.savefig('per_dis.png')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "c95b8aea-9859-400a-9f23-f164b53e6e6e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Calculate magnitude and phase\n",
"magnitude = np.abs(P)\n",
"phase = np.angle(P)\n",
"\n",
"beta = 0.5\n",
"noise = np.random.normal(scale = beta, size = 20)\n",
"magnitude_2 = np.abs(np.abs(P_tilde) + np.abs(P_tilde)*np.random.normal(scale = beta, size = 20))\n",
"phase_2 = np.angle(P_tilde)*np.random.normal(scale = beta, size = 20)+np.angle(P_tilde)\n",
"\n",
"# Create subplots\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4, 4))\n",
"\n",
"# Magnitude plot\n",
"ax1.semilogx(frequencies, magnitude_2, 'xr') # Plot magnitude in dB\n",
"ax1.set_ylabel('Gain')\n",
"ax1.set_xlabel('Frequency (Hz)')\n",
"ax1.set_ylim([-0.5,1.5])\n",
"ax1.grid(True)\n",
"\n",
"# Phase plot\n",
"ax2.semilogx(frequencies, phase_2/2, 'xr') # Plot phase in degrees\n",
"ax2.set_ylabel('Phase')\n",
"ax2.set_xlabel('Frequency (Hz)')\n",
"ax2.set_ylim([-1.5, 1.5])\n",
"#ax2.set_yticks(np.arange(180,-181,-60))\n",
"ax2.grid(True)\n",
"\n",
"# Show the plots\n",
"plt.tight_layout()\n",
"plt.show()\n",
"fig.savefig('per_dis_1.png')"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "8d06b583-59aa-4d12-b128-fc4283192e25",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 400x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"beta = 0.25\n",
"noise = np.random.normal(scale = beta, size = 20)\n",
"magnitude_3 = noise\n",
"phase_3 = noise \n",
"\n",
"# Create subplots\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4, 4))\n",
"\n",
"# Magnitude plot\n",
"ax1.semilogx(frequencies, magnitude_3, 'rx') # Plot magnitude in dB\n",
"ax1.set_ylabel('Magnitude')\n",
"ax1.set_xlabel('Frequency (Hz)')\n",
"ax1.set_ylim([-1.5,1.5])\n",
"ax1.grid(True)\n",
"\n",
"# Phase plot\n",
"ax2.semilogx(frequencies, phase_3, 'rx') # Plot phase in degrees\n",
"ax2.set_ylabel('Phase')\n",
"ax2.set_xlabel('Frequency (Hz)')\n",
"ax2.set_ylim([-1.5, 1.5])\n",
"#ax2.set_yticks(np.arange(180,-181,-60))\n",
"ax2.grid(True)\n",
"\n",
"# Show the plots\n",
"plt.tight_layout()\n",
"plt.show()\n",
"fig.savefig('per_dis_2.png')"
]
}
],
"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.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}