Skip to content

Instantly share code, notes, and snippets.

@halserach
Created March 4, 2024 14:55
Show Gist options
  • Save halserach/3835d8fd7f2d3de8434521c8db159210 to your computer and use it in GitHub Desktop.
Save halserach/3835d8fd7f2d3de8434521c8db159210 to your computer and use it in GitHub Desktop.
Related to the third assignments for FI6004, here are some exercises from the materials. The topic is about basic one dimensional fourier transform.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "4cdc0032-d9e4-4cb8-bad1-75da313181e6",
"metadata": {},
"outputs": [],
"source": [
"Solutions by halserach (Christopher J. / 20223014)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "51e4929e-1121-42c4-b0cc-d5272475ad69",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T04:21:21.521588Z",
"iopub.status.busy": "2024-03-04T04:21:21.521144Z",
"iopub.status.idle": "2024-03-04T04:21:22.264114Z",
"shell.execute_reply": "2024-03-04T04:21:22.263372Z",
"shell.execute_reply.started": "2024-03-04T04:21:21.521569Z"
}
},
"outputs": [],
"source": [
"import math\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import scipy as sc"
]
},
{
"cell_type": "markdown",
"id": "4e17ca64-1f73-4551-889e-eb6edc13b2c6",
"metadata": {},
"source": [
"# Exercise 1: Generate Wave(s) and Fourier Transform Them!"
]
},
{
"cell_type": "code",
"execution_count": 312,
"id": "3ad73990-bbcf-47f6-b6fa-3e3108cdd903",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T10:59:07.329165Z",
"iopub.status.busy": "2024-03-04T10:59:07.328763Z",
"iopub.status.idle": "2024-03-04T10:59:07.334907Z",
"shell.execute_reply": "2024-03-04T10:59:07.333930Z",
"shell.execute_reply.started": "2024-03-04T10:59:07.329149Z"
}
},
"outputs": [],
"source": [
"def waveGenerator(A, Period, bound, N, retTime=True, phase=0):\n",
" omega = 2 * math.pi/Period\n",
" dt = (bound[1]-bound[0]) / N\n",
" \n",
" t = [ bound[0] + i*dt for i in range(N) ]\n",
" x = [ A*math.sin(omega * ti + phase) for ti in t ]\n",
"\n",
" if retTime:\n",
" return np.array(t), np.array(x)\n",
"\n",
" return np.array(x)\n",
"\n",
"def fftWrapper(data, Period, N, mag=True):\n",
" sp = np.fft.fft(data)\n",
" freq = np.fft.fftfreq(len(data), d=Period/N)\n",
"\n",
" if mag:\n",
" return np.array(freq), np.array(np.abs(sp))\n",
" \n",
" return np.array(freq), np.array(sp)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "8ff229ae-ec26-47d1-b5bf-c2c24375c280",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T04:21:22.270982Z",
"iopub.status.busy": "2024-03-04T04:21:22.270826Z",
"iopub.status.idle": "2024-03-04T04:21:22.719481Z",
"shell.execute_reply": "2024-03-04T04:21:22.718546Z",
"shell.execute_reply.started": "2024-03-04T04:21:22.270969Z"
}
},
"outputs": [
{
"data": {
"image/png": "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A/7hSjJgEVlZWbrhhhv09NNPa9asWQF/a338+HEdP3681Xbx8fHq1KlTwPFVV1erurpaXbp0cW/bsWOHvv/+e11wwQUebRMTEzVs2DBt37494N8DAIAZmD0ve0NeBvzDlWTAQn7zm9/o+++/14IFCwJ+7SOPPKKuXbu2+nP++ecHFdvjjz+ukydPasqUKe5trom8MjMzm7XPzMzUt99+G9TvAgDADMycl70hLwP+4UoyYCG9e/fW9ddfr6VLl2rWrFlek5wvN9xwg0aNGtVqu/bt2wcc13vvvaf8/HxdddVV+ulPf+refuLECUlSUlJSs9ckJye7nwcAwIrMmpd9IS8D/qFIBizm/vvv1wsvvKD58+friSee8Pt1vXv3Vu/evUMez2effaYrrrhCgwcP1jPPPOPxnCux19bWNntdTU1NSBM/AADRYLa83BLyMuAfimTAYnr37q2pU6e6v7X2l2vMcGvi4+PVtWtXv97z66+/1rhx45SWlqa1a9cqJSXF43nXN+re1k8uKyuL+mygAAC0lZnycmvIy4B/GJMMWND9998f8BiohQsXKjMzs9WfCy+80K/3O3z4sMaNG6fa2lq9/fbbXm8xGzx4sNq1a6dPPvnEY/vJkydVXFysYcOG+R0/AABmZYa87A/yMuAfriQDFtSnTx9NnTpVf/7zn9WrVy+1a9f6n3Ioxz4dO3ZMl112mfbv36+NGzfqnHPO8douLS1NeXl5WrlypR544AH3leYXXnhB1dXVLa7jCACAVUQ7L/uLvAz4hyIZsKjf/OY3euGFF7R7924NGjSo1fahHPt03XXXqaioSLfccotKSko81kY+/fTTNXnyZPfj3/3udxo5cqQuvvhi3X777frmm2/0hz/8QePGjdOECRNCEg8AANEWzbwsSb/97W8lSZ9++qmkU4Xv+++/L+nUlW4X8jLQOodhGEa0gwDg2/Lly3XzzTfr448/brau4U033aQVK1Zo0KBB2rlzZ8RiOvvss/XVV195fa5Xr1768ssvPba9//77uu+++7Rt2zalpKToqquu0rx585qNYQYAwOzMmJclyeFw+Hyu6T/3yctAyyiSAQAAAABowMRdAAAAAAA0oEgGAAAAAKABRTIAAAAAAA0okgEAAAAAaECRDAAAAABAA4pkAAAAAAAatIt2AKHmdDr17bffKiUlpcX14gAACCXD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",
"text/plain": [
"<Figure size 1000x500 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"bound = [0,2]\n",
"\n",
"N1, N2, N3, N4 = 10, 20, 50, 100\n",
"\n",
"t1, x1 = waveGenerator(1, 2, bound, N1)\n",
"t2, x2 = waveGenerator(1, 2, bound, N2)\n",
"t3, x3 = waveGenerator(1, 2, bound, N3) \n",
"t4, x4 = waveGenerator(1, 2, bound, N4) \n",
"\n",
"fig, ax = plt.subplots(2,2, figsize=(10,5))\n",
"\n",
"fig.tight_layout(pad=2.0)\n",
"\n",
"ax[0,0].scatter(t4,x4)\n",
"ax[0,0].title.set_text(\"N = 100\")\n",
"ax[0,0].grid()\n",
"\n",
"ax[0,1].scatter(t3,x3)\n",
"ax[0,1].title.set_text(\"N = 50\")\n",
"ax[0,1].grid()\n",
"\n",
"ax[1,0].scatter(t2,x2)\n",
"ax[1,0].title.set_text(\"N = 20\")\n",
"ax[1,0].grid()\n",
"\n",
"ax[1,1].scatter(t1,x1)\n",
"ax[1,1].title.set_text(\"N = 10\")\n",
"ax[1,1].grid()\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "629ece08-66f8-4cd7-b139-68225f53fc47",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T04:21:22.720589Z",
"iopub.status.busy": "2024-03-04T04:21:22.720413Z",
"iopub.status.idle": "2024-03-04T04:21:22.993661Z",
"shell.execute_reply": "2024-03-04T04:21:22.992706Z",
"shell.execute_reply.started": "2024-03-04T04:21:22.720574Z"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"z1, y1 = fftWrapper(x1, 2, N1)\n",
"z2, y2 = fftWrapper(x2, 2, N2)\n",
"z3, y3 = fftWrapper(x3, 2, N3)\n",
"z4, y4 = fftWrapper(x4, 2, N4)\n",
"\n",
"plt.subplot(2,2,1); plt.grid()\n",
"plt.stem(z4[:N4//2], y4[:N4//2], 'tab:blue', basefmt='tab:blue', markerfmt='none')\n",
"\n",
"plt.subplot(2,2,2); plt.grid()\n",
"plt.stem(z3[:N3//2], y3[:N3//2], 'tab:blue', basefmt='tab:blue', markerfmt='none')\n",
"plt.subplot(2,2,3); plt.grid()\n",
"plt.stem(z2[:N2//2], y2[:N2//2], 'tab:blue', basefmt='tab:blue', markerfmt='none')\n",
"plt.subplot(2,2,4); plt.grid()\n",
"plt.stem(z1[:N1//2], y1[:N1//2], 'tab:blue', basefmt='tab:blue', markerfmt='none')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "afb682a6-d321-4f04-ae69-383f5d66dfaa",
"metadata": {},
"source": [
"# Exercise 2: FFT of Superpositioned Waves"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "ae044d0b-d294-4b7c-aed2-85b4948894f4",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T07:30:52.567515Z",
"iopub.status.busy": "2024-03-04T07:30:52.567155Z",
"iopub.status.idle": "2024-03-04T07:30:52.573862Z",
"shell.execute_reply": "2024-03-04T07:30:52.572927Z",
"shell.execute_reply.started": "2024-03-04T07:30:52.567501Z"
}
},
"outputs": [],
"source": [
"samplingRate = 50 #Hz\n",
"dt = 1/samplingRate\n",
"\n",
"fr1, A1 = 2, 1.2\n",
"fr2, A2 = 5, 0.8\n",
"fr3, A3 = 7, 0.6\n",
"fr4, A4 = 10, 0.4\n",
"fr5, A5 = 15, 0.2\n",
"\n",
"bound = [0.0, 2.0]\n",
"N = int((bound[1]-bound[0])/dt)\n",
"\n",
"time, signal1 = waveGenerator(A1, 1/fr1, bound, N)\n",
"signal2 = waveGenerator(A2, 1/fr2, bound, N, retTime=False)\n",
"signal3 = waveGenerator(A3, 1/fr3, bound, N, retTime=False)\n",
"signal4 = waveGenerator(A4, 1/fr4, bound, N, retTime=False)\n",
"signal5 = waveGenerator(A5, 1/fr5, bound, N, retTime=False)\n",
"\n",
"combinedSignal = [ a + b + c + d + e for a,b,c,d,e in zip(signal1, signal2, signal3, signal4, signal5) ]\n",
"\n",
"combFreq, combSq = fftWrapper(combinedSignal, dt, 1)"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "678e7c66-b590-485b-8fc5-9c75ff1d23e1",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T07:30:58.333618Z",
"iopub.status.busy": "2024-03-04T07:30:58.332946Z",
"iopub.status.idle": "2024-03-04T07:30:58.458799Z",
"shell.execute_reply": "2024-03-04T07:30:58.457819Z",
"shell.execute_reply.started": "2024-03-04T07:30:58.333592Z"
}
},
"outputs": [
{
"data": {
"image/png": "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mjRpkpxOp95880394Q9/0HPPPafrrrsuYpnWrVunzZs36xe/+IU++ugjrVu3TuvXr9cLL7xgLMOFCxc0evRolZaWdnj/+vXr9fzzz2vLli06dOiQEhMTVVBQoKamJuN5GhsbdfToUa1cuVJHjx7Vv/3bv6mmpkb3339/WLIEkulKO3fuVFVVldLT08OaJ5BMn376qSZPnqzs7Gy98847+v3vf6+VK1cqLi4uYplKSkq0d+9e/frXv9ZHH32kJUuWqLi4WLt37w5LnkAeG5cuXao9e/Zox44dqqysVG1trWbNmhWWPIFkqq2tVW1trX72s5/p+PHjeumll7R3714tXLgwYpmutGnTppB/VElI2NeA8ePH20VFRb7llpYWOz093V67dm0EU1129uxZW5JdWVkZ6Sj2uXPn7KFDh9rl5eX2XXfdZS9evDhiWR5//HF78uTJEdt+R+677z77e9/7nt/YrFmz7Hnz5kUkjyR7586dvuXW1lY7LS3N/ulPf+obq6+vt10ul/0v//IvxvN05PDhw7Yk+7PPPgt7nqtl+uMf/2jfeOON9vHjx+0hQ4bYGzduNJLn6zLNmTPHfvjhh41l+KqOMo0cOdJes2aN39jtt99u//CHPzSS6auPjfX19bbT6bR37NjhW+ejjz6yJdkHDx6MSKaOvPbaa3ZsbKxtWVZEM33wwQf2jTfeaJ8+fTqgf5sm9forH83NzaqurlZeXp5vrE+fPsrLy9PBgwcjmOyytstzKSkpEU4iFRUV6b777vM7XpGye/dujR07Vg888IAGDBig2267Tb/61a8imumOO+5QRUWFPv74Y0nS7373O7377ruaNm1aRHO1OXnypM6cOeP380tOTtaECROi6nx3OBzq379/xDK0trbqkUce0bJlyzRy5MiI5bgyz29/+1t985vfVEFBgQYMGKAJEyZE/DL5HXfcod27d+uLL76Qbdt6++239fHHHys/P9/I9r/62FhdXS3LsvzO7+zsbGVmZho7vwN5vG5oaJDb7VZMjJmPT+soU2Njo+bOnavS0lKlpaUZyRGMXl8+vvzyS7W0tGjgwIF+4wMHDtSZM2cilOqy1tZWLVmyRJMmTdLNN98c0SyvvPKKjh49qrVr10Y0R5v//u//1ubNmzV06FDt27dPf/u3f6vHHntM//RP/xSxTE888YQefPBBZWdny+l0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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"N = len(time)\n",
"plt.stem(combFreq[:N//2], combSq[:N//2], 'tab:blue', basefmt='tab:blue', markerfmt='none')\n",
"plt.xticks(combFreq[:N//2:4])\n",
"plt.grid()"
]
},
{
"cell_type": "markdown",
"id": "7d8d0b70-f134-46b1-8d47-41366852a1a4",
"metadata": {},
"source": [
"# Exercise 3: FFT of Square and Triangle Waves\n",
"\n",
"#### (I'm using signal library to make things more tidy)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "181f6210-5b2a-41b8-bab3-4c65f512a4ed",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T04:22:02.146703Z",
"iopub.status.busy": "2024-03-04T04:22:02.146082Z",
"iopub.status.idle": "2024-03-04T04:22:02.252234Z",
"shell.execute_reply": "2024-03-04T04:22:02.251335Z",
"shell.execute_reply.started": "2024-03-04T04:22:02.146687Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbd265b6350>]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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s2YpLi5OF154oR588EE1NTV11rAD0pmc67Fjx6qsrMw3jfXpp59qy5YtmjBhQqeMOVh0xW9hUL5s80wdOXJETU1NiouL81sfFxen3bt3t7qNx+Nptb3H47FtnIHuTM7zj82fP18JCQkn/QuF753JeX7zzTe1Zs0alZeXd8IIzXAm5/nTTz/Vq6++qqlTp2rLli3au3evbrnlFjU0NGjx4sWdMeyAdCbn+vrrr9eRI0d06aWXyrIsNTY26uabb9Yf/vCHzhhy0DjVb6HX69W3336rXr16nfV9cgUHxnnooYe0adMmbd68WeHh4V09HGMcO3ZMN954o1avXq2YmJiuHo7RmpubFRsbq0cffVTJycmaMmWK7rrrLhUWFnb10Iyzbds2Pfjgg/rTn/6knTt36tlnn9VLL72kJUuWdPXQ8BNxBacDYmJiFBoaqsrKSr/1lZWVcrlcrW7jcrk61B5ndp5bLFu2TA899JBeeeUVjRw50s5hBryOnudPPvlEn332ma655hrfuubmZklSjx49tGfPHg0aNMjeQQegM/nzHB8fr549eyo0NNS3btiwYfJ4PKqvr1dYWJitYw5UZ3KuFy5cqBtvvFE33XSTJGnEiBGqra1VTk6O7rrrLoWEcB3gbDjVb2FkZKQtV28kruB0SFhYmJKTk1VSUuJb19zcrJKSEqWmpra6TWpqql97SSouLj5le5zZeZakpUuXasmSJSoqKtLo0aM7Y6gBraPneejQoXr//fdVXl7uW37729/qyiuvVHl5uRITEztz+AHjTP48X3LJJdq7d68vQErS3//+d8XHxxNu2nAm5/r48eMnhZiWYGnxqsazpkt+C227fdlQmzZtspxOp7Vu3Trro48+snJycqzo6GjL4/FYlmVZN954o7VgwQJf+7feesvq0aOHtWzZMquiosJavHgxZeLt0NHz/NBDD1lhYWHWM888Yx06dMi3HDt2rKsOISB09Dz/GFVU7dPR87x//36rd+/e1uzZs609e/ZYL774ohUbG2vdf//9XXUIAaOj53rx4sVW7969rSeffNL69NNPra1bt1qDBg2yrrvuuq46hIBw7Ngxa9euXdauXbssSdby5cutXbt2WZ9//rllWZa1YMEC68Ybb/S1bykTv/POO62KigqroKCAMvHuaNWqVdYvfvELKywszBozZoz1zjvv+L67/PLLrWnTpvm1/+tf/2r98pe/tMLCwqxf/epX1ksvvdTJIw5MHTnP559/viXppGXx4sWdP/AA09E/zz9EwGm/jp7nt99+20pJSbGcTqc1cOBA64EHHrAaGxs7edSBqSPnuqGhwbrnnnusQYMGWeHh4VZiYqJ1yy23WN98803nDzyAvPbaa63+N7fl3E6bNs26/PLLT9omKSnJCgsLswYOHGg9/vjjto7RYVlcgwMAAGbhHhwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjPP/AS5wSV5tql9gAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from scipy import signal\n",
"\n",
"N = 1000\n",
"\n",
"time, dt = np.linspace(0.0, 1.0, N, endpoint=False, retstep=True)\n",
"square = signal.square(2*math.pi*time)\n",
"\n",
"plt.plot(time, square)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "071bdc64-3dbf-4393-968d-e33623fe85fc",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T04:43:41.339391Z",
"iopub.status.busy": "2024-03-04T04:43:41.338875Z",
"iopub.status.idle": "2024-03-04T04:43:41.603456Z",
"shell.execute_reply": "2024-03-04T04:43:41.602752Z",
"shell.execute_reply.started": "2024-03-04T04:43:41.339344Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 19.0)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 500x500 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def squareFourierExact(n,L):\n",
" freq = [ i/L for i in range(1, 2*n+1, 2) ]\n",
" spec = [ 4/(i*math.pi) for i in range(1, 2*n+1, 2) ]\n",
"\n",
" return np.array(freq), np.array(spec)\n",
"\n",
"spcSquare = np.abs(np.fft.fft(square))\n",
"frSquare = np.fft.fftfreq(N, dt)\n",
"\n",
"frtSquare, sptSquare = squareFourierExact(10, 1)\n",
"\n",
"fig, ax = plt.subplots(2,1, figsize=(5,5))\n",
"\n",
"ax[0].stem(frSquare[:20], spcSquare[:20], basefmt='tab:blue', markerfmt='none', linefmt='tab:blue')\n",
"ax[0].set_xticks(frSquare[:20]); ax[0].set_xlim([0,np.amax(frSquare[:20])])\n",
"ax[1].stem(frtSquare[:20], sptSquare[:20], basefmt='tab:red', markerfmt='none', linefmt='tab:red')\n",
"ax[1].set_xticks(frtSquare[:20]); ax[1].set_xlim([0,np.amax(frtSquare[:20])])"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "3e592895-cbf1-4a40-a134-ded479469178",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T05:40:09.537333Z",
"iopub.status.busy": "2024-03-04T05:40:09.537079Z",
"iopub.status.idle": "2024-03-04T05:40:09.639384Z",
"shell.execute_reply": "2024-03-04T05:40:09.638714Z",
"shell.execute_reply.started": "2024-03-04T05:40:09.537320Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbd25a47ac0>]"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from scipy import signal\n",
"\n",
"N = 1000\n",
"\n",
"time, dt = np.linspace(0.0, 1.0, N, endpoint=False, retstep=True)\n",
"\n",
"triangle = signal.sawtooth(2*math.pi*time, 0.5)\n",
"\n",
"plt.plot(time, triangle)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "4d8ae299-a07e-443b-ad11-f94eabd91a86",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T05:43:59.598352Z",
"iopub.status.busy": "2024-03-04T05:43:59.597800Z",
"iopub.status.idle": "2024-03-04T05:43:59.794626Z",
"shell.execute_reply": "2024-03-04T05:43:59.793866Z",
"shell.execute_reply.started": "2024-03-04T05:43:59.598338Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 19.0)"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAGsCAYAAABD+NcoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA4t0lEQVR4nO3deXRU9f3/8WcWZhJCMhAgG2QRUGKURYKEcalfZZpAKULFGimFsGiPnGCBfEsllcW6BbQiLkiUAm6lUDyCChqMqcT6IxII5tuoGEGpiYQJiyYDiSYwc39/eBiNhCUzA0PK63HOPYd85t73fU+Ym9fcbSbAMAwDERGRi1ygvxsQERG5ECgQRUREUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICADB/m7AEy6Xi5qaGsLDwwkICPB3OyIi4ieGYXDkyBHi4uIIDPRuH69dBmJNTQ3x8fH+bkNERC4Q1dXV9OzZ06sa7TIQw8PDge9/AREREX7uRkRE/MXhcBAfH+/OBW+0y0A8cZg0IiJCgSgiIj45faaLakRERFAgioiIAApEERERQIEoIiICeBmICxcuJCAggJkzZ7rHvvvuO7Kzs+natSudOnVi7Nix1NbWtliuqqqKkSNH0rFjR6Kiopg9ezbHjx/3phURERGveByI27dv59lnn6V///4txmfNmsUbb7zBunXrKC4upqamhltuucX9uNPpZOTIkTQ3N7N161ZeeOEFnn/+eebPn+/5s/BCY/NxkuZsImnOJhqbFcoiIhcrjwLx6NGjjB8/nuXLl9OlSxf3eH19PStWrGDx4sXcdNNNpKamsmrVKrZu3coHH3wAwNtvv80nn3zCyy+/zMCBAxkxYgQPPPAAS5cupbm5udX1NTU14XA4WkwiIiK+5FEgZmdnM3LkSGw2W4vxsrIyjh071mI8OTmZhIQESkpKACgpKaFfv35ER0e758nIyMDhcPDxxx+3ur68vDwsFot70qfUiIiIr7U5ENesWcPOnTvJy8s76TG73Y7JZKJz584txqOjo7Hb7e55fhyGJx4/8VhrcnNzqa+vd0/V1dVtbVtEROS02vRJNdXV1cyYMYPCwkJCQkLOVU8nMZvNmM3m87Y+ERG5+LRpD7GsrIwDBw4waNAggoODCQ4Opri4mCeffJLg4GCio6Npbm6mrq6uxXK1tbXExMQAEBMTc9JVpyd+PjGPiIjI+damQBw2bBgVFRWUl5e7p8GDBzN+/Hj3vzt06EBRUZF7mcrKSqqqqrBarQBYrVYqKio4cOCAe57CwkIiIiJISUnx0dMSERFpmzYdMg0PD+fKK69sMRYWFkbXrl3d41OnTiUnJ4fIyEgiIiK4++67sVqtDB06FID09HRSUlKYMGECjzzyCHa7nblz55Kdna3DoiIi4jc+/7aLxx9/nMDAQMaOHUtTUxMZGRk888wz7seDgoLYuHEj06ZNw2q1EhYWRlZWFvfff7+vWxERETlrAYZhGP5uoq0cDgcWi4X6+nqvv/6psfk4KfM3A/DJ/Rl0NLXLb8QSEbko+TIP9FmmIiIiKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQHaGIjLli2jf//+REREEBERgdVq5a233nI//t1335GdnU3Xrl3p1KkTY8eOpba2tkWNqqoqRo4cSceOHYmKimL27NkcP37cN89GRETEQ20KxJ49e7Jw4ULKysrYsWMHN910E6NHj+bjjz8GYNasWbzxxhusW7eO4uJiampquOWWW9zLO51ORo4cSXNzM1u3buWFF17g+eefZ/78+b59ViIiIm0UYBiG4U2ByMhIHn30UW699Va6d+/O6tWrufXWWwH49NNPufzyyykpKWHo0KG89dZb/PKXv6Smpobo6GgA8vPzueeeezh48CAmk+ms1ulwOLBYLNTX1xMREeFN+zQ2Hydl/mYAPrk/g46mYK/qiYjI+ePLPPD4HKLT6WTNmjU0NDRgtVopKyvj2LFj2Gw29zzJyckkJCRQUlICQElJCf369XOHIUBGRgYOh8O9l9mapqYmHA5Hi0lERMSX2hyIFRUVdOrUCbPZzF133cX69etJSUnBbrdjMpno3Llzi/mjo6Ox2+0A2O32FmF44vETj51KXl4eFovFPcXHx7e1bRERkdNqcyD27duX8vJytm3bxrRp08jKyuKTTz45F7255ebmUl9f756qq6vP6fpEROTi0+YTZiaTiT59+gCQ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YyM7d+5k3rx57Ny5k1dffZXKykpuvvlmj+oBXHbZZTz99NNUVFTw/vvvk5SURHp6OgcPHvSo3gnr16/ngw8+IC4u7rTznW3N4cOHt3h9/v3vf/e43ueff851111HcnIyW7Zs4d///jfz5s0jJCTE45o/7m3//v2sXLmSgIAAxo4d61G9nJwcCgoKePnll9m1axczZ85k+vTpvP76622uZxgGY8aM4YsvvuC1117jww8/JDExEZvN1va/u0Y7M2TIECM7O9v9s9PpNOLi4oy8vDyvawPG+vXrva7zYwcOHDAAo7i42Gc1u3TpYvz1r3/1qsaRI0eMSy+91CgsLDRuuOEGY8aMGR7XWrBggTFgwACv+vmxe+65x7juuut8Vq81M2bMMHr37m24XC6Plh85cqQxZcqUFmO33HKLMX78eI/qNTY2GkFBQcbGjRtbjA8aNMi4995721zvp69ll8tlxMTEGI8++qh7rK6uzjCbzcbf//73Ntf7sb179xqA8eGHH3rVY2tKS0sNwPjyyy99Uq++vt4AjHfeecfjel999ZXRo0cP46OPPjISExONxx9//Iy1TlczKyvLGD169FnXOFO9zMxM47e//a1H9U5V86dGjx5t3HTTTR7Xu+KKK4z777+/xdjZvtZ/Wq+ystIAjI8++sg95nQ6je7duxvLly8/qx5PaFd7iM3NzZSVlWGz2dxjgYGB2Gw2SkpK/NjZqdXX1wP45JPYnU4na9asoaGhAavV6lWt7OxsRo4c2eJ36Y3du3cTFxdHr169GD9+/GkPz5zJ66+/zuDBg/n1r39NVFQUV111FcuXL/dJn/D96+jll19mypQpBAQEeFTjmmuuoaioiM8++wyA//u//+P9999nxIgRHtU7fvw4TqfzpHfxoaGhXu1tn7B3717sdnuL/2+LxUJaWtoFu+3A99tPQEAAnTt39rpWc3Mzzz33HBaLhQEDBnhUw+VyMWHCBGbPns0VV1zhdU8nbNmyhaioKPr27cu0adPcX3HnSX+bNm3isssuIyMjg6ioKNLS0rw+FfRjtbW1bNq0ialTp3pc45prruH1119n3759GIbBu+++y2effUZ6enqbazU1NQG02HYCAwMxm81t3nbaVSAeOnQIp9NJdHR0i/Ho6Gjsdrufujo1l8vFzJkzufbaa7nyyis9rlNRUUGnTp0wm83cddddrF+/npSUFI/rrVmzhp07d5KXl+dxjR9LS0vj+eefp6CggGXLlrF3716uv/56jhw54lG9L774gmXLlnHppZeyefNmpk2bxu9//3teeOEFn/S7YcMG6urqmDRpksc15syZw+23305ycjIdOnTgqquuYubMmYwfP96jeuHh4VitVh544AFqampwOp28/PLLlJSUsH//fo/7POHE9tFeth2A7777jnvuuYdx48Z59c0IGzdupFOnToSEhPD4449TWFhIt27dPKq1aNEigoOD+f3vf+9xPz81fPhwXnzxRYqKili0aBHFxcWMGDECp9PZ5loHDhzg6NGjLFy4kOHDh/P222/zq1/9iltuuYXi4mKf9PvCCy8QHh7OLbfc4nGNp556ipSUFHr27InJZGL48OEsXbqUn/3sZ22ulZycTEJCArm5uXzzzTc0NzezaNEivvrqqzZvO+3y65/ai+zsbD766COv3+H37duX8vJy6uvreeWVV8jKyqK4uNijUKyurmbGjBkUFhae9pxCW/x4r6h///6kpaWRmJjIP/7xD4/eRbpcLgYPHszDDz8MwFVXXcVHH31Efn4+WVlZXve7YsUKRowYcVbnf07lH//4B3/7299YvXo1V1xxBeXl5cycOZO4uDiPe3zppZeYMmUKPXr0ICgoiEGDBjFu3DjKyso87rO9OnbsGLfddhuGYbBs2TKvat14442Ul5dz6NAhli9fzm233ca2bduIiopqU52ysjKeeOIJdu7c6fGRhdbcfvvt7n/369eP/v3707t3b7Zs2cKwYcPaVMvlcgEwevRoZs2aBcDAgQPZunUr+fn53HDDDV73u3LlSsaPH+/V34+nnnqKDz74gNdff53ExETee+89srOziYuLa/NRqw4dOvDqq68ydepUIiMjCQoKwmazMWLEiDZf5Nau9hC7detGUFAQtbW1LcZra2uJiYnxU1etmz59Ohs3buTdd9+lZ8+eXtUymUz06dOH1NRU8vLyGDBgAE888YRHtcrKyjhw4ACDBg0iODiY4OBgiouLefLJJwkODvboXelPde7cmcsuu4w9e/Z4tHxsbOxJYX/55Zd7dRj2hC+//JJ33nmHO+64w6s6s2fPdu8l9uvXjwkTJjBr1iyv9rp79+5NcXExR48epbq6mtLSUo4dO0avXr286hVwbx/tYds5EYZffvklhYWFXn9v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p59+2uoyv/nNbzh06BDXXXcdhmFw/Phx7rrrrtMeMs3NzSUnJ8f984lPJhAREfGV836V6ZYtW3j44Yd55pln2LlzJ6+++iqbNm3igQceOOUyZrPZ/ak0+nQaERE5F7zaQ+zWrRtBQUHU1ta2GK+trSUmJqbVZebNm8eECRO44447AOjXrx8NDQ387ne/49577/X608pFREQ84VX6mEwmUlNTKSoqco+5XC6KioqwWq2tLtPY2HhS6AUFBQHff42HiIiIP3j94d45OTlkZWUxePBghgwZwpIlS2hoaGDy5MkATJw4kR49epCXlwfAqFGjWLx4MVdddRVpaWns2bOHefPmMWrUKHcwioiInG9eB2JmZiYHDx5k/vz52O12Bg4cSEFBgftCm6qqqhZ7hHPnziUgIIC5c+eyb98+unfvzqhRo3jooYe8bUVERMRjAUY7PE7pcDiwWCzU19d7fYGNq7GRykGpAPTdWUZgx46+aFFERM4DX+aBrmARERFBgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICOCjQFy6dClJSUmEhISQlpZGaWnpaeevq6sjOzub2NhYzGYzl112GW+++aYvWhEREfFIsLcF1q5dS05ODvn5+aSlpbFkyRIyMjKorKwkKirqpPmbm5v5+c9/TlRUFK+88go9evTgyy+/pHPnzt62IiIi4jGvA3Hx4sXceeedTJ48GYD8/Hw2bdrEypUrmTNnzknzr1y5kq+//pqtW7fSoUMHAJKSkrxtQ0RExCteHTJtbm6mrKwMm832Q8HAQGw2GyUlJa0u8/rrr2O1WsnOziY6Oporr7yShx9+GKfTecr1NDU14XA4WkwiIiK+5FUgHjp0CKfTSXR0dIvx6Oho7HZ7q8t88cUXvPLKKzidTt58803mzZvHY489xoMPPnjK9eTl5WGxWNxTfHy8N22LiIic5LxfZepyuYiKiuK5554jNTWVzMxM7r33XvLz80+5TG5uLvX19e6purr6PHYsIiIXA6/OIXbr1o2goCBqa2tbjNfW1hITE9PqMrGxsXTo0IGgoCD32OWXX47dbqe5uRmTyXTSMmazGbPZ7E2rIiIip+XVHqLJZCI1NZWioiL3mMvloqioCKvV2uoy1157LXv27MHlcrnHPvvsM2JjY1sNQxERkfPB60OmOTk5LF++nBdeeIFdu3Yxbdo0Ghoa3FedTpw4kdzcXPf806ZN4+uvv2bGjBl89tlnbNq0iYcffpjs7GxvWxEREfGY17ddZGZmcvDgQebPn4/dbmfgwIEUFBS4L7SpqqoiMPCH3I2Pj2fz5s3MmjWL/v3706NHD2bMmME999zjbSsiIiIeCzAMw/B3E23lcDiwWCzU19cTERHhVS1XYyOVg1IB6LuzjMCOHX3RooiInAe+zAN9lqmIiAgKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAB8F4tKlS0lKSiIkJIS0tDRKS0vPark1a9YQEBDAmDFjfNGGiIiIx7wOxLVr15KTk8OCBQvYuXMnAwYMICMjgwMHDpx2uf/85z/84Q9/4Prrr/e2BREREa95HYiLFy/mzjvvZPLkyaSkpJCfn0/Hjh1ZuXLlKZdxOp2MHz+eP//5z/Tq1cvbFkRERLzmVSA2NzdTVlaGzWb7oWBgIDabjZKSklMud//99xMVFcXUqVPPaj1NTU04HI4Wk4iIiC95FYiHDh3C6XQSHR3dYjw6Ohq73d7qMu+//z4rVqxg+fLlZ72evLw8LBaLe4qPj/embRERkZOc16tMjxw5woQJE1i+fDndunU76+Vyc3Opr693T9XV1eewSxERuRgFe7Nwt27dCAoKora2tsV4bW0tMTExJ83/+eef85///IdRo0a5x1wu1/eNBAdTWVlJ7969T1rObDZjNpu9aVVEROS0vNpDNJlMpKamUlRU5B5zuVwUFRVhtVpPmj85OZmKigrKy8vd080338yNN95IeXm5DoWKiIjfeLWHCJCTk0NWVhaDBw9myJAhLFmyhIaGBiZPngzAxIkT6dGjB3l5eYSEhHDllVe2WL5z584AJ42LiIicT14HYmZmJgcPHmT+/PnY7XYGDhxIQUGB+0KbqqoqAgP1gTgiInJhCzAMw/B3E23lcDiwWCzU19cTERHhVS1XYyOVg1IB6LuzjMCOHX3RooiInAe+zAPtuomIiKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQE8FEgLl26lKSkJEJCQkhLS6O0tPSU8y5fvpzrr7+eLl260KVLF2w222nnFxEROR+8DsS1a9eSk5PDggUL2LlzJwMGDCAjI4MDBw60Ov+WLVsYN24c7777LiUlJcTHx5Oens6+ffu8bUVERMRjAYZhGN4USEtL4+qrr+bpp58GwOVyER8fz913382cOXPOuLzT6aRLly48/fTTTJw48azW6XA4sFgs1NfXExER4U37uBobqRyUCkDfnWUEduzoVT0RETl/fJkHXu0hNjc3U1ZWhs1m+6FgYCA2m42SkpKzqtHY2MixY8eIjIw85TxNTU04HI4Wk4iIiC95FYiHDh3C6XQSHR3dYjw6Ohq73X5WNe655x7i4uJahOpP5eXlYbFY3FN8fLw3bYuIiJzEr1eZLly4kDVr1rB+/XpCQkJOOV9ubi719fXuqbq6+jx2KSIiF4Ngbxbu1q0bQUFB1NbWthivra0lJibmtMv+5S9/YeHChbzzzjv079//tPOazWbMZrM3rYqIiJyWV3uIJpOJ1NRUioqK3GMul4uioiKsVuspl3vkkUd44IEHKCgoYPDgwd60ICIi4hNe7SEC5OTkkJWVxeDBgxkyZAhLliyhoaGByZMnAzBx4kR69OhBXl4eAIsWLWL+/PmsXr2apKQk97nGTp060alTJ2/bERER8YjXgZiZmcnBgweZP38+drudgQMHUlBQ4L7QpqqqisDAH3ZEly1bRnNzM7feemuLOgsWLOC+++7zth0RERGPeH0foj/oPkQREYEL6D5EERGR/xYKRBERERSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoENsFV2Mju5IvZ1fy5bgaG/3djojIfyUFooiICApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoPqKPlxOR9k6BKCIiggJRREQE8FEgLl26lKSkJEJCQkhLS6O0tPS0869bt47k5GRCQkLo168fb775pi/aEDktHdYVkdMJ9rbA2rVrycnJIT8/n7S0NJYsWUJGRgaVlZVERUWdNP/WrVsZN24ceXl5/PKXv2T16tWMGTOGnTt3cuWVV3rbTpsZhuH+t+vbb8/7+s/Gj/tSj55rLz3uvvY6AC79f+8TGBrq545ELmy+fHMbYPw4ETyQlpbG1VdfzdNPPw2Ay+UiPj6eu+++mzlz5pw0f2ZmJg0NDWzcuNE9NnToUAYOHEh+fn6r62hqaqKpqcn9s8PhID4+nvr6eiIiIrxpn+OHD7v/AImISPty1OlkyJ7dPskDrw6ZNjc3U1ZWhs1m+6FgYCA2m42SkpJWlykpKWkxP0BGRsYp5wfIy8vDYrG4p/j4eG/abkHvwEVEBLw8ZHro0CGcTifR0dEtxqOjo/n0009bXcZut7c6v91uP+V6cnNzycnJcf98Yg/RFwJCQ+m7s8wntURE5PxyOBwQG+uTWl6fQzwfzGYzZrP5nNQOCAggoGPHc1JbRETOrcDjx31Xy5uFu3XrRlBQELW1tS3Ga2triYmJaXWZmJiYNs0vIiJyPngViCaTidTUVIqKitxjLpeLoqIirFZrq8tYrdYW8wMUFhaecn4REZHzwetDpjk5OWRlZTF48GCGDBnCkiVLaGhoYPLkyQBMnDiRHj16kJeXB8CMGTO44YYbeOyxxxg5ciRr1qxhx44dPPfcc962IiIi4jGvAzEzM5ODBw8yf/587HY7AwcOpKCgwH3hTFVVFYGBP+yIXnPNNaxevZq5c+fypz/9iUsvvZQNGzb45R5EERGRE7y+D9Ef6uvr6dy5M9XV1V7fdyIiIu3XibsO6urqsFgsXtVqF1eZ/tSRI0cAfHo/ooiItF+HDx/2OhDb5R6iy+WipqaG8PBwAgICvK534h3GhbzHqR59Qz1670LvD9Sjr7SHHuvr60lISOCbb76hc+fOXtVql3uIgYGB9OzZ0+d1IyIiLtj/9BPUo2+oR+9d6P2BevSV9tDjj69V8biGD/oQERFp9xSIIiIiKBCB7z8absGCBefs4+F8QT36hnr03oXeH6hHX7nYemyXF9WIiIj4mvYQRUREUCCKiIgACkQRERFAgSgiIgIoEEVERAAFIu+99x6jRo0iLi6OgIAANmzY4O+WWli2bBn9+/d3f1KE1Wrlrbfe8ndbLdx3330EBAS0mJKTk/3dVgtJSUkn9RgQEEB2dra/W3M7cuQIM2fOJDExkdDQUK655hq2b9/ut37OtG28+uqrpKen07VrVwICAigvL7/gerzvvvtITk4mLCyMLl26YLPZ2LZt2wXV46RJk056XQ4fPvyC6rG1bScgIIBHH330guivtraWSZMmERcXR8eOHRk+fDi7d+9u83ou+kBsaGhgwIABLF261N+ttKpnz54sXLiQsrIyduzYwU033cTo0aP5+OOP/d1aC1dccQX79+93T++//76/W2ph+/btLforLCwE4Ne//rWfO/vBHXfcQWFhIS+99BIVFRWkp6djs9nYt2+fX/o507bR0NDAddddx6JFi85zZy17OF2Pl112GU8//TQVFRW8//77JCUlkZ6ezsGDBy+YHgGGDx/e4vX597///bz1B2fu8ce97d+/n5UrVxIQEMDYsWP93p9hGIwZM4YvvviC1157jQ8//JDExERsNhsNDQ1tW5EhboCxfv16f7dxRl26dDH++te/+rsNtwULFhgDBgzwdxttMmPGDKN3796Gy+XydyuGYRhGY2OjERQUZGzcuLHF+KBBg4x7773XT1394HTbxt69ew3A+PDDD89rTz91NttvfX29ARjvvPPO+WnqJ1rrMSsryxg9erRf+mnN2fweR48ebdx0003np6Gf+Gl/lZWVBmB89NFH7jGn02l0797dWL58eZtqX/R7iO2J0+lkzZo1NDQ0YLVa/d1OC7t37yYuLo5evXoxfvx4qqqq/N3SKTU3N/Pyyy8zZcoUn3xbii8cP34cp9NJSEhIi/HQ0NALbm+7vWpubua5557DYrEwYMAAf7fTwpYtW4iKiqJv375MmzaNw4cP+7ulU6qtrWXTpk1MnTrV360A0NTUBNBi2wkMDMRsNrd521EgtgMVFRV06tQJs9nMXXfdxfr160lJSfF3W25paWk8//zzFBQUsGzZMvbu3cv111/v/t7KC82GDRuoq6tj0qRJ/m7FLTw8HKvVygMPPEBNTQ1Op5OXX36ZkpIS9u/f7+/22rWNGzfSqVMnQkJCePzxxyksLKRbt27+bstt+PDhvPjiixQVFbFo0SKKi4sZMWIETqfT36216oUXXiA8PJxbbrnF360AkJycTEJCArm5uXzzzTc0NzezaNEivvrqqzZvO+3y658uNn379qW8vJz6+npeeeUVsrKyKC4uvmBCccSIEe5/9+/fn7S0NBITE/nHP/5xwbyL/LEVK1YwYsQI4uLi/N1KCy+99BJTpkyhR48eBAUFMWjQIMaNG0dZWZm/W2vXbrzxRsrLyzl06BDLly/ntttuY9u2bURFRfm7NQBuv/1297/79etH//796d27N1u2bGHYsGF+7Kx1K1euZPz48ScdzfCXDh068OqrrzJ16lQiIyMJCgrCZrMxYsQIjDZ+Mqn2ENsBk8lEnz59SE1NJS8vjwEDBvDEE0/4u61T6ty5M5dddhl79uzxdysn+fLLL3nnnXe44447/N3KSXr37k1xcTFHjx6lurqa0tJSjh07Rq9evfzdWrsWFhZGnz59GDp0KCtWrCA4OJgVK1b4u61T6tWrF926dbsgt59//etfVFZWXnDbT2pqKuXl5dTV1bF//34KCgo4fPhwm7cdBWI75HK53MfNL0RHjx7l888/JzY21t+tnGTVqlVERUUxcuRIf7dySmFhYcTGxvLNN9+wefNmRo8e7e+W/qtc6NvPV199xeHDhy/I7WfFihWkpqZecOdgT7BYLHTv3p3du3ezY8eONm87F/0h06NHj7Z4J7Z3717Ky8uJjIwkISHBj519Lzc3lxEjRpCQkMCRI0dYvXo1W7ZsYfPmzf5uze0Pf/gDo0aNIjExkZqaGhYsWEBQUBDjxo3zd2stuFwuVq1aRVZWFsHBF95Lf/PmzRiGQd++fdmzZw+zZ88mOTmZyZMn+6WfM20bX3/9NVVVVdTU1ABQWVkJQExMDDExMX7vsWvXrjz00EPcfPPNxMbGcujQIZYuXcq+ffvO6+02p+sxMjKSP//5z4wdO5aYmBg+//xz/vjHP9KnTx8yMjIuiB5P/B10OBysW7eOxx577Lz1dbb9rVu3ju7du5OQkEBFRQUzZsxgzJgxpKent21FvrkQtv169913DeCkKSsry9+tGYZhGFOmTDESExMNk8lkdO/e3Rg2bJjx9ttv+7utFjIzM43Y2FjDZDIZPXr0MDIzM409e/b4u62TbN682QCMyspKf7fSqrVr1xq9evUyTCaTERMTY2RnZxt1dXV+6+dM28aqVatafXzBggUXRI/ffvut8atf/cqIi4szTCaTERsba9x8881GaWnpeevvTD02NjYa6enpRvfu3Y0OHToYiYmJxp133mnY7fYLpscTnn32WSM0NNQvr8kz9ffEE08YPXv2NDp06GAkJCQYc+fONZqamtq8Hn0fooiICDqHKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIAP8fQTjPc4mUEB0AAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 500x500 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def triangleFourierExact(n,L):\n",
" freq = [ i/L for i in range(1, 2*n+1, 2) ]\n",
" spec = [ 8/(i*math.pi)**2 for i in range(1, 2*n+1, 2) ]\n",
"\n",
" return np.array(freq), np.array(spec)\n",
" \n",
" \n",
"spcTriangle = np.abs(np.fft.fft(triangle))\n",
"frTriangle = np.fft.fftfreq(N, dt)\n",
"\n",
"frtTriangle, sptTriangle = triangleFourierExact(10, 1)\n",
"\n",
"fig, ax = plt.subplots(2,1, figsize=(5,5))\n",
"\n",
"ax[0].stem(frTriangle[:20], spcTriangle[:20], basefmt='tab:blue', markerfmt='none', linefmt='tab:blue')\n",
"ax[0].set_xticks(frTriangle[:20]); ax[0].set_xlim([0,np.amax(frTriangle[:20])])\n",
"ax[1].stem(frtTriangle[:10], sptTriangle[:10], basefmt='tab:red', markerfmt='none', linefmt='tab:red')\n",
"ax[1].set_xticks(frtTriangle[:10]); ax[1].set_xlim([0,np.amax(frtTriangle[:10])])"
]
},
{
"cell_type": "markdown",
"id": "bc18dfbe-d152-45f5-a564-e1ce740a9c8c",
"metadata": {},
"source": [
"# Exercise 4: Shift up the wave"
]
},
{
"cell_type": "code",
"execution_count": 100,
"id": "2f076349-45d3-4cc7-8d8c-bcbc5372c6e4",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T09:21:17.703853Z",
"iopub.status.busy": "2024-03-04T09:21:17.703233Z",
"iopub.status.idle": "2024-03-04T09:21:17.805154Z",
"shell.execute_reply": "2024-03-04T09:21:17.804272Z",
"shell.execute_reply.started": "2024-03-04T09:21:17.703824Z"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Because the wave generator output a numpy array, adding numbers are easy-peasy\n",
"\n",
"bound = [0.0, 1.0]\n",
"\n",
"samplingRate = 100 #Hz\n",
"dt = 1/samplingRate\n",
"\n",
"N = int((bound[1]-bound[0])/dt)\n",
"\n",
"# Make first wave: A1 = 4, f1 = 2, base = 0\n",
"time, wave1 = waveGenerator(4, 1/2, bound, N)\n",
"\n",
"plt.plot(time, wave1, 'tab:blue')\n",
"plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 101,
"id": "7837b629-a1c0-4ea1-ae47-2a882778ca98",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T09:21:20.684445Z",
"iopub.status.busy": "2024-03-04T09:21:20.683818Z",
"iopub.status.idle": "2024-03-04T09:21:20.844700Z",
"shell.execute_reply": "2024-03-04T09:21:20.843800Z",
"shell.execute_reply.started": "2024-03-04T09:21:20.684408Z"
}
},
"outputs": [
{
"data": {
"image/png": "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zrfz7MHOt/Psds+38+x2z7fz7HbO93g86tSp00UVlKA9xHPw4EGtX7/+vFdGJCkjI0OSzltQXC6XXC5Xq/VOpzMo3xg7ZjuN/38IzekMC9rsp/KD97UJdr6dZw92vp1nt3u+nWe3e76dZ7djfiBZQfs7KCtWrFBCQoJGjRp13v0qKyslSUlJScEaBQAA2ExQrqA0NzdrxYoVys3NVVjY/x9i//79Ki0t1e23366OHTtq9+7dKigo0KBBg9SnT59gjAIAAGwoKAVl/fr1OnTokB588MEW68PDw7V+/Xo9++yzqqurU3JyssaNG6cnnngiGGMAAACbCkpByc7O1rmee5ucnKzy8vJgHBIAAFxGeC8eAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgOaYXlKKiIjkcjha3tLQ0//avvvpKeXl56tixo6644gqNGzdO1dXVZo8BAABsLChXUK6//nodOXLEf9uyZYt/W0FBgd566y299tprKi8v1+HDh3XXXXcFYwwAAGBTYUEJDQtTYmJiq/U1NTVavny5SktLNXToUEnSihUrdO2112rr1q266aabgjEOAACwmaAUlL1798rtdisiIkKZmZmaN2+eUlJStHPnTvl8PmVlZfn3TUtLU0pKiioqKr62oHi9Xnm9Xv+yx+ORJPl8Pvl8PlNnP51ndm7wsxtbfGy3+YOdb+fZg51v59ntnm/n2e2eb+fZ7ZwfSJ7DMAzDzIO/8847qq2tVa9evXTkyBEVFxfr888/1549e/TWW2/pgQceaFE2JGngwIEaMmSIFixYcM7MoqIiFRcXt1pfWlqqqKgoM8e3LW+TNH37qb65cGCjXKHtPBAAAGepr6/XhAkTVFNTo9jY2PPua/oVlJycHP/Hffr0UUZGhlJTU/Xqq68qMjLykjJnzpypwsJC/7LH41FycrKys7MveAcD5fP5VFZWpuHDh8vpdNomu76hUdO3b5QkDR06VHHREabm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oqysLFVUVLTjZJempqZGkhQfH296dlNTk1auXKm6ujplZmaalpuXl6dRo0a1+B6YZe/evXK73erRo4cmTpx40ZduL8abb76pAQMG6Lvf/a4SEhLUt29f/fa3vzUt/0wNDQ166aWX9OCDD5ryJpk333yzNmzYoL/+9a+SpP/+7//Wli1blJOT0+ZsSWpsbFRTU1Or/4lGRkaaehVLkg4cOKCjR4+2+PcTFxenjIwM257DDodDHTp0MD27oaFBy5YtU1xcnNLT003JbG5u1v33369p06bp+uuvNyXzTJs2bVJCQoJ69eqlKVOm6IsvvjAlt7m5WW+//bauueYajRgxQgkJCcrIyDD9YfjTqqur9fbbb2vy5MmmZd58881688039fnnn8swDL333nv661//quzs7Dbler1eSWpx/oaEhMjlcpl+/n4dCoqk48ePq6mpSV26dGmxvkuXLjp69Gg7TXVpmpubNXXqVN1yyy369re/bVruRx99pCuuuEIul0uPPPKIVq1apeuuu86U7JUrV2rXrl2aN2+eKXlnysjI0AsvvKC1a9dqyZIlOnDggP7jP/5DJ0+eNCX/b3/7m5YsWaKrr75a69at05QpU/TDH/5QL774oin5Z1q9erVOnDihSZMmmZL3+OOPa/z48UpLS5PT6VTfvn01depUTZw40ZT8mJgYZWZmau7cuTp8+LCampr00ksvqaKiQkeOHDHlGKedPk8vh3P4q6++0owZM3Tvvfea+iZta9as0RVXXKGIiAg988wzKisrU6dOnUzJXrBggcLCwvTDH/7QlLwzjRw5Ur/73e+0YcMGLViwQOXl5crJyVFTU1Obs48dO6ba2lrNnz9fI0eO1Lvvvqs777xTd911l8rLy02YvqUXX3xRMTExuuuuu0zLXLx4sa677jp17dpV4eHhGjlypEpKSjRo0KA25aalpSklJUUzZ87UP//5TzU0NGjBggX67LPPTD9/v44t380YXy8vL0979uwxveH26tVLlZWVqqmp0R//+Efl5uaqvLy8zSXl008/1WOPPaaysrKLfsw3EGdeDejTp48yMjKUmpqqV1991ZT/xTQ3N2vAgAF66qmnJEl9+/bVnj17tHTpUuXm5rY5/0zLly9XTk5OQI/vn8+rr76ql19+WaWlpbr++utVWVmpqVOnyu12mzb773//ez344IP61re+pdDQUPXr10/33nuvdu7caUr+5cbn8+nuu++WYRhasmSJqdlDhgxRZWWljh8/rt/+9re6++67tW3bNiUkJLQpd+fOnfrlL3+pXbt2mXJl72zjx4/3f9y7d2/16dNHPXv21KZNmzRs2LA2ZTc3N0uS7rjjDhUUFEiSbrjhBn3wwQdaunSpbrvttjbln+3555/XxIkTTf1Zt3jxYm3dulVvvvmmUlNTtXnzZuXl5cntdrfpirTT6dTrr7+uyZMnKz4+XqGhocrKylJOTo6pT6Q/H66gSOrUqZNCQ0NVXV3dYn11dbUSExPbaarA5efna82aNXrvvffUtWtXU7PDw8N11VVXqX///po3b57S09P1y1/+ss25O3fu1LFjx9SvXz+FhYUpLCxM5eXleu655xQWFmbK/5LO1KFDB11zzTXat2+fKXlJSUmtStq1115r6sNIknTw4EGtX79e3//+903LnDZtmv8qSu/evXX//feroKDA1CtZPXv2VHl5uWpra/Xpp59q+/bt8vl86tGjh2nHkOQ/T+18Dp8uJwcPHlRZWZnpb3EfHR2tq666SjfddJOWL1+usLAwLV++vM2577//vo4dO6aUlBT/OXzw4EH953/+p7p169b2wc/So0cPderUyZRzuFOnTgoLC/u3nMPvv/++qqqqTD2H//Wvf+nHP/6xFi1apNGjR6tPnz7Kz8/XPffco1/84hdtzu/fv78qKyt14sQJHTlyRGvXrtUXX3xh+vn7dSgoOvXLt3///tqwYYN/XXNzszZs2GDq8yyCxTAM5efna9WqVdq4caO6d+8e9GM2Nzf7H6Nsi2HDhumjjz5SZWWl/zZgwABNnDhRlZWVCg0NNWHa/1dbW6v9+/crKSnJlLxbbrml1Uu6//rXvyo1NdWU/NNWrFihhIQEjRo1yrTM+vp6hYS0/BEQGhrq/1+lmaKjo5WUlKR//vOfWrdune644w5T87t3767ExMQW57DH49G2bdtscQ6fLid79+7V+vXr1bFjx6Af06xz+P7779fu3btbnMNut1vTpk3TunXrTJi0pc8++0xffPGFKedweHi4brzxxn/LObx8+XL179/ftOf9SKf+3fh8vqCfx3FxcercubP27t2rHTt2mH7+fh0e4vk/hYWFys3N1YABAzRw4EA9++yzqqur0wMPPNDm7Nra2hZt/8CBA6qsrFR8fLxSUlLanJ+Xl6fS0lK98cYbiomJ8T/mHhcXp8jIyDbnz5w5Uzk5OUpJSdHJkydVWlqqTZs2mfLDJyYmptVzZaKjo9WxY0dTnkPzox/9SKNHj1ZqaqoOHz6s2bNnKzQ0VPfee2+bsyWpoKBAN998s5566indfffd2r59u5YtW6Zly5aZki+d+kWyYsUK5ebmKizMvFN29OjR+tnPfqaUlBRdf/31+vOf/6xFixbpwQcfNO0Y69atk2EY6tWrl/bt26dp06YpLS3tks6rC51HU6dO1U9/+lNdffXV6t69u2bNmiW3262xY8e2OfvLL7/UoUOH/H+b5PQvtMTExIu6QnO+/KSkJH3nO9/Rrl27tGbNGjU1NfnP4fj4eIWHh7cpv2PHjvrZz36mMWPGKCkpScePH1dJSYk+//zzi365+oW+PmcXKqfTqcTERPXq1atN2fHx8SouLta4ceOUmJio/fv3a/r06brqqqs0YsQIU2afNm2a7rnnHg0aNEhDhgzR2rVr9dZbb2nTpk2m5EunyvJrr72mp59++qIyA8m/7bbbNG3aNEVGRio1NVXl5eX63e9+p0WLFrU5+7XXXlPnzp2VkpKijz76SI899pjGjh3b5ifgXrR/y2uFbGLx4sVGSkqKER4ebgwcONDYunWrKbnvvfeeIanVLTc315T8c2VLMlasWGFK/oMPPmikpqYa4eHhRufOnY1hw4YZ7777rinZ52Lmy4zvueceIykpyQgPDze+9a1vGffcc4+xb98+U7JPe+utt4xvf/vbhsvlMtLS0oxly5aZmr9u3TpDklFVVWVqrsfjMR577DEjJSXFiIiIMHr06GH85Cc/Mbxer2nHeOWVV4wePXoY4eHhRmJiopGXl2ecOHHikrIudB41Nzcbs2bNMrp06WK4XC5j2LBhF/01u1D2ihUrzrl99uzZbc4//dLlc93ee++9Nuf/61//Mu68807D7XYb4eHhRlJSkjFmzBhj+/btF5V9MV+fswXyMuPzZdfX1xvZ2dlG586dDafTaaSmphoPPfSQcfToUVNnX758uXHVVVcZERERRnp6urF69WpT83/zm98YkZGRl/Rv/0L5R44cMSZNmmS43W4jIiLC6NWrl/H0009f1J8iuFD2L3/5S6Nr166G0+k0UlJSjCeeeMLUnw8X4jCMf9OzXQAAAC4Sz0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACW878ECpA3/WTCGgAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"freq1, spec1 = fftWrapper(wave1, dt, 1)\n",
"\n",
"plt.stem(freq1[:20], spec1[:20], 'tab:blue', basefmt='tab:blue', markerfmt='none')\n",
"plt.xticks(freq1[:20])\n",
"plt.grid()"
]
},
{
"cell_type": "code",
"execution_count": 102,
"id": "be7d3ce2-f3f4-4769-bd5c-edcc4061da3d",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T09:21:26.727159Z",
"iopub.status.busy": "2024-03-04T09:21:26.726427Z",
"iopub.status.idle": "2024-03-04T09:21:26.837631Z",
"shell.execute_reply": "2024-03-04T09:21:26.836630Z",
"shell.execute_reply.started": "2024-03-04T09:21:26.727112Z"
}
},
"outputs": [
{
"data": {
"image/png": "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lmHv3r2R6Zuamhps2rQJa9asiUvMiSQe342q3vRurNrb2xEMBpGXlzfk8by8PBw/fnzE1zQ3N4/4/ObmZtni1IOxtPXF/s//+T8oLCwc9mGnocbS1tu2bcOvfvUrVFdXxyFC/RhLW9fU1OBvf/sb7r33XmzatAmnT5/GI488Ar/fjyeeeCIeYWvSWNr6nnvuQXt7O6655hqIoohAIICvf/3r+M53vhOPkBPKpb4bXS4X+vr6kJSUNO5j6HJEhLTjqaeewquvvoo33ngDNptN6XB0xe1247777sMLL7yA7OxspcPRvVAohNzcXDz//PNYsGABPve5z+G73/0unnvuOaVD050PP/wQP/rRj/Bf//Vf2LdvH15//XX85S9/wfe//32lQ6Mx0OWISHZ2NoxGI1paWoY83tLSgvz8/BFfk5+fH9XzKWwsbS15+umn8dRTT+Gvf/0r5syZI2eYuhBtW585cwa1tbW47bbbIo+FQiEAgMlkwokTJ1BRUSFv0Bo1ls91QUEBzGYzjEZj5LHp06ejubkZPp8PFotF1pi1aixt/W//9m+477778NWvfhUAMHv2bPT29uJrX/savvvd78JgYB87Vi713ehwOGIyGgLodETEYrFgwYIFeP/99yOPhUIhvP/++1i6dOmIr1m6dOmQ5wNAVVXVJZ9PYWNpawD4yU9+gu9///t49913sXDhwniEqnnRtvW0adNw6NAhVFdXR/7dfvvtuP7661FdXY3i4uJ4hq8pY/lcX3311Th9+nQk2QOAkydPoqCggEnIZYylrT0ez7BkQ0oARW6fFlNx+W6M2bJXlXn11VdFq9Uqvvzyy+LRo0fFr33ta2J6errY3NwsiqIo3nfffeLjjz8eef7HH38smkwm8emnnxaPHTsmPvHEE7x9d5SibeunnnpKtFgs4muvvSaeP38+8s/tdiv1K2hGtG19Md41M3rRtvW5c+fE1NRU8bHHHhNPnDghvv3222Jubq74gx/8QKlfQTOibesnnnhCTE1NFf/nf/5HrKmpETdv3ixWVFSId999t1K/gma43W5x//794v79+0UA4k9/+lNx//79Yl1dnSiKovj444+L9913X+T50u27//zP/yweO3ZMfOaZZ3j7bjR+/vOfixMnThQtFou4ePFicefOnZH/d91114n333//kOf/4Q9/EKdMmSJaLBZx5syZ4l/+8pc4R6xd0bR1SUmJCGDYvyeeeCL+gWtQtJ/rwZiIRCfatt6+fbu4ZMkS0Wq1iuXl5eIPf/hDMRAIxDlqbYqmrf1+v7h+/XqxoqJCtNlsYnFxsfjII4+IXV1d8Q9cYz744IMRr79S+95///3iddddN+w18+bNEy0Wi1heXi6+9NJLMY1JEEWOYxEREZEydLlGhIiIiLSBiQgREREphokIERERKYaJCBERESmGiQgREREphokIERERKYaJCBERESmGiQgREREphokIERERKYaJCBERESmGiQgREREphokIERERKeb/B7NgJNCfvTimAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Make second wave: first wave + 2\n",
"wave2 = wave1 + 2 # Numpy automatically replace \"2\" with \"2*np.ones\n",
"\n",
"freq2, spec2 = fftWrapper(wave2, dt, 1)\n",
"\n",
"plt.stem(freq2[:N//2], spec2[:N//2], 'tab:blue', basefmt='tab:blue', markerfmt='none')\n",
"plt.xticks(freq2[:N//2])\n",
"plt.grid()"
]
},
{
"cell_type": "code",
"execution_count": 103,
"id": "b8d2c537-8e81-4084-b44c-b20b4a2e10de",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T09:21:28.594325Z",
"iopub.status.busy": "2024-03-04T09:21:28.593711Z",
"iopub.status.idle": "2024-03-04T09:21:28.755425Z",
"shell.execute_reply": "2024-03-04T09:21:28.754421Z",
"shell.execute_reply.started": "2024-03-04T09:21:28.594308Z"
}
},
"outputs": [
{
"data": {
"image/png": "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//qlS5cqJSVFbrdbu3bt0vTp0zVgwAC98cYbp80pLCxUUVFRq/UlJSXfWmrOh7dRmratubMtGNAgV4hp0UFn59kBAN8NdXV1Gj9+vKqrqxUTE3PGfYNaUCZPnqx3331XmzdvVpcuXb51vw0bNmjo0KHau3evevTo0Wr76a6gJCUl6dixY2e9g4Goq29Q2pwNkqTtjw5UbFS4adlSc3MsLS3VsGHD5HQ6Tc0O9uxScOcPdr6dZw92vp1nt3u+nWe3e76dZ7dzvsfjUceOHc+poATtIZ68vDytXr1amzZtOmM5kaT09HRJ+taC4nK55HK5Wq13Op2mfuGchuOU7NCgfNObs82dW7pwszfnmz//hcq38+zBzrfz7HbPt/Psds+38+x2zA8ky/SCYhiGHn74Ya1cuVIbN25Ut27dzvo5FRUVkqTExESzxwEAADZkekHJzc1VSUmJ3nzzTUVHR+vIkSOSpNjYWEVERGjfvn0qKSnRrbfeqg4dOmjXrl3Kz8/XwIED1bt3b7PHAQAANmR6QVm8eLGk5l/Gdqrly5dr4sSJCgsL07p16/TMM8+otrZWSUlJGjt2rB577DGzRwEAADYVlId4ziQpKUllZWVmHxYAAFxCeC8eAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORQUAABgORe1oBQXF6tr164KDw9Xenq6tm3bdjHHAQAAFnHRCsqrr76qgoICzZo1Szt37lRaWpqGDx+uo0ePXqyRAACARYRerAMvXLhQDzzwgO677z5J0pIlS/TOO+/o+eef16OPPnpRZjIMw/9xXX2jnM4GU/N9vgZ5G6W6+gY5DYep2XX1Dad8bP7sUnDnD3a+nWcPdr6dZ7d7vp1nt3u+nWe/kPmn/ly80BzGRTh6fX29IiMj9ac//Uljxozxr8/JydHx48f15ptvttjf6/XK6/X6lz0ej5KSknTs2DHFxMSYNtexGq8y5peZlgcAgJ1tf3SgYqPCTcvzeDzq2LGjqqurz/rz+6JcQTl27JgaGxvVuXPnFus7d+6s//u//2u1/9y5c1VUVNRq/XvvvafIyEjT5vI2ShfxohIAAJayYcMGuULMy6urqzvnfW3x03jGjBkqKCjwL5+8gpKVlWXqFRTDMDRkiFcbNmzQkCFD5HSa++Xx+RqClk3+xcu2e76dZ7d7vp1nt3u+nWe/kPkjh2cqLCzMtFyPx3PO+16UgtKxY0eFhISoqqqqxfqqqiolJCS02t/lcsnlcrVa73Q65XQ6TZ0t1uGQK0SKjQo3Pdvn8wUtm/yLl233fDvPbvd8O89u93w7z34h88PCwkzNDyTroryKJywsTP369dP69ev965qamrR+/XplZGRcjJEAAICFXLSHeAoKCpSTk6P+/ftrwIABeuaZZ1RbW+t/VQ8AAPjuumgF5a677tI///lPPf744zpy5Iiuu+46rVmzptUTZwEAwHfPRX2SbF5envLy8i7mCAAAwIJ4Lx4AAGA5FBQAAGA5FBQAAGA5FBQAAGA5FBQAAGA5FBQAAGA5FBQAAGA5FBQAAGA5FBQAAGA5F/U3yZ4vwzAkBfa2zefK5/Oprq5OHo8nKO+eGaxs8i9ett3z7Ty73fPtPLvd8+08u53zT/7cPvlz/ExsWVBOnDghSUpKSrrIkwAAgECdOHFCsbGxZ9zHYZxLjbGYpqYmHTp0SNHR0XI4HKZmezweJSUl6bPPPlNMTIxtssm/eNl2z7fz7HbPt/Psds+38+x2zjcMQydOnJDb7Va7dmd+loktr6C0a9dOXbp0CeoxYmJigvJND3Y2+Rcv2+75dp7d7vl2nt3u+Xae3a75Z7tychJPkgUAAJZDQQEAAJZDQfkGl8ulWbNmyeVy2Sqb/IuXbfd8O89u93w7z273fDvPfinknwtbPkkWAABc2riCAgAALIeCAgAALIeCAgAALIeCAgAALIeCcori4mJ17dpV4eHhSk9P17Zt20zJ3bRpk0aNGiW32y2Hw6FVq1aZknvS3Llzdf311ys6Olrx8fEaM2aMKisrTctfvHixevfu7f+FPRkZGXr33XdNyz/VvHnz5HA4NGXKFFPyCgsL5XA4WtxSU1NNyT7piy++0D333KMOHTooIiJCvXr10vbt203J7tq1a6v5HQ6HcnNz25zd2NiomTNnqlu3boqIiFCPHj00Z86cc3qPjHN14sQJTZkyRSkpKYqIiNCNN96ojz766LyyznYeGYahxx9/XImJiYqIiFBmZqb27NljSvYbb7yhrKwsdejQQQ6HQxUVFabN7vP5NH36dPXq1UtRUVFyu9360Y9+pEOHDpmSLzWfB6mpqYqKitLll1+uzMxMbd261bT8Uz300ENyOBx65plnTMmeOHFiq7//I0aMMHX2Tz/9VKNHj1ZsbKyioqJ0/fXX6+DBg6bkn+78dTgc+tWvfmVKfk1NjfLy8tSlSxdFRETommuu0ZIlS0zJrqqq0sSJE+V2uxUZGakRI0ac8zllBgrK//fqq6+qoKBAs2bN0s6dO5WWlqbhw4fr6NGjbc6ura1VWlqaiouLTZi0tbKyMuXm5mrLli0qLS2Vz+dTVlaWamtrTcnv0qWL5s2bpx07dmj79u0aMmSIbrvtNn3yySem5J/00Ucf6fe//7169+5tau61116rw4cP+2+bN282Lftf//qXbrrpJjmdTr377rv661//qqeeekqXX365KfkfffRRi9lLS0slST/84Q/bnD1//nwtXrxYv/3tb/Xpp59q/vz5WrBggRYtWtTm7JN+/OMfq7S0VH/4wx/08ccfKysrS5mZmfriiy8CzjrbebRgwQI9++yzWrJkibZu3aqoqCgNHz5cX3/9dZuza2trdfPNN2v+/PkBz322/Lq6Ou3cuVMzZ87Uzp079cYbb6iyslKjR482JV+SrrrqKv32t7/Vxx9/rM2bN6tr167KysrSP//5T1PyT1q5cqW2bNkit9tt2uySNGLEiBbnwR//+EfT8vft26ebb75Zqamp2rhxo3bt2qWZM2cqPDzclPxT5z58+LCef/55ORwOjR071pT8goICrVmzRi+//LI+/fRTTZkyRXl5eXrrrbfalG0YhsaMGaO///3vevPNN/WXv/xFKSkpyszMNO1ny1kZMAzDMAYMGGDk5ub6lxsbGw23223MnTvX1ONIMlauXGlq5jcdPXrUkGSUlZUF7RiXX3658T//8z+m5Z04ccK48sorjdLSUuOWW24xHnnkEVNyZ82aZaSlpZmSdTrTp083br755qDlf9Mjjzxi9OjRw2hqampz1siRI43777+/xbo77rjDmDBhQpuzDcMw6urqjJCQEGP16tUt1vft29f4xS9+0absb55HTU1NRkJCgvGrX/3Kv+748eOGy+Uy/vjHP7Yp+1T79+83JBl/+ctfzmPqs+eftG3bNkOSceDAgaDkV1dXG5KMdevWmZb/+eefG9/73veM3bt3GykpKcbTTz9tSnZOTo5x2223BZx1rvl33XWXcc899wQt/5tuu+02Y8iQIablX3vttcbs2bNbrDufc+yb2ZWVlYYkY/fu3f51jY2NRqdOnYznnnsu4NnPB1dQJNXX12vHjh3KzMz0r2vXrp0yMzNVXl5+ESc7P9XV1ZKkuLg407MbGxu1YsUK1dbWKiMjw7Tc3NxcjRw5ssX3wCx79uyR2+1W9+7dNWHChHO+dHsu3nrrLfXv318//OEPFR8frz59+ui5554zLf9U9fX1evnll3X//feb8iaZN954o9avX6+//e1vkqT//d//1ebNm5Wdnd3mbElqaGhQY2Njq/+JRkREmHoVS5L279+vI0eOtPj7Exsbq/T0dNueww6HQ+3btzc9u76+XkuXLlVsbKzS0tJMyWxqatK9996rqVOn6tprrzUl81QbN25UfHy8evbsqcmTJ+vLL780JbepqUnvvPOOrrrqKg0fPlzx8fFKT083/WH4k6qqqvTOO+9o0qRJpmXeeOONeuutt/TFF1/IMAy9//77+tvf/qasrKw25Xq9Xklqcf62a9dOLpfL9PP321BQJB07dkyNjY3q3Llzi/WdO3fWkSNHLtJU56epqUlTpkzRTTfdpO9///um5X788ce67LLL5HK59NBDD2nlypW65pprTMlesWKFdu7cqblz55qSd6r09HS98MILWrNmjRYvXqz9+/frv/7rv3TixAlT8v/+979r8eLFuvLKK7V27VpNnjxZP/3pT/Xiiy+akn+qVatW6fjx45o4caIpeY8++qjGjRun1NRUOZ1O9enTR1OmTNGECRNMyY+OjlZGRobmzJmjQ4cOqbGxUS+//LLKy8t1+PBhU45x0snz9FI4h7/++mtNnz5dd999t6lv0rZ69WpddtllCg8P19NPP63S0lJ17NjRlOz58+crNDRUP/3pT03JO9WIESP00ksvaf369Zo/f77KysqUnZ2txsbGNmcfPXpUNTU1mjdvnkaMGKH33ntPt99+u+644w6VlZWZMH1LL774oqKjo3XHHXeYlrlo0SJdc8016tKli8LCwjRixAgVFxdr4MCBbcpNTU1VcnKyZsyYoX/961+qr6/X/Pnz9fnnn5t+/n4bW76bMb5dbm6udu/ebXrD7dmzpyoqKlRdXa0//elPysnJUVlZWZtLymeffaZHHnlEpaWl5/yYbyBOvRrQu3dvpaenKyUlRa+99pop/4tpampS//799eSTT0qS+vTpo927d2vJkiXKyclpc/6pli1bpuzs7IAe3z+T1157Ta+88opKSkp07bXXqqKiQlOmTJHb7TZt9j/84Q+6//779b3vfU8hISHq27ev7r77bu3YscOU/EuNz+fTnXfeKcMwtHjxYlOzBw8erIqKCh07dkzPPfec7rzzTm3dulXx8fFtyt2xY4d+85vfaOfOnaZc2fumcePG+T/u1auXevfurR49emjjxo0aOnRom7KbmpokSbfddpvy8/MlSdddd50+/PBDLVmyRLfcckub8r/p+eef14QJE0z9t27RokXasmWL3nrrLaWkpGjTpk3Kzc2V2+1u0xVpp9OpN954Q5MmTVJcXJxCQkKUmZmp7OxsU59IfyZcQZHUsWNHhYSEqKqqqsX6qqoqJSQkXKSpApeXl6fVq1fr/fffV5cuXUzNDgsL0xVXXKF+/fpp7ty5SktL029+85s25+7YsUNHjx5V3759FRoaqtDQUJWVlenZZ59VaGioKf9LOlX79u111VVXae/evabkJSYmtippV199takPI0nSgQMHtG7dOv34xz82LXPq1Kn+qyi9evXSvffeq/z8fFOvZPXo0UNlZWWqqanRZ599pm3btsnn86l79+6mHUOS/zy18zl8spwcOHBApaWlpr/FfVRUlK644grdcMMNWrZsmUJDQ7Vs2bI2537wwQc6evSokpOT/efwgQMH9N///d/q2rVr2wf/hu7du6tjx46mnMMdO3ZUaGjoBTmHP/jgA1VWVpp6Dv/73//Wz3/+cy1cuFCjRo1S7969lZeXp7vuuku//vWv25zfr18/VVRU6Pjx4zp8+LDWrFmjL7/80vTz99tQUNT8w7dfv35av369f11TU5PWr19v6vMsgsUwDOXl5WnlypXasGGDunXrFvRjNjU1+R+jbIuhQ4fq448/VkVFhf/Wv39/TZgwQRUVFQoJCTFh2v+oqanRvn37lJiYaEreTTfd1Ool3X/729+UkpJiSv5Jy5cvV3x8vEaOHGlaZl1dndq1a/lPQEhIiP9/lWaKiopSYmKi/vWvf2nt2rW67bbbTM3v1q2bEhISWpzDHo9HW7dutcU5fLKc7NmzR+vWrVOHDh2CfkyzzuF7771Xu3btanEOu91uTZ06VWvXrjVh0pY+//xzffnll6acw2FhYbr++usvyDm8bNky9evXz7Tn/UjNf298Pl/Qz+PY2Fh16tRJe/bs0fbt200/f78ND/H8fwUFBcrJyVH//v01YMAAPfPMM6qtrdV9993X5uyampoWbX///v2qqKhQXFyckpOT25yfm5urkpISvfnmm4qOjvY/5h4bG6uIiIg258+YMUPZ2dlKTk7WiRMnVFJSoo0bN5ryj090dHSr58pERUWpQ4cOpjyH5mc/+5lGjRqllJQUHTp0SLNmzVJISIjuvvvuNmdLUn5+vm688UY9+eSTuvPOO7Vt2zYtXbpUS5cuNSVfav5Bsnz5cuXk5Cg01LxTdtSoUfrlL3+p5ORkXXvttfrLX/6ihQsX6v777zftGGvXrpVhGOrZs6f27t2rqVOnKjU19bzOq7OdR1OmTNETTzyhK6+8Ut26ddPMmTPldrs1ZsyYNmd/9dVXOnjwoP93k5z8gZaQkHBOV2jOlJ+YmKgf/OAH2rlzp1avXq3Gxkb/ORwXF6ewsLA25Xfo0EG//OUvNXr0aCUmJurYsWMqLi7WF198cc4vVz/b1+ebhcrpdCohIUE9e/ZsU3ZcXJyKioo0duxYJSQkaN++fZo2bZquuOIKDR8+3JTZp06dqrvuuksDBw7U4MGDtWbNGr399tvauHGjKflSc1l+/fXX9dRTT51TZiD5t9xyi6ZOnaqIiAilpKSorKxML730khYuXNjm7Ndff12dOnVScnKyPv74Yz3yyCMaM2ZMm5+Ae84uyGuFbGLRokVGcnKyERYWZgwYMMDYsmWLKbnvv/++IanVLScnx5T802VLMpYvX25K/v3332+kpKQYYWFhRqdOnYyhQ4ca7733ninZp2Pmy4zvuusuIzEx0QgLCzO+973vGXfddZexd+9eU7JPevvtt43vf//7hsvlMlJTU42lS5eamr927VpDklFZWWlqrsfjMR555BEjOTnZCA8PN7p372784he/MLxer2nHePXVV43u3bsbYWFhRkJCgpGbm2scP378vLLOdh41NTUZM2fONDp37my4XC5j6NCh5/w1O1v28uXLT7t91qxZbc4/+dLl093ef//9Nuf/+9//Nm6//XbD7XYbYWFhRmJiojF69Ghj27Zt55R9Ll+fbwrkZcZnyq6rqzOysrKMTp06GU6n00hJSTEeeOAB48iRI6bOvmzZMuOKK64wwsPDjbS0NGPVqlWm5v/+9783IiIizuvv/tnyDx8+bEycONFwu91GeHi40bNnT+Opp546p19FcLbs3/zmN0aXLl0Mp9NpJCcnG4899pip/z6cjcMwLtCzXQAAAM4Rz0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACWQ0EBAACW8/8Ae/zPZNNoryoAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"freq2, spec2 = fftWrapper(wave2, dt, 1)\n",
"\n",
"plt.stem(freq2[:20], spec2[:20], 'tab:blue', basefmt='tab:blue', markerfmt='none')\n",
"plt.xticks(freq2[:20])\n",
"plt.grid()"
]
},
{
"cell_type": "code",
"execution_count": 125,
"id": "60bf34c0-01b6-44cb-9df5-ca3765bb0a9f",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T09:40:38.674407Z",
"iopub.status.busy": "2024-03-04T09:40:38.673802Z",
"iopub.status.idle": "2024-03-04T09:40:39.838941Z",
"shell.execute_reply": "2024-03-04T09:40:39.838073Z",
"shell.execute_reply.started": "2024-03-04T09:40:38.674380Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Wave 3, base = -2')"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA70AAAMNCAYAAABUFxPZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACf7klEQVR4nOzde3gU9d3//9fmtDmQXQyYhAhBUEoMp8pBTARpJRK5U6wFBS0F9PZWi0EFlFKsQItVBG8FRIyHtuBZQUUBUZoigmI4CGI5CeoXAYFNpJgNJJCE5PP7I7/szZqIWbLJbibPx3XtdZGZ2ffnMxPn1b53ZyY2Y4wRAAAAAAAWFBLoCQAAAAAA0FBoegEAAAAAlkXTCwAAAACwLJpeAAAAAIBl0fQCAAAAACyLphcAAAAAYFk0vQAAAAAAy6LpBQAAAABYFk0vAAAAAMCyaHrR5Hz44Yey2Wx64403Aj0VAAgo8hAAqpCHOBua3iCzePFi2Ww2LV26tMa6Hj16yGazac2aNTXWJScnKz09vTGm6JMTJ05o+vTpuuaaaxQXFyebzaZFixYFelqW8Pe//12XXHKJIiMj1alTJ82fPz/QUwL8ymp5uHnzZo0bN05dunRRTEyMkpOTNXz4cO3duzfQU2vyyENYndXycOfOnbrhhhvUsWNHRUdHq3Xr1rryyiu1fPnyQE+tySMPa0fTG2T69esnSfr444+9lhcVFWnHjh0KCwvT+vXrvdYdPHhQBw8e9Lw3mBw9elQzZszQ7t271aNHj0BPxzKeeeYZ/c///I+6dOmi+fPnKy0tTXfffbdmzZoV6KkBfmO1PJw1a5befPNNDRw4UPPmzdPtt9+udevWqWfPntqxY0egp9dkkYdoDqyWh/v379fx48c1ZswYzZs3T1OnTpUkXXvttXr22WcDPLumizw8C4Og06FDB3PZZZd5LXv//feNzWYzN910k8nMzPRa98orrxhJ5p133mnMadbJqVOnzJEjR4wxxmzevNlIMgsXLqxXzTVr1hhJZsmSJX6YYdNTUlJiWrVqZbKysryWjxw50sTExJhjx44FaGaA/1kpD9evX29KS0u9lu3du9fY7XYzcuTIc6pJHpKHaD6slIe1OX36tOnRo4fp3LnzOb2fPCQPz4ZveoNQv3799Nlnn+nkyZOeZevXr1eXLl00ePBgbdiwQZWVlV7rbDabrrjiCknSwoULddVVVyk+Pl52u12pqanKycnxGuNXv/qVOnbsWOv4aWlp6t27t9eyl156Sb169VJUVJTi4uJ044036uDBgz+5L3a7XYmJiXXed19UVFTo/vvvV2JiomJiYnTttdfWmNNHH32kG264QcnJybLb7WrXrp0mTJjgdWwlyeVy6ZZbblHbtm1lt9vVpk0b/frXv9Y333zjtd17772n/v37KyYmRrGxscrKytLOnTsbZP9+zJo1a/Sf//xHd955p9fy7OxsFRcX6913323U+QANyUp5mJ6eroiICK9lnTp1UpcuXbR79+6ffP/ZkIfkIazPSnlYm9DQULVr106FhYXn9P5q5CF5WBua3iDUr18/lZeXa+PGjZ5l69evV3p6utLT0+V2u70uhVu/fr1SUlLUqlUrSVJOTo7at2+v+++/X4899pjatWunO++8UwsWLPC8Z8SIEdq3b582b97sNfb+/fu1YcMG3XjjjZ5lDz30kEaPHq1OnTrp8ccf1/jx47V69WpdeeWV9Q6m+njooYf07rvvavLkybr77ruVm5urjIwMr8BasmSJSkpKNHbsWM2fP1+ZmZmaP3++Ro8e7VVr2LBhWrp0qW655RY99dRTuvvuu3X8+HEdOHDAs82LL76orKwstWjRQrNmzdLUqVO1a9cu9evXr0b4/VBlZaWOHj1ap1d5eflZa3322WeSVON/eHr16qWQkBDPesAKrJ6Hxhjl5+erdevWPr/3TOQheQjrs2IeFhcX6+jRo/r66681Z84cvffeexo4cOC5HB6veZGH/4c8/P8F+qtm1LRz504jyTz44IPGGGPKy8tNTEyMef75540xxiQkJJgFCxYYY4wpKioyoaGh5rbbbvO8v6SkpEbNzMxM07FjR8/Pbrfb2O12c++993ptN3v2bGOz2cz+/fuNMcZ88803JjQ01Dz00ENe223fvt2EhYXVWH42/r68+YILLjBFRUWe5YsXLzaSzLx58zzLajsWM2fO9NrH77//3kgyjz766I+Oefz4cdOyZUuv42yMMS6XyzidzhrLf2jfvn1GUp1ea9asOWut7OxsExoaWuu6888/39x4441nfT/QlFg1D6u9+OKLRpL5+9//7vN7jSEPyUM0J1bMwzvuuMNzvoeEhJjrr7/+nC/DJQ/Jw7MJa4hGGvVzySWXqFWrVp6HFXz++ecqLi72PH0vPT1d69ev15133qm8vDxVVFR4PaQgKirK82+3263y8nINGDBAq1atktvtltPplMPh0ODBg7V48WI9+uijstlskqTXX39dl19+uZKTkyVJb731liorKzV8+HAdPXrUUzcxMVGdOnXSmjVrdP/99zf4ManN6NGjFRsb6/n5+uuvV5s2bbRy5UrdfffdkryPRXFxsU6ePKn09HQZY/TZZ58pOTlZUVFRioiI0Icffqhbb71V5513Xo2xcnNzVVhYqJtuusnrOISGhqpv3761PjHxTImJicrNza3Tfv3UA79OnjxZ4xLJapGRkTUuzQGaMivn4RdffKHs7GylpaVpzJgx536QRB7WhjyE1VgxD8ePH6/rr79ehw8f1uLFi1VRUaGysrJ6HSfysCbyUKLpDUI2m03p6elat26dKisrtX79esXHx+viiy+WVBVqTz75pCR5ntR3ZqitX79e06dPV15enkpKSrxqV4eaVHUJy9tvv628vDylp6fr66+/1pYtWzR37lzP9l9++aWMMerUqVOtcw0PD/fbfvvqh3Oy2Wy6+OKLvS4lOXDggKZNm6Zly5bp+++/99re7XZLqrrveNasWbr33nuVkJCgyy+/XL/61a80evRoz/3IX375pSTpqquuqnUuDofjrHONjIxURkaGT/v3Y6Kion70fxBOnTrlFeRAU2fVPHS5XMrKypLT6dQbb7yh0NDQOr+3NuRhTeQhrMaKeZiSkqKUlBRJVc3qoEGDNGTIEG3cuNHTcPuKPKyJPKTpDVr9+vXT8uXLtX37ds/9GtXS09M1adIkHTp0SB9//LGSkpI8Dx34+uuvNXDgQKWkpOjxxx9Xu3btFBERoZUrV2rOnDleDzgYMmSIoqOjtXjxYqWnp2vx4sUKCQnRDTfc4NmmsrJSNptN7733Xq3/p6xFixYNeBTqp6KiQldffbWOHTumyZMnKyUlRTExMTp06JBuvvlmr2Mxfvx4DRkyRG+//bZWrVqlqVOnaubMmfrggw906aWXerZ98cUXa30wV1jY2U+liooKfffdd3Wad1xc3I9+UidJbdq0UUVFhQoKChQfH+9ZXlZWpv/85z9KSkqq0zhAU2G1PHS73Ro8eLAKCwv10UcfNco5Sx4C1mC1PPyh66+/XnfccYf27t2rzp07n1ONn0IeNlOBvLYaP279+vVGknny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UP373//WqlWr1LVr1zrNCwgUq+Wh2+3W4MGDVVhYqI8++khJSUnnemjqjDwkD2ENVsvDH7r++ut1xx13aO/evercufM51fgp5CF5WEOgu+7mbP369UaSefLJJ80FF1zgdT/BqVOnjN1uNy+99JKJiYkxN9xwg2fdnDlzanxiZ4wx999/v5Fk9u3b57V8+PDhJikpyVRUVJgePXqYAQMGeK2fPXu2kWT27NlT733y9ze9U6ZM8VpeWVlp2rRp43lk/2effVbjEztjjPnnP//5k/PYu3eviY6O9vwZker7QVatWnVOcw6WezYqKirMiBEjTGhoqHnzzTd93xEgAKyUhydPnjT9+/c30dHR5pNPPjnnOtXIw5rIQ1iZlfKwNnPnzjWSzMaNG31+L3lYE3lYN3zTG0C9e/dWZGSkXn75ZR06dMjrkzy73a6ePXtqwYIFKi4u9rpfo/rTNmOMZ5nb7dbChQtrHWfEiBFavHix/va3v+nzzz/XU0895bV+6NChmjJliv7yl7/opZde8tzbUT3GsWPHPE8FbGwvvPCCpkyZ4rlv44033tCRI0c0efJkSbUfC2OM5s2b51WnpKREISEhioyM9Cy76KKLFBsbq9LSUklSZmamHA6HHn74Yf3yl7+s8fS87777Tueff/6PztXf92ycq7vuukuvv/66nnnmGQ0dOrTBxgH8ySp5WFFRoREjRigvL0/vvPOO0tLSfDsQZ0Ee+o48RFNklTwsKChQfHy817Ly8nK98MILioqKUmpqah2ORu3IQ9819zyk6Q2giIgI9enTRx999JHsdrt69erltT49PV2PPfaYJHmF2qBBgxQREaEhQ4bojjvu0IkTJ/Tcc88pPj5eR44cqTHOf/3Xfyk2Nlb33XefQkNDNWzYMK/1F110kf76179qypQp+uabb3TdddcpNjZW+/bt09KlS3X77bfrvvvuO+u+PPnkkyosLNThw4clScuXL9e3334rqeokczqdkqRFixbplltu0cKFC3XzzTf/5DGKi4tTv379dMsttyg/P19z587VxRdfrNtuu02SlJKSoosuukj33XefDh06JIfDoTfffFPff/+9V529e/dq4MCBGj58uFJTUxUWFqalS5cqPz9fN954oyTJ4XAoJydHo0aNUs+ePXXjjTfq/PPP14EDB/Tuu+/qiiuu0JNPPvmjc42MjFRG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euutt7Rnzx5de+21fpt/taVLl2rDhg1KSkqqc+261P/666/Vr18/paSk6MMPP9S///1vTZ06VZGRkX4bY+LEiXr//ff10ksvaffu3Ro/frzGjRunZcuW+bQv8C+r5KHUMJlIHvpWvynkYV3GqG8mkodNE3l4duShb/XJw7rVD3geGgu77LLLTHZ2tufniooKk5SUZGbOnNkg4xUUFBhJZu3atX6refz4cdOpUyeTm5trBgwYYO655x6/1Z48ebLp16+f3+r9UFZWlvnv//5vr2VDhw41I0eO9Et9SWbp0qWenysrK01iYqJ59NFHPcsKCwuN3W43r776ar3r12bTpk1Gktm/f7/f6n/77bfmggsuMDt27DDt27c3c+bM8bn2j9UfMWKE+d3vfndO9eo6RpcuXcyMGTO8lvXs2dP86U9/8tu48J0V8tCYhstE8tC3+rUJ5jz8sTH8mYnkYdNBHp4deehb/dqQh8GXh5b9presrExbtmxRRkaGZ1lISIgyMjKUl5fXIGO63W5JUlxcnN9qZmdnKysry2s//GXZsmXq3bu3brjhBsXHx+vSSy/Vc88957f66enpWr16tfbu3StJ+vzzz/Xxxx9r8ODBfhvjTPv27ZPL5fI6Vk6nU3379m3Q37nNZlPLli39Uq+yslKjRo3SpEmT1KVLF7/UPLP2u+++q5/97GfKzMxUfHy8+vbte9ZLaM5Fenq6li1bpkOHDskYozVr1mjv3r0aNGiQX8dB3VklD6WGy0TysP6aUh5W12/oTCQPgw95+NPIw/ojD2sKdB5atuk9evSoKioqlJCQ4LU8ISFBLpfL7+NVVlZq/PjxuuKKK9S1a1e/1Hzttde0detWzZw50y/1fuj//b//p5ycHHXq1EmrVq3S2LFjdffdd+v555/3S/0//vGPuvHGG5WSkqLw8HBdeumlGj9+vEaOHOmX+j9U/XttrN/5qVOnNHnyZN10001yOBx+qTlr1iyFhYXp7rvv9ku9MxUUFOjEiRN65JFHdM011+if//ynfvOb32jo0KFau3at38aZP3++UlNT1bZtW0VEROiaa67RggULdOWVV/ptDPjGCnkoNWwmkof109TyUGqcTCQPgw95+NPIw/ohD2sX6DwMa5RRmoHs7Gzt2LFDH3/8sV/qHTx4UPfcc49yc3N9ut/SF5WVlerdu7cefvhhSdKl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JX6YoXV8+umn5vjx417Ljh49as4//3xzxRVXBGhWQP1YKQ/Xr19vSktLvZbt3bvX2O12M3LkyHOqSR7WjjyEFVkpD2tz+vRp06NHD9O5c+dzej95WDvysCa+6Q0S/fr102effaaTJ096lq1fv15dunTR4MGDtWHDBlVWVnqts9lsuuKKKyRJCxcu1FVXXaX4+HjZ7XalpqYqJyfHa4xf/epX6tixY63jp6WlqXfv3l7LXnrpJfXq1UtRUVGKi4vTjTfeqIMHD/7kvtjtdiUmJtZ5331RUVGh+++/X4mJiYqJidG1115bY04fffSRbrjhBiUnJ8tut6tdu3aaMGGC17GVJJfLpVtuuUVt27aV3W5XmzZt9Otf/1rffPON13bvvfee+vfvr5iYGMXGxiorK0s7d+5skP3zVa9evdSiRQuvZa1atVL//v21e/fuAM0KqB8r5WF6eroiIiK8lnXq1EldunSp9zlKHnojD2FFVsrD2oSGhqpdu3YqLCw8p/dXIw+9kYc1hQV6AqjSr18/vfjii9q4caN+8YtfSKoKrvT0dKWnp8vtdmvHjh3q3r27Z11KSopatWolScrJyVGXLl107bXXKiwsTMuXL9edd96pyspKZWdnS5JGjBih0aNHa/PmzerTp49n7P3792vDhg169NFHPcseeughTZ06VcOHD9f//M//6LvvvtP8+fN15ZVX6rPPPlPLli0b58D8wEMPPSSbzabJkyeroKBAc+fOVUZGhrZt26aoqChJ0pIlS1RSUqKxY8eqVatW2rRpk+bPn69vv/1WS5Ys8dQaNmyYdu7cqbvuuksXXnihCgoKlJubqwMHDujCCy+UJL344osaM2aMMjMzNWvWLJWUlCgnJ8fzP0LV29WmsrJSx44dq9N+OZ1OhYeHn/Nx+SGXy6XWrVv7rR7QmKyeh8YY5efnq0uXLvU4SuRhXZGHaMqsmIfFxcU6efKk3G63li1bpvfee08jRoyo13EiD+umWedhoL9qRpWdO3caSebBBx80xhhTXl5uYmJizPPPP2+MMSYhIcEsWLDAGGNMUVGRCQ0NNbfddpvn/SUlJTVqZmZmmo4dO3p+drvdxm63m3vvvddru9mzZxubzWb2799vjDHmm2++MaGhoeahhx7y2m779u0mLCysxvKz8fflzRdccIEpKiryLF+8eLGRZObNm+dZVtuxmDlzptc+fv/990aSefTRR390zOPHj5uWLVt6HWdjjHG5XMbpdNZY/kP79u0zkur0WrNmTV0OQ52sW7fO2Gw2M3XqVL/VBBqTVfOw2osvvmgkmb///e8+v9cY8tAX5CGaOivm4R133OE530NCQsz1119vjh07Vqf3/hB5WHfNPQ/5pjdIXHLJJWrVqpXnYQWff/65iouLPU/fS09P1/r163XnnXcqLy9PFRUVXg8pqP4US5LcbrfKy8s1YMAArVq1Sm63W06nUw6HQ4MHD9bixYv16KOPymazSZJef/11XX755UpOTpYkvfXWW6qsrNTw4cN19OhRT93ExER16tRJa9as0f3339/gx6Q2o0ePVmxsrOfn66+/Xm3atNHKlSt19913S/I+FtWfJqanp8sYo88++0zJycmKiopSRESEPvzwQ916660677zzaoyVm5urwsJC3XTTTV7HITQ0VH379q31iYlnSkxMVG5ubp32y18P/CooKNBvf/tbdejQQX/4wx/8UhNobFbOwy+++ELZ2dlKS0vTmDFjzv0giTz8KeQhrMCKeTh+/Hhdf/31Onz4sBYvXqyKigqVlZXV6ziRh2dHHopveoPJkCFDjNPpNBUVFWbevHkmPj7es+7RRx817du3N8YYM23aNCPJfP311571H3/8sRk4cKCJjo6u8SlR9adXxhjz6quvGklm/fr1xhhjvvrqKyPJzJ0717PN2LFjz/qpU/fu3eu8T/7+pvcf//hHjXX9+/f3egDC/v37zZgxY8x5551XY+7Vn4waY8ycOXNMSEiICQ8PN/379zezZs3yPIDLGGNmzZp11uPgcDjqtU++OHLkiNertk8rT5w4Yfr06WOcTqfZvn17o80NaAhWzMMjR46Yjh07mnbt2plDhw6d66EhD8lDNDNWzMMzXX311aZPnz6msrLS5/eSh+RhXfFNbxDp16+fli9fru3bt3vu16iWnp6uSZMm6dChQ/r444+VlJTkeejA119/rYEDByolJUWPP/642rVrp4iICK1cuVJz5szxesDBkCFDFB0drcWLFys9PV2LFy9WSEiIbrjhBs82lZWVstlseu+99xQaGlpjnj+8MT6YVFRU6Oqrr9axY8c0efJkpaSkKCYmRocOHdLNN9/sdSzGjx+vIUOG6O2339aqVas0depUzZw5Ux988IEuvfRSz7YvvvhirQ/mCgs7++lTUVGh7777rk7zjouLq/GwmzO1adPG6+eFCxfq5ptv9vxcVlamoUOH6t///rdWrVqlrl271mlcIFhZLQ/dbrcGDx6swsJCffTRR0pKSjrXQ1Nn5CF5CGuwWh7+0PXXX6877rhDe/fuVefOnc+pxk8hD8lDvukNIuvXrzeSzJNPPmkuuOACr/sJTp06Zex2u3nppZdMTEyMueGGGzzr5syZU+MTO2OMuf/++40ks2/fPq/lw4cPN0lJSaaiosL06NHDDBgwwGv97NmzjSSzZ8+eeu+Tv7/pnTJlitfyyspK06ZNG88j+z/77LMan9gZY8w///nPn5zH3r17TXR0tOfPiFTfD7Jq1apzmrM/79nIzc31eh0+fNizrqKiwowYMcKEhoaaN99885zmCgQbK+XhyZMnTf/+/U10dLT55JNPzrlONfKQPETzYqU8rM3cuXONJLNx40af30sekod1xTe9QaR3796KjIzUyy+/rEOHDnl9kme329WzZ08tWLBAxcXFXvdrVH/aZozxLHO73Vq4cGGt44wYMUKLFy/W3/72N33++ed66qmnvNYPHTpUU6ZM0V/+8he99NJLnns7qsc4duyY56mAje2FF17QlClTPPdtvPHGGzpy5IgmT54sqfZjYYzRvHnzvOqUlJQoJCREkZGRnmUXXXSRYmNjVVpaKknKzMyUw+HQww8/rF/+8pc1np733Xff6fzzz//Rufrzno2MjIwfXXfXXXfp9ddf1zPPPKOhQ4fWaTwg2FklDysqKjRixAjl5eXpnXfeUVpamm8H4izIw5rIQ1iRVfKwoKBA8fHxXsvKy8v1wgsvKCoqSqmpqXU4GrUjD2siD73R9AaRiIgI9enTRx999JHsdrt69erltT49PV2PPfaYJHmF2qBBgxQREaEhQ4bojjvu0IkTJ/Tcc88pPj5eR44cqTHOf/3Xfyk2Nlb33XefQkNDNWzYMK/1F110kf76179qypQp+uabb3TdddcpNjZW+/bt09KlS3X77bfrvvvuO+u+PPnkkyosLNThw4clScuXL9e3334rqeokdDqdkqRFixbplltuqXE5xo+Ji4tTv379dMsttyg/P19z587VxRdfrNtuu02SlJKSoosuukj33XefDh06JIfDoTfffFPff/+9V529e/dq4MCBGj58uFJTUxUWFqalS5cqPz9fN954oyTJ4XAoJydHo0aNUs+ePXXjjTfq/PPP14EDB/Tuu+/qiiuu0JNPPvmjc42MjDxrGPnD3Llz9dRTTyktLU3R0dF66aWXvNb/5je/UUxMTIPOAWgIVsnDe++9V8uWLdOQIUN07NixGufo7373O8+/ycP6IQ9hVVbJwzvuuENFRUW68sordcEFF8jlcunll1/WF198occee8zr8mjysH7Iw1oE5gtm/JgpU6YYSSY9Pb3GurfeestIMrGxseb06dNe65YtW2a6d+9uIiMjzYUXXmhmzZpl/vGPf9R6+YoxxowcOdJIMhkZGT86lzfffNP069fPxMTEmJiYGJOSkmKys7PrdFlL+/btf/RSjTPnM3/+fCPJvP/++2etV335yquvvmqmTJli4uPjTVRUlMnKyqpx2c6uXbtMRkaGadGihWndurW57bbbzOeff+51+crRo0dNdna2SUlJMTExMcbpdJq+ffuaxYsX1zp2ZmamcTqdJjIy0lx00UXm5ptvNp9++ulPHoeGNmbMmLNeFlPb7x5oKqyQhwMGDDjrOXom8rB+yENYmRXy8NVXXzUZGRkmISHBhIWFmfPOO89kZGSYd955p8a25GH9kIc12Yw543t+oJENHz5c33zzjTZt2hToqQBAQJGHAFCFPIS/cXkzAsYYow8//LDGJRcA0NyQhwBQhTxEQ+CbXgAAAACAZYUEegIAAAAAADQUml4AAAAAgGXR9AIAAAAALIumFwAAAABgWU3y6c2VlZU6fPiwYmNjZbPZAj0dAI3AGKPjx48rKSlJISF8XleNPASaH/KwduQh0PzUNQ+bZNN7+PBhtWvXLtDTABAABw8eVNu2bQM9jaBBHgLNF3nojTwEmq+fysMm2fTGxsZKqto5h8MR4NkAaAxFRUVq166d5/xHFfIQaH7Iw9qRh0DzU9c8bJJNb/UlKw6Hg1ADmhkuWfNGHgLNF3nojTwEmq+fykNuBAEAAAAAWBZNLwAAAADAsnxqev/85z/LZrN5vVJSUjzrT506pezsbLVq1UotWrTQsGHDlJ+f71XjwIEDysrKUnR0tOLj4zVp0iSdPn3aP3sDAI2EPASAKuQhgGDn8z29Xbp00b/+9a//KxD2fyUmTJigd999V0uWLJHT6dS4ceM0dOhQrV+/XpJUUVGhrKwsJSYm6pNPPtGRI0c0evRohYeH6+GHH/bD7gBA4yEPAaAKeQggqBkfTJ8+3fTo0aPWdYWFhSY8PNwsWbLEs2z37t1GksnLyzPGGLNy5UoTEhJiXC6XZ5ucnBzjcDhMaWlpnefhdruNJON2u32ZPoAmLNjOe/IQQKAE23lPHgIIlLqe9z7f0/vll18qKSlJHTt21MiRI3XgwAFJ0pYtW1ReXq6MjAzPtikpKUpOTlZeXp4kKS8vT926dVNCQoJnm8zMTBUVFWnnzp0/OmZpaamKioq8XgAQaOQhAFQhDwEEM5+a3r59+2rRokV6//33lZOTo3379ql///46fvy4XC6XIiIi1LJlS6/3JCQkyOVySZJcLpdXoFWvr173Y2bOnCmn0+l5BdMfHi8pO60L//iuLvzjuyop494ToLkgDxtfZUmJdqdcot0pl6iypCTQ0wHw/yMPramkvETdnu+mbs93U0k5mYumzad7egcPHuz5d/fu3dW3b1+1b99eixcvVlRUlN8nV23KlCmaOHGi5+fqP0IMAIFCHgJAFfIQQLCr158satmypX72s5/pq6++UmJiosrKylRYWOi1TX5+vhITEyVJiYmJNZ7WV/1z9Ta1sdvtnj80zh8cBxCMyEMAqEIeAgg29Wp6T5w4oa+//lpt2rRRr169FB4ertWrV3vW79mzRwcOHFBaWpokKS0tTdu3b1dBQYFnm9zcXDkcDqWmptZnKgAQUOQhAFQhDwEEG58ub77vvvs0ZMgQtW/fXocPH9b06dMVGhqqm266SU6nU7feeqsmTpyouLg4ORwO3XXXXUpLS9Pll18uSRo0aJBSU1M1atQozZ49Wy6XSw888ICys7Nlt9sbZAcBoCGQhwBQhTwEEOx8anq//fZb3XTTTfrPf/6j888/X/369dOGDRt0/vnnS5LmzJmjkJAQDRs2TKWlpcrMzNRTTz3leX9oaKhWrFihsWPHKi0tTTExMRozZoxmzJjh370CgAZGHgJAFfIQQLCzGWNMoCfhq6KiIjmdTrnd7oDfv1FSdlqp01ZJknbNyFR0hE+fIwCoo2A674NJczoulSUl2tOzlySp89YtComODvCMgMBoTue9Lzgu/lVSXqK+r/SVJG387UZFh5O5CD51Pe/rdU8vAAAAAADBjKYXAAAAAGBZNL0AAAAAAMui6QUAAAAAWBZNLwAAAADAsmh6AQAAAACWRdMLAAAAALAsml4AAAAAgGXR9AIAAAAALIumFwAAAABgWTS9AAAAAADLoukFAAAAAFgWTS8AAAAAwLJoegEAAAAAlkXTCwAAAACwLJpeAAAAAIBl0fQCAAAAACyLphcAAAAAYFk0vQAAAAAAy6LpBQAAAABYFk0vAAAAAMCyaHoBAAAAAJZF0wsAAAAAsCyaXgAAAACAZdH0AgAAAAAsq15N7yOPPCKbzabx48d7lp06dUrZ2dlq1aqVWrRooWHDhik/P9/rfQcOHFBWVpaio6MVHx+vSZMm6fTp0/WZCgAEFHkIAFXIQwDB5pyb3s2bN+uZZ55R9+7dvZZPmDBBy5cv15IlS7R27VodPnxYQ4cO9ayvqKhQVlaWysrK9Mknn+j555/XokWLNG3atHPfCwAIIPIQAKqQhwCCkjkHx48fN506dTK5ublmwIAB5p577jHGGFNYWGjCw8PNkiVLPNvu3r3bSDJ5eXnGGGNWrlxpQkJCjMvl8myTk5NjHA6HKS0trdP4brfbSDJut/tcpu9XxaXlpv3kFab95BWmuLQ80NMBLCuYzvszkYeNp6K42OzqnGJ2dU4xFcXFgZ4OEDDBet6Th9ZSXFZsui7qav6/9u4+OKryfOP4lddNiOxicEhIIUArJYYAyltccbSWlOgwKIVWbBGjMjoyiRLSoUgVnFJrFCsoFKH2RexUxDJTFKJC04ihjiFgUipvE7VlhIqb1LHZhY0kIXl+f2TYH9Eou+Rsdvfw/czsDHvO2ft5zi7nmty7e87mbcwz/jYyF9Ep2OP+gj7pLS4u1vTp01VQUNBteV1dndrb27stz8nJUXZ2tmpqaiRJNTU1GjNmjDIyMgLbFBYWyufz6dChQz2O19raKp/P1+0GANGAPASALuQhgGiVGOoDNm/erPr6eu3bt+9L6zwej5KTkzVgwIBuyzMyMuTxeALbnBtoZ9efXdeT8vJy/fznPw91qgAQVuQhAHQhDwFEs5A+6T1+/LgWLlyoF198USkpKeGa05csXbpUXq83cDt+/HifjQ0APSEPAaALeQgg2oXU9NbV1ampqUnjx49XYmKiEhMTVV1drTVr1igxMVEZGRlqa2tTc3Nzt8c1NjYqMzNTkpSZmfmlq/WdvX92my9yOBxyOp3dbgAQSeQhAHQhDwFEu5Ca3qlTp+rAgQPav39/4DZx4kTNnTs38O+kpCRVVVUFHtPQ0KBjx47J7XZLktxutw4cOKCmpqbANpWVlXI6ncrNzbVotwAgvMhDAOhCHgKIdiGd09u/f3/l5eV1W5aWlqaBAwcGls+fP19lZWVKT0+X0+nU/fffL7fbrauvvlqSNG3aNOXm5mrevHlauXKlPB6PHn74YRUXF8vhcFi0WwAQXuQhAHQhDwFEu5AvZHU+q1evVnx8vGbPnq3W1lYVFhbq2WefDaxPSEhQRUWFFixYILfbrbS0NBUVFWnFihVWTwUAIoo8BIAu5CGASIozxphITyJUPp9PLpdLXq834udvtLSdUe7ynZKkwysK1S/Z8vcRACi6jvtocjE9L50tLWoYP0GSNKq+TvH9+kV4RkBkXEzHfSh4XqzV0t6i/E35kqTaH9eqXxKZi+gT7HF/Qb/TCwAAAABALKDpBQAAAADYFk0vAAAAAMC2aHoBAAAAALZF0wsAAAAAsC2aXgAAAACAbdH0AgAAAABsi6YXAAAAAGBbNL0AAAAAANui6QUAAAAA2BZNLwAAAADAtmh6AQAAAAC2RdMLAAAAALAtml4AAAAAgG3R9AIAAAAAbIumFwAAAABgWzS9AAAAAADboukFAAAAANgWTS8AAAAAwLZoegEAAAAAtkXTCwAAAACwLZpeAAAAAIBt0fQCAAAAAGyLphcAAAAAYFs0vQAAAAAA26LpBQAAAADYVkhN7/r16zV27Fg5nU45nU653W698cYbgfWnT59WcXGxBg4cqEsuuUSzZ89WY2NjtxrHjh3T9OnT1a9fPw0aNEiLFy/WmTNnrNkbAOgj5CEAdCEPAUS7kJreIUOG6PHHH1ddXZ3effddffe739Utt9yiQ4cOSZIWLVqk7du3a8uWLaqurtaJEyc0a9aswOM7Ojo0ffp0tbW16Z133tELL7ygjRs3avny5dbuFQCEGXkIAF3IQwBRz/TSpZdean73u9+Z5uZmk5SUZLZs2RJYd+TIESPJ1NTUGGOMef311018fLzxeDyBbdavX2+cTqdpbW0Nekyv12skGa/X29vp95q/td0MW1Jhhi2pMP7W9khPB7CtaDruv8rFnofh1uH3m8OjcszhUTmmw++P9HSAiImF4548jH3+Nr/J25hn8jbmGX8bmYvoFOxxf8Hn9HZ0dGjz5s3y+/1yu92qq6tTe3u7CgoKAtvk5OQoOztbNTU1kqSamhqNGTNGGRkZgW0KCwvl8/kC7wb2pLW1VT6fr9sNAKIFeQgAXchDANEo5Kb3wIEDuuSSS+RwOHTfffdp69atys3NlcfjUXJysgYMGNBt+4yMDHk8HkmSx+PpFmhn159d91XKy8vlcrkCt6FDh4Y6bQCwHHkIAF3IQwDRLOSmd9SoUdq/f79qa2u1YMECFRUV6fDhw+GYW8DSpUvl9XoDt+PHj4d1PAAIBnkIAF3IQwDRLDHUByQnJ+vyyy+XJE2YMEH79u3TM888ozlz5qitrU3Nzc3d3s1rbGxUZmamJCkzM1N79+7tVu/s1fvObtMTh8Mhh8MR6lQBIKzIQwDoQh4CiGa9/p3ezs5Otba2asKECUpKSlJVVVVgXUNDg44dOya32y1JcrvdOnDggJqamgLbVFZWyul0Kjc3t7dTAYCIIg8BoAt5CCCahPRJ79KlS3XTTTcpOztbJ0+e1KZNm/TWW29p586dcrlcmj9/vsrKypSeni6n06n7779fbrdbV199tSRp2rRpys3N1bx587Ry5Up5PB49/PDDKi4u5p06ADGFPASALuQhgGgXUtPb1NSkO+64Q5988olcLpfGjh2rnTt36nvf+54kafXq1YqPj9fs2bPV2tqqwsJCPfvss4HHJyQkqKKiQgsWLJDb7VZaWpqKioq0YsUKa/cKAMKMPASALuQhgGgXZ4wxkZ5EqHw+n1wul7xer5xOZ0Tn0tJ2RrnLd0qSDq8oVL/kkE+TBhCEaDruo8nF9Lx0trSoYfwESdKo+jrF9+sX4RkBkXExHfeh4HmxVkt7i/I35UuSan9cq35JZC6iT7DHfa/P6QUAAAAAIFrR9AIAAAAAbIumFwAAAABgWzS9AAAAAADboukFAAAAANgWTS8AAAAAwLZoegEAAAAAtkXTCwAAAACwLZpeAAAAAIBt0fQCAAAAAGyLphcAAAAAYFs0vQAAAAAA26LpBQAAAADYFk0vAAAAAMC2aHoBAAAAALZF0wsAAAAAsC2aXgAAAACAbdH0AgAAAABsi6YXAAAAAGBbNL0AAAAAANui6QUAAAAA2BZNLwAAAADAtmh6AQAAAAC2RdMLAAAAALAtml4AAAAAgG2F1PSWl5dr0qRJ6t+/vwYNGqSZM2eqoaGh2zanT59WcXGxBg4cqEsuuUSzZ89WY2Njt22OHTum6dOnq1+/fho0aJAWL16sM2fO9H5vAKCPkIcA0IU8BBDtQmp6q6urVVxcrD179qiyslLt7e2aNm2a/H5/YJtFixZp+/bt2rJli6qrq3XixAnNmjUrsL6jo0PTp09XW1ub3nnnHb3wwgvauHGjli9fbt1eAUCYkYcA0IU8BBD1TC80NTUZSaa6utoYY0xzc7NJSkoyW7ZsCWxz5MgRI8nU1NQYY4x5/fXXTXx8vPF4PIFt1q9fb5xOp2ltbQ1qXK/XayQZr9fbm+lbwt/aboYtqTDDllQYf2t7pKcD2FY0Hfc9IQ/Dr8PvN4dH5ZjDo3JMh98f6ekAERPtxz15aA/+Nr/J25hn8jbmGX8bmYvoFOxx36tzer1eryQpPT1dklRXV6f29nYVFBQEtsnJyVF2drZqamokSTU1NRozZowyMjIC2xQWFsrn8+nQoUM9jtPa2iqfz9ftBgDRhDwEgC7kIYBoc8FNb2dnp0pLSzVlyhTl5eVJkjwej5KTkzVgwIBu22ZkZMjj8QS2OTfQzq4/u64n5eXlcrlcgdvQoUODnmdL2xkNf/A1DX/wNbW0cV4IAOvFSh52trToSM4VOpJzhTpbWoJ+HAAEK1bysKW9RWNeGKMxL4xRSzt5CNjdBTe9xcXFOnjwoDZv3mzlfHq0dOlSeb3ewO348eNhHxMAgkUeAkAX8hBANEq8kAeVlJSooqJCu3fv1pAhQwLLMzMz1dbWpubm5m7v5jU2NiozMzOwzd69e7vVO3v1vrPbfJHD4ZDD4biQqQJAWJGHANCFPAQQrUL6pNcYo5KSEm3dulVvvvmmRowY0W39hAkTlJSUpKqqqsCyhoYGHTt2TG63W5Lkdrt14MABNTU1BbaprKyU0+lUbm5ub/YFAPoMeQgAXchDANEupE96i4uLtWnTJr366qvq379/4BwLl8ul1NRUuVwuzZ8/X2VlZUpPT5fT6dT9998vt9utq6++WpI0bdo05ebmat68eVq5cqU8Ho8efvhhFRcX824dgJhBHgJAF/IQQLQLqeldv369JOk73/lOt+XPP/+87rzzTknS6tWrFR8fr9mzZ6u1tVWFhYV69tlnA9smJCSooqJCCxYskNvtVlpamoqKirRixYre7QkA9CHyEAC6kIcAol1ITa8x5rzbpKSkaN26dVq3bt1XbjNs2DC9/vrroQwNAFGFPASALuQhgGjXq9/pBQAAAAAgmtH0AgAAAABsi6YXAAAAAGBbNL0AAAAAANui6QUAAAAA2BZNLwAAAADAtmh6AQAAAAC2RdMLAAAAALAtml4AAAAAgG3R9AIAAAAAbIumFwAAAABgWzS9AAAAAADboukFAAAAANgWTS8AAAAAwLZoegEAAAAAtkXTCwAAAACwLZpeAAAAAIBt0fQCAAAAAGyLphcAAAAAYFs0vQAAAAAA26LpBQAAAADYFk0vAAAAAMC2aHoBAAAAALZF0wsAAAAAsC2aXgAAAACAbdH0AgAAAABsK+Smd/fu3ZoxY4aysrIUFxenV155pdt6Y4yWL1+uwYMHKzU1VQUFBfrggw+6bfPZZ59p7ty5cjqdGjBggObPn69Tp071akcAoK+RhwDQhTwEEM1Cbnr9fr/GjRundevW9bh+5cqVWrNmjTZs2KDa2lqlpaWpsLBQp0+fDmwzd+5cHTp0SJWVlaqoqNDu3bt17733XvheAEAEkIcA0IU8BBDVTC9IMlu3bg3c7+zsNJmZmebJJ58MLGtubjYOh8O89NJLxhhjDh8+bCSZffv2BbZ54403TFxcnPn444+DGtfr9RpJxuv1nndbf2u7GbakwgxbUmH8re1B7lnwwl0fQJdQjvtIiIU87PD7zeFROebwqBzT4fcHuWfRI9bnD1iFPOxZSH8ftvlN3sY8k7cxz/jbyJOe8BwhFgR73Ft6Tu/Ro0fl8XhUUFAQWOZyuZSfn6+amhpJUk1NjQYMGKCJEycGtikoKFB8fLxqa2t7rNva2iqfz9ftBgDRjDwEgC7kIYBIs7Tp9Xg8kqSMjIxuyzMyMgLrPB6PBg0a1G19YmKi0tPTA9t8UXl5uVwuV+A2dOhQK6cNAJYjDwGgC3kIINJi4urNS5culdfrDdyOHz8e6SkBQESQhwDQhTwEECxLm97MzExJUmNjY7fljY2NgXWZmZlqamrqtv7MmTP67LPPAtt8kcPhkNPp7HYDgGhGHgJAF/IQQKRZ2vSOGDFCmZmZqqqqCizz+Xyqra2V2+2WJLndbjU3N6uuri6wzZtvvqnOzk7l5+dbOR0AiBjyEAC6kIcAIi0x1AecOnVKH374YeD+0aNHtX//fqWnpys7O1ulpaV69NFHNXLkSI0YMULLli1TVlaWZs6cKUm64oordOONN+qee+7Rhg0b1N7erpKSEt12223KysqybMcAINzIQwDoQh4CiGYhN73vvvuubrjhhsD9srIySVJRUZE2btyon/70p/L7/br33nvV3Nysa6+9Vjt27FBKSkrgMS+++KJKSko0depUxcfHa/bs2VqzZo0FuwMAfYc8BIAu5CGAaBZnjDGRnkSofD6fXC6XvF7vec/faGk7o9zlOyVJh1cUql9yyH1+ROsD6BLKcX8xCeV56WxpUcP4CZKkUfV1iu/Xry+maJlYnz9gFfKwZyH9fdjeovxNXV+brv1xrfolkSdfxHOEWBDscR8TV28GAAAAAOBC0PQCAAAAAGyLphcAAAAAYFs0vQAAAAAA26LpBQAAAADYFk0vAAAAAMC2aHoBAAAAALZF0wsAAAAAsC2aXgAAAACAbdH0AgAAAABsi6YXAAAAAGBbNL0AAAAAANui6QUAAAAA2BZNLwAAAADAtmh6AQAAAAC2RdMLAAAAALAtml4AAAAAgG3R9AIAAAAAbIumFwAAAABgWzS9AAAAAADboukFAAAAANgWTS8AAAAAwLZoegEAAAAAtkXTCwAAAACwLZpeAAAAAIBtRazpXbdunYYPH66UlBTl5+dr7969kZoKAEQcmQgAXchDAFaLSNP78ssvq6ysTI888ojq6+s1btw4FRYWqqmpKRLTAYCIIhMBoAt5CCAcEiMx6KpVq3TPPfforrvukiRt2LBBr732mv7whz/owQcftHQsY0zg3y1tZyyt/cWa4agP2F1qUoLi4uIiPY2I6qtMPDcPOz//3LK6feXcOcfi/IHziUtNJQ8jkIefnyFPenLu88JzhL6WmmhtHvZ509vW1qa6ujotXbo0sCw+Pl4FBQWqqanp8TGtra1qbW0N3Pf5fEGP93l7R+DfEx+tuoAZBy/c9QE7OryiUP2SI/L+W1QINRN7k4fm9OnAvz+Ycu0Fzjg6xPr8gZ6Mqq9TXL9+kZ5GxPRlHp7u+P88/M6fv3NhE76I8Byhr9X+uFb9kqzLwz7/evOnn36qjo4OZWRkdFuekZEhj8fT42PKy8vlcrkCt6FDhwY93sX8xzSA6BdqJvYmD+NTU3s9XwAIl77Mw9RE8hC4mMRER7h06VKVlZUF7vt8vqCDLTUpQYdXFIZragB6KTUpIdJTiCm9ycO41FSNqq8L19QA9FIcb0yFpFd/HyamqvbHteGaGoBesvqNqT5vei+77DIlJCSosbGx2/LGxkZlZmb2+BiHwyGHw3FB48XFxfFpL4CoFWom9jYPL+avTgKIbn2dh1Z+dRJAdOvzrzcnJydrwoQJqqr6//NfOzs7VVVVJbfb3dfTAYCIIhMBoAt5CCBcIvIRaFlZmYqKijRx4kRNnjxZTz/9tPx+f+BKfQBwMSETAaALeQggHCLS9M6ZM0f//e9/tXz5cnk8Hl155ZXasWPHly5cAAAXAzIRALqQhwDCIc6c+0NlMcLn88nlcsnr9crpdEZ6OgD6AMd9z3hegIsPx33PeF6Ai0+wx32fn9MLAAAAAEBficnLGp/9cDqUHyEHENvOHu8x+OWUsCIPgYsPedgz8hC4+ASbhzHZ9J48eVKSQvoRcgD2cPLkSblcrkhPI2qQh8DFizzsjjwELl7ny8OYPKe3s7NTJ06cUP/+/RUXF3fe7c/+WPnx48fDco4H9SM/BvUjP0a46xtjdPLkSWVlZSk+njMzziIPY6t+X4wR6/X7YoxYr08e9ow8tF6s70Os1++LMWK9frB5GJOf9MbHx2vIkCEhP87pdIb1wgbUj/wY1I/8GOGszycaX0Yexmb9vhgj1uv3xRixXJ88/DLyMHxifR9ivX5fjBHL9YPJQ94eBAAAAADYFk0vAAAAAMC2Loqm1+Fw6JFHHpHD4aB+BOr3xRjUj/wYfbEP6L1Y/38Q6/X7YoxYr98XY8R6fVgj1v8fcCzav35fjBHr9YMVkxeyAgAAAAAgGBfFJ70AAAAAgIsTTS8AAAAAwLZoegEAAAAAtkXTCwAAAACwLds3vevWrdPw4cOVkpKi/Px87d2717La5eXlmjRpkvr3769BgwZp5syZamhosKz+uR5//HHFxcWptLTU0roff/yxbr/9dg0cOFCpqakaM2aM3n33XUtqd3R0aNmyZRoxYoRSU1P1rW99S7/4xS/Um2un7d69WzNmzFBWVpbi4uL0yiuvdFtvjNHy5cs1ePBgpaamqqCgQB988IEl9dvb27VkyRKNGTNGaWlpysrK0h133KETJ05YNv9z3XfffYqLi9PTTz9taf0jR47o5ptvlsvlUlpamiZNmqRjx45ZNsapU6dUUlKiIUOGKDU1Vbm5udqwYUPQ9RE+dslDKTyZSB4GXz8W8jDYMXqTieRh7CIPvx55GHx98jC4+pHOQ1s3vS+//LLKysr0yCOPqL6+XuPGjVNhYaGamposqV9dXa3i4mLt2bNHlZWVam9v17Rp0+T3+y2pf9a+ffv0m9/8RmPHjrW07v/+9z9NmTJFSUlJeuONN3T48GE99dRTuvTSSy2p/8QTT2j9+vX69a9/rSNHjuiJJ57QypUrtXbt2guu6ff7NW7cOK1bt67H9StXrtSaNWu0YcMG1dbWKi0tTYWFhTp9+nSv67e0tKi+vl7Lli1TfX29/vKXv6ihoUE333yzZfM/a+vWrdqzZ4+ysrKCrh1M/X/961+69tprlZOTo7feekvvvfeeli1bppSUFMvGKCsr044dO/SnP/1JR44cUWlpqUpKSrRt27aQ9gXWskseSuHJRPIwtPqxkIfBjNHbTCQPYxN5+PXIw9Dqk4fB1Y94Hhobmzx5sikuLg7c7+joMFlZWaa8vDws4zU1NRlJprq62rKaJ0+eNCNHjjSVlZXm+uuvNwsXLrSs9pIlS8y1115rWb0vmj59urn77ru7LZs1a5aZO3euJfUlma1btwbud3Z2mszMTPPkk08GljU3NxuHw2FeeumlXtfvyd69e40k89FHH1lW/z//+Y/5xje+YQ4ePGiGDRtmVq9eHXLtr6o/Z84cc/vtt19QvWDHGD16tFmxYkW3ZePHjzcPPfSQZeMidHbIQ2PCl4nkYWj1exLNefhVY1iZieRh7CAPvx55GFr9npCH0ZeHtv2kt62tTXV1dSooKAgsi4+PV0FBgWpqasIyptfrlSSlp6dbVrO4uFjTp0/vth9W2bZtmyZOnKgf/vCHGjRokK666ir99re/taz+Nddco6qqKr3//vuSpH/+8596++23ddNNN1k2xrmOHj0qj8fT7blyuVzKz88P62seFxenAQMGWFKvs7NT8+bN0+LFizV69GhLap5b+7XXXtO3v/1tFRYWatCgQcrPz//ar9BciGuuuUbbtm3Txx9/LGOMdu3apffff1/Tpk2zdBwEzy55KIUvE8nD3oulPDxbP9yZSB5GH/Lw/MjD3iMPvyzSeWjbpvfTTz9VR0eHMjIyui3PyMiQx+OxfLzOzk6VlpZqypQpysvLs6Tm5s2bVV9fr/LyckvqfdG///1vrV+/XiNHjtTOnTu1YMECPfDAA3rhhRcsqf/ggw/qtttuU05OjpKSknTVVVeptLRUc+fOtaT+F519XfvqNT99+rSWLFmiH/3oR3I6nZbUfOKJJ5SYmKgHHnjAknrnampq0qlTp/T444/rxhtv1F//+ld9//vf16xZs1RdXW3ZOGvXrlVubq6GDBmi5ORk3XjjjVq3bp2uu+46y8ZAaOyQh1J4M5E87J1Yy0OpbzKRPIw+5OH5kYe9Qx72LNJ5mNgno1wEiouLdfDgQb399tuW1Dt+/LgWLlyoysrKkM63DEVnZ6cmTpyoxx57TJJ01VVX6eDBg9qwYYOKiop6Xf/Pf/6zXnzxRW3atEmjR4/W/v37VVpaqqysLEvqR1J7e7tuvfVWGWO0fv16S2rW1dXpmWeeUX19veLi4iypea7Ozk5J0i233KJFixZJkq688kq988472rBhg66//npLxlm7dq327Nmjbdu2adiwYdq9e7eKi4uVlZUVlm8sIPpYnYdS+DORPLxwsZiHUt9kInkI8vDLyMPQkIfWsO0nvZdddpkSEhLU2NjYbXljY6MyMzMtHaukpEQVFRXatWuXhgwZYknNuro6NTU1afz48UpMTFRiYqKqq6u1Zs0aJSYmqqOjo9djDB48WLm5ud2WXXHFFSFdyffrLF68OPBu3pgxYzRv3jwtWrQobJ9cn31dw/2anw20jz76SJWVlZa9i/f3v/9dTU1Nys7ODrzmH330kX7yk59o+PDhva5/2WWXKTExMayv+eeff66f/exnWrVqlWbMmKGxY8eqpKREc+bM0a9+9StLxkDoYj0PpfBnInl4YWI1D6XwZyJ5GJ3Iw/MjDy8MefjVoiEPbdv0Jicna8KECaqqqgos6+zsVFVVldxutyVjGGNUUlKirVu36s0339SIESMsqStJU6dO1YEDB7R///7AbeLEiZo7d67279+vhISEXo8xZcqUL11C//3339ewYcN6XVvquppdfHz3/2IJCQmBd5OsNmLECGVmZnZ7zX0+n2pray17zc8G2gcffKC//e1vGjhwoCV1JWnevHl67733ur3mWVlZWrx4sXbu3Nnr+snJyZo0aVJYX/P29na1t7f36euO84v1PJTCn4nkYehiOQ+l8GcieRidyMPzIw9DRx5+vWjIQ1t/vbmsrExFRUWaOHGiJk+erKefflp+v1933XWXJfWLi4u1adMmvfrqq+rfv3/gvACXy6XU1NRe1e7fv/+Xzv1IS0vTwIEDLTsnZNGiRbrmmmv02GOP6dZbb9XevXv13HPP6bnnnrOk/owZM/TLX/5S2dnZGj16tP7xj39o1apVuvvuuy+45qlTp/Thhx8G7h89elT79+9Xenq6srOzVVpaqkcffVQjR47UiBEjtGzZMmVlZWnmzJm9rj948GD94Ac/UH19vSoqKtTR0RF4zdPT05WcnNzr+X8xJJOSkpSZmalRo0b1ev7Z2dlavHix5syZo+uuu0433HCDduzYoe3bt+utt94Kqn4wY1x//fVavHixUlNTNWzYMFVXV+uPf/yjVq1aFfQYsF4s56EU/kwkD0OrHwt5GMwYvc1E8jA2kYdfjzwMrT55GFz9iOdhn1wjOoLWrl1rsrOzTXJyspk8ebLZs2ePZbUl9Xh7/vnnLRvjXFb/ZJExxmzfvt3k5eUZh8NhcnJyzHPPPWdZbZ/PZxYuXGiys7NNSkqK+eY3v2keeugh09raesE1d+3a1eNzXlRUZIzpuiz9smXLTEZGhnE4HGbq1KmmoaHBkvpHjx79ytd8165dlsz/i0K9JH0w9X//+9+byy+/3KSkpJhx48aZV155Jej6wYzxySefmDvvvNNkZWWZlJQUM2rUKPPUU0+Zzs7OkMaB9eyUh8ZYn4nkYfD1YyEPgx2jN5lIHsYu8vDrkYfB1ycPg6sf6TyMM8aYHnphAAAAAABinm3P6QUAAAAAgKYXAAAAAGBbNL0AAAAAANui6QUAAAAA2BZNLwAAAADAtmh6AQAAAAC2RdMLAAAAALAtml4AAAAAgG3R9AIAAAAAbIumFwAAAABgWzS9AAAAAADboukFAAAAANjW/wHGZkBA/9vzFAAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 1000x800 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# We now need to make 9 waves (3 different freq x 3 different shifts)\n",
"\n",
"bound = [0.0, 1.0]\n",
"\n",
"samplingRate = 100 #Hz\n",
"dt = 1/samplingRate\n",
"\n",
"N = int((bound[1]-bound[0])/dt)\n",
"\n",
"# Make first wave: A1 = 10, f1 = 2, base = 0\n",
"time, wave10 = waveGenerator(10, 1/2, bound, N); freq10, spec10 = fftWrapper(wave10, dt, 1);\n",
"# Shifts up and down by 2\n",
"wave1u = wave10 + 2; freq1u, spec1u = fftWrapper(wave1u, dt, 1);\n",
"wave1d = wave10 -2; freq1d, spec1d = fftWrapper(wave1d, dt, 1);\n",
"\n",
"# Second wave: A2 = 10, f2 = 4, base = 0\n",
"wave20 = waveGenerator(10, 1/4, bound, N, False); freq20, spec20 = fftWrapper(wave20, dt, 1);\n",
"wave2u = wave20 + 2; freq2u, spec2u = fftWrapper(wave2u, dt, 1);\n",
"wave2d = wave20 - 2; freq2d, spec2d = fftWrapper(wave2d, dt, 1);\n",
"\n",
"# Third wave: A3 = 10, f3 = 6, base = 0\n",
"wave30 = waveGenerator(10, 1/6, bound, N, False); freq30, spec30 = fftWrapper(wave30, dt, 1);\n",
"wave3u = wave30 + 2; freq3u, spec3u = fftWrapper(wave3u, dt, 1);\n",
"wave3d = wave30 - 2; freq3d, spec3d = fftWrapper(wave3d, dt, 1);\n",
"\n",
"# Now plots 'em!\n",
"\n",
"fig, ((ax1, ax2, ax3), (ax4, ax5, ax6), (ax7, ax8, ax9)) = plt.subplots(3,3, figsize=(10,8))\n",
"fig.tight_layout(pad=2.0)\n",
"\n",
"ax1.stem(freq10[:20], spec10[:20], basefmt='tab:blue', markerfmt='none', linefmt='tab:blue')\n",
"ax1.set_xticks(freq10[:20:2]); ax[0].set_xlim([0,np.amax(freq10[:20])])\n",
"ax1.set_title(\"Wave 1, base = 0\")\n",
"\n",
"ax2.stem(freq20[:20], spec20[:20], basefmt='tab:red', markerfmt='none', linefmt='tab:red')\n",
"ax2.set_xticks(freq20[:20:2]); ax[0].set_xlim([0,np.amax(freq20[:20])])\n",
"ax2.set_title(\"Wave 2, base = 0\")\n",
"\n",
"ax3.stem(freq30[:20], spec30[:20], basefmt='tab:green', markerfmt='none', linefmt='tab:green')\n",
"ax3.set_xticks(freq30[:20:2]); ax[0].set_xlim([0,np.amax(freq30[:20])])\n",
"ax3.set_title(\"Wave 3, base = 0\")\n",
"\n",
"ax4.stem(freq1u[:20], spec1u[:20], basefmt='tab:blue', markerfmt='none', linefmt='tab:blue')\n",
"ax4.set_xticks(freq1u[:20:2]); ax[0].set_xlim([0,np.amax(freq1u[:20])])\n",
"ax4.set_title(\"Wave 1, base = +2\")\n",
"\n",
"ax5.stem(freq2u[:20], spec2u[:20], basefmt='tab:red', markerfmt='none', linefmt='tab:red')\n",
"ax5.set_xticks(freq2u[:20:2]); ax[0].set_xlim([0,np.amax(freq2u[:20])])\n",
"ax5.set_title(\"Wave 2, base = +2\")\n",
"\n",
"ax6.stem(freq3u[:20], spec3u[:20], basefmt='tab:green', markerfmt='none', linefmt='tab:green')\n",
"ax6.set_xticks(freq3u[:20:2]); ax[0].set_xlim([0,np.amax(freq3u[:20])])\n",
"ax6.set_title(\"Wave 3, base = +2\")\n",
"\n",
"ax7.stem(freq1d[:20], spec1d[:20], basefmt='tab:blue', markerfmt='none', linefmt='tab:blue')\n",
"ax7.set_xticks(freq1d[:20:2]); ax[0].set_xlim([0,np.amax(freq1d[:20])])\n",
"ax7.set_title(\"Wave 1, base = -2\")\n",
"\n",
"ax8.stem(freq2d[:20], spec2d[:20], basefmt='tab:red', markerfmt='none', linefmt='tab:red')\n",
"ax8.set_xticks(freq2d[:20:2]); ax[0].set_xlim([0,np.amax(freq2d[:20])])\n",
"ax8.set_title(\"Wave 2, base = -2\")\n",
"\n",
"ax9.stem(freq3d[:20], spec3d[:20], basefmt='tab:green', markerfmt='none', linefmt='tab:green')\n",
"ax9.set_xticks(freq3d[:20:2]); ax[0].set_xlim([0,np.amax(freq3d[:20])])\n",
"ax9.set_title(\"Wave 3, base = -2\")"
]
},
{
"cell_type": "markdown",
"id": "aad53cd6-8470-4f50-95b3-3641ead5918a",
"metadata": {},
"source": [
"# BONUS: What if the phase of superpositions are different?"
]
},
{
"cell_type": "code",
"execution_count": 368,
"id": "bddac165-635d-4d25-8536-c1ca64dc548c",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T13:28:40.804750Z",
"iopub.status.busy": "2024-03-04T13:28:40.804272Z",
"iopub.status.idle": "2024-03-04T13:28:40.810275Z",
"shell.execute_reply": "2024-03-04T13:28:40.809468Z",
"shell.execute_reply.started": "2024-03-04T13:28:40.804735Z"
}
},
"outputs": [],
"source": [
"bound = [0.0, 1.0]\n",
"\n",
"samplingRate = 2000 #Hz\n",
"dt = 1/samplingRate\n",
"\n",
"N = int((bound[1]-bound[0])/dt)\n",
"\n",
"time, wavePhase1 = waveGenerator(1, 1/2, bound, N)\n",
"wavePhase2 = 0.7*waveGenerator(1, 1/4, bound, N, False, np.pi/3)"
]
},
{
"cell_type": "code",
"execution_count": 369,
"id": "d41718a1-8069-42de-8269-901723df7b6a",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T13:28:42.316492Z",
"iopub.status.busy": "2024-03-04T13:28:42.316206Z",
"iopub.status.idle": "2024-03-04T13:28:42.427589Z",
"shell.execute_reply": "2024-03-04T13:28:42.426822Z",
"shell.execute_reply.started": "2024-03-04T13:28:42.316465Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbd18b56a40>]"
]
},
"execution_count": 369,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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P/jgA8XhcCj33Xef8umnnyo/+tGPlJSUFGXr1q0xljy+iPR7vuqqq5SHHnpI2bRpk7Jjxw7la1/7mpKTk6McOXIkxpLHF5F+zxoHDhxQysvLlXPOOUe57LLLYiNsHBPp9+zxeJS5c+cql1xyifL+++8rBw4cUFavXq1s3rw5xpLHF5F+z0899ZTidruVp556Sjlw4IDyxhtvKKWlpcp3vvOdGEseX7z++uvKD3/4Q+WFF15QAOXFF18ccP/9+/cr6enpyq233qp8+umnyoMPPqg4HA5lxYoVhsopCk6EzJs3T7n55puDf/t8PqWsrEy59957+9z/8ssvVy699NJer82fP1/593//d0PljHci/Z5Pxuv1KllZWcqTTz5plIgJQTTfs9frVc466yzl0UcfVb761a+KgjMIIv2ef/e73ymVlZVKd3d3rERMCCL9nm+++WblM5/5TK/Xbr31VuXss882VM5EYjAKzm233aZMmTKl12tXXHGFsnjxYgMlUxRZooqA7u5uNmzYwKJFi4Kv2e12Fi1axJo1a/p8z5o1a3rtD7B48eJ+9xei+55PpqOjg56eHvLz840SM+6J9nu+++67KSoq4vrrr4+FmHFPNN/zyy+/zIIFC7j55pspLi5m6tSp/OxnP8Pn88VK7Lgjmu/5rLPOYsOGDcFlrP379/P6669zySWXxETmZMGs+2BSNtuMlvr6enw+H8XFxb1eLy4uZufOnX2+p6amps/9a2pqDJMz3onmez6Z73//+5SVlZ1yUQkhovme33//fR577DE2b94cAwkTg2i+5/379/PWW29x9dVX8/rrr7N3716++c1v0tPTw1133RULseOOaL7nq666ivr6ehYuXIiiKHi9Xr7xjW/wgx/8IBYiJw393QdbWlro7OwkLS3NkPOKB0dIOH7+85/zzDPP8OKLL5Kammq2OAlDa2sr1157LY888ggFBQVmi5PQ+P1+ioqK+MMf/sCcOXO44oor+OEPf8jDDz9stmgJxerVq/nZz37Gb3/7WzZu3MgLL7zAa6+9xj333GO2aIIOiAcnAgoKCnA4HNTW1vZ6vba2lpKSkj7fU1JSEtH+QnTfs8b999/Pz3/+c/75z38yffp0I8WMeyL9nvft28fBgwf53Oc+F3zN7/cD4HQ62bVrF2PGjDFW6Dgkmt9zaWkpKSkpOByO4GuTJk2ipqaG7u5uXC6XoTLHI9F8z3fccQfXXnstX//61wGYNm0a7e3t3Hjjjfzwhz/EbhcfgB70dx/Mzs42zHsD4sGJCJfLxZw5c1i1alXwNb/fz6pVq1iwYEGf71mwYEGv/QFWrlzZ7/5CdN8zwH333cc999zDihUrmDt3bixEjWsi/Z4nTpzI1q1b2bx5c/Dx+c9/ngsuuIDNmzdTUVERS/Hjhmh+z2effTZ79+4NKpAAu3fvprS0VJSbfojme+7o6DhFidGUSkXaNOqGafdBQ0OYE5BnnnlGcbvdyhNPPKF8+umnyo033qjk5uYqNTU1iqIoyrXXXqvcfvvtwf0/+OADxel0Kvfff7+yY8cO5a677pI08UEQ6ff885//XHG5XMrf/vY35dixY8FHa2urWR8hLoj0ez4ZyaIaHJF+z4cPH1aysrKUW265Rdm1a5fy6quvKkVFRcpPfvITsz5CXBDp93zXXXcpWVlZytNPP63s379fefPNN5UxY8Yol19+uVkfIS5obW1VNm3apGzatEkBlAceeEDZtGmTcujQIUVRFOX2229Xrr322uD+Wpr49773PWXHjh3KQw89JGniVuXBBx9URowYobhcLmXevHnKRx99FPzfeeedp3z1q1/ttf9zzz2njB8/XnG5XMqUKVOU1157LcYSxyeRfM8jR45UgFMed911V+wFjzMi/T2HIwrO4In0e/7www+V+fPnK263W6msrFR++tOfKl6vN8ZSxx+RfM89PT3Kf//3fytjxoxRUlNTlYqKCuWb3/ymcuLEidgLHke8/fbbfc632nf71a9+VTnvvPNOec/MmTMVl8ulVFZWKn/84x8Nl9OmKOKHEwRBEAQhsZAYHEEQBEEQEg5RcARBEARBSDhEwREEQRAEIeEQBUcQBEEQhIRDFBxBEARBEBIOUXAEQRAEQUg4RMERBEEQBCHhEAVHEARBEISEQxQcQRAEQRASDlFwBEEQBEFIOETBEQRBEAQh4RAFRxAEQRCEhOP/A/t8fyshMBDTAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(time, wavePhase2)\n",
"plt.plot(time, wavePhase1)"
]
},
{
"cell_type": "code",
"execution_count": 370,
"id": "1698d4ca-edaa-442f-8db4-d45d59a4c478",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T13:28:43.970905Z",
"iopub.status.busy": "2024-03-04T13:28:43.970406Z",
"iopub.status.idle": "2024-03-04T13:28:44.064352Z",
"shell.execute_reply": "2024-03-04T13:28:44.063563Z",
"shell.execute_reply.started": "2024-03-04T13:28:43.970889Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbd18bde500>]"
]
},
"execution_count": 370,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Then combine both:\n",
"\n",
"wavePhaseCombined = wavePhase1 + wavePhase2\n",
"\n",
"plt.plot(time, wavePhaseCombined)"
]
},
{
"cell_type": "code",
"execution_count": 371,
"id": "729e6272-ec16-4c3a-afc1-00b760637c15",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T13:28:45.797822Z",
"iopub.status.busy": "2024-03-04T13:28:45.797274Z",
"iopub.status.idle": "2024-03-04T13:28:45.896294Z",
"shell.execute_reply": "2024-03-04T13:28:45.895476Z",
"shell.execute_reply.started": "2024-03-04T13:28:45.797808Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<StemContainer object of 3 artists>"
]
},
"execution_count": 371,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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53zdt29fdevWTS+99JKmT59e39O8ZIMHD3b+fMMNNyg1NVXJycl66623Luq/amy2aNEiDR48WImJibWOsXVd8aPKykrdd999MsZowYIF5x1r870wYsQI5889evTQDTfcoGuuuUYbN27UgAEDGnBm9Wvx4sXKyMi44AfrbV7bS8ETmLO0a9dOzZo1U0lJScj2kpISeb3eGo/xer11Gt8YZWVlafXq1froo4/UoUOHOh3bvHlz3Xjjjfryyy/raXb1Iz4+Xtdee22t824K6ypJBw8e1Pr16/X73/++TsfZuq5n1qcua3cp931jciZeDh48qLy8vPM+fanJhe6Fxuzqq69Wu3btap277WsrSf/85z9VXFxc53tYsnttLwYBc5aoqCj17t1b+fn5zrbq6mrl5+eH/Nfp2Xw+X8h4ScrLy6t1fGNijFFWVpZWrlypDRs2KCUlpc7nqKqq0u7du9W+fft6mGH9OX78uL766qta523zup5tyZIlSkhI0JAhQ+p0nK3rmpKSIq/XG7J2wWBQhYWFta7dpdz3jcWZeNm/f7/Wr1+vtm3b1vkcF7oXGrOvv/5a33//fa1zt3ltz1i0aJF69+6tnj171vlYm9f2ojT0p4gbmzfeeMNER0ebpUuXmr1795oxY8aY+Ph44/f7jTHGPPjgg2bixInO+E8++cRERkaa2bNnm3379pmpU6ea5s2bm927dzfUJVy0sWPHGrfbbTZu3Gi+/fZb53Xy5ElnzLnX+8wzz5h169aZr776yhQVFZkRI0aYmJgYs2fPnoa4hIv2pz/9yWzcuNEcOHDAfPLJJyYtLc20a9fOlJaWGmOa1rqeUVVVZTp27GgmTJjwk302r+uxY8fMzp07zc6dO40kM2fOHLNz507nJ2+ef/55Ex8fb9555x3z2WefmaFDh5qUlBTz3//+1zlH//79zfz5852vL3TfN5TzXWtFRYW5++67TYcOHcyuXbtC7uHy8nLnHOde64XuhYZ0vus9duyY+fOf/2wKCgrMgQMHzPr1681NN91kOnfubE6dOuWcoyms7RmBQMC0aNHCLFiwoMZz2LS29YGAqcH8+fNNx44dTVRUlLnlllvM1q1bnX3/8z//Y0aOHBky/q233jLXXnutiYqKMtddd51Zs2bNZZ7xpZFU42vJkiXOmHOvd9y4cc4/G4/HY+68806zY8eOyz/5Orr//vtN+/btTVRUlPnlL39p7r//fvPll186+5vSup6xbt06I8kUFxf/ZJ/N6/rRRx/V+O/tmeuprq42U6ZMMR6Px0RHR5sBAwb85J9BcnKymTp1asi28933DeV813rgwIFa7+GPPvrIOce513qhe6Ehne96T548aQYOHGh+8YtfmObNm5vk5GQzevTon4RIU1jbM1566SUTGxtrysrKajyHTWtbH1zGGFOvj3gAAADCjM/AAAAA6xAwAADAOgQMAACwDgEDAACsQ8AAAADrEDAAAMA6BAwAALAOAQMAAKxDwAAAAOsQMAAAwDoEDAAAsA4BAwAArPO/tbxOFhKlmBoAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"freqPhase1, specPhase1 = fftWrapper(wavePhase1, dt, 1)\n",
"freqComb, specComb = fftWrapper(wavePhaseCombined, dt, 1)\n",
"\n",
"plt.stem(freqComb[:20], specComb[:20], basefmt='tab:blue', markerfmt='none', linefmt='tab:blue')\n",
"#plt.stem(freqPhase1[:20], specPhase1[:20], basefmt='tab:red', markerfmt='none', linefmt='tab:red')"
]
},
{
"cell_type": "code",
"execution_count": 372,
"id": "2e2d7270-9103-4d9a-a727-a6afd46bcb5e",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T13:28:47.884395Z",
"iopub.status.busy": "2024-03-04T13:28:47.884132Z",
"iopub.status.idle": "2024-03-04T13:28:47.893351Z",
"shell.execute_reply": "2024-03-04T13:28:47.892544Z",
"shell.execute_reply.started": "2024-03-04T13:28:47.884381Z"
}
},
"outputs": [],
"source": [
"# The phase-angle of both fft are:\n",
"\n",
"freqPhase1, specPhase1 = fftWrapper(wavePhase1, dt, 1, False)\n",
"freqComb, specComb = fftWrapper(wavePhaseCombined, dt, 1, False)\n",
"\n",
"phase1 = [ np.angle(x, True) if np.abs(x) > 1e-3 else 0 for x in specPhase1 ]\n",
"phaseComb = [ np.angle(x, True) if np.abs(x) > 1e-3 else 0 for x in specComb ]"
]
},
{
"cell_type": "code",
"execution_count": 374,
"id": "bf6f26b0-8c34-4249-8685-dc45064f232e",
"metadata": {
"execution": {
"iopub.execute_input": "2024-03-04T13:28:52.403291Z",
"iopub.status.busy": "2024-03-04T13:28:52.402937Z",
"iopub.status.idle": "2024-03-04T13:28:52.490892Z",
"shell.execute_reply": "2024-03-04T13:28:52.490114Z",
"shell.execute_reply.started": "2024-03-04T13:28:52.403276Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<StemContainer object of 3 artists>"
]
},
"execution_count": 374,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAGdCAYAAAA8F1jjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAdD0lEQVR4nO3df5BX9X3v8dfu6i6QslsUlsXLomA7JvhbEC5qzI9awEGnzGTs9MYfkDimcUiqxbFZqpVookRNrQkYlExjbDWtTZ1eK60/CHSMNuRitZigAeuNqQywoFe7S7Auwn7vH5ZtNoJCZPl+dvfxmPnOcM73fA/vk4PZ55zv+X63plKpVAIAUKDaag8AALAvQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiHVbtAd6v7u7ubN68OcOHD09NTU21xwEA9kOlUsn27dtz1FFHpbZ239dN+n2obN68Oa2trdUeAwD4FWzcuDFjx47d5/P9PlSGDx+e5O0DbWxsrPI0AMD+6OzsTGtra8/P8X3p96Gy5+2exsZGoQIA/cx73bbhZloAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGL1+y986yu7uytZ89Jr2bb9zTQPH5Ip449IXW3/+11CA+U4BgrnoywD5Xw4jrI4joOriFC54447cuutt6a9vT0nn3xyFi9enClTplRtnkfWbcn1Dz2fLR1v9qwb0zQkC8+fmJknjKnaXAdqoBzHQOF8lGWgnA/HURbHcfDVVCqVyiH9G3/J/fffn0suuSR33nlnpk6dmttvvz3f/e53s2HDhjQ3N7/n6zs7O9PU1JSOjo6D8hX6j6zbksvvfSa//D/KnoZcetFp/eIf20A5joHC+SjLQDkfjqMsjuPA7O/P76qHytSpU3P66adnyZIlSZLu7u60trbm85//fNra2t7z9QczVHZ3V3LWzaveLshKJQ27d/Z6vibJ6MYh+d78jxR9GW93dyXn3PZ42jvf3Ovz/eU4BgrnoywD5Xw4jrIM9OPoqqtPampSk6SlaUie/MLH3/dx9ItQ2blzZ4YNG5a//du/zezZs3vWz5kzJ//xH/+RBx988B2v6erqSldXV8/ynt++eDBCZfX//X/5X9/8YZKkYVdX/vfya97X/gBgIJh93o3pOqyhZ/mvLvufmXbske9rn/sbKlX91M+rr76a3bt3Z/To0b3Wjx49Ou3t7Xt9zaJFi9LU1NTzaG1tPWjzbNu+9xIGAP7bofx5WcTNtAdiwYIFmT9/fs/ynisqB0Pz8CE9f+6qq8/s827c63bf/tSUTB1/xEH5O/vC/3nptcy9e817blf6cfyiN3buyqQvfy9J8vS152RYff/5p+t8lGWgnA/HUZaBfhxddfW9ln/x52Vfq+r/u4wcOTJ1dXXZunVrr/Vbt25NS0vLXl/T0NCQhoaGvT73fk0Zf0TGNA1Je8ebqdTU9LrMlaTnvbkpH/ofqS34PcYpHxqaI45sevs49vJ8fzmOX1R72K6e81E7bFhq+9EPRuejLAPlfDiOsgy64ziEsVXVt37q6+szadKkrFy5smddd3d3Vq5cmWnTph3yeepqa7Lw/IlJ/vvu5j32LC88f2LRN0IlA+c4BgrnoywD5Xw4jrI4jr5T9W+mnT9/fr75zW/mnnvuyU9+8pNcfvnl2bFjRz71qU9VZZ6ZJ4zJ0otOS0tT78taLU1D+s1Hy5KBcxwDhfNRloFyPhxHWRxH36j6x5OTZMmSJT1f+HbKKafk61//eqZOnbpfrz3Y36OyRynfyPd+DZTjeGPnrky87tEkyfM3zOhX90T8IuejLAPlfDiOsjiO/dMvPp58MPRVqFCWgfKDcaBwPoD3q198PBkA4N0IFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAitVnofKzn/0sl156acaPH5+hQ4fm2GOPzcKFC7Nz585e2/3oRz/Khz/84QwZMiStra255ZZb+mokAKCfOayvdrx+/fp0d3fnrrvuym/8xm9k3bp1ueyyy7Jjx4589atfTZJ0dnZm+vTpOeecc3LnnXfmxz/+cT796U/n13/91/OZz3ymr0YDAPqJPguVmTNnZubMmT3LEyZMyIYNG7J06dKeULnvvvuyc+fOfOtb30p9fX2OP/74rF27NrfddptQAQAO7T0qHR0dOeKII3qWV69enbPPPjv19fU962bMmJENGzbk9ddf3+s+urq60tnZ2esBAAxMhyxUXnzxxSxevDi///u/37Ouvb09o0eP7rXdnuX29va97mfRokVpamrqebS2tvbd0ABAVR1wqLS1taWmpuZdH+vXr+/1mk2bNmXmzJm54IILctlll72vgRcsWJCOjo6ex8aNG9/X/gCAch3wPSpXXXVV5s6d+67bTJgwoefPmzdvzsc+9rGcccYZWbZsWa/tWlpasnXr1l7r9iy3tLTsdd8NDQ1paGg40LEBgH7ogENl1KhRGTVq1H5tu2nTpnzsYx/LpEmTcvfdd6e2tvcFnGnTpuWaa67JW2+9lcMPPzxJsmLFihx33HEZMWLEgY4GAAwwfXaPyqZNm/LRj34048aNy1e/+tW88soraW9v73XvySc/+cnU19fn0ksvzXPPPZf7778/X/va1zJ//vy+GgsA6Ef67OPJK1asyIsvvpgXX3wxY8eO7fVcpVJJkjQ1NeWxxx7LvHnzMmnSpIwcOTLXXXedjyYDAEn6MFTmzp37nveyJMlJJ52UJ554oq/GAAD6Mb/rBwAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABDtju7krPn9e89FqvZYCDSagAB+SRdVtyzm2P9yzPvfupnHXzqjyybksVpwIGKqEC7LdH1m3J5fc+k62dXb3Wt3e8mcvvfUasAAedUAH2y+7uSq5/6Pns7U2ePeuuf+h5bwMBB5VQAfbLmpdey5aON/f5fCXJlo43s+al1w7dUMCAJ1SA/bJt+74j5VfZDmB/CBVgvzQPH3JQtwPYH0IF2C9Txh+RMU1DUrOP52uSjGkakinjjziUYwEDnFAB9ktdbU0Wnj8xSd4RK3uWF54/MXW1+0oZgAMnVID9NvOEMVl60Wlpaer99k5L05Asvei0zDxhTJUmAwaqw6o9ANC/zDxhTH57YkvWvPRatm1/M83D3367x5UUoC8IFeCA1dXWZNqxR1Z7DGAQ8NYPAFAsoQIAFEuoAADFEioAQLGECgBQLKECABRLqAAAxRIqAECxhAoAUCyhAgAUS6gAAMUSKgBAsYQKAFAsoQIAFEuoAADFEioAQLGECgBQLKECABRLqAAAxRIqAECxhAoAUCyhAgAUS6gAAMUSKgBAsYQKAFAsoQIAFEuoAADFOiSh0tXVlVNOOSU1NTVZu3Ztr+d+9KMf5cMf/nCGDBmS1tbW3HLLLYdiJACgHzgkofJHf/RHOeqoo96xvrOzM9OnT8/RRx+dp59+Orfeemu++MUvZtmyZYdiLACgcIf19V/w8MMP57HHHssDDzyQhx9+uNdz9913X3bu3Jlvfetbqa+vz/HHH5+1a9fmtttuy2c+85m+Hg0AKFyfXlHZunVrLrvssvzlX/5lhg0b9o7nV69enbPPPjv19fU962bMmJENGzbk9ddf3+s+u7q60tnZ2esBAAxMfRYqlUolc+fOzWc/+9lMnjx5r9u0t7dn9OjRvdbtWW5vb9/raxYtWpSmpqaeR2tr68EdHAAoxgGHSltbW2pqat71sX79+ixevDjbt2/PggULDurACxYsSEdHR89j48aNB3X/AEA5Dvgelauuuipz5859120mTJiQVatWZfXq1WloaOj13OTJk3PhhRfmnnvuSUtLS7Zu3drr+T3LLS0te913Q0PDO/YJAAxMBxwqo0aNyqhRo95zu69//ev58pe/3LO8efPmzJgxI/fff3+mTp2aJJk2bVquueaavPXWWzn88MOTJCtWrMhxxx2XESNGHOhoAMAA02ef+hk3blyv5V/7tV9Lkhx77LEZO3ZskuSTn/xkrr/++lx66aX5whe+kHXr1uVrX/ta/uzP/qyvxgIA+pE+/3jyu2lqaspjjz2WefPmZdKkSRk5cmSuu+46H00GAJIcwlA55phjUqlU3rH+pJNOyhNPPHGoxgAA+hG/6wcAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGL1aaj8wz/8Q6ZOnZqhQ4dmxIgRmT17dq/nX3755cyaNSvDhg1Lc3Nzrr766uzatasvRwIA+pHD+mrHDzzwQC677LLcdNNN+fjHP55du3Zl3bp1Pc/v3r07s2bNSktLS37wgx9ky5YtueSSS3L44Yfnpptu6quxAIB+pKZSqVQO9k537dqVY445Jtdff30uvfTSvW7z8MMP57zzzsvmzZszevToJMmdd96ZL3zhC3nllVdSX1+/X39XZ2dnmpqa0tHRkcbGxoN2DJTljZ27MvG6R5Mkz98wI8Pq+6yxATgE9vfnd5+89fPMM89k06ZNqa2tzamnnpoxY8bk3HPP7XVFZfXq1TnxxBN7IiVJZsyYkc7Ozjz33HP73HdXV1c6Ozt7PQCAgalPQuWnP/1pkuSLX/xirr322ixfvjwjRozIRz/60bz22mtJkvb29l6RkqRnub29fZ/7XrRoUZqamnoera2tfXEIAEABDihU2traUlNT866P9evXp7u7O0lyzTXX5BOf+EQmTZqUu+++OzU1Nfnud7/7vgZesGBBOjo6eh4bN258X/sDAMp1QG/0X3XVVZk7d+67bjNhwoRs2bIlSTJx4sSe9Q0NDZkwYUJefvnlJElLS0vWrFnT67Vbt27teW5fGhoa0tDQcCBjAwD91AGFyqhRozJq1Kj33G7SpElpaGjIhg0bctZZZyVJ3nrrrfzsZz/L0UcfnSSZNm1abrzxxmzbti3Nzc1JkhUrVqSxsbFX4AAAg1effHSisbExn/3sZ7Nw4cK0trbm6KOPzq233pokueCCC5Ik06dPz8SJE3PxxRfnlltuSXt7e6699trMmzfPFRMAIEkffo/KrbfemsMOOywXX3xx/vM//zNTp07NqlWrMmLEiCRJXV1dli9fnssvvzzTpk3LBz7wgcyZMyc33HBDX40EAPQzffI9KoeS71EZHHyPCsDAUtXvUQEAOBiECgBQLKECABRLqAAAxRIqAECxhAoAUCyhAgAUS6gAAMUSKgBAsYQKAFAsoQIAFEuoAADFEioAQLGECgBQLKECABRLqAAAxRIqAECxhAoAUCyhAgAUS6gAAMUSKgBAsYQKAFAsoQIAFEuoAADFEioAQLGECgBQLKECABRLqAAAxRIqAECxhAoAUCyhAgAUS6gAAMUSKgBAsYQKAFAsoQIAFEuoAADFEioAQLGECgBQLKECABRLqAAAxRIqAECxhAoAUCyhAgAUS6gAAMUSKgBAsYQKAFAsoQIAFEuoAADFEioAQLGECgBQLKECABRLqAAAxRIqAECxhAoAUCyhAgAUS6gAAMUSKgBAsYQKAFAsoQIAFEuoAADFEioAQLGECgBQLKECABRLqAAAxeqzUHnhhRfyO7/zOxk5cmQaGxtz1lln5Z/+6Z96bfPyyy9n1qxZGTZsWJqbm3P11Vdn165dfTUSANDP9FmonHfeedm1a1dWrVqVp59+OieffHLOO++8tLe3J0l2796dWbNmZefOnfnBD36Qe+65J9/+9rdz3XXX9dVIAEA/0yeh8uqrr+bf/u3f0tbWlpNOOim/+Zu/ma985St54403sm7duiTJY489lueffz733ntvTjnllJx77rn50pe+lDvuuCM7d+7si7EAgH6mT0LlyCOPzHHHHZe/+Iu/yI4dO7Jr167cddddaW5uzqRJk5Ikq1evzoknnpjRo0f3vG7GjBnp7OzMc889t899d3V1pbOzs9cDABiYDuuLndbU1OR73/teZs+eneHDh6e2tjbNzc155JFHMmLEiCRJe3t7r0hJ0rO85+2hvVm0aFGuv/76vhgbACjMAV1RaWtrS01Nzbs+1q9fn0qlknnz5qW5uTlPPPFE1qxZk9mzZ+f888/Pli1b3tfACxYsSEdHR89j48aN72t/AEC5DuiKylVXXZW5c+e+6zYTJkzIqlWrsnz58rz++utpbGxMknzjG9/IihUrcs8996StrS0tLS1Zs2ZNr9du3bo1SdLS0rLP/Tc0NKShoeFAxgYA+qkDCpVRo0Zl1KhR77ndG2+8kSSpre19waa2tjbd3d1JkmnTpuXGG2/Mtm3b0tzcnCRZsWJFGhsbM3HixAMZCwAYoPrkZtpp06ZlxIgRmTNnTp599tm88MILufrqq/PSSy9l1qxZSZLp06dn4sSJufjii/Pss8/m0UcfzbXXXpt58+a5YgIAJOmjUBk5cmQeeeSR/PznP8/HP/7xTJ48OU8++WQefPDBnHzyyUmSurq6LF++PHV1dZk2bVouuuiiXHLJJbnhhhv6YiQAoB/qk0/9JMnkyZPz6KOPvus2Rx99dP7xH/+xr0YAAPo5v+sHACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCKJVQAgGIJFQCgWEIFACiWUKFf2N1d6fnzmpde67UMwMAlVCjeI+u25JzbHu9Znnv3Uznr5lV5ZN2WKk4FwKEgVCjaI+u25PJ7n8nWzq5e69s73szl9z4jVgAGOKFCsXZ3V3L9Q89nb2/y7Fl3/UPPexsIYAATKhRrzUuvZUvHm/t8vpJkS8ebWfPSa4duKAAOKaFCsbZt33ek/CrbAdD/CBWK1Tx8yEHdDoD+R6hQrCnjj8iYpiGp2cfzNUnGNA3JlPFHHMqxADiEhArFqqutycLzJybJO2Jlz/LC8yemrnZfKQNAfydUKNrME8Zk6UWnpaWp99s7LU1DsvSi0zLzhDFVmgyAQ+Gwag8A72XmCWPy2xNbsual17Jt+5tpHv722z2upAAMfEKFfqGutibTjj2y2mMAcIh56wcAKJZQAQCKJVQAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAoVr//ZtpKpZIk6ezsrPIkAMD+2vNze8/P8X3p96Gyffv2JElra2uVJwEADtT27dvT1NS0z+drKu+VMoXr7u7O5s2bM3z48NTUHNxfUtfZ2ZnW1tZs3LgxjY2NB3XfHDjnoyzOR1mcj7I4H++tUqlk+/btOeqoo1Jbu+87Ufr9FZXa2tqMHTu2T/+OxsZG/9AK4nyUxfkoi/NRFufj3b3blZQ93EwLABRLqAAAxRIq76KhoSELFy5MQ0NDtUchzkdpnI+yOB9lcT4Onn5/My0AMHC5ogIAFEuoAADFEioAQLGECgBQLKGyD3fccUeOOeaYDBkyJFOnTs2aNWuqPdKgtGjRopx++ukZPnx4mpubM3v27GzYsKHaY/FfvvKVr6SmpiZXXnlltUcZ1DZt2pSLLrooRx55ZIYOHZoTTzwx//Iv/1LtsQal3bt350/+5E8yfvz4DB06NMcee2y+9KUvvefvs2HfhMpe3H///Zk/f34WLlyYZ555JieffHJmzJiRbdu2VXu0Qefxxx/PvHnz8sMf/jArVqzIW2+9lenTp2fHjh3VHm3Qe+qpp3LXXXflpJNOqvYog9rrr7+eM888M4cffngefvjhPP/88/nTP/3TjBgxotqjDUo333xzli5dmiVLluQnP/lJbr755txyyy1ZvHhxtUfrt3w8eS+mTp2a008/PUuWLEny9u8Tam1tzec///m0tbVVebrB7ZVXXklzc3Mef/zxnH322dUeZ9D6+c9/ntNOOy3f+MY38uUvfzmnnHJKbr/99mqPNSi1tbXln//5n/PEE09UexSSnHfeeRk9enT+/M//vGfdJz7xiQwdOjT33ntvFSfrv1xR+SU7d+7M008/nXPOOadnXW1tbc4555ysXr26ipORJB0dHUmSI444osqTDG7z5s3LrFmzev13QnX8/d//fSZPnpwLLrggzc3NOfXUU/PNb36z2mMNWmeccUZWrlyZF154IUny7LPP5sknn8y5555b5cn6r37/SwkPtldffTW7d+/O6NGje60fPXp01q9fX6WpSN6+snXllVfmzDPPzAknnFDtcQatv/7rv84zzzyTp556qtqjkOSnP/1pli5dmvnz5+eP//iP89RTT+UP/uAPUl9fnzlz5lR7vEGnra0tnZ2d+eAHP5i6urrs3r07N954Yy688MJqj9ZvCRX6jXnz5mXdunV58sknqz3KoLVx48ZcccUVWbFiRYYMGVLtccjbAT958uTcdNNNSZJTTz0169aty5133ilUquBv/uZvct999+U73/lOjj/++KxduzZXXnlljjrqKOfjVyRUfsnIkSNTV1eXrVu39lq/devWtLS0VGkqPve5z2X58uX5/ve/n7Fjx1Z7nEHr6aefzrZt23Laaaf1rNu9e3e+//3vZ8mSJenq6kpdXV0VJxx8xowZk4kTJ/Za96EPfSgPPPBAlSYa3K6++uq0tbXl937v95IkJ554Yv793/89ixYtEiq/Iveo/JL6+vpMmjQpK1eu7FnX3d2dlStXZtq0aVWcbHCqVCr53Oc+l7/7u7/LqlWrMn78+GqPNKj91m/9Vn784x9n7dq1PY/JkyfnwgsvzNq1a0VKFZx55pnv+Mj+Cy+8kKOPPrpKEw1ub7zxRmpre/9oraurS3d3d5Um6v9cUdmL+fPnZ86cOZk8eXKmTJmS22+/PTt27MinPvWpao826MybNy/f+c538uCDD2b48OFpb29PkjQ1NWXo0KFVnm7wGT58+DvuD/rABz6QI4880n1DVfKHf/iHOeOMM3LTTTfld3/3d7NmzZosW7Ysy5Ytq/Zog9L555+fG2+8MePGjcvxxx+ff/3Xf81tt92WT3/609Uerf+qsFeLFy+ujBs3rlJfX1+ZMmVK5Yc//GG1RxqUkuz1cffdd1d7NP7LRz7ykcoVV1xR7TEGtYceeqhywgknVBoaGiof/OAHK8uWLav2SINWZ2dn5YorrqiMGzeuMmTIkMqECRMq11xzTaWrq6vao/VbvkcFACiWe1QAgGIJFQCgWEIFACiWUAEAiiVUAIBiCRUAoFhCBQAollABAIolVACAYgkVAKBYQgUAKJZQAQCK9f8BVlf+kNuV3vkAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#plt.stem(freqPhase1[:10], phase1[:10])\n",
"plt.stem(freqComb[:10], phaseComb[:10])"
]
},
{
"cell_type": "markdown",
"id": "6f2d9444-31d9-450f-8c38-465701e22173",
"metadata": {},
"source": [
"Remember, the real part of a complex harmonic function is the cosine, thus to convert the phase for sine, we can just add + 90 to the angle!"
]
}
],
"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.10.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment